Title: Software Engineering
1Software Engineering
2Preface and Introduction (contd)
- The objective of this course is to explain and
provide an easy and practical introduction to the
important characteristics of software
engineering. After taking this course, students
will understand - ???????????????????????,?????
- what is software engineering
- why software engineering is important
- how to develop software and manage a software
project by using the software engineering in
detail. - ??????
- ???????????
- ?????????????????
3Prerequisites
- Introduction to Computer Science
- Programming Skills
- ????
- ????
4References
- Pressman 2004 Roger S. Pressman. Software
Engineering a practitioners approach, 6th
edition. McGRAW-HILL. - Sommerville 2004 Ian Sommerville. Software
Engineering, 7th edition. Addison Wesley. - Rumbaugh et al.1991 J. Rumbaugh, M. Blaha, W.
Premeerlani, F. Eddy, and W. Lorensen.
Object-Oriented Modeling and Design. PRENTICE
HALL, 1991. - DIL1994 A. Diller. Z An Introduction to Formal
Methods, 2nd Edition. John Wiley Sons, 1994 - WOO88 J. Woodcock and M. Loomes. Software
Engineering Mathematics Formal Methods
Demystified. Pitman Publishing. 1988 - WOR92 J.B. Wordsworth. Software Development
with Z A Practical Approach to Formal Methods in
Software Engineering. Addision-Welsey Publishing
Company. 1992
5References (contd)
- Beizer 1990 B. Beizer, Software Testing
Techniques, 2nd Edition, Van Nostrand-Reinhold,
1990. - Boehm 1981 B. Boehm, Software Engineering
Economics, Prentice-Hall, 1981. - Davis 1995 A. Davis, 201 Principles of Software
Development, McGraw-Hill, 1995. - Gao 2003 Jerry Gao, Jacob Tsao, and Ye Wu,
Testing and Quality Assurance for Component-Based
Software, Artech House, 2003. - Kaner 1993 C. Kaner, J. Falk, and H. Q. Nguyen,
Testing Computer Software, 2nd Edition, Van
Nostrand-Reinhold, 1993. - Myers 1979 G. Myers, The Art of Software
Testing, Wiley, 1979. - Brooks 1987 F. Brooks. No Silver Bullet
Essence and Accidents of Software Engineering.
Computer, 20(4)1019, April 1987. - Balzer 1985 Robert Balzer, A 15 year
perspective on automatic programming, IEEE
Transactions on Software Engineering, vol. SE-11,
no. 11, pp. 1257-1267, Nov. 1985.
6Chapter 1 An Overview of Software
Engineering??????
7Table of Contents???
- 1.1 Software Crisis ????
- 1.2 Software Myths ????
- 1.3 What is Software Engineering? ????????
- 1.4 The Evolution of Software Industry ???????
- Exercises
81.1 Software Crisis????
9What is the Problem? ??????
- 84 of all software projects do not finish on
time and within budget (Survey conducted by
Standish Group) - 8000 projects in US in 1995
- More than 30 of all projects were cancelled
- 189 over budget
- 84???????????????
- ??1995?????8000???
- ??30??????
- ????189
- Key issues
- Software firms are always pressured to perform
under unrealistic deadlines. - The clients ask for new features, just before the
end of the project, - and unclear requirements. (???)
- Software itself is awfully complex.
- Uncertainties throughout the development project.
- ????
- ????????????????????
- ?????????????????,??????
- ????????
- ????????
10The Cost of Change
Cost
Time
??????,????????
11Real Cases ????
- Bank of America Master Net System
- Trust business. 1982.
- Spend 18 months in deep research analysis of
the target system. - Original budget 20 millions.
- Original Schedule 9 months, due on 1984/12/31.
- Not until March-1987, and spent 60 millions.
- Lost 600 million business
- Eventually, gave up the software system and 34
billion trust accounts transferred. - ???????????
- ?1982?????????.
- ??18???????????
- ???? 2??
- ???? 9??, 1984/12/31??
- ??1987?3???, ??6??
- ??6????
- ??,?????????340??????
- Other cases ????
- Explosion of Ariane 5 prototype in 1996
1996?Ariane 5??????? - Explosion of Boeings Delta III rocket.
??Delta III ?????
12Problems of Software ?????
- General issues ????
- HW vs. SW ????????
- Productivity build new programs from scratch
??? ????? - Maintenance maintain existing programs ??
???????
13Characteristics of Software ?????
Software
Hardware
logical system element ??????
physical system element ??????
developed/engineered ???/???
Manufactured ???
Not ware out but deteriorate ????????
ware out ???
-yes, with spare parts ?????
Usually custom-built ??????
assembled from existing Component ?????????
14Failure Curve for Hardware ??????(Ware out ??)
Failure rate
Time
15Failure Curve for Software (Deterioration Not
Ware Out ???????)
161.2 Software Myths????
17Software Myths
- Management Myths
- We already have a book thats full of standards
and procedures for building software. Wont that
provide my people with everything they need to
know? - My people do have state-of-the-art software
development tools after all, we buy them the
newest computers. - If we get behind schedule, we can add more
programmers and catch up. - ?????
- ???????????????????,???????????????????
- ??????????????????,??????????????
- ????????,?????????????????
18Software Myths (contd)
- Customer Myths
- A general statement of objectives is sufficient
to begin writing programs we can fill in the
details later - Project requirements continually change, but
change can be easily accommodated because
software is flexible - ?????
- ????????????????? - ????,???????????
- ?????????,?????,?????,???????????
19Software Myths (contd)
- Practitioners Myths
- Once we write the program and get it to work, our
job is done. - Until I get the program running I really have
no way of assessing its quality. - The only deliverable for a successful project is
the working program. - ??????
- ?????????,????????
- ????????,???????????
- ????????????,???????????
201.3 What is Software Engineering?????????
21What is Software?
- Software includes
- computer programs
- documents
- data data structures
- ????
- ????
- ??
- ???????
22What is Software Engineering?
Software Engineering
Real World
Software World
23What is Software Engineering? (contd)
- Software engineering is a discipline that
integrates methods, tools, and procedures for the
development of computer software. - Method introduce a way to build software
- Tool automatic, semi-auto support for methods
- Procedure define the sequence in which methods
will be applied, the controls that help ensure
quality and coordinate changes. - ??????????????????????????
- ?? ?????????
- ?? ?????????????
- ?? ???????,????,???????
24Generic View of Software Engineering
- Definition What
- Development How
- Maintenance Changes
- ?? what
- ?? how
- ?? changes
25Traditional Software Engineering
Software Design
Process
Behavior
Data
Entity-Relation Diagram
Data Flow Diagram
State Transition Diagram
26Object-Oriented Software Engineering
Software Design
Object
Behavior
Function
Data Flow Diagram
Class Diagram
State Chart
271.4 The Evolution of Software Industry???????
285 Eras ??
- Independent Programming Service (Era 1)
- Software Product (Era 2)
- Enterprise Solution (Era 3)
- Packaged Software for the Mass (Era 4)
- Internet Software and Services (Era 5)
- ????????
- ????
- ??????
- ??????????
- ???????
29Independent Programming Services (Era 1)
- Feb 1955, Elmer Kubie and John Sheldon founded
CUC - the First Software Company that devoted to the
construction of software especially for hardware
company. - ????????????
- Promoting Software Industry two Major Projects,
- SABRE, airline reservation system, 30 million.
- SAGE, air defense system (19491962)
- 700/1000 programmers in the US. 8 billion.
- ???????????
- SABRE, ????,3??
- SAGE,????(19491962) 700/1000????????, 80?
30Software Product (Era 2)
- 1964 Martin Goetz developed Flowchart Software --
Autoflow for RCA, but rejected. - Sale to the customer of RCA IBM.
- Develop and market software products not
specifically designed for a particular hardware
platform. - MARK IV, a pre-runner for the database management
system. - IBM unbundled software from hardware.
- 1964?Martin Goetz ???????Autoflow?RCA ,????
- ??RCA?IBM???
- ????????????????
- Mark IV , ???????????
31Enterprise Solutions (Era 3)
- Dietmar Hopp. IBM Germany
- Systems, Applications and Products (SAP)
3.3billion (1997) - Setting up shop in Walldorf, Germany.
- Marked by the emergence of enterprise solutions
providers. - e.g. Baan 1978. Netherlands. 680 million
(1997) - Oracle 1977. U.S.
- Larry Ellison.
- ERP, 45 billion (1997)
32Packaged Software for the Masses (Era 4)
- Software products for the masses. 1979.
- VisiCalc, Spreadsheet program.
- August 1981 The deal of the century.
- Bill Gates bought the first version of the OS
from a small firm called Seattle Computer
Products for 50,000 without telling them it was
for IBM. - The development of the IBM PC, 1981, initiated a
4th software era. - PC-based mass-market software. Few additional
services are required for installation. - Microsoft reached revenues of 11.6 billion.
Packaged Software Products, 57 billion (1997)
33Internet Software and Services (Era 5)
- ?????????,1994.W
- ??????
- Internet and value-added services period, 1994. W
- with Netscapes browser software for the
internet.
34IT Market
Hardware products
Hardware maintenance
Software Products Services
Processing Services and Internet Services
Embedded Software
Professional Service
Software Products
Enterprise Solution
Packaged Mass-Market Software
35Software Products and Services
Enterprise Solutions IBM Oracle Computer
Associates SAP HP Fujitsu Hitachi Parametric
Technology People Soft Siemens
Packaged Mass-Market Software Microsoft IBM Comp
uter Associates Adobe Novell Symantec Intuit Autod
esk Apple The Learning Company
Professional Software Services Anderson
Consulting IBM EDS CSC Science Applications Cap
Gemini Hp DEC Fujitsu BSO Origin
36Exercises
- Please find the definition of Software
Engineering from the text books, papers, and
Internet as many as possible. - Please survey the software engineering
application in industries of TAIWAN. - ??????????,?????????????????
- ??????????????????