huang lihua, fudan university session 7 computer software part i introduction to the foundation of...

46
HUANG Lihua, Fudan Univ ersity Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

Upload: alexia-molly-west

Post on 26-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

HUANG Lihua, Fudan University

Session 7 Computer Software

PART I Introduction to the Foundation of Information

Technologies

Page 2: 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“ 软件是计算机的灵魂”

Page 3: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 4: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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, ...

Page 5: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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)”

Page 6: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 7: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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.

Page 8: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 9: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

*

Page 10: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 11: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 12: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 13: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 14: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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?

Page 15: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 16: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

HUANG Lihua, Fudan University

Computer System Operating Process

7+10=17 ?

How to operate in computer ?

Page 17: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 18: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 19: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 20: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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.

Page 21: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 22: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

HUANG Lihua, Fudan University

Utility Programs

• Routine operations– Eg., Sort, list, print,…….

• Manage data– Eg., create file, merge file, …….

Page 23: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 24: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 25: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 26: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 27: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 28: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

HUANG Lihua, Fudan University

Class and inheritance

Page 29: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 30: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 31: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 32: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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*

Page 33: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 34: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

HUANG Lihua, Fudan University

Enterprise application integration (EAI) software versus traditional integrati

on

Page 35: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 36: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

HUANG Lihua, Fudan University

A multitiered architecture for e-commerce and e-business

Page 37: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

HUANG Lihua, Fudan University

软件的发展趋势• 硬件和软件的发展是不对称的。• 硬件是以等比的速度增长

– (每 1.5 年增长一倍) ,

• 而软件是等差级数增长– (每年增长 4-7% ) .

Page 38: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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” ,在微软看来,这代表“尚未完成的工作”或

“久被遗忘的问题”。– 实力最强大的软件公司尚如此,何况其他软件产品呢?

Page 39: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

HUANG Lihua, Fudan University

Software Trends

• 使用更方便• 与人的交流方法更广泛• 软件的集成性增加• 自然语言,多目标,图形接口,专家辅

助• Open Source Development

Page 40: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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.

Page 41: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 42: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 43: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 44: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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

Page 45: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

HUANG Lihua, Fudan UniversityFigure 6-15

Model of an Application Service Provider (ASP)

Page 46: HUANG Lihua, Fudan University Session 7 Computer Software PART I Introduction to the Foundation of Information Technologies

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.