Presentation is loading. Please wait.

Presentation is loading. Please wait.

PVK-HT03 bella@cs.umu.se.

Similar presentations


Presentation on theme: "PVK-HT03 bella@cs.umu.se."— Presentation transcript:

1 PVK-HT03

2 Contents Introduction Requirements Engineering Project Management
UI Design Project Management Software Design Detailed Design and Coding Quality Assurance PVK-HT03

3 UI Design Activities Build prototype(s) Evaluate prototype(s)
Analyse the users Are they used to computers Have they used similar systems Are there different user groups Are they trained before using the system Have they certain cultural or ethnic backgrounds .. Choose an UI style Command-line interface Natural language interface Menu-oriented interface Question-answer dialogues Form fill-in menus Direct manipulation interface WIMP interface Windows Icons Menus Pointing devices Some combination Build prototype(s) Evaluate prototype(s)

4 Specific Guidelines OPEN LOOKTM Motif Microsoft ...
Three level certification by AT&T Motif Microsoft ... PVK-HT03

5 GUI Toolkits Libraries with predefined “widgets” and event handling
Interviews Java AWT ... Visual tools (WYSIWYG) Visual Basic Delphi XYZ Builder PVK-HT03

6 Contents Introduction Requirements Engineering Project Management
Software Design Detailed Design and Coding Quality Assurance PVK-HT03

7 Project Management Project Management Activities Project Scheduling
Cost Estimation Analysis Design Testing Coding Operation and Maintenance Installation Require- ments Requirements Specification Planning PVK-HT03

8 Why Do Projects Fail? PVK-HT03 bella@cs.umu.se
Study by the Standish Group involving 350 companies from 1994/95, see [Pfleeger 98].

9 What is Project Management?
Project management encompasses all the activities needed to plan and execute a project: Deciding what needs to be done Estimating costs Ensuring there are suitable people to undertake the project Defining responsibilities Scheduling Making arrangements for the work continued ... Time limit People Resources Functionalities

10 Project Management Activities
Project acquisition Project planning Resource assessment Risk and option analysis Cost estimation Project scheduling Work breakdown structure Effort distribution Resource assignment Project tracking and control Reporting PVK-HT03

11 Project Resources People Hardware and software tools Required skills
Availability Duration of tasks Start date Hardware and software tools Description Duration of use Delivery date PVK-HT03

12 Lines of communication
2 people 1 Line 3 people 3 lines 5 people 10 lines n people n(n-1)/2 lines PVK-HT03

13 Risks and Option Analysis
What is a risk? Compare different development alternatives Evaluate their risks Select best alternative Tools Polar graph Decision tree Forms ... PVK-HT03

14 Polar Graphs Alternative A Reliability Schedule Alternative B
Alternative C Reuse Cost Portabilty Efficiency PVK-HT03

15 Analysis Example Alternative A B C Relative efficiency 0.8 1 0.6 Tools
investment Schedule (years) 2 1.3 Staff utilization (%) 85 70 100 Risk 0.75 0.9 Cost (SEK) PVK-HT03

16 Analysis Example (Polar Graph)
Staff utilisation Schedule Efficiency Cost Tools investment Risk Alternative A Alternative B Alternative C 0.5 1 y 5 M 1 100% 250K 2 y 500K PVK-HT03

17 Analysis Example (Forms)
Objectives Constraints Alternatives Risks Risk resolution strategy Results Plans Commitment Develop a software components catalogue Within one year Must support all existing component types Must cost less than 1 MSEK Buy existing information retrieval (IR) software Buy a database and develop the catalogue using the query language Develop a special-purpose catalogue May be impossible within the given constraints Catalogue functionality may be inappropriate Develop a prototype to clarify requirements Commission a consultants report on existing IR systems Relax the time constraints IR systems are too inflexible Identified requirements cannot be met The prototype using a DBMS may be enhanced to to a complete system Special-purpose catalogue development is not cost effective Develop the catalogue using the existing DBMS by enhancing the prototype and building a GUI Fund further 12 months of development PVK-HT03

18 Analysis Example (Decision Tree)
Goal: Develop SystemX 3.8 MSEK 4.5 MSEK 2.75 MSEK 3.1 MSEK 4.9 MSEK 2.1 MSEK 4 MSEK 3.5 MSEK 5 MSEK Build Reuse Buy Contract Simple (0.3) Difficult (0.7) Minor changes (0.4) Major changes (0.6) Simple (0.2) Complex (0.8) Minor changes (0.3) Major changes (0.7) Without changes (0.6) With changes (0.7) PVK-HT03

19 Top Ten Project Risks Staff deficiencies
Unrealistic schedules and budgets Developing the wrong functions Developing the wrong interface Over-engineering Changing requirements Externally developed items Externally performed tasks Performance problems Assumptions on technology

20 Risk management requirements
Risk impact: the loss associated with the event Risk probability: the likelihood that the event will occur Risk control: the degree to which we can change the outcome Risk exposure = (risk probability) x (risk impact) PVK-HT03

21 Define Work Breakdown Structure
Activity Major work unit Start date End date Consumes resources Results in work products (and milestones) Project function Continue throughout the project Not bound to specific phases Step 1 Step 2 Activity 1 Activity 2 Activity 3 Phase 1 Step 1 Step 2 Activity 1 Activity 2 Task 1 Task 2 Task 3 Project Phase 2 Step 1 Step 2 Phase N PVK-HT03

22 Schedule Activities Almost all activities depend on the completion of some other activities Many activities can be performed in parallel Organisation necessary to balance work-load, costs, and duration PERT chart (activity network/task graph) Critical path Project Time-line (Gantt chart) Resource table PVK-HT03

23 PERT Charts Program Evaluation and Review Technique Graph Compute
Nodes = activities/tasks and estimated duration Edges = dependencies Compute Slack time = available time - estimated duration Critical path A path is critical when it contains an activity that, if delayed, will cause a delay of the whole project. PVK-HT03

24 Example PERT Chart PVK-HT03

25 Gantt charts A Gantt chart is used to graphically present the start and end dates of each software engineering task One axis shows time. The other axis shows the activities that will be performed. The black bars are the top-level tasks. The white bars are subtasks The diamonds are milestones: Important deadline dates, at which specific events may occur PVK-HT03

26 A Gantt Chart (Project Time Line)
PVK-HT03

27 Another Gantt Chart PVK-HT03

28 Cost Estimation Approach Problems: Use empirical and historical data
Decompose problem Check for experiences/ data on sub problems Make qualified estimations (Make at least two independent estimates) Problems: What are good measures? Do the estimates affect the result? Does the type of software affect the result? Does the project environment affect the result? ... Use empirical and historical data Algorithmic cost modelling COCOMO (based on LOC) FP (based on function points) PVK-HT03

29 COCOMO Constructive Cost Modelling [Boehm 81]
Based on publicly available historical data of 63 TRW projects Basic assumptions: Requirements change only slightly during the project There is good project management The historical data is representative Assigning more resources to the project does NOT result in linear decreasing development time Basic model: Effort = a (KDSI)b KDSI = Kilo Delivered Source Instructions ( LOC - comments) The a and b factors vary depending on the type of project Effort is measured in PM (Person Months = 152h of work) PVK-HT03

30 COCOMO Intermediate Model
Takes into account 15 cost drivers, which are ranked on a scale from very low to extra high Product attributes (e.g. required reliability) Hardware attributes (e.g. main storage constraints) Personnel attributes (e.g. language experience) Project attributes (e.g. tools usage) Effort=a (KDSI)b  Ci Ci  [ ] PVK-HT03

31 Intermediate COCOMO Summary
Works quite well in practice TRW data is publicly available Needs KLOC as input Problems: Estimating KLOC in early project stages Comparison of projects using different LOC counts Outdated metrics base (70s) Solutions: Cross-check using an other estimation technique Standardised LOC counts Continuos model calibration PVK-HT03

32 COCOMO II Main objectives of COCOMO II:
To develop a software cost and schedule estimation model tuned to the life cycle practices of the 1990’s and 2000’s To develop software cost database and tool support capabilities for continuous model improvement PVK-HT03

33 Schedule Estimate [ ] [ ] ( ) = Schedule Effort æ ö Effort = ç ÷ Size
Environment [ ] ( ) Factors Scale Process Effort = ç ÷ Size ç ÷ è Multiplier s ø Environment: Product, Platform, People, Project Factors Process: Constraint, Risk/Architecture, Team, Maturity Factors ( ) [ ] Effort ( ) Factors Scale Process Schedule = Multiplier PVK-HT03

34 Stages of development Application Composition: Early Design Model:
prototyping to resolve high-risk user interface issues 2 environment drivers, 0 process drivers Sizing in Object Points Early Design Model: to explore alternative architectures and concepts 7 environment drivers, 5 process drivers Sizing in Function Points or SLOC Post Architecture Model: development has begun 17 environment drivers, 5 process drivers PVK-HT03

35 COCOMO II Model Stages Overestimated Underestimated
4x Overestimated 2x Early Design (13 parameters) 1.5x 1.25x Relative Size Range x 0.8x Post-Architecture 0.67x (23 parameters) 0.5x Underestimated Applications Composition (3 parameters) 0.25x Product Detail Concept of Rqts. Design Design Accepted Operation Spec. Spec. Spec. Software Feasibility Plans Product Detail Devel. and Design Design and Test Rqts. Phases and Milestones

36 COCOMO and COCOMO II The exponent value b in the effort equation is replaced with a variable value based on five scale factors rather then constants Size of project can be listed as object points, function points or source lines of code (SLOC). The environmental multipliers are calculated from seventeen cost drivers better suited for today's methods. PVK-HT03

37 Function Points Function Point Analysis (FPA) measures the size of a software product in terms of the functionality it delivers to the users. A.J. Albrecht 1979 What the software must do from the user’s perspective Irrespective of software construction Based on five function types: Inputs Outputs Inquiries Logic Files Interfaces PVK-HT03

38 Project plan contents Documentation plan Project scope
Data management plan Resource management plan Test plan Training plan Security plan Risk management plan Maintenance plan Project scope Project schedule Project team organization Technical description of system Project standards and procedures Quality assurance plan Configuration management plan PVK-HT03

39 Difficulties and Risks in Project Management
Accurately estimating costs is a constant challenge It is very difficult to measure progress and meet deadlines It is difficult to deal with lack of human resources or technology needed to successfully run a project Communicating effectively in a large project is hard It is hard to obtain agreement and commitment from others PVK-HT03


Download ppt "PVK-HT03 bella@cs.umu.se."

Similar presentations


Ads by Google