Download presentation
Presentation is loading. Please wait.
Published byBrenden Henton Modified over 10 years ago
1
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. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 1 Software Engineering: A Practitioners Approach, 6/e Chapter 1 Software and Software Engineering Software Engineering: A Practitioners 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
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. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 2 Softwares 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)
3
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. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 Persisting Problems Hardware advances continue to outpace our ability to build software to tap hardware's potential. Hardware advances continue to outpace our ability to build software to tap hardware's potential. Ability to build new programs cannot keep pace with the demand for new programs, nor can we build programs rapidly enough to meet business and market needs. Ability to build new programs cannot keep pace with the demand for new programs, nor can we build programs rapidly enough to meet business and market needs. Society increasingly dependent on reliable operation of software. Society increasingly dependent on reliable operation of software. Struggle to build computer software that has high reliability and quality. Struggle to build computer software that has high reliability and quality. Ability to support and enhance existing programs is threatened by poor design and inadequate resources. Ability to support and enhance existing programs is threatened by poor design and inadequate resources.
4
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. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 4 The Cost of Change Definition Development After release 1x 1.5-6x 60-100x
5
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. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 An Industry Perspective In the early days of computing In the early days of computing Programming was viewed as an "art form.' The programmer often learned his craft by trial and error Programming was viewed as an "art form.' The programmer often learned his craft by trial and error Questions for almost two decades Questions for almost two decades Why does it take so long to get programs finished? Why does it take so long to get programs finished? Why are costs so high? Why are costs so high? Why can't we find all errors before we give the software to our customers? Why can't we find all errors before we give the software to our customers? Why do we have difficulty in measuring progress as software is being developed. Why do we have difficulty in measuring progress as software is being developed.
6
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. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 6 What is Software? Software is a set of items or objects that form a configuration that includes programs documents data...
7
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. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 7 What is Software? Software is developed or engineered, it is not manufactured in the classical sense. Software is developed or engineered, it is not manufactured in the classical sense. Costs are concentrated in engineering Costs are concentrated in engineering Software factory Software factory Software doesn't "wear out." Software doesn't "wear out." When a hardware component wears out, it is replaced by a spare part. There are no software spare parts. When a hardware component wears out, it is replaced by a spare part. There are no software spare parts. Most software is custom-built, rather than being assembled from existing components Most software is custom-built, rather than being assembled from existing components
8
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. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 8 Wear vs. Deterioration
9
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. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 9 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
10
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. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 10 SoftwareNew Categories Ubiquitous computingwireless networks Ubiquitous computingwireless networks Netsourcingthe Web as a computing engine Netsourcingthe Web as a computing engine Open sourcefree source code open to the computing community (a blessing, but also a potential curse!) Open sourcefree 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
11
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. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 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
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. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 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 EvolutionThe 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.pdfhttp://www.ece.utexas.edu/~perry/work/papers/feast1.pdf
13
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. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 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
14
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. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 Management Myths Under pressure to maintain budgets, keep schedules from slipping, and improve quality Under pressure to maintain budgets, keep schedules from slipping, and improve quality Myth Myth We already have a book that's full of standards and procedures for building software. Won't that provide my people with everything they need to know? We already have a book that's full of standards and procedures for building software. Won't 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 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 If we get behind schedule, we can add more programmers and catch up
15
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. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 Customer Myths Software responsible managers and practitioners do little to correct misinformation Software responsible managers and practitioners do little to correct misinformation Myth: Myth: A general statement of objectives is sufficient to begin writing programs-we can fill in the details later. 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. Project requirements continually change, but change can be easily accommodated because software is flexible.
16
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. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 Practitioner's Myths Myth: Once we write the program and get it to work, our job is done. Myth: Once we write the program and get it to work, our job is done. Myth: Until I get the program "running," I really have no way of assessing its quality Myth: Until I get the program "running," I really have no way of assessing its quality Myth: The only deliverable for a successful project is the working program. Myth: The only deliverable for a successful project is the working program.
17
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. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 17 Software Poses Challenges
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.