Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSC 480 Software Engineering Lecture 6 September 11, 2002.

Similar presentations


Presentation on theme: "CSC 480 Software Engineering Lecture 6 September 11, 2002."— Presentation transcript:

1 CSC 480 Software Engineering Lecture 6 September 11, 2002

2 CSC 480 - Software Engineering2 9/11/2002 Topics Risk Management Cost Estimation

3 CSC 480 - Software Engineering3 9/11/2002 Risk Management A risk is a probability that some adverse circumstance will occur.  Project risks affect schedule or resources  Product risks affect the quality or performance of the software being developed  Business risks affect the organisation developing or procuring the software

4 CSC 480 - Software Engineering4 9/11/2002 Software Risks

5 CSC 480 - Software Engineering5 9/11/2002 Risk Management Process

6 CSC 480 - Software Engineering6 9/11/2002 The Four Risk Activities Identification Mindset: try to continually identify risks Retirement planning Prioritization Retirement or mitigation

7 CSC 480 - Software Engineering7 9/11/2002 Risk Identification Technology risks People risks Organisational risks Requirements risks Estimation risks

8 CSC 480 - Software Engineering8 9/11/2002 Risks and Risk Types

9 CSC 480 - Software Engineering9 9/11/2002 Risk Analysis Assess probability and seriousness of each risk Probability may be very low, low, moderate, high or very high Risk effects might be catastrophic, serious, tolerable or insignificant

10 CSC 480 - Software Engineering10 9/11/2002 Risk Analysis

11 CSC 480 - Software Engineering11 9/11/2002 Risk Planning Consider each risk and develop a strategy to manage that risk Avoidance strategies  Reduce the probability that the risk will arise Minimisation strategies  Reduce the impact of the risk on the project Contingency plans

12 CSC 480 - Software Engineering12 9/11/2002 Project finish Risk Management Mindset Project start IdentificationRetirement 2. “Java skills not high enough.” 1. “May not be possible to superimpose images adequately.” 1. Retirement by conquest: Demonstrate image super- imposition Risk 1 Risk 2 Risk 1 Project finish Risk 2 2. Retirement by avoidance: Use C++ Project start

13 CSC 480 - Software Engineering13 9/11/2002 Risk Management Strategies

14 CSC 480 - Software Engineering14 9/11/2002 Risk Monitoring Assess each identified risks regularly to decide whether or not it is becoming less or more probable Also assess whether the effects of the risk have changed Each key risk should be discussed at management progress meetings

15 CSC 480 - Software Engineering15 9/11/2002 Risk Factors

16 CSC 480 - Software Engineering16 9/11/2002 Risk Sources Ordered by Importance Lack of top management commitment Failure to gain user commitment Misunderstanding of requirements Inadequate user involvement Failure to manage end-user expectations Changing scope and/or objectives

17 CSC 480 - Software Engineering17 9/11/2002 Likelihood 1-10 1 = least likely Impact 1-10 1 = least impact Retire- ment cost 1-10 1 = lowest retirement cost Priority computation Resulting priority Lowest number handled first The highest priority risk 10 (most likely) 10 (most impact) 1 (lowest retiremen t cost) (11-10) *(11-10) *1 1 The lowest priority risk 1 (least likely) 1 (least impact) 10 (highest retiremen t cost) (11-1) *(11-1) *10 1000 Compute Risk Priorities

18 CSC 480 - Software Engineering18 9/11/2002 Range of cost estimates after conceptualization phase, based on actual cost of $1 Integration/Test Design Implementation Requirements analysis $1 25c $4 $1 Conceptual- ization phase Range of cost estimates after requirements analysis phase Range of Errors in Estimating Eventual Cost

19 CSC 480 - Software Engineering19 9/11/2002 Cost Estimation Roadmap 1A. Use comparisons with past jobs to estimate cost & duration directly or to estimate lines of code. and / or 1B. Use function point method to estimate lines of code 1B.1 Compute un-adjusted function points. 1B.2 Apply adjustment process. 2. Use lines of code estimates to compute labor and duration using COCOMO formulas.

20 CSC 480 - Software Engineering20 9/11/2002 Function Point Computation Function External Inputs (EI) External Inquiries (EIN) External Outputs (EO) file External Logical Files (ELF) file Internal Logical Files (ILF)* * Internal logical grouping of user data into files Logical group of user data Logical group of user data Logical group of user data For a Single Function (IFPUG)

21 CSC 480 - Software Engineering21 9/11/2002 Function Point Computation Ext. inputs EI  … 3 or… 4 or... 6 = ___ Ext. outputs EO  … 4 or … 5 or... 7 = ___ PARAMETER simple complex countTotal ■ First compute unadjusted FP ■ Followed by applying adjustment process …

22 CSC 480 - Software Engineering22 9/11/2002 Sample FP Computation

23 CSC 480 - Software Engineering23 9/11/2002 General Characteristics for FP 1. Requires backup/recovery?0-2 2. Data communications required?0-1 3. Distributed processing functions? 0 Adjustment 1-7..... 0 incidental average essential 12345 Case study none moderate significant

24 CSC 480 - Software Engineering24 9/11/2002 Computation of Adjusted FP (Adjusted) Function points = [ Unadjusted function points ]  [ 0.65 + 0.01  ( total general characteristics ) ]

25 CSC 480 - Software Engineering25 9/11/2002 Constructive Cost Model (COCOMO) Can we use the estimated KLOC as an effort estimation?  KLOC / (KLOC/(man*hr)) = man * hr The answer is NO  The communication, documentation, and integration efforts increase faster than the product size grows  Effort (in man-month) is exponential in size

26 CSC 480 - Software Engineering26 9/11/2002 COCOMO Once we know the effort estimation in man-month, can we just divide it by the number of developers to get the duration?  Duration = Effort / (# developers) The answer is NO, again  It takes one chef five hours to cook a turkey. Can we then expect five chefs get one ready in one hour?

27 CSC 480 - Software Engineering27 9/11/2002 COCOMO Formulas (Boehm) Applies to design through integration & test. *“Effort” = total person-months required. (2) Duration for increasing Effort* ( y b 2.5x 0.35 ) (1) Effort* for increasing LOC ( y b 3x 1.12 ) exponent: < 1 > 1

28 CSC 480 - Software Engineering28 9/11/2002 Basic COCOMO Formulae Effort in Person-months = a  KLOC b Duration = c  Effort d Software Project a b c d Organic2.41.05 2.5 0.38 Semidetached3.01.12 2.5 0.35 Embedded3.61.20 2.5 0.32 Empirical factors due to Boehm [Bo]

29 CSC 480 - Software Engineering29 9/11/2002 Computing COCOMO - Case Study

30 CSC 480 - Software Engineering30 9/11/2002 Selected References [BO] Barry Bohem, Software Engineering Economics, Englewood Cliffs, NJ: Prentice Hall, 1981 [SPR] http://www.spr.com/library/0langtbl.html 12/99http://www.spr.com/library/0langtbl.html Now http://www.spr.com/products/programming.htm http://www.spr.com/products/programming.htm with a fee ($75)


Download ppt "CSC 480 Software Engineering Lecture 6 September 11, 2002."

Similar presentations


Ads by Google