Lecture 2
Lecture 2
COMPUTER
CUSTOMER
SCIENCE
Computer Problem
Theories
Functions
SOFTWARE
ENGINEERING
Tools and
Techniques to
Solve Problem
Communication is a critical element
Software Engineering vs. System Engineering
• Cost overruns
Used as delivered
2%
Usable w. rework
Paid for, but
3% not delivered
Used w. extensive rework, 30%
but later abandoned
20%
Abandoned or Cancelled Projects
http://articles.directorym.net/An_Introduction_to_Catastrophe_Disentanglement_Lynchburg_VA-r923574-
Lynchburg_VA.html
Weapons Against Software Crisis
• A modeling activity
• A knowledge-acquisition activity
• A rationale-driven activity
Elaboration
SE: A Problem Solving Activity
♦ Computer Scientist
Proves theorems about algorithms, designs languages, defines
knowledge representation schemes
Has infinite time…
♦ Engineer
Develops a solution for an application-specific problem for a client
Uses computers & languages, tools, techniques and methods
♦ Software Engineer
Works in multiple application domains
Has only 3 months...
…while changes occurs in requirements and available technology
Software Engineering Concepts
An Example – TicketDistributor
Next Lectures…
SDLC, Software process, Software
process models, CMM
Other Processes