Requirements and Use Cases

Slides:



Advertisements
Similar presentations
Requirements Elicitation and Use Case Diagrams
Advertisements

IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Karolina Muszyńska Based on:
Chapters 7 & 9 System Scope
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
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.
CT1404 Lecture 2 Requirement Engineering and Use Cases 1.
Use-case Modeling.
Documenting Requirements using Use Case Diagrams
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Software Requirements
The Use of Zachman Framework Primitives for Enterprise Modeling
Overview of Software Requirements
SE 555 – Software Requirements & Specifications Introduction
Software Requirements and the Requirements Engineering Process Chapters 5 and 6.
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
Course Instructor: Aisha Azeem
Requirement engineering for an online bookstore system
USE Case Model.
Model-Driven User Requirements Specification using SysML Authors: Michel dos Santos Soares, Jos Vrancken Source: Journal of Software(JSW), Vol. 3, No.
Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.
RUP Requirements RUP Artifacts and Deliverables
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Requirements Analysis
These slides are designed to accompany Web Engineering: A Practitioner’s Approach (The McGraw-Hill Companies, Inc.) by Roger Pressman and David Lowe, copyright.
Chapter 7 Structuring System Process Requirements
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
1 Objectives  Describe design constraints.  Identify methods of specifying functional requirements.  Describe techniques for writing and structuring.
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.
Modelling Class T03 Requirements Engineering References: –Conceptual Modeling of Information Systems (Section 1.4) –Nuseibeh, B. and Easterbrook, S
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
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.
Conceptual Modelling – Behaviour
Systems Analysis and Design in a Changing World, 3rd Edition
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
® 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.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Object Oriented Analysis & Design & UML (Unified Modeling Language) 1 Part II: Requirements The requirements workflow Use case modeling Advanced.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
Systems Analysis and Design in a Changing World, 6th Edition
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Modelling Class T07 Conceptual Modelling – Behaviour References: –Conceptual Modeling of Information Systems (Chapters 11, 12, 13 and 14)
Systems Analysis and Design in a Changing World, Fourth Edition
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 32. Review Behavioral Patterns – Observer Pattern – Chain of command.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Refining the Use Cases 1. How Use Cases Evolve  Early efforts typically define most of the major use cases.  The refining stages complete the process.
Software Engineering Lecture 10: System Engineering.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
2009 copyright Leslie Munday University Requirements Management and Traceability For IIBA By Leslie Munday.
1 After the scenarios are formulated Find all the use cases in the scenario Describe each of these use cases in more detail Participating actors Describe.
George Wang, Ph.D. COMP 380/L Lesson 2. Use Case Use cases are a way to capture system functionalities (i.e., functional requirements) Based on use case.
1 Software Requirements Descriptions and specifications of a system.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Systems Analysis and Design in a Changing World, Fourth Edition
UML Diagrams: Class Diagrams The Static Analysis Model
Software Requirements and the Requirements Engineering Process
Chapter 5 System modeling
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
Chapter 5 – System Modeling
Copyright © 2015, 2012, 2009 Elsevier Inc. All rights reserved.
Presentation transcript:

Requirements and Use Cases Modelling Class T04 Requirements and Use Cases References: http://www.sysml.org http://www.omg.org

UML and SysML Modelação

UML – An overview… Modelação

SysML – An overview… Modelação

A Context Diagram (example for a HybridSUV system) Modelação

Use Cases Use cases describes an interaction between the system and other external entity (an actor). The description must be provided from the point of view of the actor! Therefore it describes "who" can do or is affected by "what" with or from the system. The use case technique is used to elicit functional requirements by relating them with usage/behavioral scenarios. In a document requirements the use cases can be presented before the lists of requirements, as they can provide good glimpses… Use cases are also useful to make the bridge between the requirements documenting and the modeling of the detailed systems’ behavior Modelação

High level use cases Modelação

High level use cases Use Cases Actors Modelação

High level use cases These actors might be the same object, but conceptually we must consider them independents Modelação

Casos de Uso: Example of a template Name UC-8: Search Summary All occurrences of a search term are replaced with replacement text. Rationale While editing a document, many users find that there is text somewhere in the file being edited that needs to be replaced, but searching for it manually by looking through the entire document is time-consuming and ineffective. The search-and-replace function allows the user to find it automatically and replace it with specified text. Sometimes this term is repeated in many places and needs to be replaced. Other times, only the first occurrence should be replaced. The user may also wish to simply find the location of that text without replacing it. Users All users Preconditions A document is loaded and being edited. Basic Course of Events The user indicates that the software is to perform a search-and-replace in the document. The software responds by requesting the search term and the replacement text. The user inputs the search term and replacement text and indicates that all occurrences are to be replaced. The software replaces all occurrences of the search term with the replacement text. Alternative Paths In step 3, the user indicates that only the first occurrence is to be replaced. In this case, the software finds the first occurrence of the search term in the document being edited and replaces it with the replacement text. The postcondition state is identical, except only the first occurrence is replaced, and the replacement text is highlighted. In step 3, the user indicates that the software is only to search and not replace, and does not specify replacement text. In this case, the software highlights the first occurrence of the search term and the use case ends. The user may decide to abort the search-and-replace operation at any time during steps 1, 2 or 3. In this case, the software returns to the precondition state. Postconditions All occurrences of the search term have been replaced with the replacement text. Modelação

Driver’s use cases Modelação

Driver’s use cases Modelação

Driver’s use cases Complex use cases can be detailed in other diagrams… Modelação

SysML – An overview… Modelação

Requirements and Stakeholders A requirement specifies a capability or condition that must (or should) be satisfied.. A requirement may specify a function that a system must perform or a performance condition that a system must satisfy. Requirements are used to establish a contract between the customer (or other stakeholder) and those responsible for designing and implementing the system. Stakeholders Anybody involved in the system’s lifecycle (analysis, design, development, maintenance, …) Anybody else who, directly or indirectly, may impose requirements for the system (business owner, user, …) Modelação

Types of requirements Functional Requirements (FR) The specification of a function of the system or its components. It must refer a behaviour of the system! Non-Functional Requirements (NFR) It must refer how the system must behave. Examples of non-functional requirements: Performance; Scalability; Availability; Reliability; Maintainability; Serviceability; Security; Regulatory; Manageability; Usability; Interoperability Modelação

Requirements specification Modelação

Requirements derivation Modelação

Requirements in the Enterprise Architect… VERY IMPORTANT: Be aware that EA tool supports requirements diagrams as formal SysML Requirements Diagrams or as informal requirements diagrams as extensions to UML Modelação

Requirements containment The containment (cross hair) relationship refers to the practice of decomposing a complex requirement into simpler, single requirements. Modelação

Copy relationship A Copy relationship is a dependency between a supplier requirement and a client requirement that specifies that the text of the client requirement is a read-only copy of the text of the supplier requirement. A Copy dependency created between two requirements maintains a master/slave relationship between the two elements for the purpose of requirements re-use in different contexts. When a Copy dependency exists between two requirements, the requirement text of the client requirement is a read-only copy of the requirement text of the requirement at the supplier end of the dependency. Modelação

Callout relationship (notes) A callout notation can be used to represent derive, satisfy, verify, refine, copy, and trace relationships… Modelação

DeriveReqt relationship A DeriveReqt relationship is a dependency between two requirements in which a client requirement can be derived from the supplier requirement. For example, a system requirement may be derived from a business need, or lower-level requirements may be derived from a system requirement. As with other dependencies, the arrow direction points from the derived (client) requirement to the (supplier) requirement from which it is derived. Modelação

Verify relationship A Verify relationship is a dependency between a requirement and a test case or other model element that can determine whether a system fulfills the requirement. Modelação

Satisfy relationship A Satisfy relationship is a dependency between a requirement and a model element that fulfills the requirement. Modelação

Refine relationship The refine requirement relationship can be used to describe how a model element or set of elements can be used to further refine a requirement. For example, a use case or activity diagram may be used to refine a text-based functional requirement. Alternatively, it may be used to show how a text-based requirement refines a model element. In this case, some elaborated text could be used to refine a less fine-grained model element Modelação

Trace relationship A generic trace requirement relationship provides a general-purpose relationship between a requirement and any other model element. The semantics of trace include no real constraints and therefore are quite weak. As a result, it is recommended that the trace relationship not be used in conjunction with the other requirements relationship... Modelação

Relating requirements with other elements Modelação

Use Cases Modelação

Use cases and requirements Modelação

Traceability in the Enterprise Architect tool A fundamental technique in modelling to relate decisions with their origin or implications Traceability in the Enterprise Architect tool Traceability Diagrams Relationship Matrix Modelação