1 / 38

Contents

Contents. Introduction Requirements Engineering UI Design Project Management Software Design Detailed Design and Coding Quality Assurance. Analyse the users Are they used to computers Have they used similar systems Are there different user groups

tyra
Download Presentation

Contents

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. bella@cs.umu.se

  2. Contents • Introduction • Requirements Engineering • UI Design • Project Management • Software Design • Detailed Design and Coding • Quality Assurance bella@cs.umu.se

  3. 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 UI Design Activities • Build prototype(s) • Evaluate prototype(s)

  4. Specific Guidelines • OPEN LOOKTM • Three level certification by AT&T • Motif • Microsoft • ... bella@cs.umu.se

  5. GUI Toolkits • Libraries with predefined “widgets” and event handling • Interviews • Java AWT • ... • Visual tools (WYSIWYG) • Visual Basic • Delphi • XYZ Builder • ... bella@cs.umu.se

  6. Requirements Analysis Specification Require- ments Planning Design Coding Testing Installation Operation and Maintenance Project Management • Project Management Activities • Project Scheduling • Cost Estimation bella@cs.umu.se

  7. Why Do Projects Fail? 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: • Deciding what needs to be done • Estimating costs • Ensuring there are suitable people to undertake the project • Defining responsibilities • Scheduling • Making arrangementsfor the work • continued ... Time limit People Resources Functionalities

  9. 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 bella@cs.umu.se

  10. Project Resources • People • Required skills • Availability • Duration of tasks • Start date • Hardware and software tools • Description • Availability • Duration of use • Delivery date bella@cs.umu.se

  11. Lines of communication 2 people 1 Line 3 people 3 lines 5 people 10 lines • n people • n(n-1)/2 lines bella@cs.umu.se

  12. Risks and Option Analysis What is a risk? • Compare different development alternatives • Evaluate their risks • Select best alternative • Tools • Polar graph • Decision tree • Forms • ... bella@cs.umu.se

  13. Polar Graphs Alternative A Reliability Schedule Alternative B Alternative C Reuse Cost Portabilty Efficiency bella@cs.umu.se

  14. Tools investment Cost (SEK) Schedule (years) Staff utilization (%) Relative efficiency Alternative Risk A 7.500.000 0.8 250.000 2 85 0.75 B 8.500.000 1 500.000 1.3 70 0.6 C 7.000.000 0.6 500.000 2 100 0.9 Analysis Example bella@cs.umu.se

  15. Cost Efficiency 1 5 M Alternative A Alternative B Alternative C 0 500K 250K Tools investment Risk 0.5 1 0 2 y 1 y 100% Schedule Staff utilisation Analysis Example (Polar Graph) bella@cs.umu.se

  16. 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 Analysis Example (Forms) bella@cs.umu.se

  17. Simple (0.3) 3.8 MSEK 4.5 MSEK Difficult (0.7) Build 2.75 MSEK Minor changes (0.4) Simple (0.2) 3.1 MSEK Reuse Major changes (0.6) Goal: Develop SystemX 4.9 MSEK Complex (0.8) Minor changes (0.3) 2.1 MSEK Buy 4 MSEK Major changes (0.7) Without changes (0.6) 3.5 MSEK Contract 5 MSEK With changes (0.7) Analysis Example (Decision Tree) bella@cs.umu.se

  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) bella@cs.umu.se

  20. 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 Define Work Breakdown Structure 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

  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 • PERT chart (activity network/task graph) • Critical path • Project Time-line (Gantt chart) • Resource table bella@cs.umu.se

  22. PERT Charts Program Evaluation and Review Technique • Graph • 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. bella@cs.umu.se

  23. Example PERT Chart 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 • 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 bella@cs.umu.se

  25. A Gantt Chart (Project Time Line) bella@cs.umu.se

  26. Another Gantt Chart bella@cs.umu.se

  27. Approach 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? ... Cost Estimation • 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: • 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)

  29. 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 [0.09..9.42] bella@cs.umu.se

  30. 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 bella@cs.umu.se

  31. 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 bella@cs.umu.se

  32. Environment: Product, Platform, People, Project Factors Process: Constraint, Risk/Architecture, Team, Maturity Factors Schedule Estimate ( ) Process Scale Factors [ ] ( ) Process Scale Factors Effort æ ö Environment ] [ ç ÷ = Effort Size ç ÷ è ø Multiplier s ( ) = Schedule Multiplier bella@cs.umu.se

  33. Stages of development • Application Composition: • 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 • Sizing in Function Points or SLOC bella@cs.umu.se

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

  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. 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 • 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 bella@cs.umu.se

  37. Project scope Project schedule Project team organization Technical description of system Project standards and procedures Quality assurance plan Configuration management plan Documentation plan Data management plan Resource management plan Test plan Training plan Security plan Risk management plan Maintenance plan Project plan contents 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 bella@cs.umu.se

More Related