Software Engineering: A Practitioner's Approach, 6/e

download Software Engineering: A Practitioner's Approach, 6/e

of 11

Transcript of Software Engineering: A Practitioner's Approach, 6/e

  • 8/14/2019 SoftwareEngineering: APractitioner'sApproach,6/e

    1/11

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e andare provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

    Supplementary Slides forSupplementary Slides for

    Software Engineering:Software Engineering:A Practitioner's Approach, 6/eA Practitioner's Approach, 6/e

    Part 1Part 1

    copyright 1996, 2001, 2005

    R.S. Pressman & Associates, Inc.

    For University Use OnlyMay be reproduced ONLY for student use at the university level

    when used in conjunction with Software Engineering: A Practitioner's ApproachAny other reproduction or use is expressly prohibited.

    This presentation, slides, or hardcopy may NOT be used forshort courses, industry seminars, or consulting purposes.

  • 8/14/2019 SoftwareEngineering: APractitioner'sApproach,6/e

    2/11

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e andare provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

    Software Engineering: A Practitioners Approach, 6/eSoftware Engineering: A Practitioners Approach, 6/e

    Chapter 1Chapter 1

    Software and SoftwareSoftware and Software

    EngineeringEngineeringcopyright 1996, 2001, 2005

    R.S. Pressman & Associates, Inc.

    For University Use Only

    May be reproduced ONLY for student use at the university levelwhen used in conjunction with Software Engineering: A Practitioner's Approach.

    Any other reproduction or use is expressly prohibited.

  • 8/14/2019 SoftwareEngineering: APractitioner'sApproach,6/e

    3/11

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e andare provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

    Softwares Dual RoleSoftwares Dual Role

    Software is a productSoftware is a product Delivers computing potentialDelivers computing potential Produces, manages, acquires, modifies, displays, or transmitsProduces, manages, acquires, modifies, displays, or transmits

    informationinformation

    Software is a vehicle for delivering a productSoftware is a vehicle for delivering a product Supports or directly provides system functionalitySupports 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)

  • 8/14/2019 SoftwareEngineering: APractitioner'sApproach,6/e

    4/11

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e andare provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

    What is Software?What is Software?

    Software is a set of items or objectsthat form a configuration thatincludes

    programs

    documents data ...

  • 8/14/2019 SoftwareEngineering: APractitioner'sApproach,6/e

    5/11

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e andare provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

    What is Software?What is Software?

    software is engineeredsoftware is engineered software doesnt wear outsoftware doesnt wear out software is complexsoftware is complex

  • 8/14/2019 SoftwareEngineering: APractitioner'sApproach,6/e

    6/11

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e andare provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

    Wear vs. DeteriorationWear vs. Deterioration

    idealized curve

    change

    actual curve

    Failurerate

    Time

    increased failure

    rate due to side effects

  • 8/14/2019 SoftwareEngineering: APractitioner'sApproach,6/e

    7/11

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e andare provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

    Software ApplicationsSoftware Applications

    system softwaresystem software application softwareapplication software engineering/scientific softwareengineering/scientific software embedded softwareembedded software

    product-line softwareproduct-line software WebApps (Web applications)WebApps (Web applications) AI softwareAI software

  • 8/14/2019 SoftwareEngineering: APractitioner'sApproach,6/e

    8/11

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e andare provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

    SoftwareNew CategoriesSoftwareNew Categories

    Ubiquitous computingUbiquitous computingwireless networkswireless networks NetsourcingNetsourcingthe Web as a computing enginethe Web as a computing engine Open sourceOpen sourcefree source code open to the computingfree source code open to the computing

    community (a blessing, but also a potential curse!)community (a blessing, but also a potential curse!) Also (see Chapter 32)Also (see Chapter 32)

    Data miningData mining Grid computingGrid computing Cognitive machinesCognitive machines Software for nanotechnologiesSoftware for nanotechnologies

  • 8/14/2019 SoftwareEngineering: APractitioner'sApproach,6/e

    9/11

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e andare provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

    Legacy SoftwareLegacy Software

    software must besoftware must be adaptedadapted to meet the needs of newto meet the needs of newcomputing environments or technology.computing environments or technology.

    software must besoftware must be enhancedenhanced to implement newto implement newbusiness requirements.business requirements.

    software must besoftware must be extended to make it interoperableextended to make it interoperablewith other more modern systems or databases.with other more modern systems or databases.

    software must besoftware must be re-architectedre-architected to make it viableto make it viablewithin a network environmentwithin a network environment.

    Why must it change?

  • 8/14/2019 SoftwareEngineering: APractitioner'sApproach,6/e

    10/11

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e andare provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 1

    Software EvolutionSoftware Evolution The Law of Continuing Change (1974):The Law of Continuing Change (1974): E-type systems must be continually adapted else theyE-type systems must be continually adapted else they

    become progressively less satisfactory.become progressively less satisfactory.

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

    unless work is done to maintain or reduce it.unless work is done to maintain or reduce it. The Law of Self Regulation (1974):The Law of Self Regulation (1974): The E-type system evolution process is self-regulating withThe E-type system evolution process is self-regulating with

    distribution of product and process measures close to normal.distribution of product and process measures close to normal.

    The Law of Conservation of Organizational Stability (1980):The Law of Conservation of Organizational Stability (1980): The average effective global activityThe average effective global activityrate in an evolving E-type system is invariant over product lifetime.rate in an evolving E-type system is invariant over product lifetime.

    The Law of Conservation of Familiarity (1980):The Law of Conservation of Familiarity (1980): As an E-type system evolves all associated with it,As an E-type system evolves all associated with it,developers, sales personnel, users, for example, must maintain mastery of its content anddevelopers, sales personnel, users, for example, must maintain mastery of its content and

    behavior to achieve satisfactory evolution.behavior to achieve satisfactory evolution. The Law of Continuing Growth (1980):The Law of Continuing Growth (1980): The functional content of E-type systems must beThe functional content of E-type systems must be

    continually increased to maintain user satisfaction over their lifetime.continually increased to maintain user satisfaction over their lifetime.

    The Law of Declining Quality (1996):The Law of Declining Quality (1996): The quality of E-type systems will appear to be decliningThe quality of E-type systems will appear to be decliningunless they are rigorously maintained and adapted to operational environment changes.unless they are rigorously maintained and adapted to operational environment changes.

    The Feedback System Law (1996):The Feedback System Law (1996): E-type evolution processes constitute multi-level, multi-loop,E-type evolution processes constitute multi-level, multi-loop,multi-agent feedback systems and must be treated as such to achieve significant improvementmulti-agent feedback systems and must be treated as such to achieve significant improvement

    over any reasonable base.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 bedownloaded from: http://www.ece.utexas.edu/~perry/work/papers/feast1.pdf

    http://www.ece.utexas.edu/~perry/work/papers/feast1.pdfhttp://www.ece.utexas.edu/~perry/work/papers/feast1.pdfhttp://www.ece.utexas.edu/~perry/work/papers/feast1.pdfhttp://www.ece.utexas.edu/~perry/work/papers/feast1.pdfhttp://www.ece.utexas.edu/~perry/work/papers/feast1.pdfhttp://www.ece.utexas.edu/~perry/work/papers/feast1.pdfhttp://www.ece.utexas.edu/~perry/work/papers/feast1.pdfhttp://www.ece.utexas.edu/~perry/work/papers/feast1.pdfhttp://www.ece.utexas.edu/~perry/work/papers/feast1.pdfhttp://www.ece.utexas.edu/~perry/work/papers/feast1.pdfhttp://www.ece.utexas.edu/~perry/work/papers/feast1.pdf
  • 8/14/2019 SoftwareEngineering: APractitioner'sApproach,6/e

    11/11

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e andare provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005 1

    Software MythsSoftware Myths

    Affect managers, customers (and other non-technicalAffect managers, customers (and other non-technicalstakeholders) and practitionersstakeholders) and practitioners

    Are believable because they often have elements of truth,Are believable because they often have elements of truth,

    but but Invariably lead to bad decisions,Invariably lead to bad decisions,

    therefore therefore

    Insist on reality as you navigate your way throughInsist on reality as you navigate your way throughsoftware engineeringsoftware engineering