Beit 381 se lec 2 - 27 - 12 feb08

27
SE-381 Software Engineering BEIT-V Lecture no. 2

Transcript of Beit 381 se lec 2 - 27 - 12 feb08

Page 1: Beit 381 se lec 2 - 27 - 12 feb08

SE-381

Software Engineering

BEIT-V

Lecture no. 2

Page 2: Beit 381 se lec 2 - 27 - 12 feb08

What it includes!

• Definitions of Software

• What is Software Engineering?

• Students‟ and Industrial Strength Sw

• Problem and Solution Domains

• Problem Domain– Sw is Expensive, Late and Unreliable, Difficult to Maintain and

Change

• Solution Domain – Software Engineering – SE Challenges – Scale, Quality & Productivity, Consistency and

Repeatability, Accommodation of Change

• Software Engineering Approach– Phased Development Process, Managing the Process to get

quality software, Metrics and Measurement

Page 3: Beit 381 se lec 2 - 27 - 12 feb08
Page 4: Beit 381 se lec 2 - 27 - 12 feb08
Page 5: Beit 381 se lec 2 - 27 - 12 feb08

Definitions - Computer Software

Software is

“Computer programs, procedures, rules and any associated documentation pertaining to the operation of a computer system”.

ISO-1984

“Collection of computer programs, procedures, rules and associated documentation and data”

IEEE Software Engineering Standards Tech Report 1987 & Jalote 2005

Page 6: Beit 381 se lec 2 - 27 - 12 feb08

Software Engineering

• Term was

– coined in two of the NATO‟s conferences held in late

1960s, it referred to the approach to resolve „the

Software Crisis‟

• Is defined as

– The systematic approach to the development,

operation, maintenance, and retirement of software– IEEE Software Engineering Standards Tech Report 1987 & Jalote 2005

• In this course

– Our focus will be on Software Development

Page 7: Beit 381 se lec 2 - 27 - 12 feb08

1960 1970 1980 1990 2000

Major Shifts & Eras of SD

Programming

Any-which-wayProgramming

In-the-Small

Programming

In-the-Large

Beyond

Programming

In-the-large

Programming

Through

Assembly

Functional

Era

Schedule

Era

Cost

Era

Quality

Era

Reuse

Era

M.Shaw 1990 Shaw 1989

Basili & Musa

1991

1950 2010

Progmng

Through

Mass

Collaboratn

Page 8: Beit 381 se lec 2 - 27 - 12 feb08

Major Shifts & Eras of SD

1960 5 years

ProgrammingAny-which-way

• Small Programs• Intuition or BFAs

• No Management

required

• Assembler and Core dumps

• Adhocism

1970 5 years

Programming

In-the-small

• Algorithms & Data structures separated

• Programs execute & terminate

• Individual management effort

• Modularity/portability realized

• SE term coined

• Waterfall SDLC

• PLs, Compilers, Linkers & Loaders

• Structured Techniques

1980 5 years

Programming

In-the-Large

• Interfaces

• Management system structures

• Long life Dbs

• Program execute cont….

• Complex Specs

• Team effort

• Life time maintenance

• Standards realized

• SE used

• IPSEs tools for documentatin

• Structured Analysis & Design

Page 9: Beit 381 se lec 2 - 27 - 12 feb08

Major Shifts & Eras of SD

1990 5 years

Beyond Programming

In-the-Large

• Software is ONE component of heterogeneous system

• Software controls

• Very complex specs

• Multi-team effort

• Standards formulated

• Globalization

• IPSEs, Object libraries

• OO techniques & standards, RAD

2000 5 years

Programming

Through Assembly

• Integration with application domains

• Multi media revolution

• Every effective system/technology software controlled

• Digitization

• Safety critical systems

• Standards-MIMOSA, CORBA etc implemented

• Wars on standards

• Application frameworks,

component libraries

• Component technologies, RAD & JAD

1980 5 years

Programming

In-the-Large

• Interfaces

• Management system structures

• Long life Dbs

• Program execute continuously

• Complex Specs

• Team effort

• Life time maintenance

• Standards realized

• SE used

• IPSEs tools for

documentatin

• Structured Analysis &

Design

Page 10: Beit 381 se lec 2 - 27 - 12 feb08

2010 5 years

Programming

Through Mass Collaboration

• Fusion of Disciplines IT, Telecom, Internet and Technologies

• Initiation of New Computing Areas – Social Networking

• Open Source and Free Software, exploiting the limits of various Domains

• Masses enabled to collaborate

• GNU licensing era

• Sw Quality standards ISO, CMMI

• Linux, Wikipedia, Gnome, AndriodProjects – paradigm shift - apps driving Hw manufacturing

• Almost Free Sw – YouTube, Flickr,

FaceBook, MySpace, Skype

minting from your profiles

• Component Based SE, incremental improvement and addition of functionality, Adverts in Apps

Major Shifts & Eras of SD

Page 11: Beit 381 se lec 2 - 27 - 12 feb08
Page 12: Beit 381 se lec 2 - 27 - 12 feb08

Categorization of Sw

• Author Dependent

• Complexity wise

– System Software – That acts as tools to help

construct or support application software Eg OSs,

DBMSs, Networking Software, Compilers

– Application Software – That helps perform some

directly useful or enjoyable tasks; Eg Games, Sw for

ATMs, Control Sw for Aircraft, an Email System, Word

Processors, Spreadsheets etc

• Marketing Wise

Page 13: Beit 381 se lec 2 - 27 - 12 feb08

• Marketing wise

– Shrink Wrapped, Commercially Off-the-Shelf

(COTS) Software

• Made for Gen Public, Users Unknown but many,Huge investment by builder, Costs recovered thrumass sales at a very nominal/affordable rate,Revisions / Releases planned by the builder, Bugsfixed as reported, Initially Buggy Sw released

– Bespoke or Application Software

• Known well defined user, User dictates theRequirements, User pays for the developmentcovering the costs and profits of builder, Limited noof users; if contract permits then same Sw can becustomized for other clients, Client recovers the costthru efficiency, increased productivity of users, andhigh quality of product, Reliable, verified Softwarebug-free clearing acceptance test, Improved andenhanced as per clients requirements

Page 14: Beit 381 se lec 2 - 27 - 12 feb08

• Application wise

– Games

– Information Systems – That store and access largeamounts of data, Eg Airline seat Reservation system

– Real-Time Systems – fast response required EgControl Sw for Power station or Fly-by-wire aeroplane

– Embedded Systems – in which computer playssmallish but controlling role, Eg Mobiles, AC Unit, Sw inTelephone Exchanges, SoC (System on Chip)

– Office Software – Word Processors, Spreadsheets,Schedulers, Project/Time Management Tools

– Scientific/Engineering Software – Carrying outcalculations, modeling, predictions Eg weather forecasting,Geophysical prospecting, CFD, MHD, CAD/CAM, ProcessAnalysis Sw

Page 15: Beit 381 se lec 2 - 27 - 12 feb08

Students‟ Projects versus Industrial

Strength Software

• Students‟ Projects • Industrial Strength Sw

Page 16: Beit 381 se lec 2 - 27 - 12 feb08

Students‟ Projects versus Industrial

Strength Software• Students’ Projects

– Novice developers

– Classroom or Small project

– User Interface is not important, as it is to be used by him/herself

– Documentation and testing not cared – contains bugs

– …

– Productivity of 2.5 to 5 KLOC/month per developer

• Industrial Strength Sw– Users and developers are

separate entities

– Business is dependent on it

– Bugs CANNOT be tolerated

– User friendly User Interface

– Documentation (for usage, maintenance, and further upgrading etc)

– …

– Productivity of 30-100 LOC / month per developer

Page 17: Beit 381 se lec 2 - 27 - 12 feb08

Students‟ Versus Ind Strength Sw

– Two very different entities

– Key differences are Quality (with different

attributes like Usability, Functionality,

Reliability, Maintainability, Portability, and

efficiency etc), Cost, Development Time

– High Quality requires excessive Testing 30% -

50% of the Development time

– For increased quality, documentation and

testing, the size of Industrial Strength Sw is

twice as large as Student Sw for the same

problem

Page 18: Beit 381 se lec 2 - 27 - 12 feb08

– Due to increased size the productivity of

developer for Industrial Strength Sw drops to

1/5th of the Student Sw

– Brooks 1975, indicated that the ISS may cost

about 10 times more than SS for the same

problem

– For High Quality Sw, the development should be

broken into phases, for efficient management,

bug control and effective use of manpower

In this SE course our focus will the

development of Industrial Strength Software

Page 19: Beit 381 se lec 2 - 27 - 12 feb08

Software – Problems and

Prospects

Software is Open ended, complex and key

mechanism in providing the requisite

functionality of the system. It is of huge

size, needs 000s of people and millions of

$s of investment to develop.

The perceived problems in Sw development

and goals the Sw Development needs to

achieve are:

Page 20: Beit 381 se lec 2 - 27 - 12 feb08

• Meeting Users‟ Needs

• Low Cost of Production

• High Performance

• Portability – it works at various envisaged platforms

• Low Cost of Maintenance

• High Reliability

• Scalability

• Delivery on Time

(Short M S, P H D, H L L)– Till to-date each of the above goals is partially

achieved, so it stays as a Sw dev problem. SE seeks to provide the techniques to resolve these problems i.e. to achieve these goals.

Page 21: Beit 381 se lec 2 - 27 - 12 feb08

Effectiveness of Typical Large Sw

Projects – [Bel05]

Page 22: Beit 381 se lec 2 - 27 - 12 feb08

Satisfaction of Users‟

Requirements [Sac07]

• Hayes 2004 states that the outcome of over 9000 development projects completed in 2004 is:

– 29% were successful

– 18% of them Cancelled

– 53% of them Completed late, over budget, and / or with features missing

• On Financial Crisis of Sw Crisis a survey conducted by Cutter Consortium 2002 summarized:

Page 23: Beit 381 se lec 2 - 27 - 12 feb08

– 78% of IT organizations have been involved in disputes

that ended in litigation

– In 67% of those cases, the functionality or performance

of the Sw products as delivered did not meet up to the

claims of Sw Developers

– In 56% of those cases, the promised delivery date

slipped several times

– In 45% of these cases, the faults were so severe that the

Sw product was UNUSABLE

• Too little Sw is delivered on time, within budget,

fault free and meeting the client‟s needs. Hence to

meet these goals Sw Engrs have to acquire a

broad range of skills, both technical and managerial

and these skills have to be applied from

requirements to the post-delivery maintenance/

Page 24: Beit 381 se lec 2 - 27 - 12 feb08

Reading Assignment

1. Ch-1 Problems and Prospects, pp 3-22

From Douglas Bell (2005); Software Engineering for

Students; Pearson Education Limited

2. Ch-1 Introduction, pp 1-20

From Pankaj Jalote (2005); An Integrated Approach to

Software Engineering; 3rd Edition, Narosa

Publishing House, New Delhi,

(Please read through these chapters, try to understand the

theme behind the text, and note down the terminology)

Ref:

Brooks (1975), The Mythical Man Months

Brooks (198_) , No Silver Bullets

Page 25: Beit 381 se lec 2 - 27 - 12 feb08

Answers to Mini Test

Page 26: Beit 381 se lec 2 - 27 - 12 feb08

From Google Earth

Page 27: Beit 381 se lec 2 - 27 - 12 feb08

North Tweaked