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.

Slides:



Advertisements
Similar presentations
Deliverable #8: Detailed Design - Overview due: Wednesday, 7 March All Deliverable materials are to be posted into Team Concert. Your to.
Advertisements

CS3773 Software Engineering Lecture 01 Introduction.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
1 Software Requirement Analysis Deployment Package for the Basic Profile Version 0.1, January 11th 2008.
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Introduction to Software Engineering Dr. Basem Alkazemi
171 Use Case Descriptions Chapter 4 – Facade Iteration Initial Requirements (Inception Phase)
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
SDLC and Related Methodologies
Recall The Team Skills Analyzing the Problem
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.
NJIT Inception is not the Requirements Phase Chapter 4 Applying UML and Patterns Craig Larman.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Object Oriented Analysis and Design Using the UML
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 RUP Architecture.
Business Modeling Domain Modeling Source: Use Case Driven Object Modeling with UML – A Practical Approach By Doug Rosenberg ISBN:
1 A Use Case-Driven Approach to Requirements Gathering Materials gathered from chapter title (above) – Kulak and Guiney and Use Case Driven Object Modeling.
What is Business Analysis Planning & Monitoring?
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7 Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Chapter 4 Requirements Engineering
S/W Project Management
Chapter 2: Approaches to System Development
RUP Requirements RUP Artifacts and Deliverables
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.
INFO415 An overview of systems development
Use Cases College of Alameda Copyright © 2007 Patrick McDermott.
Rational Unified Process (Part 1) CS3300 Fall 2015.
Software Project Planning CS470. What is Planning? Phases of a project can be mostly predicted Planning is the process of estimating the time and resources.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
Systems Analysis and Design in a Changing World, 6th Edition
Business Systems Development SDLC and introduction to the Microsoft Solutions Framework Team and Process Models.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
17 1 Use Case Descriptions Chapter 4 – Facade Iteration Requirements Inception Phase.
1 The Trouble with Requirements From Use Cases – Requirements in Context Second Edition.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
INFO 637Lecture #51 Software Engineering Process II Defining Requirements INFO 637 Glenn Booker.
Approaching a Problem Where do we start? How do we proceed?
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
The Systems Development Life Cycle
Software Engineering Saeed Akhtar The University of Lahore Lecture 6 Originally shared for: mashhoood.webs.com.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Project Deliverables Version 1: 08/30/2005 Note: This document contains the deliverables for a two semester course. These items WILL change as the courses.
UML-1 8. Capturing Requirements and Use Case Model.
Systems Analysis and Design in a Changing World, Fourth Edition
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.
Team Skill 6: Building the Right System Assessing Requirements Quality (29)
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
Software Engineering Principles Practical Advice and Steps for Managing Your Project.
Team Skill 3: Defining the System The Vision Document (16) 1.
Project Deliverables Version 3: 10/04/2006 Deliverable 3 Added.
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
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
 System Requirement Specification and System Planning.
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.
Process 4 Hours.
CMPE 280 Web UI Design and Development August 29 Class Meeting
Requirements Elicitation and Elaboration
Chapter 2 – Software Processes
Requirements gathering
Presentation transcript:

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 – Doug Rosenburg and other personal notes.

2/ 12 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/ 12 Approaching Function Requirements u Many think the Requirements Specification (Software Requirements Specification – SRS in the RUP) this is the first document. It really isn’t! u For the Business: Only if the business analysis (business case) is well defined, the business environment, business vision, a domain model, business rules, risks, information pertinent to the organization, stakeholders, etc. are defined and understood, can we proceed to identify requirements for an application. –All the organizational parameters: technologies available, environmental constraints, organization’s vision, mission, values, etc. are captured along with a strong modeling of the organization and its information structures (domain), etc. can we proceed into capturing the details of requirements. u For the Application: When the stakeholder needs for an application are known – and captured by business analysts, and only when the systems analyst takes these high level needs and converts them into ‘features’ to be accommodated by an application, - then, and only then can we proceed into capturing the real, detailed functional and non-functional requirements. At this time, requirements are very high level and abstract.

4/ 12 Statement of Work u Prior to the real beginnings of the application development, a Statement of Work (or similarly entitled document) is developed. 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. –Sometimes we have a DPP (a Data Project Plan – WHAT is going to be done, schedule, etc.) and a DPD (Data Project Directive – who is going to do what.) –Sometimes this is all called the Software Development Plan (RUP) 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…

5/ 12 A Couple of Terms u Some initial key roles: –Business Analyst: Captures the Needs of the business from a variety of stakeholder perspectives. –These needs may be many and may not lend themselves to automated solution. –Systems Analyst: Translates these Needs into Features that can be accommodated by an application (s).

6/ 12 Side note: Hundreds of Other Methodologies u Many and varied. u All meet needs for different types, sizes, complexities of applications. u Lightweight versus Heavyweight Processes (methodologies) u Lightweight - Many –Scrum, Extreme Programming, Agile Processes –Working Software > documentation; heavy user involvement, smaller teams, … u Heavy-weight methodologies - Many –SDLC, RUP, Spiral, Others… –Plan-driven, larger teams & projects, more effort on formalizing design, more modeling, … u Some have features of both; mot mutually exclusive…

7/ 12 Requirements Evolve… u Requirements evolve from the abstract to the very concrete... –Requirements may well arise (should be!!!) derived from a variety of stakeholders to avoid biases!!!! –When undergoing capture and development, Requirements will change frequently due to reliance on other peoples ideas about the application. –Even when you have them, you probably don’t. –It is likely they are incomplete. Only be detailed and locked in when starting a specific iteration, such as in Construction. –We will use tools and a lot of work…

8/ 12 Capture Requirements: Use Cases Our tool… u  The Use Case model is at the conceptual center of the entire approach because it drives everything else that follows. –Should follow the existence of a good, solid domain model and identification of features the application is to accommodate. –Use Case development drives Analysis (preliminary design) –Drives Design Modeling – refine analysis model into a detailed design model using objects identified in creating the analysis model. –Drives Testing! –  Requirements Tracing – involves tracing features to specific interactions via use cases. (Needs to Features to Use Cases to Analysis Modeling elements to …) u Use Cases drive entire development effort. Much more later… u Discuss. Definition of the RUP!!

9/ 12 Use Cases u Use Cases are sequences of actions that an actor (usually a person, but certainly can be an external entity like another external system or a device) performs with an expectation of achieving a particular result; gets value. u Always use present tense very in active voice. VERB…OBJECT in naming a Use-Case: Maintain User Status, Generate xxx. u Model Requirements: –Use Case Diagrams –Use Case Specifications u Diagram is only a graphical model associating Use Cases with actors. u  Capture Use Cases (that is, the interactions) via Use Case Narrative (Use Case ‘Scripts’) (Use Case Specifications)

10/ 12 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 to understand end-user requirements 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.

11/ 12 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 much 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 Specification Document… u Good for ensuring requirements traceability – because they are used for design, testing, construction, delivery, and...

12/ 12 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!