Transcript software
PART I
Introduction to the
Foundation of Information
Technologies
Session 7
Computer Software
HUANG Lihua, Fudan University
SOFTWARE
“ 软件是计算机的灵魂”
•
•
•
PROGRAM: Set of instructions to the computer
STORED: Program must be in primary storage
Software: Detailed instructions to control computer
operation of a computer systems. Without software, the
computer hardware could not perform any tasks.The
functions of software are to
–
–
–
(1) manage the computer resources of the organization,
(2) provide tools for human beings to take advantage of the these
resources
(3) act as intermediary between organizations and stored
information.
HUANG Lihua, Fudan University
SOFTWARE
APPLICATION SOFTWARE
SYSTEM SOFTWARE
Generalized programs that
manage the resources of
the computer, including
-Operating System:
HARDWARE
•Scheduled computer event
•Allocates computer
resources
•Monitors events
-Language translators:
•Interpreters
•Compilers
-Utility Programs:
•Routine operations
•Manage data
Programs written for a specific application to perform functions
specified by end users.
-Programming Language
-software package
HUANG Lihua, Fudan University
Operating system
• Allocates and assigns:
– memory
» e. g., file system, virtual memory
– processor time
» e. g., multitasking, multiprocessing
– input- output devices
» e. g., printer, keyboard, etc.
• May also provide other capabilities useful to
many users or programs
– Graphical User Interface (GUI) capabilities
– Fonts, network protocols, ...
HUANG Lihua, Fudan University
Operating system as magician(魔术师)
• The four illusions
– Many separate computers, one for each process
– “Multitasking”
– Large memory – “Virtual memory”
– Disks and other secondary storage are
organized as collections of files – “File systems”
– Windows and menus – “Graphical User
Interface (GUI)”
HUANG Lihua, Fudan University
Operating Systems Capabilities:
Multiprogramming, Multitasking
PROGRAM 1
MULTIPROGRAMMING
ENVIRONMENT
OPERATING SYSTEM
OPERATING SYSTEM
TRADITIONAL SINGLEPROGRAM SYSTEM
UNUSED MEMORY
HUANG Lihua, Fudan University
PROGRAM 1
PROGRAM 2
PROGRAM 3
UNUSED MEMORY
Operating Systems Capabilities:
Virtual Storage
• Virtual Storage is the method of handling
several programs in primary storage:
– Program divided into
• Fixed length portions(pages) OR
• Variable length (segments)
– Current portions reside in primary storage,
portions swapped out when done.
HUANG Lihua, Fudan University
Operating Systems Capabilities:
time sharing
MANY USERS SHARE LARGE CPU:
• Time in CPU divided into slices (e.g.: 2
microseconds)
• Each user has access to CPU during slice.
• Single CPU is fast, can do much during
time slice
• User’s job swapped out at end of slice
HUANG Lihua, Fudan University
Operating Systems Capabilities:
Multiprocessing
• Links together two or more CPUs to work
in parallel in a single computer systems to
execute two or more instructions.
– Program can be divided to be processed by
multiple CPUs.
– Can process large programs more rapidly
*
HUANG Lihua, Fudan University
Operating Systems Capabilities:
File Systems
• Reality:
– Disks are sets of tracks(磁道)
– Tracks are sets of sectors(扇区)
– Sectors can store fixed- sized byte blocks
• Illusion:
– Disks are sets of directories (目录)
– Directories contain other directories or files
– Files are variable- size byte sequences
– Directories and files have names
HUANG Lihua, Fudan University
Operating Systems Capabilities:
Windows and Menus
• Reality: Screen is an array of pixels(象素数组)
• Illusion 1: Menus
– Depending on where you click, different action
happens
– Technique: OS looks up location where mouse was
clicked, executes appropriate action
• Illusion 2: Overlapping windows
– A window may cover part or all of another
– When a window is uncovered, its contents are
redisplayed
– Technique: OS saves bitmap(位图) of covered
windows
HUANG Lihua, Fudan University
» Application does
not need to know how to redraw the
contents of its window
MICROCOMPUTER OPERATING SYSTEMS
OPERATING SYSTEM
FEATURES
Windows
98 & 95
32-bit operating system, GUI, multitasking,
networking
Windows
NT, Me &
2000 & XP,
2003
Windows CE
32-bit operating system not limited to Intel chips.
Multitasking, multiprocessing, networking
OS/2
Paired-down for handheld computers, wireless
communication devices
32-bit. Developed for IBM PS/2. Multitasking,
networking
HUANG Lihua, Fudan University
MICROCOMPUTER OPERATING SYSTEMS
OPERATING SYSTEM
FEATURES
Unix
For powerful microcomputers, workstations,
minicomputers. Multitasking, multi-user
processing, networking. Portable to various
computer platforms
Linux
Free, reliable alternative to Unix, Windows.
Runs on many Platforms. Open-source
Mac OS
For Macintosh computers. Multitasking.
Powerful graphics, multimedia
DOS
For IBM (PC-DOS) and PC (MS-DOS).
Program memory: 640K
HUANG Lihua, Fudan University
Selecting an Operating
System
• Is our existing software compatible with the OS?
• Does the OS have a large base of compatible
software?
• How reliable is the OS? Does it crash frequently?
• Is the OS available for a wide variety of hardware?
• How quickly does it run?
• How easy it is to learn and use?
• How easy is it to install and configure?
• How much does it cost?
HUANG Lihua, Fudan University
SOFTWARE
APPLICATION SOFTWARE
SYSTEM SOFTWARE
Generalized programs that
manage the resources of
the computer, including
-Operating System:
HARDWARE
•Scheduled computer event
•Allocates computer
resources
•Monitors events
-Language translators:
•Interpreters
•Compilers
-Utility Programs:
•Routine operations
•Manage
Programs written for a specific application to perform functions
specified by end users.
-Programming Language
HUANG Lihua, Fudan University
Computer System Operating Process
How to operate
in computer ?
7+10=17 ?
HUANG Lihua, Fudan University
EXAMPLE: 7+10=?
Machine Language
Assembly language
Program:
LD A, 7
ADD A,10
HALT
Instruction Program:
0011 1110 操作码(LD A)
0000 0111 操作数(7)
1100 0110 操作码(ADD A)
0000 1010 操作数(10)
0111 0110 操作码(HALT)
HUANG Lihua, Fudan University
INSTRUCTION & EXECUTION CYCLE
Address
Program
0000 0000
0011 1110
0000 0001
0000 0111
0000 0010
1100 0110
ADD A
0000 0011
0000 1010
10
0000 0100
0111 0110
HALT
HUANG Lihua, Fudan University
LD A
7
SOURCE CODE
PROGRAM
COMPILER
TRANSLATION PROCESS
High-level language instructions
Translates high-level code into machine language
UTILITY PROGRAMS
OBJECT CODE
LINKAGE
EDITOR
Ready for computer
OTHER OBJECT
CODE MODULES
LOAD MODULE
HUANG Lihua, Fudan University
GENERATIONS OF
PROGRAMMING LANGUAGES
•
1st. Since 1940s. MACHINE LANGUAGE:
–
•
2nd. Since early ’50s. ASSEMBLY
LANGUAGE:
–
•
•
binary code
mnemonics for numeric code
3rd. Since mid ‘50s. HIGH-LEVEL
LANGUAGES
4th. Since late ‘70s.
HUANG Lihua, Fudan University
SOFTWARE
APPLICATION SOFTWARE
SYSTEM SOFTWARE
Generalized programs that
manage the resources of
the computer, including
-Operating System:
HARDWARE
•Scheduled computer event
•Allocates computer
resources
•Monitors events
-Language translators:
•Interpreters
•Compilers
-Utility Programs:
•Routine operations
•Manage data
Programs written for a specific application to perform functions
specified by end users.
-Programming Language
- software package
HUANG Lihua, Fudan University
Utility Programs
• Routine operations
– Eg., Sort, list, print,…….
• Manage data
– Eg., create file, merge file, …….
HUANG Lihua, Fudan University
Application Software and
Programming Languages
• Programming languages:
– evolved from machine language to high-level
languages for business and scientific work
• Important programming languages for
business today: COBOL, C, C++, and
Visual Basic, so on
HUANG Lihua, Fudan University
Programming Languages
C
Operating systems; application software
C++
Object-oriented; application software
COBOL
Business administration; alphanumeric
processing
Visual Basic
Visual tool; Windows applications
FORTRAN
Processing numeric data; scientific,
engineering programs
BASIC
Used for teaching
Pascal
UsedHUANG
primarily
for teaching programming
Lihua, Fudan University
Fourth-Generation Languages
• Fourth-generation language:
– Can help end users develop software with little
or no assistance from IS specialists, less
procedural
– 6 CATEGORIES
• Natural languages:
– Close to human language
HUANG Lihua, Fudan University
FOURTH GENERATION LANGUAGES
(4GL)
eg.
Query
language/
Report
generators
Graphic
language
Application
generators
SQL
RPG-III
SAS Graph
Systat
Power Builder
Microsoft FrontPage
Application
software
package
SAP R/3
PC tools
Lotus 1-2-3
Internet Explore
Access
HUANG Lihua, Fudan University
Very high-level
Programming
language
GPSS
APL
Nomad2
CONTEMPORARY TOOLS FOR
SOFTWARE DEVELOPMENT
• Object-oriented programming
– Approach to software development that
combines data and procedures into a single
object
• Objects are independent, reusable building blocks
• Based on concepts of class and inheritance
• Visual programming
– Construction of software programs by selecting
and arranging programming objects
HUANG Lihua, Fudan University
Class and inheritance
HUANG Lihua, Fudan University
CONTEMPORARY TOOLS FOR
SOFTWARE DEVELOPMENT
• Java
– Object-oriented Programming language,
– Delivers the software functionality needed for a particular task
– Runs on any computer and operating system, Platform-independent
• Hypertext Markup Language (HTML):
– Page description language, creates Web pages and other
hypermedia documents
• XML (eXtensible Markup Language):
– Describes the structure of a document, supports links to multiple
documents, allowing data
HUANG Lihua, Fudan University
Application Software Packages
and Productivity Software
• PC software tools:
– Word processing software: Create, format, print documents
– Desktop publishing software: Produce professional-quality documents
with greater formatting, design capabilities
– Spreadsheets: Display data in grid for recalculating numerical data
– Data management software: Store, manipulate data in lists and
databases
– Presentation graphics: Create professional-quality graphics and
multimedia presentations
– Integrated Software Packages and Suites: Combine two or more
applications; easy data transfer
• Other productivity software:
– E-mail software: Computer exchange of messages
– Web browsers: Access and display Web, Internet resources
HUANG
Lihua, Fudan
University
– Groupware: Support
activities
of workgroups
Software Package for Enterprise
Integration
• Enterprise (business) software
– Eg., ERP, SCM, CRM, …….
– Set of integrated modules for major business
functions
– Allows data to be used by multiple functions
and business processes
• Legacy system:
– System in place for long time
HUANG Lihua, Fudan University
SELECTED EXAMPLES OF APPLICATION
Software Packages
ENTERPRISE RESOURCE PLANNING; MATERIAL
REQUIREMENT PLANNING; MNAUFACTURING RESOURCE
PLANNING; E-COMMERCE, CUSTOMER RELATIONSIP
MANAGEMENT; BUSINESS INTELLIGENCE;ACCOUNTS
PAYABLE/RECEIVABLE; ARCHITECTURAL DESIGN;
BANKING; SUPPLY CHAIN MANAGEMENT; COMPUTERAIDED-DESIGN; DOCUMENT IMAGING; TRAVEL AGENCY; EMAIL; FINANCIAL CONTROL; FORECASTING; FORMS
DESIGN; GRAPHICS; HOTEL MANAGEMENT; HUMAN
RESOURCES; INSTALLMENT LOANS; INVENTORY CONTROL;
JOB COSTING/SCHEDULING; LIFE INSURANCE; HOTEL
MANAGEMENT SYSTEM; MATHEMATICAL / STATISTICAL
MODELING; ORDER ENTRY; PAYROLL; PROCESS CONTROL;
REAL ESTATE MANAGEMENT; SALES & DISTRIBUTION;
SAVINGS SYSTEMS; STOCK MANAGEMENT; TAX
Lihua,CONTROLS;
Fudan University WORD PROCESSING
ACCOUNTING;HUANG
UTILITY
*
Software for Enterprise
Integration
• Middleware
– Allows two disparate applications to communicate to
exchange data
• Enterprise application integration (EAI) software
– Ties together multiple applications to support enterprise
integration
HUANG Lihua, Fudan University
Enterprise application integration
(EAI) software versus traditional
integration
HUANG Lihua, Fudan University
Software for Enterprise Integration
• Web services:
– Universal standards using Internet technology for
exchanging data between systems
• Web server:
– Manages requests for Web pages on computer where
they are stored
• Application server:
– Middleware software handling application operations
between user and back-end business systems
HUANG Lihua, Fudan University
A multitiered architecture for ecommerce and e-business
HUANG Lihua, Fudan University
软件的发展趋势
• 硬件和软件的发展是不对称的。
• 硬件是以等比的速度增长
– (每1.5年增长一倍),
• 而软件是等差级数增长
– (每年增长4-7%).
HUANG Lihua, Fudan University
软件危机
•
“软件危机”在六十年代已经存在
–
–
•
一些过来人把软件人员形容为“陷入泥潭中的一群野兽”
七十年代后期愈演愈烈:根据美国政府统计局1979年公布的统计数
字表明,几个联邦软件计划共投资6.8百万美元,47%($3.2M)交
付但从来未使用,29%($2.0M)投资了但未交付,19%($1.3M)被
费弃或返工,3%(0.2M)经过某种改变后被使用,仅2%(0.1M)交付
后被使用。
90年代,软件危机尚未过去
–
如Widows 2000的发行,根据微软一份备忘录显示:微软共
发现63000个“潜在问题”,可能影响Windows 2000的运行
•
•
–
逾21000“延迟性”设计缺陷,其中相当多部分被微软公司认定
为“真正的问题”,
逾27000条“Bug”,在微软看来,这代表“尚未完成的工作”
或“久被遗忘的问题”。
实力最强大的软件公司尚如此,何况其他软件产
品呢?
HUANG Lihua, Fudan University
Software Trends
•
•
•
•
使用更方便
与人的交流方法更广泛
软件的集成性增加
自然语言,多目标,图形接口,专家辅
助
• Open Source Development
HUANG Lihua, Fudan University
Open Source Development
• There is an increasing trend toward using
this as a method of software development.
• In this method source code is distributed
and developers can improve and add to code
as they see fit, good ideas are then included
into the product.
• This method allows software products to
grow and improve in a natural organic way.
HUANG Lihua, Fudan University
Moving your company from
products to services
•
•
•
•
Supporting the software
Improving the software
Integrating the software
Problems with open source
– anybody, nobody responsible
HUANG Lihua, Fudan University
Total Cost of Ownership (TCO) of
Technology Assets
• Includes both direct and indirect costs
• Hardware and software acquisitions account
for only 20% of TCO
• TCO for a PC may run to three times
original purchase price
• Hidden costs can make distributed
architecture more expensive than
centralized mainframes
HUANG Lihua, Fudan University
Total Cost of Ownership (TCO) Cost
Components
•
•
•
•
•
•
•
•
•
Hardware acquisition
Software acquisition
Installation
Training
Support
Maintenance
Infrastructure
Downtime
Space and energy
Managing Hardware
and Software Assets
HUANG Lihua, Fudan University
Rent or Build Decisions: Using
Technology Service Providers
• Storage service provider: SSP, SAN
– Provides online access to storage devices and storage
area network technology
• Application service provider: ASP
– Delivers applications over networks on subscription
basis
• Management service provider:
– Manages applications, systems, security, storage, Web
sites, system performance
HUANG Lihua, Fudan University
Managing Hardware
and Software Assets
Model of an Application Service
Provider (ASP)
Figure 6-15
HUANG Lihua, Fudan University
Assignment for Session 7
•
Individual Review for session 7
–
•
Reading Materials: Textbook: chapter 4
Individual Prepare for session 8
–
–
Reading Materials: Textbook: chapter 5
P206-207. Review Quiz
•
•
Write down in your book, not submit
Group Assignment: bring to class
–
–
–
Please design the software architecture for Mr. Wang’s
Pottery Company, including system software, application
software.
Prepare for the CASE QUESTIONS on P.121.
Prepare for the
CASE
on P.139.
HUANG
Lihua,QUESTIONS
Fudan University