Eine Präsentation von Heiko Gericke CoCoMo & FPA Eine Präsentation von Heiko Gericke Projektmanagement SS2019 Studiengang ET/IT Mat.Nr.: 638397
Agenda Problemstellung Grundlagen und Begriffsklärung Durchführung Anwendungsbeispiel Zusammenfassung
Problemstellung Wie lässt sich der Aufwand eines Softwareprojekts schätzen und in Zahlen fassen?
Cocomo Constructive Cost Model Ein Modell, welches aus Erfahrungswerten der Softwareprogrammierung versucht, die für Softwareprojekte benötigten Personenmonate zu berechnen Ein Personenmonat beschreibt 152 Arbeitsstunden/Monat, inklusive Urlaubs- und Krankheitstage
KDSI / KLOC: Delivered Source Instructions / Lines Of Code COCOMO KDSI / KLOC: Delivered Source Instructions / Lines Of Code (K = Kilo) Der Aufwand eines Softwareprojekts wird in gelieferten und funktionellen Zeilen Code beschrieben. Kommentare und Debug-Funktionen werden nicht in der Rechnung berücksichtigt.
Typen: Basic Intermediate Detailed Cocomo Typen: Basic Intermediate Detailed
Cocomo 𝐸 =𝑃𝑀=𝑃𝑒𝑟𝑠𝑜𝑛𝑒𝑛𝑚𝑜𝑛𝑎𝑡𝑒 Basic Intermediate a b Organic 2,4 1,05 3,2 Semi Detatched 3,0 1,12 Embedded 3,6 1,20 2,8 𝐸=𝑎 (𝐾𝐷𝑆𝐼) 𝑏 𝐸=𝑎 (𝐾𝐷𝑆𝐼) 𝑏 ×𝐸𝐴𝐹 𝐸 =𝑃𝑀=𝑃𝑒𝑟𝑠𝑜𝑛𝑒𝑛𝑚𝑜𝑛𝑎𝑡𝑒
Cocomo COST DRIVERS VERY LOW LOW NOMINAL HIGH VERY HIGH Product Attributes Required Software Reliability 0.75 0.88 1.00 1.15 1.40 Size of Application Database 0.94 1.08 1.16 Complexity of The Product 0.70 0.85 1.30 Hardware Attributes Runtime Performance Constraints 1.11 Memory Constraints 1.06 1.21 Volatility of the virtual machine environment 0.87 Required turnabout time 1.07 Personnel attributes Analyst capability 1.46 1.19 0.86 0.71 Applications experience 1.29 1.13 0.91 0.82 Software engineer capability 1.42 1.17 Virtual machine experience 1.10 0.90 Programming language experience 1.14 0.95 Project Attributes Application of software engineering methods 1.24 Use of software tools 0.83 Required development schedule 1.23 1.04 Cocomo https://www.geeksforgeeks.org/software-engineering-cocomo-model/
Beispiel Intermediate Microprozessortechnik Robot-Competition Organic 𝐾𝐷𝑆𝐼≈0,2 𝐸𝐴𝐹=1,252 𝐸=3,2× 0,2 1,05 ×1,252=𝟎,𝟕𝟑𝟗 𝐏𝐌 0,739 Personenmonate entsprechen ungefähr 3 Personenwochen (Alle Kostentreiber werden miteinander multipliziert)
Cocomo Vorteile Nachteile Durch angesammelte Erfahrungswerte können Aussagen und Aufwandsabschätzungen für Softwareprojekte gesammelt werden Wenn die Information über das Softwareprojekt bereits zur Verfügung stehen, ist es sehr leicht den Aufwand anhand des Modells zu errechnen Die Entwicklungsmethoden von Software haben sich über die Jahre stark verändert (z.B. Objekt orientiert), wodurch das alte CocoMo Modell keine zuverlässigen Aussagen mehr treffen konnte Der Anwender des Modells muss versiert in der Benutzung von CocoMo sein Aufwandswerte haben sehr hohe Streuung (siehe Studie*) * http://shape-of-code.coding-guidelines.com/2016/05/19/cocomo-how-not-to-fit-a-model-to-data/
Function Point Analysis FPA Function Point Analysis Data Functions Internal Logical Files External Interface Files Transactional Functions External Inputs External Outputs External Inquiries
FPA Komplexität UFP Niedrig (Low) 4 Mittel (Average) 5 Hoch (High) 7 Value Adjustment Factors: 1. Data Communications 2. Distributed Data Processing 3. Performance 4. Heavily Used Configuration 5. Transaction Rate 6. On-line Data Entry 7. End -User Efficiency 8. On-line Update 9. Complex Processing 10. Reusability 11. Installation Ease 12. Operational Ease 13. Multiple Sites 14. Facilitate Change http://www.qpmg.com/fp-intro.htm
FPA Vorteile Nachteile Gute Methode um den Umfang eines Softwareprojekts abzuschätzen Entwickeln der Gewichtungsfaktoren erfordert viel Erfahrung
Fragen?
Quellen https://www.geeksforgeeks.org/software-engineering-cocomo-model/ http://www.qpmg.com/fp-intro.htm https://de.wikipedia.org/wiki/COCOMO https://www.itwissen.info/COCOMO-constructive-cost-model.html http://shape-of-code.coding-guidelines.com/2016/05/19/cocomo-how-not-to- fit-a-model-to-data/