You are on page 1of 29

Software Engineering

Edmond C. Prakash
http://www.ntu.edu.sg/home/ASprakash/se2002
Architecting a dog house

Can be built by one pers


Requires
Minimal modeling
Simple process
Simple tools
Architecting a house

most efficiently and timely by a team


ires
deling
ll-defined process
wer tools
Architecting a high rise
Early architecture

Progress
- Limited knowledge of theory
Modern architecture

Progress Scale
- Advances in materials - 5 times the span of the Pantheon
- Advances in analysis - 3 times the height of Cheops
Modeling a house
Neufert Architect’s Data
The Handbook of Building Types

Kinds of civil architecture


 Community
­ houses, flats and apartments, gardens,
education, hospitals, religion
 Commerce
­ shops and stores, restaurants, hotels, office
buildings, banks, airports
 Industry
­ industrial buildings, laboratories, farm buildings

 Leisure
­ sport, theaters and cinemas, museums
Software –The Failure Issue
Software –The Cost Issue
Software –The Complexity Issue
Hardware –Failure Rate
Software – Failure Rate
Software – Actual Failure
Costly Software Errors

2. lost Voyager spacecraft


3. radiation machine
4. shot "commercial aircraft"
Questions?

1. List the different software you use in NTU?


2. Which of them can cause maximum
risk/disaster to the public?
3. Develop a realistic scenario where the
failure of the computer program could do
great harm(economic or human).
Work Sheet
System Costs
Software Development for the Internet

Internet software development


process (90-day time box)
Forces in Software
Functionality
Cost Compatibility

Capacity Fail safe

Availability Fault tolerance

Performance Throughput
Technology churn
Resilience
he challenge over the next 20 years will not be speed or cost or perform
will be a question of complexity.
Raduchel, Chief Strategy Officer, Sun Microsystems

Our enemy is complexity, and it’s our goal to kill it.


Jan Baan
Walker Royce

Dimensions of software complexity


Higher technical complexity
- Embedded, real-time, distributed, fault-tolerant
- Custom, unprecedented, architecture reengineering
- High performance
An average software project:
- 5-10 people
Defense
- 10-15 month duration Telecom Weapon System
- 3-5 external interfaces Commercial Switch
- Some unknowns & risks National Air Traffic
Embedded Compiler Control System
Automotive
Lower Software Large-Scale

management
CASE Tool Organization/Entity
Simulation
Higher
complexity Small Scientific management
- Small scale
- Informal
Simulation
IS Application
Enterprise IS Defense
complexity
- Single stakeholder Distributed Objects
(Family of IS MIS System - Large scale
(Order Entry) - Contractual
- “Products” Applications)
IS Application - Many stake holders
GUI/RDB - “Projects”
Business (Order Entry)
Spreadsheet

Lower technical complexity


- Mostly 4GL, or component-based
- Application reengineering
- Interactive performance
Software Present

•Software development costs exceed plans and


deliveries continue to be late and
•Costs often exceed plan by 50%, sometimes by 100%
•Most missions have a major software problem
•Software intense projects are often 2 years late
•Software processes are still chaotic
•Software managers are not well trained
•Still no silver bullet
•Turnover of IT professionals is high
Software Projects in Industry - Standish Report

 16% were successful


– – In budget
– – On time
– – Met requirements
– – For large projects, only 9% were successful
53 % were “challenged”
– – Average 189% over budget
– – 222% late
– – 39% capabilities missing
31 % canceled during development
Industry Data
Industry Viewpoint: S/W Past
Now (1990s, 2000, 2001, 2002)

Then (1960s, 1970s) v Processes well defined, more


standardized
v Cost and schedule unpredictable
v Processes are major discriminator in
v Error rates too high assessing contractor qualifications
v Deliveries made possible by heroes v Processes adopted as common
v Heroes get burned out tool by development companies

v Significant Achievement: Process and Process as a Criterion


v Significant Disappointment: Integrated Development Tools and Processes
Technologies have advanced in the small
v When we attempt to solve large problems, new approaches easily hit limits
v Today’s problems are even more complex
Challenges
Summary of GSFC Space Missions of the 21st Century
• These missions are complex & characterized by
– constellations of miniaturized spacecraft
– advanced sensors & instrumentation
– innovative communication schemes
– increased levels of automation
– onboard processing
– mission autonomy
• Programmatically, these missions have dramatically
decreased budgets and development lifecycles.
Software Promise

Money:-Greatest success: US$400 Billion industry


Man/Woman:-5–10 years: “Commoditization” of
computing — from millions to billions of users

Machine:-15–20 years: Radically new computing


“platforms” built with nanotechnologies and billion
processors
Deliver Software Product – High Quality
1. useful (to customer)
2. portable
3. maintainable
4. reliable
5. has integrity
- correct results w/ high degree of accuracy
7. efficient
8. consistency of function
9. accessible (to user)
10. good human engineering
- easy to learn - easy to use
Bottomline

There’s a fortune to be made


in the software business.
Identify the needs of people
and produce the software.
Summary

-S/W ENGG
--disciplined approach to build a s/w product.
-Systematic s/w development process
-Different process models
Course Overview
 Topics ­ Silver Bullets for A Software Engineer
 Lectures – A Bag of Concepts, Principles & Examples
 Tutorials
 Labs
 Exam
 Web http://www.ntu.edu.sg/home/ASprakash/se2002
 Email: Edmond C. Prakash
Asprakash@ntu.edu.sg
 What You Gain?

A Career As Software Architect