Dr. Kivanc DincerCS319 Week 1 - Sept.12,20051 Chapter 4 INCEPTION IS NOT THE REQUIREMENTS PHASE Objectives Define the inception step. Motivate the following.

Slides:



Advertisements
Similar presentations
Chapter 05: Evolutionary Requirements Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.
Advertisements

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.
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.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
NJIT Evolutionary Requirements Chapter 5 Applying UML and Patterns Craig Larman.
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
Iterative development and The Unified process
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
SE 555 – Software Requirements & Specifications Introduction
COMP 350: Object Oriented Analysis and Design Lecture 2
NJIT Inception is not the Requirements Phase Chapter 4 Applying UML and Patterns Craig Larman.
Slide 1 Requirements Workflow. Slide 2 The Phases/Workflows of the Unified Process Figure 3.1 l Phase is Business context of a step Workflow is Technical.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 RUP Architecture.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 3: Phase Management - Inception.
© 2005 Prentice Hall14-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
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
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
INFO 637Lecture #51 Software Engineering Process II Defining Requirements INFO 637 Glenn Booker.
Chapter 7 Applying UML and Patterns -Craig Larman
Chapter 7 Applying UML and Patterns Craig Larman
Jan 7, A UP project organizes the work and iterations across four major phases: – Inception -- approximate vision, business case, scope, vague estimates.
 Development is organized in a series of short, fixed-length mini-projects called iterations  Iterations are also incremental  Successive enlargement.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
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.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
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.
Systems Development Life Cycle
Understanding Requirements Chapter 5 Applying UML and Patterns -Craig Larman.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Week 2. Topics Inception phase Evolutionary requirements Use cases.
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)
Requirements Management Overview NIGMS Software Development.
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.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Requirement Discipline Spring 2006/1385 Semester 1.
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.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 Rational Unified Process – Part 2 Original slides modified.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
TK2023 Object-Oriented Software Engineering
Applying UML and Patterns
Evolutionary requirements
Unified Process(UP) popo.
Unified Process (UP).
COMP 350: Object Oriented Analysis and Design Lecture 2
Week 2.
Chapter 2 – Software Processes
Evolutionary Requirements
Chapter 4 Inception CS John Cole.
Other System Requirements
Presentation transcript:

Dr. Kivanc DincerCS319 Week 1 - Sept.12,20051 Chapter 4 INCEPTION IS NOT THE REQUIREMENTS PHASE Objectives Define the inception step. Motivate the following chapters in this section. “The best is the enemy of the good.” - Voltaire

Dr. Kivanc DincerCS319 Week 1 - Sept.12,20052 Inception is NOT the Requirements Phase Purpose is to decide whether to proceed with development, not to define requirements. –Only key requirements are investigated. Do the stakeholders have basic agreement on the vision of the project, and is it worth investing in serious investigation? 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 use cases, analysis of the critical non-functional requirement, creation of a business case, and preparation of the development environment. Inception in one sentence: Determine the product scope, vision, and business case.

Dr. Kivanc DincerCS319 Week 1 - Sept.12,20053 Questions during inception What is the vision for this project? What is the business case? Is the project feasible? Should we buy or build? Rough estimate of cost? At end of inception: Go or No Go? An Analogy: New field exploration decision in the oil business.

Dr. Kivanc DincerCS319 Week 1 - Sept.12,20054 Inception Artifacts Vision and Business Case Use-Case Model Supplementary Specification Glossary Prototypes and proof-of-concepts Risk List & Risk Management Plan Iteration Plan Phase Plan and Software Development Plan Development Case *Not all documents are needed for every project. Project Mgr’s responsibility

Dr. Kivanc DincerCS319 Week 1 - Sept.12,20055 Vision and Business Case Describes the high level goals and constraints, the business case, and provides an executive summary. –Usually has an estimate of costs (+/- 100%) and expected benefits stated in financial terms.

Dr. Kivanc DincerCS319 Week 1 - Sept.12,20056 Use Case Model Describes the functional requirements and related non-functional requirements. –A set of typical scenarios of using a system. Preliminary only, usually the names of most of the expected use cases and actors, but usually only about 10% of the use cases are detailed. –Do not detail all of the use cases. Only document the most important ones. About 10% of the use cases should be detailed enough to estimate the scope of the total project.

Dr. Kivanc DincerCS319 Week 1 - Sept.12,20057 Supplementary Specification Describes non-functional requirements that do not appear elsewhere. Functional requirements describe the functionality of the product. All other requirements that must be met are considered non-functional requirements.

Dr. Kivanc DincerCS319 Week 1 - Sept.12,20058 Glossary Describes the key terms in the business domain. Includes a data dictionary –Validation rules, acceptable values, etc.

Dr. Kivanc DincerCS319 Week 1 - Sept.12,20059 These may be developed to clarify the vision, or to validate technical ideas. Inception phase prototypes are throw away prototypes, not evolutionary prototype that may be evolved into a product. –UI oriented prototypes and programming experiments for “show stopper” technıcal questions. –They are often done with a prototyping tool. Prototypes / Proof of concepts

Dr. Kivanc DincerCS319 Week 1 - Sept.12, Risk Plan Contains a list of known and expected risks. Includes business, technical, resource, and schedule risks identified by probability and severity. All significant risks should have a response or mitigation plan.

Dr. Kivanc DincerCS319 Week 1 - Sept.12, Iteration Plan Describes what to do in the first iteration of the product. Usually implements the core functionality of the product. Eliminate biggest risk first. –The worst risk is usually that the final product will not meet the most important requirement.

Dr. Kivanc DincerCS319 Week 1 - Sept.12, Phase / Software Development Plan A low precision guess for the duration and effort of the elaboration. Includes tools, people, training and other resources required. May also be called a Resource Plan.

Dr. Kivanc DincerCS319 Week 1 - Sept.12, Development Case A description of the Unified Process steps and artifacts for the project. Note that the UP is always customized for each project.

Dr. Kivanc DincerCS319 Week 1 - Sept.12, Isn’t that a lot of documentation? In UP, those artifacts are optional –Choose to create only those that really add value for the project Often, the point of creating artifacts or models is not the document or diagram itself, but the thinking, analysis, and proactive readiness. –“In preparing for battle, I have always found that plans are useless, but planning indispensable.” – General Eisenhower Artifacts from previous projects can be partially used for later ones. –esp. Risk, project management, testing, and environment artifacts.

Dr. Kivanc DincerCS319 Week 1 - Sept.12, You know you don’t understand Inception when… Schedule –Inception should last a few weeks at most. Requirements and most of the use cases &actors identified. –Only key requirements should be described during inception. Save the rest for later phases and later iterations. Accuracy of estimates –There is a funnel of cost estimates. The earlier the estimate, the less accurate it is. Architecture designed –Architecture should be done iteratively during elaboration. –Defer decisions as late as possible. The more you know, the less chance that you will make a bad decision.

Dr. Kivanc DincerCS319 Week 1 - Sept.12, How much UML during inception? Perhaps, beyond simple UML use case diagrams, not much diagramming is warranteed. –Requirements expressed mostly in text forms. UML diagramming will occur in the elaboration phase.

Dr. Kivanc DincerCS319 Week 1 - Sept.12, Chapter 5 EVOLUTIONARY REQUIREMENTS Objectives Motivate doing evolutionary requirements. Defines the FURPS+ model. Define the UP requirements artifacts. “Ours is a world where people don’t know what they want and are willing to go through hell to get it.” - Don Marquis

Dr. Kivanc DincerCS319 Week 1 - Sept.12, Path to disaster* The Waterfall method is too risky: - Define the requirements - Design the architecture –Implement the product There is an attempt in the waterfall method to describe the requirements fully and accurately and “freeze” them. –The wrong paradigm is viewing the software project as similar to predictable mass manufacturing, with low change rates. Avoid “Paralysis by Analysis” – it kills the budget without significantly benefiting the corporation. –Classic Mistake: Too much time and money wasted in the “fuzzy front end.” –Use iterations instead.

Dr. Kivanc DincerCS319 Week 1 - Sept.12, Requirements These are the capabilities and conditions that the system, the project, and the product must provide and meet. Requirement issues (...) are the leading cause of project failure. –Even if you do a perfect job of building the wrong thing, its no good! –Managing requirements is a best practice for project managers.

Dr. Kivanc DincerCS319 Week 1 - Sept.12, Figure 5.1 Actual use of waterfall-specified features (Johnson 2002): 45% such features were never used, and an additional 19% were rarely used. WRONG GRAPH!

Dr. Kivanc DincerCS319 Week 1 - Sept.12, Managing Requirements Stakeholder requirements are frequently unclear and change over time. Frequently new requirements are discovered as part of the development process. There must be a “systematic approach to finding*, documenting, organizing, and tracking the changing requirements of a system.” (RUP) * Skillful elicitation via useful techniques –Such as writing use cases with customers, requirements workshops, focus groups with proxy customers, and a demonstratıon of the results of each iteration to the customer.

Dr. Kivanc DincerCS319 Week 1 - Sept.12, Types and Categories of Requirements : FURPS+ Model (Grady 1992) Functional (features, capabilities, security) Usability (human factors, help, documents) Reliability (failures, recovery, predictable) Performance (response, throughput, etc) Supportability (maintainability, configuration) + ancillary and sub-factors –Implementation (includes limitations) –Interface –Operations –Packaging –Legal Requirements Quality Requirements

Dr. Kivanc DincerCS319 Week 1 - Sept.12, Functional Requirements “Behavioral” requirements Detailed in the Use Case Model and in the System Features list of the Vision artifact. –They are specified in detail in Operation Contracts where necessary.

Dr. Kivanc DincerCS319 Week 1 - Sept.12, Non-functional requirements Often called the “-ilities” of a system; quality, reliability, usability, performance, etc. The glossary, data dictionary and supplemental specifications describe many non-functional requirements. In addition, architectural documents may have non-functional requirements.

Dr. Kivanc DincerCS319 Week 1 - Sept.12, UP Requirements Artifacts Use-Case Model Supplementary Specification Glossary Vision Business (Domain) Rules –Decribes requirements or policies that transcend one software project. –Ex. Government tax rules.