Comp 107cep iii,iv,v

26
Subject Name Code Credit Hours FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING COMP 107 FUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING Chapter III By D.Balaganesh D.Balaganesh LINCOLN UNIVERSITY COLLGE 1

description

 

Transcript of Comp 107cep iii,iv,v

Page 1: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

1

COMP 107 FUNDAMENTAL COMPUTER PRINCIPLE

& PROGRAMMING

Chapter III

ByD.Balaganesh

Page 2: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

2

SDLC Model

A framework that describes the activities performed at each stage of a software development project.

Page 3: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING Waterfall Model

Requirements – defines needed information, function, behavior, performance and interfaces.

Design – data structures, software architecture, interface representations, algorithmic details.

Implementation – source code, database, user documentation, testing.

D.Balaganesh LINCOLN UNIVERSITY COLLGE 3

Page 4: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING Waterfall Model

D.Balaganesh LINCOLN UNIVERSITY COLLGE 4

Page 5: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING Waterfall Model

Test – check if all code modules work together and if the system as a whole behaves as per the specifications.

Installation – deployment of system, user-training.

Maintenance – bug fixes, added functionality (an on-going process).

D.Balaganesh LINCOLN UNIVERSITY COLLGE 5

Page 6: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

6

Waterfall Strengths

Easy to understand, easy to useProvides structure to inexperienced staffMilestones are well understoodSets requirements stabilityGood for management control (plan, staff, track)

Page 7: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

7

Waterfall DeficienciesAll requirements must be known upfrontDeliverables created for each phase are considered

frozen – inhibits flexibilityDoes not reflect problem-solving nature of software

development – iterations of phasesIntegration is one big bang at the endLittle opportunity for customer to preview the

system (until it may be too late)

Page 8: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

8

When to use the Waterfall Model

Requirements are very well knownWhen it is possible to produce a stable designE.g. a new version of an existing productE.g. porting an existing product to a new platform.

Page 9: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING Spiral SDLC Model

• Adds risk analysis, and 4gl RAD prototyping to the waterfall model

• Each cycle involves the same sequence of steps as the waterfall process model

D.Balaganesh LINCOLN UNIVERSITY COLLGE 9

Page 10: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

10

Spiral QuadrantDetermine objectives, alternatives and constraints

Objectives: functionality, performance, hardware/software interface, critical success factors, etc.

Alternatives: build, reuse, buy, sub-contract, etc.Constraints: cost, schedule, man-power, experience etc.

Page 11: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

11

Spiral QuadrantEvaluate alternatives, identify and resolve risks

Study alternatives relative to objectives and constraintsIdentify risks (lack of experience, new technology, tight

schedules, etc.)Resolve risks

Page 12: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

12

Spiral QuadrantDevelop next-level product

• Typical activites:

– Create a design– Review design– Develop code– Inspect code– Test product

Page 13: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

13

Spiral QuadrantPlan next phase

Typical activitiesDevelop project planDevelop a test planDevelop an installation plan

Page 14: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

14

Spiral Model Strengths

• Provides early indication of insurmountable risks, without much cost

• Users see the system early because of rapid prototyping tools

• Critical high-risk functions are developed first• Users can be closely tied to all lifecycle steps• Early and frequent feedback from users

Page 15: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

15

Spiral Model Weaknesses• Time spent for evaluating risks too large for small or

low-risk projects• Time spent planning, resetting objectives, doing risk

analysis and prototyping may be excessive• The model is complex • Risk assessment expertise is required• Spiral may continue indefinitely• Developers must be reassigned during non-

development phase activities

Page 16: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

16

When to use Spiral Model

• When creation of a prototype is appropriate• When costs and risk evaluation is important• For medium to high-risk projects• Users are unsure of their needs• Requirements are complex• New product line • Significant changes are expected

Page 17: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

17

Tailored SDLC Models

• No single model fits all projects• If there is no suitable model for a particular project, pick

a model that comes close and modify it for your needs.– If project should consider risk but complete spiral

model is too much – start with spiral and simplify it– If project should be delivered in increments but there

are serious reliability issues – combine incremental model with the V-shaped model

• Each team must pick or customize a SDLC model to fit its project

Page 18: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

18

The Five Generations of ComputersFirst Generation (1940-1956) Vacuum TubesThe first computers used vacuum tubes for circuitry and magnetic drums for memory, and were often enormous, taking up entire rooms. They were very expensive to operate and in addition to using a great deal of electricity, generated a lot of heat, which was often the cause of malfunctions.First generation computers relied on machine languageSecond Generation (1956-1963) Transistors

Transistors replaced vacuum tubes and ushered in the second generation of computers. The transistor was invented in 1947 but did not see widespread use in computers until the late 1950s. The transistor was far superior to the vacuum tube High-level programming languages were also being developed at this time, such as early versions of COBOL and FORTRAN. Third Generation (1964-1971) Integrated Circuits

The development of the integrated circuit was the hallmark of the third generation of computers. Transistors were miniaturized and placed on silicon chips, called semiconductors, which drastically increased the speed and efficiency of computers..

Page 19: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

19

Fourth Generation (1971-Present) MicroprocessorsThe microprocessor brought the fourth generation of computers, as thousands of integrated circuits were built onto a single silicon chip. What in the first generation filled an entire room could now fit in the palm of the hand. The Intel 4004 chip, developed in 1971, located all the components of the computer—from the central processing unit and memory to input/output controls—on a single chip.In 1981 IBM introduced its first computer for the home user, and in 1984 Apple introduced the Macintosh. Fifth Generation (Present and Beyond) Artificial IntelligenceFifth generation computing devices, based on artificial intelligence, are still in development, though there are some applications, such as voice recognition, that are being used today. The use of parallel processing and superconductors is helping to make artificial intelligence a reality.

Page 20: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

20

WHAT IS AN OPERATING SYSTEM?

• An interface between users and hardware - an environment "architecture”

• Allows convenient usage; hides the tedious stuff

• Allows efficient usage; parallel activity, avoids wasted cycles

• Provides information protection

• Gives each user a slice of the resources

• Acts as a control program.

OPERATING SYSTEM OVERVIEW

Page 21: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

21

OPERATING SYSTEM OVERVIEW

The Layers Of A System

Program Interface

Humans

User Programs

O.S. Interface

O.S.

Hardware Interface/ Privileged Instructions

Disk/Tape/Memory

Page 22: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

22

A mechanism for scheduling jobs or processes. Scheduling can be as simple as running the next process, or it can use relatively complex rules to pick a running process.

A method for simultaneous CPU execution and IO handling. Processing is going on even as IO is occurring in preparation for future CPU work.

Off Line Processing; not only are IO and CPU happening concurrently, but some off-board processing is occurring with the IO.

OPERATING SYSTEM OVERVIEW

Components

Page 23: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

23

Other Characteristics include:• Time Sharing - multiprogramming environment that's also interactive.

• Multiprocessing - Tightly coupled systems that communicate via shared memory. Used for scientific applications. Used for speed improvement by putting together a number of off-the-shelf processors.

• Distributed Systems - Loosely coupled systems that communicate via message passing. Advantages include resource sharing, speed up, reliability, communication.

• Real Time Systems - Rapid response time is main characteristic. Used in control of applications where rapid response to a stimulus is essential.

OPERATING SYSTEM OVERVIEW

Characteristics

Page 24: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

24

OPERATING SYSTEM OVERVIEW

Characteristics

Interrupts:• Interrupt transfers control to the interrupt service routine generally, through the

interrupt vector, which contains the addresses of all the service routines.• Interrupt architecture must save the address of the interrupted instruction.• Incoming interrupts are disabled while another interrupt is being processed to

prevent a lost interrupt.• A trap is a software-generated interrupt caused either by an error or a user request.• An operating system is interrupt driven.

Page 25: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

25

Very fast storage is very expensive. So the Operating System manages a hierarchy of storage devices in order to make the best use of resources. In fact, considerable effort goes into this support.

OPERATING SYSTEM OVERVIEW

StorageHierarchy

Fast and Expensive

Slow an Cheap

Page 26: Comp 107cep iii,iv,v

Subject Name Code Credit HoursFUNDAMENTAL COMPUTER PRINCIPLE & PROGRAMMING

D.Balaganesh LINCOLN UNIVERSITY COLLGE

26

Caching:•Important principle, performed at many levels in a computer (in hardware, operating system, software)•Information in use copied from slower to faster storage temporarily•Faster storage (cache) checked first to determine if information is there

– If it is, information used directly from the cache (fast)– If not, data copied to cache and used there

•Cache smaller than storage being cached– Cache management important design problem– Cache size and replacement policy

OPERATING SYSTEM OVERVIEW

StorageHierarchy