Date post: | 22-Jan-2018 |
Category: |
Education |
Upload: | babak-danyal |
View: | 234 times |
Download: | 0 times |
SE-381
Software Engineering
BEIT-V
Lecture no. 2
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
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
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
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
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
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
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
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
• 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
• 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
Students‟ Projects versus Industrial
Strength Software
• Students‟ Projects • Industrial Strength Sw
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
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
– 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
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:
• 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.
Effectiveness of Typical Large Sw
Projects – [Bel05]
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:
– 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/
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
Answers to Mini Test
From Google Earth
North Tweaked