Software Engineering Undergraduate Course Presentations
Introduction and Motivation
University of Vale do Itajaí
Univali
Incremental Tecnologia
English version
4. marcello.thiry@gmail.com
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
16. marcello.thiry@gmail.com
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)
23. marcello.thiry@gmail.com
Back in the day...
Popular Science, Jan 1965, 107
Business Week,
Nov 5, 1966, 127.
http://thecomputerboys.com/?tag=crisis
http://thecomputerboys.com/?tag=crisis
25. 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
26. 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
27. 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
30. marcello.thiry@gmail.com
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
31. marcello.thiry@gmail.com
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
32. marcello.thiry@gmail.com
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
34. marcello.thiry@gmail.com
(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)
35. marcello.thiry@gmail.com
(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)
36. marcello.thiry@gmail.com
(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)
37. marcello.thiry@gmail.com
(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)
38. marcello.thiry@gmail.com
(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)
44. marcello.thiry@gmail.com
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, software
engineer, and computer scientist. He is
also the author of the seminal book
“The Mythical Man-Month (1975)”.
48. marcello.thiry@gmail.com
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
52. marcello.thiry@gmail.com
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
53. marcello.thiry@gmail.com
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
57. marcello.thiry@gmail.com
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
58. marcello.thiry@gmail.com
Software has to conform
to other existing systems
Software has to conform to its
environment
http://www.ktckids.com/images/puzzlePieces.png
62. Where is the software?
http://img.gfx.no/806/806035/original.628x353.jpg
Intangibility
No geometric
representation
63. marcello.thiry@gmail.com
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
67. marcello.thiry@gmail.com
Some breakthroughs helped to
reduce accidental difficulties…
High-level languages
Time-sharing
Programming environments, tools
Object-oriented development
Programming verification
…
76. marcello.thiry@gmail.com
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
80. marcello.thiry@gmail.com
x
Consider 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
81. Which one
has a better
quality?
http://www.tvmost.com.hk/most/uploads/images/2015/Article/2015.07/2015.07.23/pigteammate/005.jpg
82. marcello.thiry@gmail.com
Which are the expected
features for each one?
Quality is the “degree to
which a set of inherent
characteristics fulfils
requirements”
ISO 9000, 2015
84. marcello.thiry@gmail.com
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
87. marcello.thiry@gmail.com
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
93. marcello.thiry@gmail.com
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.
94. marcello.thiry@gmail.com
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
108. marcello.thiry@gmail.com
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).
110. marcello.thiry@gmail.com
Developed for a specific application
from a user requirements specification
FD (fully developed) or
Custom software development.
(ISO/IEC 25030, 2007)
112. marcello.thiry@gmail.com
Similar to COTS, but it allows some
degree of customization (modification
of its features) from users specific
needs
MOTS (modified off-the-shelf).
118. 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.