Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.

Slides:



Advertisements
Similar presentations
Writing Good Use Cases - Instructor Notes
Advertisements

OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 3: Requirements Overview Module 3 - Requirements Overview.
Use Case Diagrams Damian Gordon.
Use Case & Use Case Diagram
Chapter 3 Understanding Requirements
Gerhard Dueck -- CS3013Capturing Requirements as Use Cases 1 Capturing the Requirements as use Cases  Requirements Description  We need to describe –The.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Conversation Form l One path through a use case that emphasizes interactions between an actor and the system l Can show optional and repeated actions l.
Use-case Modeling.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
SwE 313 Case Study Registration System.
Close Registration Brief Description
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process.
Copyright ©2004 Cezary Z Janikow 1 Use Cases n Within Requirements discipline/workflow n Verbal descriptions of important functional (behavioral, transactional,
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
1 Business Models Modeling. 2 Why Model the Business Business modeling is a technique to help answer critical questions, such as: What do the workers.
Object Oriented Analysis and Design Using the UML
USE Case Model.
RUP Requirements RUP Artifacts and Deliverables
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Project Analysis Course ( ) Week 2 Activities.
Object-Oriented Analysis - Instructor Notes
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
1 Objectives  Describe design constraints.  Identify methods of specifying functional requirements.  Describe techniques for writing and structuring.
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
1 Source: IBM Academic Program IBM Software Group ® Mastering Requirements Management with Use Cases Module 3: Introduction to Use-Case Modeling.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
1 Objectives  Define key concepts of use-case modeling.  List the benefits of use-case modeling.  Find actors and use cases.  Describe their relationships.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
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.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Requirements Overview.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
Writing Good Use Cases Outlining Use Cases. Process of writing use cases Find actors Find use cases Outline a use case Detail a use case  Outline the.
CSC 131 Fall 2006 Lecture # 5 UML Use Cases. UML The UML is a graphical language for  specifying  visualizing  constructing  documenting the artifacts.
Use Case Model Use case diagram.
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
1 The Unified Modeling Language. 2 The Unified Modeling Language (UML) is a standard language for writing software blueprints. The UML may be used to.
Rational Unified Process Fundamentals Module 3: Disciplines I.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Use Case Model Use case diagram. Relevant Requirements Artifacts Use-Case Model Supplementary Specification Use-Case Specifications... Glossary Actors.
Requirements Management with Use Cases Module 9: Requirements Across The Product Lifecycle Requirements Management with Use Cases Module 9: Requirements.
1 IBM Software Group ® Essentials of Visual Modeling with UML 2.0 Module 5: Interaction Diagrams.
Introduction to Rational Unified Process
Essentials of Visual Modeling w/ UML Instructor Notes
Winter 2007SEG2101 Chapter 31 Chapter 3 Requirements Specifications.
UML Activity Diagrams.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 3: Outlining Use Cases.
UML - Development Process 1 Software Development Process Using UML.
Use Case Model Use case description.
Requirement Discipline Spring 2006/1385 Semester 1.
UC Diagram & Scenario RKPL C & D. Using Use Case Diagram Use case diagrams are used to visualize, specify, construct, and document the (intended) behavior.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1 Use Case Analysis – Part 4 Analysis Mechanisms.
Chapter 4: Business Process and Functional Modeling, continued
Chapter 5 유스케이스 개요 Introduction to Use Cases
Recall The Team Skills Analyzing the Problem (with 5 steps)
Business Models Modeling.
Use Case Model Use case diagram.
UML Activity Diagrams.
Using Use Case Diagrams
Presentation transcript:

Requirements Artifacts Precursor to A & D

Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis and Design  Understand how to read and interpret the artifacts of Requirements that are used as a starting point for Analysis and Design

Requirements Overview Topics  Introduction  Key Concepts  Use-Case Model  Glossary  Checkpoints

Requirements in Context Management Environment Test Analysis & Design Preliminary Iteration(s) Iter. #1 Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Configuration & Change Mgmt Requirements ElaborationTransitionInceptionConstruction The purpose of Requirements is:  To establish and maintain agreement with the customers and other stakeholders on what the system should do.  To give system developers a better understanding of the requirements of the system.  To delimit the system.  To provide a basis for planning the technical contents of the iterations.  To provide a basis for estimating cost and time to develop the system.  To define a user interface of the system.

Relevant Requirements Artifacts Supplementary Specification Glossary Use-Case Specifications... Use-Case Model Actors Use Cases

Requirements Overview Topics  Introduction  Key Concepts  Use-Case Model  Glossary  Checkpoints

What Is System Behavior?  System behavior is how a system acts and reacts.  It is the outwardly visible and testable activity of a system  System behavior is captured in use cases.  Use cases describe the system, its environment, and the relationship between the system and its environment.

Major Concepts in Use-Case Modeling  An actor represents anything that interacts with the system.  A use case is a sequence of actions a system performs that yields an observable result of value to a particular actor. Use Case Actor

Requirements Overview Topics  Introduction  Key Concepts  Use-Case Model  Glossary  Checkpoints

What Is a Use-Case Model?  A model that describes a system’s functional requirements in terms of use cases  A model of the system’s intended functionality (use cases) and its environment (actors)  Example:  Online Student Services Student View Report Card Register for Courses Login

What Are the Benefits of a Use-Case Model?  Used to communicate with the end users and domain experts  Provides buy-in at an early stage of system development  Insures a mutual understanding of the requirements  Used to identify  Who interacts with the system and what the system should do  The interfaces the system should have  Used to verify  All requirements have been captured  The development team understands the requirements

How Would You Read This Diagram? Course Catalog Register for Courses Student

Use-Case Specifications - Again  Name  Brief description  Flows of Events  Relationships  Activity diagrams  Use-Case diagrams  Special requirements  Pre-conditions  Post-conditions  Other diagrams Use-Case Specifications... Use-Case Model Actors Use Cases

Use-Case Flow of Events  Has one normal, basic flow  Several alternative flows  Regular variants  Odd cases  Exceptional flows handling error situations

What Are Scenarios ?  A scenario is an instance of a use case  one possible route thru the use case Ordinary Odd case canOrdinary case lead to failurewith possible failure

What Is an Activity Diagram?  An activity diagram in the use-case model can be used to capture the activities in a use case.  It is essentially a flow chart, showing flow of control from activity to activity. Flow of Events This use case starts when the Registrar requests that the system close registration. 1. The system checks to see if registration is in progress. If it is, then a message is displayed to the Registrar and the use case terminates. The Close Registration processing cannot be performed if registration is in progress. 2. For each course offering, the system checks if a professor has signed up to teach the course offering and at least three students have registered. If so, the system commits the course offering for each schedule that contains it.

Select Course Check Schedule Check Pre - requisites Assign to course Resolve conflicts Update schedule [ student added to the course ] [ add course ] Delete Course [ delete course ] [ checks completed ] [ checks failed ] Example: Activity Diagram Activity State Synchronization Bar (Fork) Guard Condition Synchronization Bar (Join) Decision Concurrent threads Transition

Requirements Overview Topics  Introduction  Key Concepts  Use-Case Model  Glossary  Checkpoints

Glossary Course Registration System Glossary 1. Introduction This document is used to define terminology specific to the problem domain, explaining terms, which may be unfamiliar to the reader of the use-case descriptions or other project documents. Often, this document can be used as an informal data dictionary, capturing data definitions so that use-case descriptions and other project documents can focus on what the system must do with the information. 2. Definitions The glossary contains the working definitions for the key concepts in the Course Registration System. 2.1 Course: A class offered by the university. 2.2 Course Offering: A specific delivery of the course for a specific semester – you could run the same course in parallel sessions in the semester. Includes the days of the week and times it is offered. 2.3 Course Catalog: The unabridged catalog of all courses offered by the university.

Requirements Overview Topics  Introduction  Key Concepts  Use-Case Model  Glossary  Checkpoints

Checkpoints: Requirements: Use-Case Model  Is the use-case model understandable?  By studying the use-case model, can you form a clear idea of the system's functions and how they are related?  Have all functional requirements been met?  Does the use-case model contain any superfluous behavior?  Is the division of the model into use-case packages appropriate?

Checkpoints: Requirements: Actors  Have all the actors been identified?  Is each actor involved with at least one use case?  Is each actor really a role? Should any be merged or split?  Do two actors play the same role in relation to a use case?  Do the actors have intuitive and descriptive names? Can both users and customers understand the names?

Checkpoints: Requirements: Use-Cases  Is each use case involved with at least one actor?  Is each use case independent of the others?  Do any use cases have very similar behaviors or flows of events?  Do the use cases have unique, intuitive, and explanatory names so that they cannot be mixed up at a later stage?  Do customers and users alike understand the names and descriptions of the use cases?

Checkpoints: Requirements: Use-Case Specifications  Is it clear who wishes to perform a use- case?  Is the purpose of the use-case also clear?  Does the brief description give a true picture of the use-case?  Is it clear how and when the use-case's flow of events starts and ends?  Does the communication sequence between actor and use-case conform to the user's expectations?  Are the actor interactions and exchanged information clear?  Are any use-cases overly complex?

Checkpoints: Requirements: Glossary  Does each term have a clear and concise definition?  Is each glossary term included somewhere in the use-case descriptions?  Are terms used consistently in the brief descriptions of actors and use cases?