
c7cef67209e0b75c66f9adb5bc7e71d4.ppt
- Количество слайдов: 38
PVK-HT 03 bella@cs. umu. se 1
Contents Introduction Requirements Engineering UI Design Project Management Software Design Detailed Design and Coding Quality Assurance PVK-HT 03 bella@cs. umu. se 2
UI Design Activities Analyse the users o Are they used to computers o Have they used similar systems o Are there different user groups o Are they trained before using the system o Have they certain cultural or ethnic backgrounds o. . Build prototype(s) Evaluate prototype(s) Choose an UI style o Command-line interface o Natural language interface o Menu-oriented interface o Question-answer dialogues o Form fill-in menus o Direct manipulation interface o WIMP interface • • Windows Icons Menus Pointing devices o Some combination 3
Specific Guidelines OPEN LOOKTM o Three level certification by AT&T Motif Microsoft. . . PVK-HT 03 bella@cs. umu. se 4
GUI Toolkits Libraries with predefined “widgets” and event handling o Interviews o Java AWT o. . . Visual tools (WYSIWYG) o o Visual Basic Delphi XYZ Builder. . . PVK-HT 03 bella@cs. umu. se 5
Project Management éProject Management Activities Requirement s Specification Analysis Planning Design Coding éProject Scheduling éCost Estimation Testing Installation Operation and Maintenance PVK-HT 03 bella@cs. umu. se 7
Why Do Projects Fail? PVK-HT 03 bella@cs. umu. se Study by the Standish Group involving 350 companies from 1994/95, see [Pfleeger 98]. 8
What is Project Management? Project management encompasses all the activities needed to plan and execute a project: o Deciding what needs to be done o Estimating costs o Ensuring there are suitable people to undertake the project Time limit o Defining responsibilities o Scheduling o Making arrangements for the work o continued. . . Resources People Functionalities
Project Management Activities Project acquisition Project planning o Resource assessment o Risk and option analysis Cost estimation Project scheduling o Work breakdown structure o Effort distribution o Resource assignment Project tracking and control Reporting PVK-HT 03 bella@cs. umu. se 10
Project Resources People o o Required skills Availability Duration of tasks Start date Hardware and software tools o o Description Availability Duration of use Delivery date PVK-HT 03 bella@cs. umu. se 11
Lines of communication 2 people 1 Line 3 people 3 lines 5 people n people 10 lines n(n-1)/2 lines PVK-HT 03 bella@cs. umu. se 12
Risks and Option Analysis What is a risk? Compare different development alternatives Evaluate their risks Select best alternative Tools o o Polar graph Decision tree Forms. . . PVK-HT 03 bella@cs. umu. se 13
Polar Graphs Alternative A Reliability Schedule Alternative B Alternative C Reuse Cost Portabilty PVK-HT 03 Efficiency bella@cs. umu. se 14
Analysis Example Alternative Tools Cost Relative Schedule (SEK) efficiency investment (years) Staff utilization (%) Risk A 7. 500. 000 0. 8 250. 000 2 85 0. 75 B 8. 500. 000 1. 3 70 0. 6 C 7. 000 0. 6 500. 000 2 100 0. 9 PVK-HT 03 bella@cs. umu. se 15
Analysis Example (Polar Graph) Cost Efficiency 1 5 M Alternative A Alternative B Alternative C Risk 0 0. 5 1 250 K Tools 500 K investment 0 2 y PVK-HT 03 100% Staff utilisation 1 y bella@cs. umu. se Schedule 16
Analysis Example (Forms) Objectives Develop a software components catalogue Constraints Within one year Must support all existing component types Must cost less than 1 MSEK Alternatives Buy existing information retrieval (IR) software Buy a database and develop the catalogue using the query language Develop a special-purpose catalogue Risks May be impossible within the given constraints Catalogue functionality may be inappropriate Risk resolution strategy Develop a prototype to clarify requirements Commission a consultants report on existing IR systems Relax the time constraints Results 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 Plans Develop the catalogue using the existing DBMS by enhancing the prototype and building a GUI Commitment Fund further 12 months of development PVK-HT 03 bella@cs. umu. se 17
Analysis Example (Decision Tree) Simple (0. 3) 3. 8 MSEK Difficult (0. 7) 4. 5 MSEK Build Minor changes (0. 4) Reuse Simple (0. 2) 2. 75 MSEK 3. 1 MSEK Major changes (0. 6) 4. 9 MSEK Complex (0. 8) Goal: Develop System. X Minor changes (0. 3) 2. 1 MSEK Major changes (0. 7) 4 MSEK Buy Contract Without changes (0. 6) With changes (0. 7) PVK-HT 03 bella@cs. umu. se 3. 5 MSEK 18
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 19
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-HT 03 bella@cs. umu. se 20
Define Work Breakdown Structure Activity o o o Major work unit Start date End date Consumes resources Results in work products (and milestones) Phase 1 Project PVK-HT 03 Project function Phase 2 Phase N o Continue throughout the project o Not bound to specific phases Step 1 Step 2 Activity 1 Activity 2 Activity 3 Activity 1 Activity 2 Task 1 Task 2 Task 3 Step 1 Step 2 21
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 o PERT chart (activity network/task graph) Critical path Project Time-line (Gantt chart) Resource table PVK-HT 03 bella@cs. umu. se 22
PERT Charts Program Evaluation and Review Technique Graph o Nodes = activities/tasks and estimated duration o Edges = dependencies Compute o Slack time = available time - estimated duration o Critical path A path is critical when it contains an activity that, if delayed, will cause a delay of the whole project. PVK-HT 03 bella@cs. umu. se 23
Example PERT Chart PVK-HT 03 bella@cs. umu. se 24
Gantt charts A Gantt chart is used to graphically present the start and end dates of each software engineering task o One axis shows time. o The other axis shows the activities that will be performed. o The black bars are the top-level tasks. o The white bars are subtasks o The diamonds are milestones: • Important deadline dates, at which specific events may occur PVK-HT 03 bella@cs. umu. se 25
A Gantt Chart (Project Time Line) PVK-HT 03 bella@cs. umu. se 26
Another Gantt Chart PVK-HT 03 bella@cs. umu. se 27
Cost Estimation Approach Problems: o Decompose problem o Check for experiences/ data on sub problems o Make qualified estimations o (Make at least two independent estimates) PVK-HT 03 o What are good measures? o Do the estimates affect the result? o Does the type of software affect the result? o Does the project environment affect the result? o. . . Use empirical and historical data Algorithmic cost modelling COCOMO (based on LOC) FP (based on function points) bella@cs. umu. se 28
COCOMO Constructive Cost Modelling [Boehm 81] Based on publicly available historical data of 63 TRW projects Basic assumptions: o o 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 PVK-HT 03 KDSI = Kilo Delivered Source Instructions ( LOC - comments) The a and b factors vary depending on the type of project 29 Effort is measured in PM (Person Months = 152 h of work)
COCOMO Intermediate Model Takes into account 15 cost drivers, which are ranked on a scale from very low to extra high o Product attributes (e. g. required reliability) o Hardware attributes (e. g. main storage constraints) o Personnel attributes (e. g. language experience) o Project attributes (e. g. tools usage) Effort=a (KDSI)b Ci Ci [0. 09. . 9. 42] PVK-HT 03 bella@cs. umu. se 30
Intermediate COCOMO Summary Works quite well in practice TRW data is publicly available Needs KLOC as input Problems: o Estimating KLOC in early project stages o Comparison of projects using different LOC counts o Outdated metrics base (70 s) Solutions: o Cross-check using an other estimation technique o Standardised LOC counts o Continuos model calibration PVK-HT 03 bella@cs. umu. se 31
COCOMO II Main objectives of COCOMO II: o To develop a software cost and schedule estimation model tuned to the life cycle practices of the 1990’s and 2000’s o To develop software cost database and tool support capabilities for continuous model improvement PVK-HT 03 bella@cs. umu. se 32
Schedule Estimate æEnvironmentö Effort = ç ç Multipliers ÷[ Size] ÷ è ø (Process Scale Factors) Environment: Product, Platform, People, Project Factors Process: Constraint, Risk/Architecture, Team, Maturity Factors Schedule =(Multiplier) [ Effort] PVK-HT 03 bella@cs. umu. se (Process Scale Factors ) 33
Stages of development Application Composition: o prototyping to resolve high-risk user interface issues o 2 environment drivers, 0 process drivers o Sizing in Object Points Early Design Model: o to explore alternative architectures and concepts o 7 environment drivers, 5 process drivers o Sizing in Function Points or SLOC Post Architecture Model: o development has begun o 17 environment drivers, 5 process drivers o Sizing in Function Points or SLOC PVK-HT 03 bella@cs. umu. se 34
COCOMO II Model Stages 4 x 2 x Early Design (13 parameters) 1. 5 x Overestimated 1. 25 x Relative Size Range x 0. 8 x Post-Architecture (23 parameters) 0. 67 x 0. 5 x Underestimated Applications Composition (3 parameters) 0. 25 x Concept of Operation Feasibility Plans and Rqts. Phases and Milestones Detail Design Spec. Product Design Spec. Rqts. Spec. Product Design Detail Design Accepted Software Devel. and Test 35
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-HT 03 bella@cs. umu. se 36
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 o What the software must do from the user’s perspective o Irrespective of software construction Based on five function types: o o o PVK-HT 03 Inputs Outputs Inquiries Logic Files Interfaces bella@cs. umu. se 37
Project plan contents Project scope Project schedule Project team organization Technical description of system Project standards and procedures Quality assurance plan Configuration management plan PVK-HT 03 Documentation plan Data management plan Resource management plan Test plan Training plan Security plan Risk management plan Maintenance plan bella@cs. umu. se 38
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-HT 03 bella@cs. umu. se 39
c7cef67209e0b75c66f9adb5bc7e71d4.ppt