software engineering ht05
DESCRIPTION
Software Engineering HT05. Annabella Loconsole bella @cs.umu.se http://www.cs.umu.se/~ bella http://www.cs.umu.se/kurser/TDBB12/HT05/. Lecture part Traditional lectures 3 Group exercises 2 Assignments Written examination. Project part Teamwork Prototype development Team meetings - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/1.jpg)
Software Engineering HT05
Annabella [email protected]
http://www.cs.umu.se/~bella
http://www.cs.umu.se/kurser/TDBB12/HT05/
![Page 2: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/2.jpg)
PVK--Ht05 2
Course OrganisationLecture part o Traditional lectureso 3 Group exerciseso 2 Assignments o Written examination
Project parto Teamwork
• Prototype developmento Team meetingso Oral presentation of
resultso Written reports
Examination: Assignments + Exam+ Project
![Page 3: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/3.jpg)
PVK--Ht05 3
ContentsL1: Introduction L2: Requirements engineeringL3: Project managementL4: Software designL5: Detailed design and codingL6: Quality assuranceL7: Maintenance
![Page 4: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/4.jpg)
PVK--Ht05 4
IntroductionWhat is software engineeringSoftware development processesSoftware qualityApproaches to improve quality
![Page 5: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/5.jpg)
PVK--Ht05 5
Software ProblemsSoftware becomes more and more complexSoftware permeates our daily lifeSoftware failures may harm our livesSoftware does not meet expectationsSoftware projects exceed budgets and schedules...
![Page 6: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/6.jpg)
PVK--Ht05 6
Ariane 5 Failure (in ’96 and ’02)
Inertial Reference computer (SRI-1) tried to convert 64-bit float value to 16-bit signed integer. Value too large, raised exception. SRI-1 computer shut down. Redundant SRI-2 computer performed same conversion, produced same exception. SRI-2 sent bad data to flight control computer, which then put the launcher into an unstable flight trajectory. Result: Self-destruct mechanism was activated. Failure Cause: improperly constrained computation. http://news.bbc.co.uk/2/hi/science/nature/2565387.stmhttp://www.esa.int/export/esaCP/ESACVS7708D_index_0.html
![Page 7: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/7.jpg)
PVK--Ht05 7
The Software Crisis is not Over
29%
26%
21%
19%
3% 2%
Undeliverable software
Incorrect software
Unsound softwareMajor redesign needed
Usable after change
OK as deliveredStudy from Study from Medvits C et al “SAIC common approach guidance for CMMI”, GAO report on software results
![Page 8: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/8.jpg)
PVK--Ht05 8
What is Software Engineering?“The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.” Definition proposed by Fritz Bauer
at the NATO conference ‘68 in Garmisch [NRB 76]
COMPUTERSCIENCE
SOFTWAREENGINEERING
CUSTOMER
Theories
Tools andTechniques toSolve Problem
ProblemComputerFunctions
ENGINEERINGPRINCIPLES
ProvenTechniques
![Page 9: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/9.jpg)
PVK--Ht05 9
But ...“ ... we all tell each other and ourselves that software engineering techniques should be improved considerably, because there is a crisis. But there are a few boundary conditions which apparently have to be satisfied. I will list them for you:1. We may not change our thinking habits.2. We may not change our programming tools.3. We may not change our hardware.4. We may not change our tasks.5. We may not change our organizational set-up in which the work has to be done.Now under these five immutable boundary conditions, we have to try to improve matters. This is utterly ridiculous. ...”Comment by Edsger Dijkstra at
the NATO conference ‘69 in Garmisch [BuRa 70]
![Page 10: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/10.jpg)
PVK--Ht05 10
Elements of Software Engineering
Languages
Technical “how tos” to support software development tasks
Notations to support methods
(Semi-) automated support for (the usage of) methods and languages
Coordination and management of software development tasks supported by methods, languages, and tools
Tools
Processes
Methods
Economically produce quality software
![Page 11: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/11.jpg)
PVK--Ht05 11
Does this scale up?
Software Development Processes
Build firstversion
Modify until clientis satisfied
Operation
Require-ments
maintenancedevelopment
![Page 12: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/12.jpg)
PVK--Ht05 12
The Waterfall Model (‘70)Analysi
sDesign
Testing
Coding
Operation and
Maintenance
Installation
Require-ments
RequirementsSpecificatio
n Planning
![Page 13: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/13.jpg)
PVK--Ht05 13
The V model (‘92)Requirement
s Analysis
System Design
Unit & Integra-tion Testing
Coding
Operation andMaintenance
Program Design
System Testing
Acceptance Testing
Verify design
Validate requirements
![Page 14: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/14.jpg)
PVK--Ht05 14
PLAN DEVELOP AND TEST
DETERMINE GOALS,ALTERNATIVES,CONSTRAINTS
EVALUATE ALTERNATIVES
AND RISKS
Requirements,life-cycle plan
Budget1
Alternatives1
Constraints1
Riskanalysis1
Risk analysis2
Risk analysis3
Risk analysis4
Constraints2
Constraints3
Constraints4
Budget2Budget3Budget4Alte
rnativ
es 2
Alternativ
es 3
Alternativ
es 4
Prototype1
Proto-type2
Proto-type3
Proto-type4
Conceptof operation
Softw
are
requ
iremen
tsValidatedrequirements
DevelopmentplanIntegrationand test plan
Softw
are
desig
n
Validated,verified design
Detaileddesign
Code
Unit testSystem
testAcceptancetest
The Spiral Model (‘88)
start
Plan next phase
Simulations, models
![Page 15: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/15.jpg)
PVK--Ht05 15
Waterfall vs. Spiral ModelModel ComplexitySimple, linear
sequence of phasesComplex, iterative model;many integrated tasks
Management Document driven Risk drivenQuality Control Natural milestone
after each phaseContinuous evaluation,integrated into the model
Customerinteraction No Prototypes are built and
evaluated by customers in every iteration
Risk High (late feedback) Low (risk analysis isintegrated in the model)
Usability Small and/or lowrisk projects Large projects
Waterfall Model Spiral Model
![Page 16: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/16.jpg)
PVK--Ht05 16
Incremental and Iterative Processes
ProjectManagement
QualityAssurance
Reuse Documentation
Maintenance Version- and Confi-guration Control
RequirementsEngineering
Design
Implemen-tation
RequirementsEngineering
Design
Implemen-tation
RequirementsEngineering
Design
Implemen-tation
Iterations
![Page 17: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/17.jpg)
PVK--Ht05 17
Rational Unified ProcessRUP is a method of managing OO Software DevelopmentIt can be viewed as a Software Development Framework which is extensible and features:o Iterative Developmento Requirements Managemento Component-Based Architectural Visiono Visual Modelling of Systemso Quality Managemento Change Control Management
![Page 18: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/18.jpg)
PVK--Ht05 18
RupO
rga n
isa t
ion
alon
g co
ntex
t
![Page 19: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/19.jpg)
PVK--Ht05 19
eXtreme Programming project
![Page 20: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/20.jpg)
PVK--Ht05 21
Rules and Practices of Extreme Programming
The Customer is Always AvailableCoding Standards Code the Unit Test First Pair Programming Sequential Integration Integrate Often Collective Code Ownership Optimise Last No Overtime Unit Tests Acceptance Tests
User Stories Release Plan Make frequent small releases Iterative Development iteration Planning Move People Around Daily Stand Up Meeting Simplicity is the Key CRC Cards Create a Spike Solution Never Add Functionality Early
![Page 21: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/21.jpg)
PVK--Ht05 22
Component-based software engineering
Based on systematic reuse where systems are integrated from existing components or COTS (Commercial-off-the-shelf) systems.Process stageso Component analysis;o Requirements modification;o System design with reuse;o Development and integration.
This approach is becoming increasingly used as component standards have emerged.
![Page 22: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/22.jpg)
PVK--Ht05 23
Relative Costs of Development Phases1%
6%
5%
7%
8%
4%
67%
2%RequirementsSpecificationPlanningDesignCodingTestingIntegrationMaintenance
Compiled data from 1976-1981, see [Schach 97].
![Page 23: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/23.jpg)
PVK--Ht05 24
Relative Costs of an Error
1 2 3 4 1030
200
1 2 3 4 10
52
368
0
50
100
150
200
250
300
350
400
Requ
iremen
ts
Analy
s
Plann
ing
Design
Imple
mentat
ion
Integ
ration
Mainten
ance
Studies from 1974-1980
IBM AS/400 [94]
See [Schach 97].
![Page 24: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/24.jpg)
PVK--Ht05 25
Fault vs Failure
?!human error fault failure
can lead to can lead to
![Page 25: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/25.jpg)
PVK--Ht05 26
Causes of Errors12%8%
6%
14%
34%
4%22%
Incorrect or misunderstoodrequirementsIncorrect or misunderstoodspecificationsDesign faultinvolvingseveral componentsDesign- or code fault in onecomponentSpelling mistake or similar
Fault correction
Other reasons
Study from 1978, see [GoRu 95].
![Page 26: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/26.jpg)
PVK--Ht05 27
IntroductionWhat is Software Engineering Software Development Processes Software QualityApproaches to Improve Quality
![Page 27: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/27.jpg)
PVK--Ht05 28
Quality is ...… I know it when I see it… it suits the client/user … it conforms to the specification… it has some inherent quality… it depends on the price
![Page 28: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/28.jpg)
PVK--Ht05 29
And Quality is …
Efficiency
Reliability
Easy to learnFunctionality
Flexibility
Increased productivityLow costs
Easy to use
Readable codeGood design
Good documentation
Few errors
SponsorUser
Maintainer/modifier
Short time of delivery Easy to remember
![Page 29: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/29.jpg)
PVK--Ht05 30
Quality Factors
(ISO 9126)
Functionality
Replaceability
SuitabilityAccuracyInteroperabilitySecurityMaturityFault toleranceRecoverabilityUnderstandabilityLearnabilityOperabilityTime behaviorResource behaviorAnalyzabilityChangeabilityStabilityTestabilityAdaptabilityInstallabilityConformance
Reliability
Efficiency
Usability
Maintainability
Portability
![Page 30: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/30.jpg)
PVK--Ht05 31
How Companies Pursue Software Quality
4%24%
20%
9%
42%
1%
NoneSlogansImproved testingFocus on preventionProcess improvementOther
A survey from the CASE Research Corporation (1990), see [Yourdon 92].
![Page 31: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/31.jpg)
PVK--Ht05 32
How To Measure Quality?Quality Factor
Property/Criteria
Property/Criteria
Property/Criteria
Metric MetricMetric
depends on
Efficiency
SpeedSize
Response timeLOC...
determined by
Metrics are (objective) measurements to determine (subjective) quality factors
![Page 32: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/32.jpg)
PVK--Ht05 33
Some Example MetricsTo measure efficiencyo Time behaviour
• Transactions per second
• Response time• Screen refresh time
o Resource behaviour• KBytes of executables• LOC• Number of processors
To measure usabilityo Training timeo Number of help frames
To measure reliabilityo MTTF (Mean Time To Failure)o Availability
To measure robustnesso Time to restart after a failureo Probability of data corruption
on failureTo measure portabilityo Number of target systemso Percentage of target
dependent statements
Measurement is necessary
![Page 33: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/33.jpg)
PVK--Ht05 34
Purpose of MeasurementAnalysis: Determine current quality Prediction: Predict future quality
Not only code can be measured, but also
o Products• Documentation• Design
oProcesses•Analysis phase•Test phase
oResources•Personnel•Budget
![Page 34: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/34.jpg)
PVK--Ht05 35
Approaches to Improve Quality
Capability Maturity Model (CMM)Personal Software Process (PSP)InspectionsStandards (ISO9000, ...)Cleanroom engineeringStatistical quality controlGoal Question Metrics (GQM)…..
![Page 35: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/35.jpg)
PVK--Ht05 36
CMMCapability Maturity ModelDeveloped by SEI 1986 (for the DoD)Five maturity levelso Initial (ad-hoc process)o Repeatable (repeatable process)o Defined (well-defined, documented process)o Managed (predictable process)o Optimised (continuous process improvements)
The DoD requires level 3 from all contractors
![Page 36: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/36.jpg)
PVK--Ht05 37
CMM: Levels
![Page 37: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/37.jpg)
PVK--Ht05 38
CMM Key
Process Areas
Repeatable:Software configuration managementSoftware quality assuranceSoftware subcontract managementSoftware project tracking and oversightSoftware project planningRequirements management
Defined:Peer reviewsIntergroup coordinationSoftware product engineeringIntegrated software managementTraining programOrganization process definitionOrganization process focus
Managed:Quality managementProcess measurement and analysis
Optimized:Process change managementTechnology innovationDefect prevention
Initial1:1:
2:2:
3:3:
4:4:
5:5:
![Page 38: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/38.jpg)
PVK--Ht05 43
CMM Results
Model predictions for the development of a 200.000 LOC data processing product (1993), see [Schach 97].
CMMlevel
12345
Developmenttime29,818,515,212,59,0
Personmonths593,5143,079,542,816,0
Faults detectedduring dev.
1.3483281829737
Faults delivered
and installed6112751
Total dev. costsin US$
5.440.0001.311.000728.000392.000146.000
![Page 39: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/39.jpg)
PVK--Ht05 44Source: http://www.sei.cmu.edu/sema/profile.html
CMM Process Maturity Profileof Software Organizations
![Page 40: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/40.jpg)
PVK--Ht05 45
Goal Question MetricThe paradigm helps an organisation to focus on its goals. It consists of three steps:
Specify a set of goals Generate a set of quantifiable questions Define a set of metrics
![Page 41: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/41.jpg)
PVK--Ht05 46
GQM TemplatePurpose: Analyse some (objects: processes, products, other
experience models) for the purpose of (why: characterisation, evaluation,
prediction, motivation, improvement) Perspective: with respect to (focus: cost, correctness, defect removal,
changes, reliability, user friendliness,...) from the point of view of (who: user, customer, manager,
developer, corporation,...) Environment: in the following context (problem factors, people factors,
resource factors, process factors,...)
![Page 42: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/42.jpg)
PVK--Ht05 47
Goal Goal Goal
QuestionQuestion Question
Metric Metric Metric
Goal: Analyze the final product for the purpose of characterisation with respect to the various defect classes from the point of view of the
organization
Question: What is the error distribution by phase of entry
Metric: Number of Requirements Errors, Number of Design Errors, ...
GQM Example
![Page 43: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/43.jpg)
PVK--Ht05 48
CMM and GQM
CMM
Level 2
Level 3
Level 4
Level 5
KPA
KPA
KPA
Goal
Goal
Goal
Question
Question
Question
Metric
Metric
Metric
KPA
Question
Metric
Metric
Metric
![Page 44: Software Engineering HT05](https://reader035.vdocuments.site/reader035/viewer/2022070502/56814cff550346895dba27f6/html5/thumbnails/44.jpg)
PVK--Ht05 49
References
[Somm 96]I. Sommerville: Software Engineering, Addison-Wesley, 1996.[Yourdon 92]E. Yourdon, Decline and Fall of the American Programmer, Prentice Hall,
1992. Critical Software Engineering textbook.
[Boehm 81] B.W. Boehm, Software Engineering Economics, Prentice Hall, 1981. “Classical.”
[Pfleeger 98]S.L. Pfleeger, Software Engineering, Theory and Practice, Prentice Hall, 1998.
[Schach 97] S.R. Schach, Software Engineering with Java, Irwin, 1997.
[BuRa 70] J.N. Buxton, B. Randell, Proceedings of the 1969 NATO Conference on Software Engineering, NATO Science Committee, 1970. “Historical.”
[GoRu 95] A. Goldberg, K.S. Rubin, Succeeding with Objects, Addison-Wesley, 1995. Object-Oriented Software Engineering.
[Hump 95] W.S. Humphrey, A Discipline for Software Engineering, Addison-Wesley, 1995. Main PSP textbook.
[Myers 79] G.J. Myers, The Art of Software Testing, Wiley, 1979. “Classical.”