1 / 39

The UP phases

The UP phases. A UP project organizes the work and iterations across four major phases: Inception -- approximate vision, business case, scope, vague estimates.

skylar
Télécharger la présentation

The UP phases

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. The UP phases • A UP project organizes the work and iterations across four major phases: • Inception -- approximate vision, business case, scope, vague estimates. • Elaboration – refined vision, iterative implementation of the core architecture, resolution of high risks, identification of most requirements and scope, more realistic estimates. • Construction -- iterative implementation of the remaining lower risk and easier elements, and preparation for deployment. • Transition -- beta tests, deployment.

  2. The UP phases • Inception is not a requirements phase; rather, it is a feasibility phase, where just enough investigation is done to support a decision to continue or stop. • Similarly, elaboration is not the requirements or design phase; rather, it is a phase where the core architecture is iteratively implemented, and high-risk issues are mitigated.

  3. The UP Disciplines • Discipline: • A set of activities in a subject area, such as the activities in the requirement analysis. • The UP describes work activities, such as writing a use case, within disciplines. • In the UP, an artifact is the general term for any work product: code, Web graphics, database schema, text documents, diagrams, models, and so on.

  4. The UP Disciplines • There are several disciplines in the UP; this course focuses on some artifacts in the following three disciplines: • Business Modeling - The Domain Model artifact, to visualize noteworthy concepts in the application domain. • Requirements - The Use-Case Model and Supplementary Specification artifacts to capture functional and non-functional requirements. • Design - The Design Model artifact, to design the software objects.

  5. The UP Disciplines

  6. UP Disciplines and UP phases • As illustrated in the figure, during one iteration, work goes on in most or all disciplines. • However, the relative effort across these disciplines changes over time. • The following figure shows the changing relative effort with respect to the phases

  7. UP Disciplines and phases

  8. UP Disciplines and UP phases • The book presents two case studies. • With respect to the phases and disciplines, what is the focus of the case studies? • The case studies emphasize the inception and elaboration phase. They focus on some artifacts in the Business Modeling, Requirements, and Design disciplines, as this is where requirements analysis, OOA/D, patterns, and the UML are primarily applied.

  9. UP Disciplines and phases

  10. Customize UP, The UP Development Case • All activities and artifacts (models, diagrams, documents, …) in UP are optional. • The choice of practices and UP artifacts for a project may be written up in a short document called the Development Case (an artifact in the Environment discipline).

  11. Customize UP, The UP Development Case

  12. From (last) lecture…. • UP is a software development process. • A software development process describes an approach to building, deploying, and possibly maintaining software. • The Unified Process has emerged as a popular iterative software development process for building object-oriented systems. • Small steps, rapid feedback, and adaptation are central ideas in iterative development. • A key idea is that iterations are timeboxed, or fixed in length. • Any analysis, modeling, development, or management practice based on the assumption that things are long-term stable (i.e., the waterfall) is fundamentally flawed. • A UP project organizes the work and iterations across four major phases…. • There are several disciplines in the UP; this course focuses on some artifacts in the following three disciplines….

  13. Chapter 3, 4, 5, prepare for chapter 6 and 7,

  14. Chapter 3 Case Studies • Generally, applications include UI elements, core application logic, database access, and collaboration with external software or hardware components. • Although OO technology can be applied at all levels, this introduction to OOA/D focuses on the core application logic layer, with some secondary discussion of the other layers.

  15. Chapter 3 Case Studies • Case Study Strategy: Iterative Development + Iterative Learning.

  16. Case One: The NextGen POS System. • Using an iterative development strategy, we are going to proceed through requirements, object-oriented analysis, design, and implementation.

  17. Case Two: The Monopoly Game System • The software version of the game will run as a simulation. One person will start the game and indicate the number of simulated players, and then watch while the game runs to completion, presenting a trace of the activity during the simulated player turns.

  18. Chapter 4. Inception is Not the Requirements Phase • Inception is the initial short stepto establish a common vision and basic scope for the project. • It will include analysis of perhaps 10% of • the use cases (?, chapter 6) • analysis of the critical non-functional requirement, • creation of a business case, and • preparation of the development environment so that programming can start in the following elaboration phase.

  19. Chapter 4. Inception is Not the Requirements Phase • Most projects require a short initial step in which the following kinds of questions are explored: • What is the vision and business case for this project? • Feasible? • Buy and/or build? • Rough unreliable range of cost: Is it $10K100K or in the millions? • Should we proceed or stop?

  20. Chapter 4. Inception is Not the Requirements Phase • KEEP IN MIND: • the purpose of the inception phase is not to define all the requirements, or generate a believable estimate or project plan. • Inception, is not the time do all requirements or create believable estimates or plans. That happens during elaboration. • Most requirements analysis occurs during the elaboration phase, in parallel with early production-quality programming and testing.

  21. Chapter 4. Inception is Not the Requirements Phase • Inception phase is normally short for most projects. • It is to decide if the project is worth a serious investigation (during elaboration), not to do that investigation. • Inception In one sentence: • Envision the product scope, vision, and business case. • The main problem solved in one sentence: • Do the stakeholders have basic agreement on the vision of the project, and is it worth investing in serious investigation?

  22. Artifacts in Inception

  23. Is UML involved in inception? • The purpose of inception is to collect just enough information to establish a common vision, decide if moving forward is feasible, and if the project is worth serious investigation in the elaboration phase. • As such, perhaps beyond simple UML use case diagrams, not much diagramming is warranted. • There is more focus in inception on understanding the basic scope and 10% of the requirements, expressed mostly in text forms. • In practice, most UML diagramming will occur in the next phase---elaboration.

  24. Chapter 5. Evolutionary Requirements • Objectives • Motivate doing evolutionary requirements. • Define the FURPS+ model. • Define the UP requirements artifacts.

  25. Chapter 5. Evolutionary Requiements • Requirements are capabilities and conditions to which the system and more broadly, the project must conform. • One of the best practices of UP is manage requirements. • Which means • a systematic approach to finding, documenting, organizing, and tracking the changing requirements of a system.

  26. Chapter 5. Evolutionary Requirements • How to do partial, evolutionary requirements analysis combined with early design and programming, in iterations? • In other words, UP wants to do requirements iteratively and skillfully, and not being sloppy. • The challenge in requirement analysis is to find, communicate, and remember (that usually means write down) what is really needed, in a form that clearly speaks to the client and development team members. Details in Ch 6 and 7.

  27. Blame the waterfall again • Do an iterative and evolutionary requirement analysis, not a waterfall one. Here is the evidence:

  28. Blame the waterfall again • Research shows on average, 25% of the requirements change on software projects. • Any method that therefore attempts to freeze or fully define requirements at the start is fundamentally flawed, based on a false assumption, and fighting or denying the inevitable change. • Do an iterative, evolutionary requirement analysis, i.e., • iterative and evolutionary requirements analysis combined with early timeboxed iterative development and frequent stakeholder participation, evaluation, and feedback on partial results.

  29. Types and Categories of Requirements in UP • In the UP, requirements are categorized according to the FURPS+ model • Functional - features, capabilities, security. • Usability - human factors, help, documentation. • Reliability - frequency of failure, recoverability, predictability. • Performance - response times, throughput, accuracy, availability, resource usage. • Supportability - adaptability, maintainability, internationalization, configurability.

  30. Types and Categories of Requirements in UP • The “+” sign means • Implementation - resource limitations, languages and tools, hardware, ... • Interface - constraints imposed by interfacing with external systems. • Operations - system management in its operational setting. • Packaging - for example, a physical box. • Legal - licensing and so forth.

  31. Types and Categories of Requirements in UP • Use FURPS+ model as a checklist for requirements coverage, in order to reduce the risk of not considering some important facet of the system. • A more general categorization of requirements: • Functional requirements • Non-functional requirements

  32. Requirement Artifacts in UP

  33. Requirement Artifacts in UP • The UP offers several requirements artifacts. As with all UP artifacts, they are optional. Key ones include: • Use-Case Model : set of typical scenarios of using a system. CAPTURE functional (behavioral) requirements. • Supplementary Specification: Basically, everything not in the use cases. CAPTURE all non-functional requirements, such as performance or licensing.

  34. Requirement Artifacts in UP • The UP offers several requirements artifacts. As with all UP artifacts, they are optional. Key ones include: • Glossary : Glossary defines noteworthy terms. The data dictionary • Vision : Summarizes high-level requirements that are elaborated in the Use-Case Model and Supplementary Specification, and summarizes the business case for the project.

  35. Requirement Artifacts in UP • Business Rules: Business rules (also called Domain Rules) typically describe requirements or policies that transcend one software project - they are required in the domain or business, and many applications may need to conform to them. An excellent example is government tax laws.

  36. Thank you and See you next time.

More Related