pressman - introduction to software engineering
TRANSCRIPT
-
7/31/2019 Pressman - Introduction to Software Engineering
1/14
5/29/12
Part
1IntroductiontoSoftwareEngineering
copyright 1996,
2001, 2005R.S. Pressman & Associates,Inc.
For University UseOnlyMay be reproduced ONLY for student use at the university
levelwhen used in conjunction with Software Engineering: A Practitioner'sApproach. Any other reproduction or use is expressly
prohibited.This presentation, slides, or hardcopy may NOT be usedfor
short courses, industry seminars, or consulting
purposes.
1
-
7/31/2019 Pressman - Introduction to Software Engineering
2/14
5/29/12
Softwares Dual
Role Software is aproduct Delivers computing
potential Produces, manages, acquires, modifies, displays,
ortransmitsinformation Software is a vehicle for delivering a
productSupports or directly provides system functionality
Controls other programs (e.g., an operatingsystem)
Effects communications (e.g., networking
software)2
-
7/31/2019 Pressman - Introduction to Software Engineering
3/14
5/29/12
What is
Software?Software is a set of items orobjects
that form a configuration that
includes
programsdocuments
data ...
3
-
7/31/2019 Pressman - Introduction to Software Engineering
4/14
5/29/12
What is
Software? software isengineered software doesnt wearout
software is complex
4
-
7/31/2019 Pressman - Introduction to Software Engineering
5/14
5/29/12
Wear vs.
Deterioration increasedfailurerate due to sideeffectsFailu
re rate
change
actualcurve
idealizedcurve
Time
5
-
7/31/2019 Pressman - Introduction to Software Engineering
6/14
5/29/12
Software
ApplicationsSystemsoftwareApplicationsoftwareEngineering/scientific
software
Embedded software
Product-line software
WebApps (Web
applications)
AI software6
-
7/31/2019 Pressman - Introduction to Software Engineering
7/14
5/29/12
SoftwareNew Categories
Ubiquitous computingwireless networks
Netsourcingthe Web as a computingengine
Open sourcefree source code open tothe
computing community (a blessing, but also
apotential curse!)
Software for
nanotechnologies7
-
7/31/2019 Pressman - Introduction to Software Engineering
8/14
5/29/12
Legacy
Software Software must be adapted to meet the needs ofnewcomputing environments or
technology. Software must be enhanced to implement newbusinessrequirement
s. Software must be extended to make itinteroperablewith other more modern systems or
databases. Software must be re-architected to make it viable
withina networkenvironment.
8
-
7/31/2019 Pressman - Introduction to Software Engineering
9/14
5/29/12
E-Type
Systems E-TypeSystems:Software that has been implemented in a real-
world
computing context and will therefore evolve overtime
9
-
7/31/2019 Pressman - Introduction to Software Engineering
10/14
5/29/12
Software
EvolutionThe Law of Continuing Change (1974): E-type systems must be continually adapted else theybecomeprogressively less satisfactory.The Law of Increasing Complexity (1974): As an E-type system evolves its complexity increasesunlesswork is done to maintain or reduce it.The Law of Self Regulation (1974): The E-type system evolution process is self-regulatingwithdistribution of product and process measures close to normal.The Law of Conservation of Organizational Stability (1980): The average effective global activity rateinan 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 behaviortoachieve satisfactory evolution.The Law of Continuing Growth (1980): The functional content of E-type systems must becontinuallyincreased to maintain user satisfaction over their lifetime.The Law of Declining Quality (1996): The quality of E-type systems will appear to be declining unlesstheyare 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 anyreasonable base.
1
0
-
7/31/2019 Pressman - Introduction to Software Engineering
11/14
5/29/12
Software
Myths Affect managers, customers (and othernon-technical stakeholders) and
practitioners Are believable because they often have elements
oftruth,
but
Invariably lead to bad
decisions,
therefore Insist on reality as you navigate your waythroughsoftware
engineering 11
-
7/31/2019 Pressman - Introduction to Software Engineering
12/14
5/29/12
Management
Myths We already have a book of standardsandprocedures for building software. It does provide
my
people with everything they need to know If my project is behind the schedule, I alwayscanadd more programmers to it and catch up
(a.k.a. The Mongolian Hordeconcept) If I decide to outsource the software project to a
third party, I can just relax: Let them build it, andI
will just pocket my profits 1
2
-
7/31/2019 Pressman - Introduction to Software Engineering
13/14
5/29/12
Customer
Myths A general statement of objectives is sufficientto
begin writing programs - we can fill in the
detailslater Project requirements continually change butthischange can easily be accommodated
because
software is flexible
1
3
-
7/31/2019 Pressman - Introduction to Software Engineering
14/14
5/29/12
Practitioners
Myths Lets start coding ASAP, because once we writetheprogram and get it to work, our job is done
Until I get the program running, I have no way ofassessingits quality
The only deliverable work product for a successfulprojectis the working program
Software engineering is baloney. It makes us createtonsof paperwork, only to slow us down
14