Lecture1 and 2
Lecture1 and 2
IV]
References:
1. Pankaj Jalote, An integrated approach to software engineering, (3e), Narosa
2005
2. Ian Sommerville, Software Engineering, Pearson, (9e), 2010
3. Rajib Mall, Fundamentals of Software Engineering (3e), PHI learning 2009
4. Roger S. Pressman, Software Engineering A Practioner’s Approach, (6e),
McGraw-Hill, 2005
Introduction to Software
Engineering
4
Overview
Learning Objectives.
Projects were:
• Late.
• Over budget.
• Unreliable.
• Difficult to maintain.
• Performed poorly.
8
Software Crisis
Example 1: 2009,Computer glitch delays flights
Software Crisis
Example 2: Ariane 5 Explosion
Software Crisis
Example 3: 1992, London Ambulance Service
•Overloaded problem.
•46 deaths.
12
Therefore…
A well-disciplined approach to software
development and management is
necessary. This is called engineering.
13
Activity
Virtually all countries
depend on complex
Think about all the devices and systems computer-based
.systems
that you encounter in your everyday
life which have software controlling
…them
Software Engineering
28% Successful
49% Delayed or
cost overrun
23% Cancelled
Which Factors are Contributing to the Software
Crisis?
• Larger problems,
What is Software?
System
Documentation
User
Documentation
Programs versus Software Products
• Usually small in size • Large
• Author himself is sole • Large number of users
user
• Single developer • Team of developers
• Well-designed interface
• Lacks proper user
• Well documented &
interface
user-manual
• Lacks proper
• Systematic development
documentation
30
Types of Software
• Generic products.
• Stand-alone systems that are marketed and sold to any customer who wishes to buy
them.
• Examples – PC software such as graphics programs, project management tools;
CAD software; software for specific markets such as appointments systems for
dentists.
• The specification of what the software should do is owned by the software developer
and decisions on software change are made by the developer.
Systems Engineering:
Interdisciplinary engineering field (computer, software, and process eng.).
Focuses on how complex engineering projects should be designed and managed.
Frequently asked questions about software
engineering
Question Answer
Component-Based
Waterfall approach Iterative development
Software Engineering CBSE
Depends on:
The process used, and
The type of software being developed.
• For systems with a long life, maintenance costs may be several times
development costs.
39 10/20/23
3.Maintenance Aspects
– Maintenance
• software maintenance is much more complex
• Corrective maintenance
• Enhancement maintenance
40 10/20/23
• Maintenance is a very costly phase
• Maintenance constitutes 67% of total cost
• Good software is maintained--Bad software is discarded
42 10/20/23
43
Cost distribution
Custom software development (Bespoke)
Software Model Waterfall Model
Cost units 0 25 50 75 100
Cost distribution
Software development activity Specification Design Development Integration and testing
Iterative Development
0 25 50 75 100
Cost distribution
Generic software development
0 25 50 75 100
What is CASE?
Activity
What are the key attributes for..
Cardiac monitor in an ICU
Interactive game Banking system
unit
Players, score, scenes, Client accounts, stocks heart rate, temperature,
theme. bonds, money transfers. blood pressure.
48
50 10/20/23
51 10/20/23
52 10/20/23
53 10/20/23
• Phases of Life Cycle
– Requirements
– Specifications
– Design
– Implementation
– Integration
– Maintenance
54 10/20/23
Activities in requirements engineering
process
58 10/20/23
• 3.Component design:
• Take each component and design how it will operate, with the specific
design left to the programmer, or a list of changes to be made to
a reusable component.
• 4.Database design:
59 10/20/23
60
References
IEEE Standards Collection: Software Engineering, IEEE standard 610.12-1990, IEEE 1993.