Part 1 Introduction to Software Engineeringocw.usu.ac.id/course/download/419-rekayasa... ·...
Transcript of Part 1 Introduction to Software Engineeringocw.usu.ac.id/course/download/419-rekayasa... ·...
![Page 1: Part 1 Introduction to Software Engineeringocw.usu.ac.id/course/download/419-rekayasa... · Software Myths •Affect managers, customers (and other non-technical stakeholders) and](https://reader035.fdocuments.us/reader035/viewer/2022070912/5fb3ee7e85a49a62640c84d5/html5/thumbnails/1.jpg)
Part 1
Introduction to
Software EngineeringSoftware Engineering
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 Approach.Any other reproduction or use is expressly prohibited.
This presentation, slides, or hardcopy may NOT be used forshort courses, industry seminars, or consulting purposes.
![Page 2: Part 1 Introduction to Software Engineeringocw.usu.ac.id/course/download/419-rekayasa... · Software Myths •Affect managers, customers (and other non-technical stakeholders) and](https://reader035.fdocuments.us/reader035/viewer/2022070912/5fb3ee7e85a49a62640c84d5/html5/thumbnails/2.jpg)
Software’s Dual Role
• Software is a product
• Delivers computing potential
• 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
• Controls other programs (e.g., an operating system)
• Effects communications (e.g., networking software)
• Helps build other software (e.g., software tools)
2
![Page 3: Part 1 Introduction to Software Engineeringocw.usu.ac.id/course/download/419-rekayasa... · Software Myths •Affect managers, customers (and other non-technical stakeholders) and](https://reader035.fdocuments.us/reader035/viewer/2022070912/5fb3ee7e85a49a62640c84d5/html5/thumbnails/3.jpg)
What is Software?
Software is a set of items or objects
that form a “configuration” that
includes
• programs
• documents
3
• documents
• data ...
![Page 4: Part 1 Introduction to Software Engineeringocw.usu.ac.id/course/download/419-rekayasa... · Software Myths •Affect managers, customers (and other non-technical stakeholders) and](https://reader035.fdocuments.us/reader035/viewer/2022070912/5fb3ee7e85a49a62640c84d5/html5/thumbnails/4.jpg)
What is Software?
• software is engineered
• software doesn’t wear out
• software is complex
4
![Page 5: Part 1 Introduction to Software Engineeringocw.usu.ac.id/course/download/419-rekayasa... · Software Myths •Affect managers, customers (and other non-technical stakeholders) and](https://reader035.fdocuments.us/reader035/viewer/2022070912/5fb3ee7e85a49a62640c84d5/html5/thumbnails/5.jpg)
Wear vs. Deterioration
Failurerate
increased failurerate due to side effects
5
idealized curve
change
actual curve
Time
![Page 6: Part 1 Introduction to Software Engineeringocw.usu.ac.id/course/download/419-rekayasa... · Software Myths •Affect managers, customers (and other non-technical stakeholders) and](https://reader035.fdocuments.us/reader035/viewer/2022070912/5fb3ee7e85a49a62640c84d5/html5/thumbnails/6.jpg)
Software Applications
• System software
• Application software
• Engineering/scientific software
• Embedded software
• Product-line software
• WebApps (Web applications)
• AI software
6
![Page 7: Part 1 Introduction to Software Engineeringocw.usu.ac.id/course/download/419-rekayasa... · Software Myths •Affect managers, customers (and other non-technical stakeholders) and](https://reader035.fdocuments.us/reader035/viewer/2022070912/5fb3ee7e85a49a62640c84d5/html5/thumbnails/7.jpg)
Software—New Categories
• Ubiquitous computing—wireless networks
• Netsourcing—the Web as a computing engine
• Open source—”free” source code open to the
computing community (a blessing, but also a
potential curse!)potential curse!)
• Also … (see Chapter 32)
• Data mining
• Grid computing
• Cognitive machines
• Software for nanotechnologies7
![Page 8: Part 1 Introduction to Software Engineeringocw.usu.ac.id/course/download/419-rekayasa... · Software Myths •Affect managers, customers (and other non-technical stakeholders) and](https://reader035.fdocuments.us/reader035/viewer/2022070912/5fb3ee7e85a49a62640c84d5/html5/thumbnails/8.jpg)
Legacy Software
• 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 extended to make it interoperable
with other more modern systems or databases.with other more modern systems or databases.
• Software must be re-architected to make it viable within
a network environment.
8
Why must it change?
![Page 9: Part 1 Introduction to Software Engineeringocw.usu.ac.id/course/download/419-rekayasa... · Software Myths •Affect managers, customers (and other non-technical stakeholders) and](https://reader035.fdocuments.us/reader035/viewer/2022070912/5fb3ee7e85a49a62640c84d5/html5/thumbnails/9.jpg)
E-Type Systems
• E-Type Systems:
Software that has been implemented in a real-world
computing context and will therefore evolve over
time
9
![Page 10: Part 1 Introduction to Software Engineeringocw.usu.ac.id/course/download/419-rekayasa... · Software Myths •Affect managers, customers (and other non-technical stakeholders) and](https://reader035.fdocuments.us/reader035/viewer/2022070912/5fb3ee7e85a49a62640c84d5/html5/thumbnails/10.jpg)
Software Evolution• 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 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 Familiarity (1980): As an E-type system evolves all associated with it, • 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 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.
10
![Page 11: Part 1 Introduction to Software Engineeringocw.usu.ac.id/course/download/419-rekayasa... · Software Myths •Affect managers, customers (and other non-technical stakeholders) and](https://reader035.fdocuments.us/reader035/viewer/2022070912/5fb3ee7e85a49a62640c84d5/html5/thumbnails/11.jpg)
Software Myths
• Affect managers, customers (and other non-
technical stakeholders) and practitioners
• Are believable because they often have elements of
truth,
• but …• but …
• Invariably lead to bad decisions,
• therefore …
• Insist on reality as you navigate your way through
software engineering
11
![Page 12: Part 1 Introduction to Software Engineeringocw.usu.ac.id/course/download/419-rekayasa... · Software Myths •Affect managers, customers (and other non-technical stakeholders) and](https://reader035.fdocuments.us/reader035/viewer/2022070912/5fb3ee7e85a49a62640c84d5/html5/thumbnails/12.jpg)
Management Myths
• “We already have a book of standards and
procedures for building software. It does provide my
people with everything they need to know …”
• “If my project is behind the schedule, I always can
add more programmers to it and catch up …”add more programmers to it and catch up …”
(a.k.a. “The Mongolian Horde concept”)
• “If I decide to outsource the software project to a
third party, I can just relax: Let them build it, and I
will just pocket my profits …”
12
![Page 13: Part 1 Introduction to Software Engineeringocw.usu.ac.id/course/download/419-rekayasa... · Software Myths •Affect managers, customers (and other non-technical stakeholders) and](https://reader035.fdocuments.us/reader035/viewer/2022070912/5fb3ee7e85a49a62640c84d5/html5/thumbnails/13.jpg)
Customer Myths
• “A general statement of objectives is sufficient to
begin writing programs - we can fill in the details
later …”
• “Project requirements continually change but this • “Project requirements continually change but this
change can easily be accommodated because
software is flexible …”
13
![Page 14: Part 1 Introduction to Software Engineeringocw.usu.ac.id/course/download/419-rekayasa... · Software Myths •Affect managers, customers (and other non-technical stakeholders) and](https://reader035.fdocuments.us/reader035/viewer/2022070912/5fb3ee7e85a49a62640c84d5/html5/thumbnails/14.jpg)
Practitioner’s Myths
• “Let’s start coding ASAP, because once we write the
program and get it to work, our job is done …”
• “Until I get the program running, I have no way of assessing
its quality …”
• “The only deliverable work product for a successful project
is the working program …”
• “Software engineering is baloney. It makes us create tons
of paperwork, only to slow us down …”
14