1 A Use Case-Driven Approach to Requirements Gathering Materials gathered from Chapter 3 (above) – Kulak and Guiney and Use Case Driven Object Modeling.

Slides:



Advertisements
Similar presentations
Chapter 11 Designing the User Interface
Advertisements

Object-Oriented Analysis and Design Evolutionary Requirements.
Use Case Diagrams Use Case Descriptions
Deliverable #8: Detailed Design - Overview due: Wednesday, 7 March All Deliverable materials are to be posted into Team Concert. Your to.
Inception: Starting a New Project Needs Features Vision.
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
171 Use Case Descriptions Chapter 4 – Facade Iteration Initial Requirements (Inception Phase)
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
CSCI 639 Topics in Software Engineering Assignment #4 Fall 2006.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
NJIT Inception is not the Requirements Phase Chapter 4 Applying UML and Patterns Craig Larman.
Chapter 13: Designing the User Interface
Object Oriented Analysis and Design Using the UML
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.
1/ 12 A Use Case-Driven Approach to Requirements Gathering Materials gathered from Chapter 3 (above) – Kulak and Guiney and Use Case Driven Object Modeling.
Business Modeling Domain Modeling Source: Use Case Driven Object Modeling with UML – A Practical Approach By Doug Rosenberg ISBN:
The chapter will address the following questions:
1 A Use Case-Driven Approach to Requirements Gathering Materials gathered from chapter title (above) – Kulak and Guiney and Use Case Driven Object Modeling.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 3: Phase Management - Inception.
The Software Development Life Cycle: An Overview
Chapter 4 Requirements Engineering
S/W Project Management
RUP Requirements RUP Artifacts and Deliverables
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
UML - Development Process 1 Software Development Process Using UML (2)
Typical Software Documents with an emphasis on writing proposals.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Rational Unified Process (Part 1) CS3300 Fall 2015.
14 Chapter 11: Designing the User Interface. 14 Systems Analysis and Design in a Changing World, 3rd Edition 2 Identifying and Classifying Inputs and.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Systems Analysis and Design in a Changing World, 6th Edition
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
231 Business Modeling - Domain Analysis Most materials taken from the RUP textbook Chapter 8 and OOSE, pp
17 1 Use Case Descriptions Chapter 4 – Facade Iteration Requirements Inception Phase.
Coming up: Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
171 Use Case Descriptions Chapter 4 – Facade Iteration Initial Requirements (Inception Phase)
171 Use Case Descriptions Chapter 4 – Facade Iteration Initial Requirements (Inception Phase)
Approaching a Problem Where do we start? How do we proceed?
 Development is organized in a series of short, fixed-length mini-projects called iterations  Iterations are also incremental  Successive enlargement.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 4: Restaurant.
The Systems Development Life Cycle
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Applied Software Project Management
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Systems Analysis and Design in a Changing World, 6th Edition
Inception Chapter 4 Applying UML and Patterns -Craig Larman.
1 Modeling System Requirements with Use Cases. 2 Why Do We Need Use Cases? Primary challenge in a system design process –ability to elicit correct and.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
Project Deliverables CEN Engineering of Software 2.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Winter 2007SEG2101 Chapter 31 Chapter 3 Requirements Specifications.
Software Engineering Principles Practical Advice and Steps for Managing Your Project.
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
Software Engineering Developing Requirements. © Lethbridge/Laganière 2001 Chapter 4: Developing requirements2 4.1 Domain Analysis The process by which.
CMPE 280 Web UI Design and Development August 29 Class Meeting
Recall The Team Skills Analyzing the Problem (with 5 steps)
Business Modeling - Domain Analysis
Requirements gathering
Presentation transcript:

1 A Use Case-Driven Approach to Requirements Gathering Materials gathered from Chapter 3 (above) – Kulak and Guiney and Use Case Driven Object Modeling – Doug Rosenburg and other personal notes.

2 Guiding Principles to Requirements Gathering u Reduce Risk u Focus on business interactions u Reduce volume u Reduce duplicates and inconsistencies u Create requirements that users can understand easily u Create requirements that are useful to designers, developers, and project managers u Leave a requirements trail u Leave design until later u Keep the plan in mind.

3 Mission, Vision, Values u Many think this is the first document. Arguable. But certainly worth thinking about: u Vision: What will the end product be? –Future. Vision of operations and filling needs… u Mission: What will with project do? –Immediate; now. How will it work? Will it fulfill the needs of the stakeholders? u Values: What principles will guide the project while they do what they will do and build what will be… –What principles underpin what we do? Organization; seeking quality products; integrity; communications, etc.

4 Steps in Gathering Requirements u Requirements are created iteratively. –Iteration means doing things over and over; enriching the value of the artifacts, etc. –Increments refer to the gradual, piece by piece evolution of the application; building on earlier work. u Requirements specs will change frequently due to reliance on other peoples ideas about the application. –other artifacts may tie back to requirements, –sometimes only tie back to fuzzy ideas.

5 Steps u We consider the Vision Document (which might include Mission, Vision, Values, and a host of other items, such as scope, objective, overview, user demography, constraints, assumptions, staffing, costs, environment, etc.) as a primary step. –This defines the scope and general overview of work to be accomplished. –All these documents tied to vision and initial business modeling include risk analyses, business rules, etc. –These are essential artifacts.

6 Steps - continued u Prototype –Used to identify the user interface – NO MORE! –Will identify requirements missed. –Recognize emphasis is on requirements not the specific widgets (buttons, etc.) used. –These are implementation details which will be decided upon later.

7 Steps: Use Case - Driven u The Use Case model is at the conceptual center of the entire approach because it drives everything else that follows. –Oftentimes developed in conjunction with Domain Model because the text of the Use Case supports development of the Domain Model. »Helps to identify nouns (entities and attributes) and verbs (responsibilities) –Drives Analysis Model (preliminary design) –Drives Interaction diagrams (ahead) – refine analysis model into a detailed design model using objects identified in creating the analysis model and showing how messages flow between objects within use cases. –Requirements Tracing – involves connecting user requirements with use cases and classes. u Use Cases drive entire development effort. u Discuss.

8 Use Cases: u Use Cases are sequences of actions that an actor (usually a person, but certainly can be an external entity like another system or a device) performs with an expectation of achieving a particular result; gets value. u Always use present tense very in active voice. u Model Use Cases via Use Case Diagrams u Capture Use Cases (that is, the interactions) via Use Case Narrative (Use Case ‘Scripts’)

9 Let’s review and add some detail:

10 Early Deliverables u Most efforts start with a Business Modeling effort (domain analysis) and the capturing the Domain via Domain Modeling, Glossary, and associated artifacts. u Related artifacts typically include some kind of vision document that include: –Risk Analysis (may be included in Vision Document or as an adjunct artifact) –Business Rules (see textbook page 61-62) for more examples. –Vision Statements – short encapsulating statements outlining ‘vision.’ –Environmental Constraints and more… u There are a number of approaches… u  Most uses cases are defined during the same iteration u  Typically a first cut of key use cases may be developed as part of the Inception Phase – generally around 20% of use cases (key ones) u But they are refined via subsequent iterations to provide increasing levels of detail u These details are absolutely required to drive the entire development process.

11 Statement of Work u Most development projects have some kind of Statement of Work (SOW) How the work is going to be accomplished – work plans, assignments, internal deliverables, etc. u Represents a contract between the developers and the users and/or a contract between a consulting company and the customer. u See textbook for details. u It is generally more than just bullets – can be bullets, but should have more ‘assignment’ details…

12 Risk Analysis u A list of risks that may impact the successful development of the application. u You now need to revisit these and prioritize by impact. (probability of occurrence * cost if occurs); other formulas u Provides data as to whether the development effort should start/proceed. u Risk MUST be addressed and mitigated. u Risk is consistently re-addressed as part of assessment following every iteration

13 Business Rules Artifact u Business Rules are both written and unwritten rules that govern how the company does business. –relate to the specific application only –Examples: discounts to seniors; discounts if order is > some magic number; corporation discounts; … u We use use cases and business rules very closely. u Use Case templates should have a Business Rules ‘attribute’ (row) that cites ‘references’ to any business rules that is associated with the use case u While Use Cases address the functional requirements by covering interactions between the client and the application, these interactions are often governed by business rules that dictate the environment and constraints within which the application operates.

14 Closer Look on Business Rules u May be conditions that must be true/false u Action restricting – conditions prohibiting an action (don’t accept a bad check…) u Action triggering u Inferences – drawing a conclusion from conditions that may be/become true u Calculations – formulas / discounts. etc. u Must be atomic!! –means must be stated at the finest level of granularity possible. u As stated: see Use Case textbook, Table 3.3, p. 61 for examples.

15 Prototype u Mock-up of user interface. Storyboarding… u Graphical or pictures clearly and perhaps interactively. u Introduced now; refined later after the requirements have stabilized a bit. Avoids temptations to proceed solving problems before they are understood. u Prototype demonstrates a ‘proof of concept’ u It also forms the rough basis for a user manual – as if the prototype were a working system… –Prototype should be ‘rapid.’ –Means ignore many alternatives (exceptions…) u After closure on screens/windows, this greatly facilitates locking in the Use Cases that ‘realize’ descriptions of the interface just demonstrated. u Also greatly facilitates identification of boundary objects (along with Use Cases) for our analysis modeling effort (preliminary design).

16 Prototype u Prototype can be simple. u Generic symbols (buttons may later become drop down menu….not terribly important at this time.) u Should contain some kind of windows navigation diagrams and perhaps action resulting in navigating to a new menu/window. u Can link your screen designs to your use cases – either manually or in context of a visual - modeling tool u Coupling between screens and text is intuitive…. u Be careful: Your use case text (coming) should not include too many presentation details, since these are design considerations, and we are really trying to lock in requirements – not show implementation.

17 Warning u “Whether you use prototyping, screen mockups, or the results of mining legacy user manuals, it’s important that you do a thorough job before you start writing use case text. If you don’t, you could end up spending a lot of extra time trying to pin down what your users expect to be doing with the new system.” u Don’t try to write use cases until you know what the users will actually be doing!! u Great way to learn this is through user interface prototyping. u  Note: some advocate building use case text and prototypes (also domain model) at the same time or ‘near’ the same time, in that they can act as checks (validation) on each other.

18 Role of Use Cases u The Use Cases are clearly the major artifacts of Requirements Gathering efforts. u Use Cases – great for communications –contain the essence of desired interactions. –no jargon as found in DFDs, ERDs, etc. u Particularly good for Functional and to a lesser degree (in some cases) non-functional requirements. (performance, extensibility, maintainability, backup, recovery, security, persistency, distribution, etc.) But these latter requirements are normally documented in a Supplementary Specs document… u Good for ensuring requirements traceability – because they are used for design, testing, construction, delivery, and...

19 Role of Use Cases u When used to drive the lifecycle, they assure stakeholders that all use cases are being addressed in the development effort. u Use cases discourage premature design. If the use cases narrative has several steps before responding to the user, this is a tip off that we are undertaking too much designing…STOP! u Remember: these are still the WHATS of the application!