T. E. Potok - University of Tennessee Software Engineering Dr. Thomas E. Potok Adjunct Professor UT Research Staff Member ORNL
2 Software Engineering CS 594T. E. Potok - University of Tennessee Exam Review CMM Requirements Engineering Project cost estimation Cost Models (COCOMO) Process Models (PERT) Project Planning Software Development Life Cycles Risk Management
3 Software Engineering CS 594T. E. Potok - University of Tennessee CMM Five levels of maturity for an organization – 1) Initial; – 2) Repeatable; – 3) Defined; – 4) Managed; – 5) Optimizing.
4 Software Engineering CS 594T. E. Potok - University of Tennessee How to gather and record requirements Traditional approach is the JAD (Joint Application Development) session Domain experts are taught rudimentary data modeling and data flow diagramming techniques, then lead by an expert into developing a design A beginning design can be developed in a few days
5 Software Engineering CS 594T. E. Potok - University of Tennessee OO approach Another methods is the use of scenarios, or use cases to gather requirements The customer deals in his or her domain describing what the computer system should do. The programmer needs to understand the basics of the domain, and work through inconsistencies or problems in the scenarios.
6 Software Engineering CS 594T. E. Potok - University of Tennessee Productivity Team Productivity = Project Output/Project Effort Programmer productivity = Programmer Output/Programmer Effort Productivity typically measured in LOC/Person-month
7 Software Engineering CS 594T. E. Potok - University of Tennessee Basic COCOMO Organic - small to medium size, familiar projects – Person-months=2.4(KLOC) 1.05 – Development-time = 2.5(PM).38 Semidetached - intermediate – Person-months=3.0(KLOC) 1.12 – Development-time = 2.5(PM).35 Embedded - ambitious, tightly constrained – Person-months=3.6(KLOC) 1.20 – Development-time = 2.5(PM).32
8 Software Engineering CS 594T. E. Potok - University of Tennessee PERT Project Evaluation and Review Technique – Developed for the Navy Polaris Missile Program – Directed Acyclic Graphs of project activities – Used for estimation and control of a project
9 Software Engineering CS 594T. E. Potok - University of Tennessee Two components of risk Potential loss or impact – What is the impact of a potential risk – If it happens, what is the result Catastrophic - substantial loss of life, money, or property Major - Significant injury, loss of money, or property Minor - Mild injury, loss of money, or property Trivial - Minimal injury, loss of money, or property
10 Software Engineering CS 594T. E. Potok - University of Tennessee Two components of risk Probability of occurrence – What is the probability that the risk will occur – How likely is it that the risk will occur Quite likely - will occur Likely - Probably will occur Unlikely - Probably will not occur Rare - Very unlikely