Tentaupplägg 2014 ETSF01 SOFTWARE ENGINEERING PROCESS ECONOMY & QUALITY Tenta Fr 30/5 kl 14-19, MA:MA09 Inga hjälpmedel, dvs closed book Max 60 poäng och 5 uppgifter Uppgift 1: diverse termer, definition och exempel på 6 termer, max 3p/term = max 18 p Uppgift 2: utföra praktisk övning och svara på frågor omkring den, max 10 p Uppgift 3-5: uppsats med nyckelord o max sidantal, max 8-12 p / uppsats
Exempel på uppgift 1 Definiera följande termer (1 p per term) och ge tydliga klargörande exempel på termen och dess användning (2 p per term): a) kritisk väg (critical path) b) resurshistogram (resource historgram) + c-f) Examinationsmål Visa förståelse av koncept, terminologi och tekniker inom SPM, SPI, SW Metrics och SW Quality inklusive relationer mellan dessa som ingår i kursmaterialet == föreläsningar och kurslitteratur enligt kursprogrammet, dvs bok + artiklar P1-P6 (enligt kursprogrammet) Exempel på lösning: Uppgift 1a) a) Kritisk väg Definition: En kedja av beroende aktiviteter som avgör projektets ledtid (duration), dvs försening i nån av dessa aktiviter försenar hela projektet pga beroenden till andra aktiviteter. (1p) Exempel inkl användningsområde: Den kritiska vägen för exempel planen i bilden utgörs av aktiviteterna F och G (se bild) då dessa behöver göras efter varandra med ett glapp (float) på 0 dagar. (1p) Kritiska vägar används t ex inom riskhantering då dessa utgör en risk för förseningar av hela projektet, dvs om en aktivitet på den kritiska vägen försenas så försenas också uppstarten av efterföljande aktiviteter. (1p)
Exempellösning Uppgift 1b) b) resurshistogram Definition: Ett diagram som visar mängden behövda (eller ev använda) resurser över tid. (1p) Exempel inkl användningområde: Diagrammet visar mängden behövda resurser enligt gjord aktivitetsplanering. (1p) Resurshistogrammet kan användas vid resursallokering för resursutjämning (resource levelling) då det visualerar ojämnheter resursbehovet över tid. Resursbehovet kan då jämnas ut genom att flytta aktiviteter från perioder med hög resursåtgång (toppar diagrammet) till perioder med tillgängliga resurser (dalar i diagrammet). (1p) Exempel på uppgift 2 Ett företag XYZ har två nya projekt kandidater, nämligen projekt R och projekt T. Pga resursbegränsningar kan bara ett av projekten genomföras. Anta att du ska avgöra vilket projekt som ska utföras då avkastningsvärde (net present value, NPV) för dessa projekt påverkas av marknaden. Det finns 3 möjliga marknadssituationer, S1, S2, och S3: - för situation S1, är projekt Rs NPV 8000 Euros och projekt Ts NPV 6000 Euros. - för situation S2, är projekt Rs NPV 20% lägre än för S1 och projekt Ts NPV 10% högre än S1. - för situation S3, är projekt Rs NPV 10% högre än för S1 and projekt Ts NPV 5% lägre än S1. Vilken marknadssituation som faktiskt kommer att inträffa är okänt men marknadsavdelning på företag XYZ har uppskattat sannolikheterna för varje situation. Sannolikheten att S1 kommer att inträffa är 50%, sannolikheten för S2 är 40%, och sannolikheten för S3 är 10%.
Exempel på uppgift 2 (forts) Uppgift a) Konstruera ett beslutsträd (decision tree) för det beskrivna fallet (2 p) b) Vilket projekt bör väljas och varför? (2p) c) Beskriv hur beslutsträdet är konstruerat och hur det används för att svara på fråga b). (max 4-8 meningar) (2 p) d) Antag att marknadsavdelningen kan påverka sannolikheterna för de framtida marknadssituationerna S1, S2 och S3 genom att investera i en reklamkampanj. Antag att reklamkampanjen kostar 1200 Euros och förändrar sannolikheterna för S1, S2 och S3 till 30%, 0%, respektive 70%. Rita ett nytt beslutsträd (decision tree) för valet att investera i reklam. (2 p) e) Vore denna investering lönsam för projekt R? För projekt T? Ge argument för dina svar. (2 p) Exempellösning Uppgift 2 a) Konstruera ett beslutsträd (decision tree) för fallet ovan (2p) B Projekt R Projekt T NPV (Euro) S1 0.5 S2 0.4 S3 0.1 8000 6400 8800 S16000 0.5 S2 6600 0.4 S3 0.17600 b) Vilket projekt bör väljas och varför? (2p) Projekt R bör väljas då dess förväntade vinst är högre (7440) än projekt Ts (6400). c) Beskriv hur beslutsträdet är konstruerat och hur det används för att svara på b) (max 4-8 meningar) (2 p) Valet mellan projekt R o T ritas som grenar från Beslutsroten. För vardera av dessa finns tre möjliga situationerna som då ritas som en gren vardera för varje projekt (R o T) med en viss sannolikhet att det inträffar. Slutligen har varje lövnod ett värde (NPV) som resultat av att följa den 'vägen' genom trädet. Man fattar ett beslut mha beslutsträdet genom att beräkna förväntat värde av varje beslutsalternativ. Detta görs genom att addera värdet för varje gren i delträdet x sannolikheten för den grenen. I detta exempel blir värdet för Projekt R= 0.5*8000 + 0.4*6400 + 0.1*8800 = 4000 + 2560 + 880 =7440 och värdet för Projekt T=0.5*6000 + 0.4*6600 + 0.1*7600 = 3000 + 2640 + 760 = 6400
Exempellösning Uppgift 2 (forts) B Projekt R NPV (Euro) S1 0.3 S2 0.0 S3 0.7 6800 5200 7600 d) Antag att marknadsavdelningen kan påverka sannoliketerna för de framtida marknadssituationerna S1, S2 och S3 genom att investera i en reklamkampanj. Antag att reklamkampanjen kostar 1200 Euros och förändrar sannolikheterna för S1, S2 och S3 till 30%, 0%, respektive 70%. Rita ett nytt beslutsträd (decision tree) för valet att investera i reklam. (2 p) Projekt T S14800 0.3 S2 5200 0.0 S3 0.7 6400 e) Vore denna investering lönsam för projekt R? För projekt T? Ge argument för dina svar. (2 p) Nej, investeringen är inte lönsamt för nåt av projekten då den förväntade vinsten minskar för båda. Nämligen förväntad vinst för projekt R blir nu=0.3*6800 + 0.0*5200 + 0.7*7600 = 7360 och för projekt T = 0.3*4800 + 0.0*5200 + 0.7*6400 = 5920. Examinationsmål för uppgift 2 Förmåga att kunna utföra SPM uppgifter som kostnadsestimering, aktivitetsplanering, riskhantering, resursallokering, uppföljning o hantering (monitor & control). Specifikt gäller detta de moment och uppgifter som visats exempel på under föreläsningarna och/eller täcks av de rekommenderade övningsuppgifterna. Detta inkluderar diagramtyper som tagits upp, t ex Gantt schema, burndown charts, precedensnätverk, trafik ljus etc.
Exempel på uppgift 3 Ämne: Relationen mellan mjukvarukvalitet (software quality) och processförbättring (software process improvement). Diskutera och resonera. Max 8 p, 2 A4 sidor. Nyckelord: utvecklingsprocess, produktkvalité, kundtillfredsställelse, TQM (total quality management), top-down vs bottom-up (processförbättring) Examinationsmål Förmåga att beskriva och resonera omkring projektledning/styrnings (SPM) ämnen och situationer inklusive process och kvalitetsfrågor. Detta omfattar för- och nack-delar med de olika teknikerna och angreppssätt som täcks av kursen så som CMMI, agil vs traditionell SPM, ledarskapsstil, analogi vs expertuppskattningar etc. Exempellösning på uppgift 3 Det är allmänt vedertaget att produktkvalité till stor del avgörs av utvecklingsprocess som används. Kontinuerlig processförbättring är därför ofta en viktig del av ett företags kvalitetshantering (quality management) och är en huvudkomponent i TQM approachen tillsammans med ett fokus på kundtillfredsställelse och på att engagera hela organisationen i kvalitetsarbetet. Till vilken grad processförbättringsramverk (SPI ramverk) leder till högre kvalité kan diskuteras. Denna fråga angående huruvida SPI ramverk kan leda till högre mjukvarukvalité kan analyseras genom att jämföra de mål och metoder som ingår i CMMI (som applicerar top-down processförbättring) med de aspekter och tekniker som används för mjukvarukvalitet. Till exempel, CMMI innehåller ett specifikt mål om att utföra granskningar (peer reviews). Syftet med dessa granskningar är att avlägsna defekter (fel) från mjukvaruprodukten tidigt i processen vilken kan göras med en mycket mindre arbetsinsats än om felen upptäcks sent i projektet. Alltså, färre buggar i slutprodukten kan ses som högre kvalité. Dessutom är kravhantering ett annat specifik mål inom CMMI vilken innefattar en tydlig förståelse för kraven på mjukvaran. En förbättrad kravhanteringsprocessen kan leda till att projektet har ett bättre förståelse av kundens krav och förväntningar och därmed utvecklar en produkt som bättre överensstämmer med dessa. Kundtillfredsställelsen blir då högre vilket är en av definitionerna på produktkvalité.
Exempellösning på uppgift 3 (forts) Om ett bottom-up SPI ramverk används, t ex QIP (Quality Improvement Paradigm or iflap) så fokuseras processförbättringarna på den problem som identifiera i den specifka organisationen eller projektet. T ex, om testtäckningen av kraven är låg så kan en specifik processförbättring vara att införa granskningar av testfallen gentemot kravspecen. Detta kan leda till en mer heltäckande testning av kundkraven och att fler defekter upptäcks innan mjukvaruprodukten släpps. Dvs, produkten har en högra kvalitet. Kursinnehåll Software project management (SPM) - programme & portfolio management including the software product line approach - activity planning incl techniques, challenges - software effort estimation: different approaches and techniques (based on measurements, e.g. COCOMO2, and on expert estimates, e.g. Planning Poker), benefits and drawbacks, and suitable situations for different techniques - resource allocation - risk management - people-related issues and leadership styles including their relationship to SPM - relationship bt SPM and SPI - project and organisational levels and roles & responsibilities - economical and quality aspects of SPM including types of contracts
Kursinnehåll (forts) Software process improvement (SPI) - purpose, benefits and challenges, and different approaches including top-down and bottom-up approaches and methods for these, e.g. CMMI, retrospectives etc - relationship between SPI and SPM - relationship between SPI and a project's economical and quality aspects - different software development process models and type, e.g. traditional waterfall, agile Kursinnehåll (forts) Software metrics - purpose and use in projects, benefits and challenges - use of metrics for software quality - use of metrics for SPI - how to define good metrics incl GQM approach Software quality management - definition and importance of software quality - the components of software quality management within a project and an organisation including the TQM approach
A Quick Walk-Through NOTE: This only covers the techniques you are expected to be able to practice. PRACTICAL COURSE ELEMENTS Risk Management (L1) Decision Trees Probability Impact Matrix Causal Mapping zpert (Program Evaluation and Review Technique), expected time t e = (a + 4m +b) / 6, standard deviation S = (b-a)/6
Activity Planning (L2) Breakdown Structures (WBS, PBS, Hybrid) Precedence Networks: Diff floats, ES, EF, LS, LF, Critical paths Earliest start Duration Earliest finish Activity label, activity description +GQM: define measurements Latest start Float Latest finish SPI (L3) Deming Cycle (PDSA or PUMA (sv) ) Resource Allocation (L4) Create resource histogramme, resource smoothing and resolving Study Act Do Plan
Monitor & Control (L5) Cost-benefit Evaluation (L6) Earned Value Analysis: EV, AC, PV, CPI, SPI, EAC Net profit, Payback period, ROI