You are on page 1of 29

Software Engineering

Edmond C. Prakash
Architecting a dog house

Can be built by one pers

Minimal modeling
Simple process
Simple tools
Architecting a house

most efficiently and timely by a team

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

- 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"

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
Cost Compatibility

Capacity Fail safe

Availability Fault tolerance

Performance Throughput
Technology churn
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
- 10-15 month duration Telecom Weapon System
- 3-5 external interfaces Commercial Switch
- Some unknowns & risks National Air Traffic
Embedded Compiler Control System
Lower Software Large-Scale

CASE Tool Organization/Entity
complexity Small Scientific management
- Small scale
- Informal
IS Application
Enterprise IS Defense
- 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)

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

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
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
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

There’s a fortune to be made

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

--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
 Email: Edmond C. Prakash
 What You Gain?

A Career As Software Architect