Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/e copyright © 1996, 2001 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. This presentation, slides, or hardcopy may NOT be used for short courses, industry seminars, or consulting purposes. These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 1 Chapter 1 The Product These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 2 What is Software? Software is a set of items or objects that form a “configuration” that includes • programs • documents • data ... These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 3 What is Software? software is engineered software doesn’t wear out software is complex software is a ‘differentiator’ software is like an ‘aging factory’ These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 4 Wear vs. Deterioration These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 5 The Cost of Change These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 6 Software Applications system software real-time software business software engineering/scientific software embedded software PC software AI software WebApps (Web applications) These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 7 Software Poses Challenges How do we ensure the quality of the software that we produce? How do we meet growing demand and still maintain budget control? How do we upgrade an aging "software plant?" How do we avoid disastrous time delays? How do we successfully institute new software technologies? These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 8 Software Myths Management Myths Myth: Why should we change our approach to software development? We’re doing the same kinds of programming now that we did ten years ago. Reality: Demand for greater productivity and quality Myth: We already have a book full of standards and procedures Reality: Is it used? Are the practitioner aware of its existence? Does it reflect modern software development practice? Is it complete? These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 9 Management Myths Myth: We have state-of-the-art software development tools; we buy them the newest computers Reality: It takes more than the latest PC. Software tools are more important than hardware Myth: If we fall behind schedule, just add more programmers Reality: …adding people to a late software makes it later… Myth: If I decide to outsource the software project to a third party, I can just relax Reality: first need to manage and control sofware These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 10 Customer Myths Myth: A general statement of objectives is sufficient to begin writing – we can fill in details later Reality: A poor up-front definition is the major cause of failed software efforts. Myth: Change can be easily accommodated because software is flexible Reality: the impact of change varies with the time it is introduced These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 11 Practitioner’s Myths Myth: Once we write the program and get it work, our job is done Reality: … the sooner writing code, the longer getting it done Myth: Until I get the program “running”, I have no way of assessing its quality Reality: software reviews are quality filter that is more effective than testing Myth: The only deliverable is the working program Reality: + documentation These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 12 Practitioner’s Myths Myth: Software engineering will make us create voluminous and unnecessary documentation, and will slow us down Reality: Software Engineering is about quality. Better quality leads to reduced rework These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 13