+ All Categories
Home > Documents > 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects...

1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects...

Date post: 11-Jan-2016
Category:
Upload: kristian-ryan
View: 225 times
Download: 0 times
Share this document with a friend
Popular Tags:
34
1 Chapter 1 Software and Software Engineering
Transcript
Page 1: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

1

Chapter 1Software and Software Engineering

Page 2: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

2

Scope of Software Engineering

Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software Crisis” Software is delivered

Late Over budget Unreliable (with residual faults)

Page 3: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

3

Scope of Software Engineering (cont.)

always with complaints like why does it take so long to get software finished? why are development costs so high? why can’t we find all the errors before we give to

customers? why do we continue to have difficulty in measuring progress as software is being developed? why we always need to restart during installation?

Page 4: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

4

Real Cases

84% of software projects were not completed on time and within budget (a survey conducted by Standish Group) 8000 projects in US in 1995 more than 30% were cancelled 189% over budget

Page 5: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

5

Real Cases (cont.)

Bank of America Master Net System Trust business, 1982 Spend 18 months in deep research & analysis of

the target system Original budget: 20 million Original schedule: 9 month, due to 1984/12/31 Not until March 1987, and spent 60 million Lost 600 millions business

Eventually, gave up the software system and 34 billion trust accounts transferred

Page 6: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

6

Software’s Dual Role

Software is a product Delivers computing potential Produces, manages, acquires, modifies, displays, or

transmits information Software is a vehicle for delivering a product

Supports or directly provides system functionality Controls other programs (e.g., an operating system) Effects communications (e.g., networking software) Helps build other software (e.g., software tools)

Page 7: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

7

What is Software?

an information transformer that produces, manages, acquires, modifies, displays, or transmits information

both a product and a vehicle for delivering a product the basis for the control of the computer (OS), the

communication of information (networks), the creation and control of other programs (S/W tools)

instructions (computer programs) that when executed provide desired function and performance

data structures that enable the programs to adequately manipulate information

documents that describe the operation and use of the programs

Page 8: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

8

What is Software? (cont.)

Software is a set of items or objects that form a “configuration” that includes • programs • documents • data ...

Page 9: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

9

Software Characteristics

software is a logical system element software is engineered, not

manufactured software doesn’t wear out but

“deteriorating” software is complex

most software continuing to be custom built

Page 10: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

10

Software Characteristics (cont.)

Page 11: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

11

Product Bathtub Curve ModelFa

ilure

Rat

e

Time

“Infant Mortality” --due to design or manufacturing defects

“Wear Out” --due to cumulative affects of environments

Page 12: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

12

Software Idealized CurveFa

ilure

Rat

e

Time

Idealized Curve

Page 13: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

13

Software Actual Failure Curve

idealized curve

change

actual curve

Failurerate

Time

increased failurerate due to side effects

Page 14: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

14

What is Software Engineering?

Definition of “Engineering”The profession in which a knowledge of the mathematical and natural

sciences gained by study, experience, and practice

is applied with judgment

to develop ways to utilize, economically, the materials and forces of nature for the benefit of mankind-- Accreditation Board for Engineering and Technology, 1996

Page 15: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

15

What is Software Engineering? (cont.)

Page 16: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

16

Software Engineering: -- technologies that make it easier, faster, and less expensive

to build high-quality computer programs

-- a discipline aiming to the production of fault-free software,

delivered on time and within budget, that satisfies the

users’ needs

-- an engineerlinglike activity in software production

-- the philosophy and paradigm of established engineering

disciplines to solve what are termed software crisis

What is Software Engineering? (cont.)

Page 17: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

17

Software Applications

system software application software engineering/scientific software embedded software product-line software WebApps (Web applications) AI software

Page 18: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

18

Software—New CategoriesUbiquitous computing —wireless networksNetsourcing—the Web as a computing engineOpen source—”free” source code open to the

computing community (a blessing, but also a potential curse!)

Also … (see Chapter 32)Data miningGrid computingCognitive machinesSoftware for nanotechnologies

Page 19: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

19

Legacy Software

Why must it change? software must be adapted to meet the needs of new

computing environments or technology. software must be enhanced to implement new

business requirements. software must be extended to make it interoperable

with other more modern systems or databases. software must be re-architected to make it viable

within a network environment.

Page 20: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

20

Software Evolution The Law of Continuing Change (1974)

E-type systems must be continually adapted else they become progressively less satisfactory.

The Law of Increasing Complexity (1974) As an E-type system evolves its complexity increases unless

work is done to maintain or reduce it. The Law of Self Regulation (1974)

The E-type system evolution process is self-regulating with distribution of product and process measures close to normal.

The Law of Conservation of Organizational Stability (1980) The average effective global activity rate in an evolving E-type

system is invariant over product lifetime.Source: Lehman, M., et al, “Metrics and Laws of Software Evolution—The Nineties View,” Proceedings of the 4th International Software Metrics Symposium (METRICS '97), IEEE, 1997, can be downloaded from: http://www.ece.utexas.edu/~perry/work/papers/feast1.pdf

Page 21: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

21

Software Evolution (cont.)

The Law of Conservation of Familiarity (1980) As an E-type system evolves all associated with it, developers, sales

personnel, users, for example, must maintain mastery of its content and behavior to achieve satisfactory evolution.

The Law of Continuing Growth (1980) The functional content of E-type systems must be continually increased to

maintain user satisfaction over their lifetime. The Law of Declining Quality (1996)

The quality of E-type systems will appear to be declining unless they are rigorously maintained and adapted to operational environment changes.

The Feedback System Law (1996) E-type evolution processes constitute multi-level, multi-loop, multi-agent

feedback systems and must be treated as such to achieve significant improvement over any reasonable base.

Page 22: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

22

Software Myths

Affect managers, customers (and other non-technical stakeholders) and practitioners

Are believable because they often have elements of truth,

but … Invariably lead to bad decisions,

therefore … Insist on reality as you navigate your way through

software engineering

Page 23: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

23

Software Myths (Management)

Myth1: We already have a book that’s full of standards and procedures for building s/w, won’t that provide my people with everything they need to know?

Myth2: If we get behind schedule, we can add more programmers and catch up.

Myth3: If I decide to outsource the software project to a third party, I can just relax and let that firm build it.

Page 24: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

24

Software Myths (Customer)

Myth1: A general statement of objectives is sufficient to begin writing programs – we can fill in the details later.

Myth2: Project requirements continually change, but change can be easily accommodated because software is flexible.

Page 25: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

25

Software Myths (Practitioner) Myth1: Once we write the program and get it to work, our

job is done. Fact: the sooner you begin writing code, the longer it

will take you to get done. Myth2: Until I get the program “running,” I have no way

of assessing its quality. Myth3: The only deliverable work product for a

successful project is the working program. Myth4: Software engineering will make us create

voluminous and unnecessary documentation and will invariable slow us down.

Page 26: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

26

Software Industry Independent Programming Service Software Product Enterprise Solution Packed Software for the Mass Internet Software and Services

Page 27: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

27

Independent Programming Service (Era 1)

Feb 1955, Elmer Kubie and John Sheldon founded CUC

The first software company that devoted to the constuction of software especially for hardware company

Promoting software industry: two major projects SABRE: airline reservation system, $30 million SAGE: air defense system (1949~1962)

700/1000 programmers in the US $8 billion

Page 28: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

28

Software Product (Era 2) 1962 John A. Postley originated the concept of “Software

Product” The key role in developing MARK IV file management system A pre-runner for the database management system John A. Postley, Mark IV: evolution of the software product, a memoir,

IEEE Annals of the History of Computing,Vol. 20,  No. 1, 1998, pp. 43 - 50

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 IBM unbundled software from hardware from 1970

Page 29: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

29

Enterprise Solutions (Era 3)

Dietmar Hopp. IBM Germany Systems, Applications and Products (SAP) $3.3

billion (1997) Setting up shop in Walldorf, Germany Marked by the emergence of enterprise solutions

providers e.g. Baan 1978, Netherland $680 million (1997)

Oracle 1977 US, founded by Larry Ellison ERP, $45 billion (1997)

Page 30: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

30

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

software products, $57 billion (1997)

Page 31: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

31

Internet Software and Services (Era 5)

Internet and value-added services period, 1994. with Netscape’s browser software for the internet Free on-line software service, e.g., Google’s Apps

for Your Domain

Page 32: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

32

IT Market

Page 33: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

33

Software Products and Services

Professional Software Services

Enterprise Solutions

Packed Mars-Market Software

Anderson Consulting IBM Microsoft

IBM Oracle IBM

EDS Computer Associates Computer Associates

CSC SAP Adobe

Science Application HP Novell

Gap Gemini Fujitsu Symantec

HP Hitachi Intuit

DEC People Soft Autodesk

Fujitsu Siemens Apple

Page 34: 1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.

34

Conclusions

Software has become the key element in the evolution of computer-based systems and products

Software has evolved into a industry in itself Yet still have trouble developing high-quality software on

time and within budget

The intent of software engineering is to provide a framework for building high-quality software


Recommended