lecture 4 procedure process models
play

Lecture 4: Procedure & Process Models 2019-05-06 Prof. Dr. - PDF document

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


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

  2. From Process Model to Concrete Process response time: 1 work day (after orig./int. post) response response time: tutor in internal 1 work day forum (after orig./int. post) new response no tutor local escalate? escalate? handle handle in local post issue, loc. issue, loc. forum response response or internal response handle handle in local in internal handle handle forum in global new yes internal issue, issue, forum forum issue, int. issue, int. post forum local escalate? escalate? escalate escalate forum glob. glob. post issue issue post response time: 1 work day compose lecturer assistant (after orig. post) tutor tutor Building Blocks response time: 1 work day (after orig./int. post) tutor tutor response response in local in internal handle handle handle handle no forum forum issue, loc. issue, loc. issue, int. issue, int. new local escalate? escalate? yes post or internal response handle handle forum in global escalate escalate issue, issue, post forum issue issue glob. glob. response time: 1 work day concretise tutor (after orig. post) lecturer assistant Plan tutor Process Tutor B Tutor A Tutor B – 3 – 2019-05-02 – Sptopm – ’Did global – 4 – 2019-05-06 – Spmrecall – local ’Is that yes internal no you handle handle forum: forum: a forum escalate? escalate? handle handle escalate? escalate? escalate escalate upload issue, issue, ’New ’Sorry ...’ typo?’ post issue, loc. issue, loc. issue issue ...?’ glob. glob. version ...’ 41 /62 lecturer assistant 3 /59 Content • Procedure and Process Models • Vocabulary: • linear / non-linear • evolutionary, iterative, incremental • prototyping • Procedure Model Examples • The (in)famous Waterfall model • The famous Spiral model • Process Model Examples • Code-and-Fix, Phase Model • V-Modell XT • Agile • Extreme Programming (XP) • Scrum – 4 – 2019-05-06 – Scontent – • Process Metrics • CMMI, Spice 4 /59

  3. Process vs. Procedure Models – 4 – 2019-05-06 – main – 5 /59 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’) Example: “Waterfall Model” (70s/80s). (ii) Organisational structure — comprising requirements on • project management and responsibilities, • quality assurance, • documentation, document structure, • revision control. Examples: V-Modell, RUP, XP (90s/00s). • Note : In the literature, process model and procedure model are often used as synonyms; there are (again) no universally agreed terms... • Anticipated benefits of using process models: – 4 – 2019-05-06 – Spmvspm – • “economy of thought” • fewer errors • quantification, reproducibility • clear responsibilities 6 /59

  4. Content • Procedure and Process Models • Vocabulary: • linear / non-linear • evolutionary, iterative, incremental • prototyping • Procedure Model Examples • The (in)famous Waterfall model • The famous Spiral model • Process Model Examples • Code-and-Fix, Phase Model • V-Modell XT • Agile • Extreme Programming (XP) • Scrum – 4 – 2019-05-06 – Scontent – • Process Metrics • CMMI, Spice 7 /59 Procedure Model Examples – 4 – 2019-05-06 – main – 8 /59

  5. Linear vs. Non-Linear Procedure Models • linear : basically the strict Waterfall Model (without feed back between activities) • non-linear : basically everything else (with feedback between activities) – 4 – 2019-05-06 – Slinear – 9 /59 Iterative, Incremental, Evolutionary • Iterative Development : iterative software development — software is devel- oped in multiple iterative steps , all of them planned and controlled. Goal: each iterative step, beginning with the second, spec. 1 req. . corrects and improves the existing system based on de- . I 1 I n − 1 S plan plan . iteration 1 iteration 1 · · · iteration n iteration n spec. n fects detected during usage. Each iterative steps includes the characteristic activities Ludewig & Lichter (2013) analyse , design , code , test . • Incremental Development : incremental software development — The total exten- sion of a system under development remains open; it is realised in stages of expansion . The first stage is the core system . req. n req. 1 Each stage of expansion extends the existing system project 1 project 1 S 1 · · · project n project n S n and is subject to a separate project. Providing a new stage of expansion typically includes (as with iterative development) an improvement of the old components. Ludewig & Lichter (2013) • Evolutionary Development : evolutionary software development — an approach which includes evolutions of the developed software under the influence of practical/field testing. req. New and changed requirements are considered by de- – 4 – 2019-05-06 – Sevoinciter – I 1 ... I n − 1 S evolution 1 evolution 1 evolution n evolution n veloping the software in sequential steps of evolution . Ludewig & Lichter (2013), flw. (Züllighoven, 2005) 10 /59

  6. Iterative, Incremental, Evolutionary • Iterative Development : spec. 1 req. . plan plan . I 1 I n − 1 S . iteration 1 iteration 1 · · · iteration n iteration n spec. n • Incremental Development : req. 1 req. n S 1 S n project 1 project 1 · · · project n project n • Evolutionary Development : req. I 1 ... I n − 1 evolution 1 evolution 1 evolution n evolution n S • Note : (to maximise confusion) IEEE calls our “iterative” incremental: incremental development — A software development technique in which requirements definition, design, implementation, and testing occur in an overlapping, iterative (rather than sequential) man- IEEE 610.12 (1990) ner, resulting in incremental completion of the overall software product. • One difference (in our definitions): – 4 – 2019-05-06 – Sevoinciter – • iterative : steps towards fixed goal, • incremental : goal extended for each step; next step goals may already be planned. 10 /59 Prototyping P req. prototype prototype S develop develop 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. • classification by usage : • classification by supported activity: • demonstration prototype • explorative p. (analysis) – 4 – 2019-05-06 – Sprototyp – • functional prototype • experimental p. (design) • lab sample • evolutionary p. (product is last proto- type) • pilot system , etc. 11 /59

  7. Prototyping Procedure Model determines prototype question specification develop basis of modify influences operation prototype prototype assessment environment assess (Ludewig and Lichter, 2013) Questions towards ‘ definition of done ’: • Which purpose does the prototype have? What are the open questions ? • Which persons (roles) participate in development ? And, most important, who participates in assessment of the prototype? • What is the time/cost budget for prototype development? – 4 – 2019-05-06 – Sprototyp – 12 /59 Content • Procedure and Process Models • Vocabulary: • linear / non-linear • evolutionary, iterative, incremental • prototyping • Procedure Model Examples • The (in)famous Waterfall model • The famous Spiral model • Process Model Examples • Code-and-Fix, Phase Model • V-Modell XT • Agile • Extreme Programming (XP) • Scrum – 4 – 2019-05-06 – Scontent – • Process Metrics • CMMI, Spice 13 /59

  8. The (In)famous Waterfall Model (Rosove, 1967) Waterfall or Document-Model — Software devel- opment is seen as a sequence of activities cou- system pled by (partial) results (documents). analysis These activities can be conducted concurrently or iteratively . Apart from that, the sequence of activities is fixed software specification as (basically) analyse , specify , design , code , test , install , maintain . Ludewig & Lichter (2013) architecture design refined design and coding integration and testing installation and acceptance operation and – 4 – 2019-05-06 – Swaterfall – maintenance 14 /59

Recommend


More recommend