Software Engineering - Introduction and Motivation (Marcello Thiry)
-
Upload
marcello-thiry -
Category
Education
-
view
1.669 -
download
2
Transcript of Software Engineering - Introduction and Motivation (Marcello Thiry)
![Page 1: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/1.jpg)
[email protected] and motivation
![Page 3: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/3.jpg)
[email protected]://c4.quickcachr.fotos.sapo.pt/i/o51010754/6042055_Jtk8U.jpeg
Should I know
the answer!?
![Page 4: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/4.jpg)
It says here
we will learn
about Software
Engineering!!
http://i0.wp.com/www.nerdglaze.com/wp-
content/uploads/2013/08/nerdy-dude.jpg?resize=450%2C305
![Page 5: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/5.jpg)
[email protected] http://ideas.scup.com/pt/files/2013/06/conte%C3%BAdo.jpg
1. Engineering
2. Software Crisis
3. Software relevance
4. Software Engineering
5. Nature of software
6. Quality and Software Quality
7. Software types and domains
Contents.
![Page 6: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/6.jpg)
create, design, construct,
build, devise, invent, ...
Engineer. (verb)
https://awordfromafriend.files.wordpress.com/2014/10/blocktower.jpg?w=500
![Page 9: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/9.jpg)
The application of scientific or
empirical methods to create,
improve and implement
Engineering.
![Page 10: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/10.jpg)
The application of scientific or
empirical methods to create,
improve and implement utilities
Engineering.
![Page 13: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/13.jpg)
Study the problem
Plan a solution
Verify economic and
technical feasibility
Coordinate the construction
![Page 15: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/15.jpg)
John Tukey (1915-2000)https://en.wikipedia.org/?title=John_Tukey
“In 1958, John Tukey, the world-renowned statistician, coined the term software”
(SWEBOK, 2014)
![Page 16: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/16.jpg)
Collection of computer programs,
procedures, and possibly associate
documentation and data pertaining
to the operation of a computer
system
Software.
(IEEE Std 610.12.1990)
![Page 17: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/17.jpg)
Documentation?!
Yeah, documentation!
But we will talk more
about it during our course
![Page 20: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/20.jpg)
Software Engineering.
The application of scientific or
empirical methods to create,
improve and implement software
![Page 21: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/21.jpg)
“The term software engineering wasused in the title ofa NATO conference held in Germany in 1968”
http://homepages.cs.ncl.ac.uk/brian.randell/NATO/
![Page 23: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/23.jpg)
Back in the day...
Popular Science, Jan 1965, 107
Business Week,
Nov 5, 1966, 127.
http://thecomputerboys.com/?tag=crisishttp://thecomputerboys.com/?tag=crisis
![Page 25: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/25.jpg)
Late 1960s, early 1970s...
•Many projects were failing or had been
abandoned
• Cost and budget overruns
•Software not reliable and
difficult to maintain
•Difficult to meet the user
requirements
The crisis...
https://kathleenkerridge.files.wordpress.com/2015/02/depre
ssion-week-image-300x300.jpg?w=300
![Page 26: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/26.jpg)
Late 1960s, early 1970s...
•More powerful computers and
programming languages
•Demand growth
•More complex software
•More people involved
The crisis...
https://pamsblog666.files.wordpress.com/2011/06/computer20studies.jpg
![Page 27: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/27.jpg)
Late 1960s, early 1970s...
•Improve professionals’ skills
•Methodologies
• Communication with users
• Team work
The crisis...
http://eolocomunicacion.com/wp-content/uploads/2015/05/fusionyadquisiciondempresas-e1431067600969.png
![Page 30: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/30.jpg)
The avionics system in the F-22 Raptor
consists of about 1.7 Million LOC
The Boeing’s 787 Dreamliner contains about 6.5
million LOC
A premium-class automobile contains close to
100 million LOC
http://spectrum.ieee.org/transportation/systems/this-car-runs-on-code
LOC = lines of software code
http://3.bp.blogspot.com/--
ae42w82PVo/VEU2EOJmQXI/AAAAAAAABoM/x5vv
azR_BQM/s1600/homer-screaming.gif
![Page 31: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/31.jpg)
Ubiquitous or pervasive Computing
Most people don’t even realize
how computing is part of their
lives today
And what is the
impact of this
on software?
http://betanews.com/wp-
content/uploads/2014/09/Internet-of-things.jpg
![Page 32: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/32.jpg)
Do you realize the relevance of
software nowadays?
And what is your role on this?
https://portalbuzzuserfiles.s3.amazonaws.com/ou-
15436/userfiles/images/pointing%20finger.jpg
![Page 34: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/34.jpg)
(1) The application of a systematic,
disciplined, quantifiable approach to the
development, operation, and maintenance of
software; that is, the application of
engineering to software.
(2) The study of approaches as in (1).
(IEEE Std 610.12.1990)
![Page 35: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/35.jpg)
(1) The application of a systematic, disciplined, quantifiable approach to the
development, operation, and maintenance of
software; that is, the application of
engineering to software.
(2) The study of approaches as in (1).
(IEEE Std 610.12.1990)
![Page 36: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/36.jpg)
(1) The application of a systematic,
disciplined, quantifiable approach to the development, operation, and maintenance
of software; that is, the application of
engineering to software.
(2) The study of approaches as in (1).
(IEEE Std 610.12.1990)
![Page 37: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/37.jpg)
(1) The application of a systematic,
disciplined, quantifiable approach to
the development, operation, and maintenance
of software; that is, the application of
engineering to software.
(2) The study of approaches as in (1).
(IEEE Std 610.12.1990)
![Page 38: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/38.jpg)
(1) The application of a systematic,
disciplined, quantifiable approach to the
development, operation, and
maintenance of software; that is, the
application of engineering to software.
(2) The study of approaches as in (1).
(IEEE Std 610.12.1990)
![Page 41: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/41.jpg)
Systematic
Principles
Discipline
Knowledge
Maintenance
OperationDevelopment
Reliable
Application
Technique
Method
Approach
Quality
Software
Procedures
Methodology
Team
Scientific
PracticalDesign
Tool
Productivity
![Page 44: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/44.jpg)
Frederick Phillips Brooks, Jr.(1931-)
https://en.wikipedia.org/wiki/Fred_Brooks
“In 1986, Fred Brooks wrote the famous paper No Silver Bullet – Essence and Accident of Software Engineering”http://faculty.salisbury.edu/~xswang/Research/Papers/SERelated/no-silver-bullet.pdf
American computer architect, softwareengineer, and computer scientist. He isalso the author of the seminal book“The Mythical Man-Month (1975)”.
![Page 45: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/45.jpg)
http://www.polyvore.com/cgi/img-
thing?.out=jpg&size=l&tid=32131103
“… building software will always be hard. There is no silver bullet.”
(Brooks, 1986)
There is no single technique or technology, which
by itself can improve some aspect of software
development 10x in 10 years…
![Page 47: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/47.jpg)
Essence
Difficulties
in Software
Development
Accidents
Inherent in the nature of the software
mapping specification to software and
verifying that the design properly meets
business needs
Related to the production of software
and not inherent
Brooks, 1986
Most methods and techniques
attack the accidents
![Page 48: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/48.jpg)
Just a
reminder:
Accidental occurring by chance
Incidental
Brooks “refired” his paper 10 years
later in the book
The Mythical Man-Month, 20th
Anniversary Edition, 1995
problems which engineers create and can fix
Related to the implementation process
![Page 52: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/52.jpg)
No two parts are alike
If they are, we make them into subroutines
In contrast to elements used in other domains
Huge number of states
Impossible to
enumerate all
![Page 53: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/53.jpg)
There is no way to abstract away
the complexity because it is
essential
Complex domains
Aviation
Telecommunications
Banking
Health sector
…
We still need to
model and implement
their complexity
![Page 54: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/54.jpg)
Technical consequences
Communication difficulties
Product flaws, cost overruns, schedule delays
Difficulty in enumerating, understanding and
anticipating all possible states
Unreliability, security trapdoors
Difficulty in maintaining
Introduction of defects, hard to understand, hard to use
![Page 55: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/55.jpg)
Management consequences
Difficult project
overview
Poor knowledge
management
personnel
turnover
is a huge
problem
![Page 57: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/57.jpg)
Software must conform to
arbitrary limitations
Imposed by human institutions and
systems regulations and rules
Subject to arbitrary
changes
Difficult
to plan
Can occur late in
the development
![Page 58: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/58.jpg)
Software has to conform
to other existing systems
Software has to conform to its
environment
http://www.ktckids.com/images/puzzlePieces.png
![Page 60: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/60.jpg)
Continuous change of
users’ needs
Illusion of
easy malleability
http://pipllp.com/wp-content/uploads/2014/09/evolution-of-cars_CKO.jpg
More pressure
to change the
software
![Page 62: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/62.jpg)
Where is the software?
http://img.gfx.no/806/806035/original.628x353.jpg
Intangibility
No geometric
representation
![Page 63: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/63.jpg)
We need to use different representations
to model different aspects of the software
In UML 2.2
there are 14
types of
diagrams
http://i.stack.imgur.com/8tmN9.jpg
![Page 65: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/65.jpg)
Requirements refinement
Incremental development
Grow, not build it
Great Designers
rapid prototyping
Identify, develop and keep them
Reuse
Buy, don’t build
![Page 67: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/67.jpg)
Some breakthroughs helped to
reduce accidental difficulties…
High-level languages
Time-sharing
Programming environments, tools
Object-oriented development
Programming verification
…
![Page 68: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/68.jpg)
http://www.infoq.com/articles/No-Silver-Bullet-Summary
Interesting reading…
No Silver Bullet Reloaded Retrospective OOPSLA Panel Summary
http://cliparts.co/cliparts/dc9/6kL/dc96kLRc7.png
![Page 71: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/71.jpg)
Does the software
wear out?
http://chrishowardbooks.com/img/easter-egg-graphics/car.png
![Page 73: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/73.jpg)
It was
working
before...
... installing
the damn
update!
https://www.careeraddict.com/Surprised_Businessman.jpg
![Page 74: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/74.jpg)
Software DETERIORATES
when...
we introduce a new defect when we
change it
there were environmental changes
that could not be foreseen by the
designer
![Page 75: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/75.jpg)
[email protected] Pressman, 2015
![Page 76: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/76.jpg)
Of course, we are
considering that the
software first release
has not already been
delivered “rotten”!
http://spc.fotolog.com/photo/44/42/36/deselingue/1200006994_f.jpg
![Page 78: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/78.jpg)
We should be
concerned about
the quality of
we deliver!
http://www.aw3i.com/images/posts/sid_zen_dressdown.jpg
![Page 80: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/80.jpg)
xConsider this two products..
http://hobby-armada.com/images/item/tamiya/sportscar/292.jpg
http://cdn.inaxiom.net/web/wp-content/uploads/2011/08/Ford-Ka-2011-06.jpg
![Page 81: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/81.jpg)
Which one
has a better
quality?
http://www.tvmost.com.hk/most/uploads/images/2015/Article/2015.07/2015.07.23/pigteammate/005.jpg
![Page 82: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/82.jpg)
Which are the expected
features for each one?
Quality is the “degree to
which a set of inherent
characteristics fulfils
requirements”
ISO 9000, 2015
![Page 83: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/83.jpg)
Problems
with quality
The sport car has not
reached the required horse
power
The compact car has been
consuming more fuel than
expected
![Page 84: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/84.jpg)
Grade is the “category or rank
given to different quality
requirements for products,
processes or systems having the
same functional use”
Different technical characteristics
High grade brand, first class, ...
low grade brand, second class, ...
ISO 9000, 2015
![Page 85: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/85.jpg)
Got it!?
http://www.clickgratis.com.br/fotos-imagens/saca-
rolha/aHR0cDovL2lzaG9wLnM4LmNvbS5ici9wcm9kdXRvcy8
wMS8wMS9pdGVtLzI4OC82LzI4ODY2N18zR0cuanBn.jpg
http://www.clickgratis.com.br/fotos-imagens/saca-
rolha/aHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi9lL
2U1L0tvcmtlbnppZWhlcl8wMV9LTUouanBnLzIwMHB4LUtvcmtlbnppZWhlcl8wMV9LTUouanBn.jpg
![Page 87: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/87.jpg)
Difficult to define
Difficult to measure
Different perceptions
http://www.bms.co.in/wp-content/uploads/2014/11/Customer-Decision.jpg
http://businessanalytics.pt/wp-
content/uploads/2013/01/Lupa-
300x268.jpg
![Page 89: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/89.jpg)
http://images.clipartpanda.com/happy-computer-user-happy-computeruser.png
http://images.clipartpanda.com/stressor-clipart-computer-stress.jpg
![Page 90: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/90.jpg)
Capability of software product to satisfy
stated and implied needs when used under
specified conditions
(ISO/IEC 25000, 2014)
Software Quality.
![Page 91: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/91.jpg)
Capability of software product to satisfy
stated and implied needs when used under
specified conditions
(ISO/IEC 25000, 2014)
Software Quality.
![Page 93: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/93.jpg)
Artifact that is produced, is quantifiable,
and can be either an end item in itself or a
component item.
Additional words for products are material
and goods.
(PMBOK, 2013) also used by (ISO/IEC 25000, 2014)
Product.
![Page 94: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/94.jpg)
PMBOK uses different terms for PRODUCT
(tangible) e SERVICE (intangible)
A product can be:
a component item
an improvement of other item
a final item
PMBOK - Um Guia do Conhecimento em Gerenciamento de Projetos
![Page 95: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/95.jpg)
Software Product
Ready to be released
to users
It needs to be verified
and validated
![Page 96: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/96.jpg)
Capability of software product to satisfy
stated and implied needs when used under
specified conditions
(ISO/IEC 25000, 2014)
Software Quality.
![Page 97: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/97.jpg)
Capability of software product to satisfy
stated and implied needs when used under
specified conditions
(ISO/IEC 25000, 2014)
Software Quality.
![Page 98: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/98.jpg)
Software
specification
http://blog.axen.pro/wp-content/uploads/2013/06/Writing-Quality-Software-Requirements.png
![Page 99: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/99.jpg)
Capability of software product to satisfy
stated and implied needs when used under
specified conditions
(ISO/IEC 25000, 2014)
Software Quality.
![Page 100: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/100.jpg)
But has
everything
been written?
What are
the users
expectations?http://www.handymanstartup.com/wp-
content/uploads/2013/02/IMG_Customer_rating_buttons.jpg
![Page 101: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/101.jpg)
Capability of software product to satisfy
stated and implied needs when used under
specified conditions
(ISO/IEC 25000, 2014)
Software Quality.
![Page 102: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/102.jpg)
Does the
USE really
matters?
https://d3ui957tjb5bqd.cloudfront.net/images/screenshots/products/7/79/79359/hammer-o.jpg?1393432661
![Page 104: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/104.jpg)
Can we classify
software products?
http://blog.globalknowledge.com/wp-
content/uploads/2011/08/squarehole95615108.jpg
![Page 107: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/107.jpg)
A software product can be:
Commercial off-the-shelf - COTS
http://tynmedia.com/tynmag/wp-content/uploads/sites/3/2015/07/comercio_electronico.jpg
![Page 108: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/108.jpg)
Defined by a market-driven need,
commercially available, and whose fitness
for use has been demonstrated by a broad
spectrum of commercial users
(ISO/IEC 25030, 2007)
COTS (commercial off-the-shelf).
![Page 109: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/109.jpg)
Commercial off-the-shelf - COTS
Fully developed - FD
http://www.spd-haimhausen.de/wp-content/uploads/2010/02/bausteine.jpg
A software product can be:
![Page 110: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/110.jpg)
Developed for a specific application
from a user requirements specification
FD (fully developed) or
Custom software development.
(ISO/IEC 25030, 2007)
![Page 111: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/111.jpg)
Commercial off-the-shelf - COTS
Fully developed - FD
Modified off-the-
shelf - MOTS
http://www.sundlep.com/wp-content/uploads/2015/02/web12.jpg
A software product can be:
![Page 112: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/112.jpg)
Similar to COTS, but it allows some
degree of customization (modification
of its features) from users specific
needs
MOTS (modified off-the-shelf).
![Page 114: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/114.jpg)
System software
Application software
Engineering/scientific software
Embedded software
Product-line software
Web/mobile applications
Artificial intelligence software
(Pressman, 2015)
![Page 115: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/115.jpg)
And more...
http://betanews.com/wp-content/uploads/2014/09/Internet-of-things.jpg
http://1.bp.blogspot.com/-7WLjdMquht4/VAANOVyBZSI/AAAAAAAAEZ8/JDIrrYWeJyc/s1600/Cloud-computing-concept_nobg.png
![Page 118: Software Engineering - Introduction and Motivation (Marcello Thiry)](https://reader031.fdocuments.us/reader031/viewer/2022021507/5870a3e11a28abcb078b553b/html5/thumbnails/118.jpg)
References.
(Brooks, 1986). No Silver Bullet: Essence and Accident in Software Engineering. Proceedings of the
IFIP Tenth World Computing Conference: 1069–1076.
(Brooks, 1995). The Mythical Man-Month. Anniversary Edition. Addison Wesley.
(IEEE Std 610.12.1990). IEEE Standard Glossary of Software Engineering Terminology.
(ISO 9000, 2015). Quality management systems — Fundamentals and vocabulary.
(ISO/IEC 25000, 2014). Systems and software engineering — Systems and software Quality Requirements
and Evaluation (SQuaRE) — Guide to SQuaRE.
(ISO/IEC 25030, 2007). Software engineering — Software product Quality Requirements and Evaluation
(SQuaRE) — Quality requirements.
(PMBOK, 2013). A Guide to the Project Management Body of Knowledge (PMBOK® Guide). 5th ed. Project
Management Institute (PMI).
(Pressman, 2015). Software Engineering: A Practitioner's Approach. 8th ed. McGraw-Hill Education.
(SWEBOK, 2014). SWEBOK - Guide to the Software Engineering Body of Knowledge. Version 3.0. IEEE.