huang lihua, fudan university session 7 computer software part i introduction to the foundation of...
TRANSCRIPT
HUANG Lihua, Fudan University
Session 7 Computer Software
PART I Introduction to the Foundation of Information
Technologies
HUANG Lihua, Fudan University
• 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.
SOFTWARE“ 软件是计算机的灵魂”
HUANG Lihua, Fudan University
Programs written for a specific application to perform functions specified by end users.
-Programming Language
-software package
APPLICATION SOFTWAREAPPLICATION SOFTWAREGeneralized programs that
manage the resources of the computer, including
-Operating System:
•Scheduled computer event•Allocates computer resources•Monitors events
--Language translators:•Interpreters•Compilers
-Utility Programs:•Routine operations•Manage data
SYSTEM SOFTWARESYSTEM SOFTWARE
SOFTWARESOFTWARE
HARDWARE
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
OP
ER
AT
ING
SY
ST
EM
OP
ER
AT
ING
SY
ST
EM
UNUSED MEMORYUNUSED MEMORY
PROGRAM 1PROGRAM 1
TRADITIONAL SINGLE-TRADITIONAL SINGLE-PROGRAM SYSTEMPROGRAM SYSTEM
OP
ER
AT
ING
SY
ST
EM
OP
ER
AT
ING
SY
ST
EM
UNUSED MEMORYUNUSED MEMORY
PROGRAM 1PROGRAM 1
PROGRAM 2PROGRAM 2
PROGRAM 3PROGRAM 3
MULTIPROGRAMMING MULTIPROGRAMMING ENVIRONMENTENVIRONMENT
HUANG Lihua, Fudan University
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
» Application does not need to know how to redraw the contents of its window
HUANG Lihua, Fudan University
MICROCOMPUTER OPERATING SYSTEMS
32-bit operating system, GUI, multitasking, networking
32-bit operating system not limited to Intel chips. Multitasking, multiprocessing, networking
32-bit. Developed for IBM PS/2. Multitasking, networking
Paired-down for handheld computers, wireless communication devices
Windows 98 & 95
Windows NT, Me & 2000 & XP, 2003 Windows CE
OS/2
OPERATING SYSTEMOPERATING SYSTEM FEATURESFEATURES
HUANG Lihua, Fudan University
OPERATING SYSTEMOPERATING SYSTEM
Mac OS For Macintosh computers. Multitasking. Powerful graphics, multimedia
Unix For powerful microcomputers, workstations, minicomputers. Multitasking, multi-user processing, networking. Portable to various computer platforms
DOS For IBM (PC-DOS) and PC (MS-DOS). Program memory: 640K
Linux Free, reliable alternative to Unix, Windows. Runs on many Platforms. Open-source
FEATURESFEATURES
MICROCOMPUTER OPERATING SYSTEMS
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
Programs written for a specific application to perform functions specified by end users.
-Programming Language
APPLICATION SOFTWAREAPPLICATION SOFTWAREGeneralized programs that
manage the resources of the computer, including
-Operating System:
•Scheduled computer event•Allocates computer resources•Monitors events
--Language translators:•Interpreters•Compilers
-Utility Programs:•Routine operations•Manage
SYSTEM SOFTWARESYSTEM SOFTWARE
SOFTWARESOFTWARE
HARDWARE
HUANG Lihua, Fudan University
Computer System Operating Process
7+10=17 ?
How to operate in computer ?
HUANG Lihua, Fudan University
EXAMPLE: 7+10=?
Program:LD A, 7ADD A,10HALT
Instruction Program:0011 1110 操作码 (LD A)
0000 0111 操作数 (7)
1100 0110 操作码 (ADD A)
0000 1010 操作数 (10)
0111 0110 操作码 (HALT)
Assembly language
Machine Language
HUANG Lihua, Fudan University
INSTRUCTION & EXECUTION CYCLE
Address Program
0000 0000 0011 1110 LD A
0000 0001 0000 0111 7
0000 0010 1100 0110 ADD A
0000 0011 0000 1010 10
0000 0100 0111 0110 HALT
HUANG Lihua, Fudan University
SOURCE CODE SOURCE CODE PROGRAMPROGRAM
COMPILERCOMPILER
OBJECT CODEOBJECT CODE
LINKAGE LINKAGE EDITOREDITOR
LOAD MODULELOAD MODULE
OTHER OBJECT OTHER OBJECT CODE MODULESCODE MODULES
UTILITY PROGRAMS
High-level language instructions
Translates high-level code into machine language
Ready for computer
TRANSLATION PROCESS
HUANG Lihua, Fudan University
GENERATIONS OF PROGRAMMING LANGUAGES
• 1st. Since 1940s. MACHINE LANGUAGE: – binary code
• 2nd. Since early ’50s. ASSEMBLY LANGUAGE:
– mnemonics for numeric code
• 3rd. Since mid ‘50s. HIGH-LEVEL LANGUAGES
• 4th. Since late ‘70s.
HUANG Lihua, Fudan University
Programs written for a specific application to perform functions specified by end users.
-Programming Language
- software package
APPLICATION SOFTWAREAPPLICATION SOFTWAREGeneralized programs that
manage the resources of the computer, including
-Operating System:
•Scheduled computer event•Allocates computer resources•Monitors events
--Language translators:•Interpreters•Compilers
-Utility Programs:•Routine operations•Manage data
SYSTEM SOFTWARESYSTEM SOFTWARE
SOFTWARESOFTWARE
HARDWARE
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 LanguagesC 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 Used primarily for teaching programming
HUANG 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)
Query language/Report
generators
SQLRPG-III
eg.
Graphic language
SAS GraphSystat
Application generators
Power BuilderMicrosoft FrontPage
Very high-levelProgramming
language
GPSSAPL
Nomad2
Applicationsoftwarepackage
SAP R/3
PC tools
Lotus 1-2-3Internet Explore
Access
HUANG Lihua, Fudan University
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-independen
t
• Hypertext Markup Language (HTML): – Page description language, creates Web pages and other hypermed
ia documents
• XML (eXtensible Markup Language): – Describes the structure of a document, supports links to multiple d
ocuments, 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– Groupware: Support activities of workgroups
HUANG Lihua, Fudan University
Software Package for Enterprise Integration
• Enterprise (business) software– Eg., ERP, SCM, CRM, …….– Set of integrated modules for major business fu
nctions– Allows data to be used by multiple functions an
d 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; COMPUTER-AIDED-DESIGN; DOCUMENT IMAGING;
TRAVEL AGENCY; E-MAIL; 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 ACCOUNTING; UTILITY CONTROLS; WORD
PROCESSING*
HUANG Lihua, Fudan University
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 integrati
on
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 e-commerce 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 performanceManaging Hardware and Software Assets
HUANG Lihua, Fudan UniversityFigure 6-15
Model of an Application Service Provider (ASP)
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 QUESTIONS on P.139.