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

Slides:



Advertisements
Similar presentations
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Advertisements

1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Chapter 05: Evolutionary Requirements Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.
Chapter 4: Inception is Not the Requirements Phase
Object-Oriented Analysis and Design
Rational Unified Process
COMP 350: Object Oriented Analysis and Design Lecture 3 Case Studies, Inception & Use Cases References: Craig Larman Chapters 3-6.
Drawing System Sequence Diagrams
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
Development Processes UML just is a modeling technique, yet for using it we need to know: »what do we model in an analysis model? »what do we model in.
Object-oriented Analysis and Design
Dr. Kivanc DincerCS319 Week 1 - Sept.12,20051 Chapter 4 INCEPTION IS NOT THE REQUIREMENTS PHASE Objectives Define the inception step. Motivate the following.
NJIT Evolutionary Requirements Chapter 5 Applying UML and Patterns Craig Larman.
NJIT Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman Presented by Anuradha Dharani.
Iterative development and The Unified process
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
COMP 350: Object Oriented Analysis and Design Lecture 2
Object-Oriented Analysis and Design
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
NJIT Inception is not the Requirements Phase Chapter 4 Applying UML and Patterns Craig Larman.
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
Copyright © Craig Larman All Rights Reserved Requirements.
UML - Development Process 1 Software Development Process Using UML (2)
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
RUP Fundamentals - Instructor Notes
CS212: Object Oriented Analysis and Design Lecture 1: Introduction.
Rational Unified Process Fundamentals Module 4: Disciplines II.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Object-Oriented Analysis and Design An Introduction.
Iterative development and The Unified process Chapter 2 Applying UML and Patterns -Craig Larman.
INFO 637Lecture #51 Software Engineering Process II Defining Requirements INFO 637 Glenn Booker.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Chapter 7 Applying UML and Patterns Craig Larman
Object-Oriented Analysis and Design Fall 2009.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
Sept Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
Inception Chapter 4 Applying UML and Patterns -Craig Larman.
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
Chapter 5 Evolutionary Requirements. Introduction 5.1 Definition: Requirements 5.2 Evolutionary vs. Waterfall Requirements 5.3 What are Skillful Means.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Chapter 4. Inception is NOT Requirements: Inception is a short, initial stage. Its purpose is a common vision and scope measurement. needed to do: –analyze.
Software Engineering 1 Object-oriented Analysis and Design Chap 24 Iteration 2 More Patterns.
Understanding Requirements Chapter 5 Applying UML and Patterns -Craig Larman.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Inception is not Requirement phasee Chapter 3 and 4 Applying UML and Patterns -Craig Larman.
Rational Unified Process (RUP)
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Chapter 8: Iteration 1 - Basics.  We review here the requirements for first iteration of our case studies. They are a subset of the requirements as described.
Chapter 8. Iteration 1, Elaboration: book view differs from reality for pedagogical reasons not doing “risk-driven” up front uses many OOA/D skills should.
Larman chapter 41 Inception Larman chapter 4 and 7.
PART II INCEPTION Chapter 4 Inception is Not The Requirements Phase.
Object Oriented Analysis & Design By Rashid Mahmood.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
TK2023 Object-Oriented Software Engineering
Elaboration popo.
Evolutionary requirements
Unified Process(UP) popo.
Unified Process (UP).
COMP 350: Object Oriented Analysis and Design Lecture 2
Evolutionary Requirements
Software Requirements
Logical Architecture & UML Package Diagrams
Other System Requirements
CSCI 360: Software Architecture & Design
Presentation transcript:

Jan 7, 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. The UP phases

Jan 7, 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. The UP phases

Jan 7,

4 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. The UP Disciplines

Jan 7, 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. The UP Disciplines

Jan 7, The UP Disciplines

Jan 7, 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 UP Disciplines and UP phases

Jan 7, UP Disciplines and phases

Jan 7, 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. UP Disciplines and UP phases

Jan 7, UP Disciplines and phases

Jan 7, 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). Customize UP, The UP Development Case

Jan 7, Customize UP, The UP Development Case

Jan 7, 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….

Jan 7, Chapter 3, 4, 5, prepare for chapter 6 and 7,

Jan 7, 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. Chapter 3 Case Studies

Jan 7,

Jan 7, Chapter 3 Case Studies Case Study Strategy: Iterative Development + Iterative Learning.

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

Jan 7, 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.

Jan 7, Inception is the initial short step to 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. Chapter 4. Inception is Not the Requirements Phase

Jan 7, 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? Chapter 4. Inception is Not the Requirements Phase

Jan 7, 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. Chapter 4. Inception is Not the Requirements Phase

Jan 7, 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? Chapter 4. Inception is Not the Requirements Phase

Jan 7, Artifacts in Inception

Jan 7, 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. Is UML involved in inception?

Jan 7, Objectives – Motivate doing evolutionary requirements. – Define the FURPS+ model. – Define the UP requirements artifacts. Chapter 5. Evolutionary Requirements

Jan 7, 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. Chapter 5. Evolutionary Requiements

Jan 7, 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. Chapter 5. Evolutionary Requirements

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

Jan 7, 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. Blame the waterfall again

Jan 7, 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. Types and Categories of Requirements in UP

Jan 7, 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. Types and Categories of Requirements in UP

Jan 7, 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 Types and Categories of Requirements in UP

Jan 7, Requirement Artifacts in UP

Jan 7, 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. Requirement Artifacts in UP

Jan 7, 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. Requirement Artifacts in UP

Jan 7, 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. Requirement Artifacts in UP

Jan 7,

Jan 7, Thank you and See you next time.