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

Slides:



Advertisements
Similar presentations
Chapter 11 Designing the User Interface
Advertisements

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.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Use-case Modeling.
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
1 / 26 CS 425/625 Software Engineering Software Requirements Based on Chapter 5 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
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.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
1 A Use Case-Driven Approach to Requirements Gathering Materials gathered from Chapter 3 (above) – Kulak and Guiney and Use Case Driven Object Modeling.
Chapter 13: Designing the User Interface
Chapter 14 Designing the User Interface
Object Oriented Analysis and Design Using the UML
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:
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.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
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.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Requirements Analysis
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.
Systems Analysis and Design in a Changing World, 6th Edition
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
17 1 Use Case Descriptions Chapter 4 – Facade Iteration Requirements Inception Phase.
1 Chapter 5 Software Engineering Practice. 2 What is “Practice”? Practice is a broad array of concepts, principles, methods, and tools that you must consider.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
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.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 4: Developing Requirements.
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.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Applied Software Project Management
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
UML-1 8. Capturing Requirements and Use Case Model.
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.
1 Structuring Systems Requirements Use Case Description and Diagrams.
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.
14 Chapter 11: Designing the User Interface. 14 Systems Analysis and Design in a Changing World, 3rd Edition 2 Identifying and Classifying Inputs and.
1 EMS Fundamentals An Introduction to the EMS Process Roadmap AASHTO EMS Workshop.
Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.
Software Engineering Principles Practical Advice and Steps for Managing Your Project.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
1 Week 5 Software Engineering Fall Term 2015 Marymount University School of Business Administration Professor Suydam.
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
Requirements Elicitation and Elaboration
Analysis models and design models
For University Use Only
Requirements gathering
Presentation transcript:

1 A Use Case-Driven Approach to Requirements Gathering Materials gathered from chapter title (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 Four Steps in Gathering Requirements u Requirements are created iteratively. u Requirements specs will change constantly due to reliance on other peoples ideas about the application. –other artifacts may tie back to requirements, but requirements can only tie back to fuzzy ideas. u Author’s approach to use cases: –outlining, widening, focusing, touching up. –four ‘mind sets’ Not always all required. –Chapters 4-7 cover these in detail: façade, filled, focused, and finished. –Various authors use different ‘names’ for the evolution of use cases.

4 Use Case - Driven u The Use Case model is at the conceptual center of the entire approach because it drives everything else that follows. –Developed in conjunction with Domain Model –Drives Analysis Model (preliminary design) –Drives Interaction diagrams – 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.

5 Use Cases: u Use Cases are sequences of actions that an actor (usually a person, but perhaps 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 Document Use Cases via Use Case Narrative or Use Case Description - Scenarios

6 Early Deliverables u Most efforts start with Business Modeling and capturing the Domain via Domain Modeling, Glossary, and associated artifacts most of which come from the Domain Modeling Discipline. u Related artifacts include: –Risk Analysis –Business Rules –Vision Statements –Environmental Constraints and more… u There are a number of approaches… u Most uses cases are defined during the same iteration u But they are developed via iterations that provide increasing levels of detail – required to drive the entire development process.

7 Statement of Work u 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 (p.57) for details. u It is generally more than just bullets – can be bullets, but should have more ‘assignment’ details… u I call the Statement of Work the Anticipated Deliverables. But Statement of Work is a more universally-accepted term.

8 Risk Analysis u A list of risks that may impact the successful development of the application. u Prioritized 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 in each deliverable in the SOW – particularly early on in the project.

9 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 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.

10 More 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 See Use Case textbook, Table 3.3, p. 61 for examples.

11 Prototype u Mock-up of user interface. 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 Demonstration is great for locking in presentation aspects of requirements with users u After closure on screens, this greatly facilitates developing Use Cases that ‘realize’ descriptions of the interface just demonstrated. u Also greatly facilitates identification of objects (along with Use Cases) for our analysis modeling effort (preliminary design).

12 Prototype u Prototype can be simple. u Generic symbols (buttons may later become drop down menu….) u Can be boxes within boxes. 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!!

13 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!!

14 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 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 more.

15 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 has several steps before responding to the user, this is a tip off that we are undertaking too much designing…STOP! u These are still the WHATS of the application!