Software Engineering 2 (02162) · Process models are the distilled experience of project plans of...
Transcript of Software Engineering 2 (02162) · Process models are the distilled experience of project plans of...
![Page 1: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/1.jpg)
Software Engineering 2A practical course in software engineering
Ekkart Kindler
![Page 2: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/2.jpg)
IV. Working togetherIV.1. Management
![Page 3: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/3.jpg)
Ekkart KindlerDefinition
(Software) ManagementPlanning, organizing, leading, monitoring and controlling the software development process.
3SE2 (02162 e19), L09
![Page 4: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/4.jpg)
Ekkart Kindler
4SE2 (02162 e19), L09
Management Goals
Define goals and make sure that they willbe achieved
General goals: Increase productivity
Increase quality
decrease development costs
Increaseproduct value
In short:Make a profit and increase it!
![Page 5: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/5.jpg)
Ekkart Kindler
5SE2 (02162 e19), L09
Short- vs. Long-term Goals
Software Management requires
short-term(within a project or even within a phase) and long-term
(spanning more projects)
measures
![Page 6: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/6.jpg)
Ekkart Kindler
6SE2 (02162 e19), L09
Management
Planning set goal set dates define course of action assign resources …
Organization define organisation structures assign responsibilities define tasks assign tasks …
![Page 7: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/7.jpg)
Ekkart Kindler
7SE2 (02162 e19), L09
Management
Leading lead and motivate team members improve communication solve conflicts …
Monitoring and controlling check progress identify problems (early) produce relief …
![Page 8: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/8.jpg)
Ekkart Kindler
8SE2 (02162 e19), L09
Management cycle
Planning Organization Leading Monitoring & controlling
![Page 9: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/9.jpg)
Ekkart KindlerUnits of work: Tasks
In order to work effectively and efficiently, the work needs to be split up in reasonably sized junks of work (tasks)
Driving principles value for owner manageable (timewise and cognitively) minimizing length of critical path increase parallel work /
avoid idle times
9SE2 (02162 e19), L09
![Page 10: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/10.jpg)
Ekkart KindlerManagement issues
On the following slides somemangament ”issues” are raised,for triggering a discussion!
10SE2 (02162 e19), L09
![Page 11: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/11.jpg)
Ekkart KindlerManagement:
Measure / picture / control progress of project Predict cost / time
Minimise risk(or minimise negative impact of risk)
Manage size and complexity Minimize complicatedness (see next slide)
Balance workload
11SE2 (02162 e19), L09
![Page 12: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/12.jpg)
Ekkart KindlerComplex vs Complicated
Complexity is inherent to the problem solved
”Complicatedness is difficulty that serves no purpose ...”http://picture-poems.com/week4/complexity.html
12SE2 (02162 e19), L09
![Page 13: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/13.jpg)
Ekkart KindlerMake sure to
Understand the problem
Define the solution
Design the solution
Implement the solution
13SE2 (02162 e19), L09
”WHAT”
”HOW”
”WHY”
D
I
O
C
![Page 14: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/14.jpg)
Ekkart KindlerCDIO
Conceiving Designing Implementing Operating
14SE2 (02162 e19), L09
![Page 15: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/15.jpg)
Ekkart KindlerProcess models
Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details this is their strength (and maybe also their weakness)
adaptive (e.g. agile, Scrum, evolutionary, …)vs.
prescriptive (e.g. waterfall, V-model, RUP, …)
15SE2 (02162 e19), L09
![Page 16: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/16.jpg)
Ekkart KindlerAgile manifesto
„We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and
tools Working software over comprehensive
documentation Customer collaboration over contract negotiation Responding to change over following a planThat is, while there is value in the items on the right, we value the items on the left more.“Kent Beck et al. 2001
16SE2 (02162 e19), L09
![Page 17: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/17.jpg)
Ekkart Kindler
17SE2 (02162 e19), L09
Waterfall Model
Planningphase
Definitionphase
Designphase
Implem.phase
Acceptancephase
Mainten.phase
D I OC
![Page 18: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/18.jpg)
Ekkart KindlerMistakes
I without C/D
C/D goes on forever (I never starts) requirements are illusive
Observation: Often C/D needs or is inspired by I
(only a first implementation reveals what we really wanted) ”co-evolution” of understanding of problem and solution
18SE2 (02162 e19), L09
![Page 19: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/19.jpg)
Ekkart KindlerIn all process models
Understand the problem
Define solution
Design & implement solution
19SE2 (02162 e19), L09
why
what
how
![Page 20: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/20.jpg)
Ekkart KindlerWhy / what
Why?
Understand what there is already!
Understand why this is not sufficient!
What?
What can be done about it! define (better) solution
20SE2 (02162 e19), L09
![Page 21: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/21.jpg)
On the dimensions of software documentsAn idea for framing thesoftware engineering processEkkart Kindler, Joseph Kiniry,Anne Haxthausen, Hubert Baumeister
![Page 22: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/22.jpg)
Ekkart KindlerSE ”theories”
22SE2 (02162 e19), L09
”General” Theory
• Terminology / Ontology(”important parameters”)
• Laws
Methodology (Practices)
• Chosen principles• How to do things• Notations
Facts / observations
• Experiences• Empirical studies• Facts (”laws”) us
ed to
phr
ase
just
ifies
![Page 23: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/23.jpg)
Ekkart Kindler
23SE2 (02162 e19), L09
Teaching SE process
what
how
rough
detailed
![Page 24: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/24.jpg)
Ekkart KindlerThree main dimensions
Why, what, how Level of detail (rough detailed) Level of formality (informal formal)
24SE2 (02162 e19), L09
![Page 25: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/25.jpg)
Ekkart KindlerDescribing Software
25SE2 (02162 e19), L09
what how
rough
detailed
formal
informal
![Page 26: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/26.jpg)
Ekkart KindlerEntanglement: ex. ”Rough/detailed”
Level of detail, Abstraction, Composition, ...
26SE2 (02162 e19), L09
Abstraction
Coverage
![Page 27: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/27.jpg)
Ekkart KindlerEntaglement
why is typically informal
level of detail ”imprecise” (loose) / precise declarative / executable
informal / formal textual / graphical
27SE2 (02162 e19), L09
![Page 28: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/28.jpg)
Ekkart KindlerThe goal
28SE2 (02162 e19), L09
what how
rough
detailed
formal
informal
![Page 29: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/29.jpg)
Ekkart Kindler”Waterfall model”
29SE2 (02162 e19), L09
what how
rough
detailed
formal
informal
![Page 30: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/30.jpg)
Ekkart Kindler”Agile”
30SE2 (02162 e19), L09
what how
rough
detailed
formal
informal
![Page 31: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/31.jpg)
Ekkart KindlerExample documents
Product objective Product use Use cases User story Domain model Code (implementation) Test Prototype GUI definition GUI mockup ...
Design Architecture Data base schema XML Schema OOA OOD Systems specification Requirements
specification Formal model Handbook
31SE2 (02162 e19), L09
![Page 32: Software Engineering 2 (02162) · Process models are the distilled experience of project plans of successful software projects they are idealized and abstract from (many) details](https://reader036.fdocuments.in/reader036/viewer/2022081405/5f079edd7e708231d41de54b/html5/thumbnails/32.jpg)
Ekkart KindlerDimensions
32SE2 (02162 e19), L09
what how
rough
detailed
formal
informal