1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 6/e.

Slides:



Advertisements
Similar presentations
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S.
Advertisements

Ch.1 Introduction to Software Engineering The Evolution 1.1 The Evolving Role of Software 1/15 In the early days: User Computer Software = Place a sequence.
Software Construction and Evolution - CSSE 375 Software Visualization Tools and Software Evolution Shawn and Steve.
1 The Laws of Software Evolution Tori Bowman CSSE 375, Rose-Hulman September 25, 2007 *based on Don Bagert’s lesson.
Chapter 1 Introduction to Software Engineering
1 Software Maintenance and Evolution CSSE 575: Session 9, Part 1 Software Evolution and Visualizing That! Steve Chenoweth Office Phone: (812)
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
SWE Introduction to Software Engineering
CS487 Software Engineering Omar Aldawud
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Software Engineering Muhammad Fahad Khan Software Engineering Muhammad Fahad Khan University Of Engineering.
Module 1 Introduction to Software Engineering Badariah Solemon 2010 CSEB233 Fundamentals of Software Engineering.
Two-dimension view: time (long life) and space (large group)
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
1 Chapter 1 Software and Software Engineering. 2 Scope of Software Engineering Historical Aspects 1968 NATO Conference, Garmisch Aim: to solve the “Software.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Supplementary Slides for Software Engineering: A Practitioner's Approach, 6/e Part 1 Supplementary Slides for Software Engineering: A Practitioner's.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
CPSC 871 John D. McGregor MMS1 Maintenance & a new trend.
Chapter : Introduction to Software Engineering Ref. book : Software Engineering by Roger Pressman.
1 Software Engineering: A Practitioner's Approach R.S. Pressman Textbook.
Chapter 1 Software and Software Engineering. A Quick Quiz 1. What percentage of large projects have excess schedule pressure? 25% 50% 75% 100% 2. What.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
 CS 5380 Software Engineering Chapter 9 Software Evolution.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 1 Software and Software Engineering Discussion of the Software Product.
Chapter 1 The Product. 2 Product  What is it?  Who does it?  Why is it important?  How to ensure it be done right?
Module 8: Software Evolution CSEB233 Fundamentals of Software Engineering Badariah Solemon 2010.
Figures – Chapter 9. Figure 9.1 A spiral model of development and evolution.
SWE311_Ch01 (071) Software & Software Engineering Slide 1 Chapter 1 Software and Software Engineering Chapter 1 Software and Software Engineering.
1 Chapter 1 Software and Software Engineering Chapter 1 Software and Software Engineering copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Coming up: Why worry about SW Engineering? 1 Software Engineering CS 421 / SWE 421 Dan Fleck.
Software Engineering (CSI 321) Introduction to Software Engineering 1.
Coming up: Why worry about SW Engineering? 1 Software Engineering CS 421 / SWE 421 Dan Fleck.
An Introduction to Software Engineering (Chapter 1 from the textbook)
Overview: Software and Software Engineering n Software is used by virtually everyone in society. n Software engineers have a moral obligation to build.
Module 8: Software Evolution CSEB233 Fundamentals of Software Engineering Badariah Solemon 2010.
Software Engineering Introduction.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
PI2134 Software Engineering IT Telkom.  Software definition  Characteristic of software  Software myths  Software Engineering definition  Generic.
CS 281 Intro to Software Engineering Lecture 01 Introduction to the Course The Nature of Software.
Part 1 Introduction to Software Engineering 1 copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Introduction to Software Engineering.
Overview Software Maintenance and Evolution Definitions
Chapter 1 The Nature of Software
Chapter 2 Software Engineering
Chapter : Introduction to Software Engineering
Chapter : Introduction to Software Engineering
Chapter 1 The Nature of Software
Chapter 1 The Nature of Software
Chapter 2 Software Engineering
For University Use Only
Overview: Software and Software Engineering
Chapter : Introduction to Software Engineering
Chapter : Introduction to Software Engineering
Chapter 1 Software & Software Engineering
Chapter 1 Software & Software Engineering
1.1.1 Software Evolution.
What is Software? Software is: (1) instructions (computer programs) that when executed provide desired features, function, and performance; (2) data structures.
Software and Software Engineering
Lecture 1 & 2 Software Engineering Tutor: Dr. Nadeem Ahmad Ch.
Chapter 1 Software & Software Engineering
Chapter 1 Software & Software Engineering
Presentation transcript:

1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Software and Software Engineering copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach. Any other reproduction or use is expressly prohibited.

2 What is Software? software is engineered software is engineered software doesn’t wear out software doesn’t wear out software is complex software is complex Software is a general term for the various kinds of programs used to operate computers and related devices. (The term hardware describes the physical aspects of computers and related devices.)

3 Software’s Dual Role Software is a product Software is a product Delivers computing potential Delivers computing potential Produces, manages, acquires, modifies, displays, or transmits information Produces, manages, acquires, modifies, displays, or transmits information Software is a vehicle for delivering a product Software is a vehicle for delivering a product Supports or directly provides system functionality Supports or directly provides system functionality Controls other programs (e.g., an operating system) Controls other programs (e.g., an operating system) Effects communications (e.g., networking software) Effects communications (e.g., networking software) Helps build other software (e.g., software tools) Helps build other software (e.g., software tools)

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

5 Hardware Failure Curve Infant mortality Wear out

6 Wear vs. Deterioration

7 Robustness Failure Rates

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

9 Software—New Categories Ubiquitous computing—wireless networks Ubiquitous computing—wireless networks Netsourcing—the Web as a computing engine Netsourcing—the Web as a computing engine Open source—”free” source code open to the computing community (a blessing, but also a potential curse!) Open source—”free” source code open to the computing community (a blessing, but also a potential curse!) Also … (see Chapter 32) Also … (see Chapter 32) Data mining Data mining Grid computing Grid computing Cognitive machines Cognitive machines Software for nanotechnologies Software for nanotechnologies

10 Legacy Software Legacy applications (software) and data are those that have been inherited from languages, platforms, and techniques earlier than current technology. Legacy applications (software) and data are those that have been inherited from languages, platforms, and techniques earlier than current technology. Most enterprises who use computers have legacy applications and databases that serve critical business needs. Typically, the challenge is to keep the legacy application running while converting it to newer, more efficient code that makes use of new technology and programmer skills. Most enterprises who use computers have legacy applications and databases that serve critical business needs. Typically, the challenge is to keep the legacy application running while converting it to newer, more efficient code that makes use of new technology and programmer skills. What is it?

11 Legacy Software software must be adapted to meet the needs of new computing environments or technology. 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 enhanced to implement new business requirements. software must be extended to make it interoperable with other more modern systems or databases. 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 software must be re-architected to make it viable within a network environment. Why must it change?

12 Software Evolution The Law of Continuing Change (1974): E-type systems must be continually adapted else they become progressively less satisfactory. 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 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 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. 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. 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 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 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 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. 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. 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:

13 Software Myths Affect managers, customers (and other non-technical stakeholders) and practitioners Affect managers, customers (and other non-technical stakeholders) and practitioners Are believable because they often have elements of truth, Are believable because they often have elements of truth, but … Invariably lead to bad decisions, Invariably lead to bad decisions, therefore … Insist on reality as you navigate your way through software engineering Insist on reality as you navigate your way through software engineering