lecture 5 procedure process models
play

Lecture 5: Procedure & Process Models 2018-05-03 Prof. Dr. - PDF document

Softwaretechnik / Software-Engineering Lecture 5: Procedure & Process Models 2018-05-03 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universitt Freiburg, Germany 5 2018-05-03 main Topic Area Project


  1. Softwaretechnik / Software-Engineering Lecture 5: Procedure & Process Models 2018-05-03 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany – 5 – 2018-05-03 – main – Topic Area Project Management: Content Software Metrics VL 2 • • Properties of Metrics • Scales . . . • Examples VL 3 • Cost Estimation • “(Software) Economics in a Nutshell” . . • Expert’s Estimation . • Algorithmic Estimation VL 4 • Project Management • Project . . . • Process and Process Modelling • Procedure Models VL 5 • Process Models – 5 – 2018-05-03 – Sblockcontent – Process Metrics • . . . • CMMI, Spice 2 /69

  2. Describing Software Development Processes Over time, the following notions proved useful to describe and model ( � in a minute) software development processes: • role — has resposibilities and rights, needs skills and capabilities. role In particular: has responsibility for artefacts , participates in activities . is responsible for participates in • artefact — all documents, evaluation protocols, software modules, etc., all products emerging during a development process. artefact state Is processed by activities , may have state . depends on creates/modifies • activity — any processing of artefacts, manually or automatic; solves tasks. activity Depends on artefacts , creates/modifies artefacts . • decision point — special case of activity: a decision is made based on artefacts (in a certain state), creates a decision artefacts . Delimits phases, may correspond to milestone . – 4 – 2018-04-30 – Sptopm – state decision point 29 /49 – 5 – 2018-05-03 – main – 3 /69 From Building Blocks to Process (And Back) decision spec. of M tests for M M 1 M 1 � � M M M rep: M decision M 1 , . . . , M n M 1 , . . . , M n coding coding testing testing . . . . ready? ready? . . integrate integrate S � / � � M n M n � � . . . prg prg tst mgr int Building Blocks Plan prg tst B ... B ... code B code B test B test B spec. of B tests for B decision A, B ready? A, B ready? integrate integrate S spec. of A tests for A int mgr A ... A ... code A code A test A test A prg prg tst Process prg tst rev. 139. rev. 139. B ... B ... code B code B test B test B � spec. of B tests for B decision A, B ready? A, B ready? integrate integrate S – 4 – 2018-04-30 – Sptopm – spec. of A tests for A int rev. 127. rev. 127. rev. 254. rev. 254. mgr A ... A ... A ... A ... code A code A test A test A code A code A test A test A � � prg prg prg tst tst 34 /49 – 5 – 2018-05-03 – main – 4 /69

  3. Content • Procedure and Process Models • Procedure Model Examples • The (in)famous Waterfall model • The famous Spiral model • Procedure classification • linear / non-linear • prototyping • evolutionary, iterative, incremental • From Procedure to Process Models • Process Model Examples • Phase Model • V-Modell XT • Agile • Extreme Programming • Scrum • Process Metrics – 5 – 2018-05-03 – Scontent – • CMMI, Spice 5 /69 Process vs. Procedure Models – 5 – 2018-05-03 – main – 6 /69

  4. Process vs. Procedure Model (Ludewig and Lichter, 2013) propose to distinguish: process model and procedure model . • A Process model (‘Prozessmodell’) comprises (i) Procedure model (‘Vorgehensmodell’) e.g., “waterfall model” (70s/80s). (ii) Organisational structure — comprising requirements on • project management and responsibilities, • quality assurance, • documentation, document structure, • revision control. e.g., V-Modell, RUP, XP (90s/00s). • In the literature, process model and procedure model are often used as synonyms; there is not universally agreed distinction. – 5 – 2018-05-03 – Spmrecall – 7 /69 Procedure Models — Waterfall — – 5 – 2018-05-03 – main – 8 /69

  5. The (In)famous Waterfall Model (Rosove, 1967) Waterfall or Document-Model — Software develop- ment is seen as a sequence of activities coupled by(par- system tial) results (documents). analysis These activities can be conducted concurrently or iter- atively . Apart from that, the sequence of activities is fixed as software specification (basically) analyse , specify , design , code , test , install , maintain . Ludewig & Lichter (2013) architecture design refined design and coding integration and testing installation and acceptance – 5 – 2018-05-03 – Swaterfallcont – operation and maintenance 9 /69

  6. Procedure Models — Spiral — – 5 – 2018-05-03 – main – 10 /69

  7. The Spiral Model (Boehm, 1988) Recall : Quick Excursion: Risk and Riskvalue Barry W. Boehm risk — a problem, which did not occur yet, but on occurrence threatens important project goals or results. Whether it will occur, cannot be surely predicted. Ludewig & Lichter (2013) cost in riskvalue = p · K case of extreme incidence / e risks p : probability of problem occurrence, 10 8 K : cost in case of problem occurrence. inacceptable risks 10 7 10 6 acceptable risks 10 5 incidence probability 10 � 5 10 � 4 10 � 3 0 . 01 0 . 1 0 . 5 p – 4 – 2018-04-30 – Smgmt – • Avionics requires: “Average Probability per Flight Hour for Catastrophic Failure Conditions of 10 � 9 or ‘Extremely Improbable”’ (AC 25.1309-1). • “problems with p = 0 . 5 are not risks, but environment conditions to be dealt with” 10 /49 – 5 – 2018-05-03 – Sspiral – 11 /69 The Spiral Model (Boehm, 1988) Note: risks can have various forms and counter-measures, e.g., • open technical questions ( → prototype?), Barry W. Boehm • lead developer about to leave the company ( → invest in documentation?), • changed market situation ( → adapt appropriate features?), • ... Idea of Spiral Model : do not plan ahead everything, but go step-by-step. Repeat until end of project (successful completion or failure): (i) determine the set R of risks which are threatening the project; if R = ∅ , the project is successfully completed (ii) assign each risk r ∈ R a risk value v ( r ) (iii) for the risk r 0 with the highest risk value , r 0 = max { v ( r ) | r ∈ R } , find a way to eliminate this risk, and go this way; if there is no way to eliminate the risk, stop with project failure Advantages : – 5 – 2018-05-03 – Sspiral – • We know early if the project goal is unreachable. • Knowing that the biggest risks are eliminated gives a good feeling. 11 /69

  8. Wait, Where’s the Spiral? A concrete process using the Spiral Model could look as follows: t 0 t 1 t 2 t 3 t (cost, project progress) - investigate goals, alternatives, side conditions - conduct risk analysis, - develop and test the next product part, - plan the next phase, – 5 – 2018-05-03 – Sspiral – 12 /69 Content • Procedure and Process Models • Procedure Model Examples • The (in)famous Waterfall model • The famous Spiral model • Procedure classification • linear / non-linear • prototyping • evolutionary, iterative, incremental • From Procedure to Process Models • Process Model Examples • Phase Model • V-Modell XT • Agile • Extreme Programming • Scrum • Process Metrics – 5 – 2018-05-03 – Scontent – • CMMI, Spice 13 /69

  9. Procedure Model Classification – 5 – 2018-05-03 – main – 14 /69 Procedure Model Classification — Linear vs. Non-Linear — – 5 – 2018-05-03 – main – 15 /69

  10. Linear vs. Non-Linear Procedure Models • linear : the strict Waterfall Model (no feedback) • non-linear : basically everything else (with feedback between activities) – 5 – 2018-05-03 – Slinear – 16 /69 Procedure Model Classification — By Treatment of Artefacts — – 5 – 2018-05-03 – main – 17 /69

  11. Classification By Treatment of (Software) Artefacts • Prototyping : P req. prototype prototype S develop develop results – 5 – 2018-05-03 – Sprototyp – 18 /69 (Rapid) Prototyping P req. prototype prototype develop develop S results prototype — A preliminary type, form, or instance of a system that serves as a model for later stages IEEE 610.12 (1990) or for the final, complete version of the system. prototyping — A hardware and software development technique in which a preliminary version of part or all of the hardware or software is developed to permit user feedback, determine feasibility, IEEE 610.12 (1990) or investigate timing or other issues in support of the development process. rapid prototyping — A type of prototyping in which emphasis is placed on developing prototypes early in the development process to permit early feedback and analysis in support of the develop- IEEE 610.12 (1990) ment process. Kinds of prototypes, distinguished by... • usage : demonstration prototype , functional prototype , lab sample , pilot system , etc. – 5 – 2018-05-03 – Sprototyp – • supported activity: explorative prot. : support analysis; experimental prot. : support design; evolutionary prot. : → evolutionary procedure 19 /69

Recommend


More recommend