Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CS-602
Lecture-1
An Introduction to Software
Engineering
Engineering
Example: Building a house
Land and finances System Feasibility
Decomposition of a large
problem into a set of
A hierarchy of abstraction smaller problems.
2/9/2010 Introduction ©S.S.Baidya 7
What is Software Engineering?
Software engineering is a layered technology.
Tools
Methods
Process
Quality
Product Design
Detailed Design
Code
Integration (Product
verification)
Operations and
maintenance
2/9/2010 Introduction ©S.S.Baidya 12
What are the costs of
software engineering?
Roughly 60% of costs are development costs, 40% are testing
costs. For custom software, evolution costs often exceed
development costs.
User Programmer
SOFTWARE
Customer
Designer
SOFTWARE
Customer
Designer
SOFTWARE
Customer
Designer
User Programmer
SOFTWARE
Customer’s View:
•A Customer
hopefully affordable tool
Designer
to enhance profit.
User Programmer
SOFTWARE
Designer’s View:
Customer
Designer tool to
•A reasonably complicated
fulfill the needs
•A technical challenge
2/9/2010 Introduction ©S.S.Baidya 19
Example: The Phone Directory
Example will show activities:
Requirements
Analysis
Design
Implementation
Implementation strategy:
Design specific or reusable software?
Which language?