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.

Slides:



Advertisements
Similar presentations
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.
Advertisements

Lecture 1: Software Engineering: Introduction
Lecture 2 1 Introduction to Software Engineering.
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 SWE Introduction to Software Engineering Lecture 3 Introduction to Software Engineering.
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.
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
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.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 6/e.
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.
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
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 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 1 Software and Software Engineering Discussion of the Software Product.
1.1 The Evolving Role of Software
Chapter 1 The Product. 2 Product  What is it?  Who does it?  Why is it important?  How to ensure it be done right?
1M.Sc(I.T.) VNSGU, Surat. Software is instructions (computer programs) that when executed provide desired function and performance, data structures that.
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.
Overview: Software and Software Engineering n Software is used by virtually everyone in society. n Software engineers have a moral obligation to build.
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.
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.
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 7th edition by Roger S. Pressman.
Overview Software Maintenance and Evolution Definitions
Chapter 1 The Nature of Software
RPL Team Program Studi Teknik Informatika
Chapter : Introduction to Software Engineering
Chapter : Introduction to Software Engineering
Software What Is Software?
Chapter 1 The Nature of Software
Chapter 1 The Nature of Software
Software Engineering (CSE 314)
Software Myths Deep Mann.
Chapter 2 Software Engineering
For University Use Only
Overview: Software and Software Engineering
Chapter : Introduction to Software Engineering
Chapter : Introduction to Software Engineering
Software Testing and Maintenance Maintenance and Evolution Overview
Chapter 1 Software & Software Engineering
Chapter 1 Software & Software Engineering
1.1.1 Software Evolution.
Software Engineering (CSI 321)
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
Introduction Software Engineering.
Presentation transcript:

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

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, 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)

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.

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, The Cost of Change Definition Development After release 1x 1.5-6x x

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.

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, 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 Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 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

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, Wear vs. Deterioration

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, 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

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, 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

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, 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?

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, 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:

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, 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

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

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.

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.

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, Software Poses Challenges