IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.

Slides:



Advertisements
Similar presentations
Team Skill 5: Refining the Use Cases Lecture 11. Advantages of Use Cases They are easy to write Written in users language Provide cohesive, related threads.
Advertisements

Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Object-Oriented Analysis and Design
Introduction to Software Engineering Dr. Basem Alkazemi
Use-case Modeling.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Introduction to Software Engineering
Software Requirements
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
The Use of Zachman Framework Primitives for Enterprise Modeling
Bina Nusantara 7 C H A P T E R MODELING SYSTEM REQUIREMENTS WITH USE CASES.
SE 555 Software Requirements & Specification Requirements Validation.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Rose-Hulman Institute of Technology Sriram Mohan 18.September.2008 CSSE 497 Requirements Review.
SE 555 – Software Requirements & Specifications Introduction
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
Chapter 7: The Object-Oriented Approach to Requirements
USE Case Model.
The Software Development Life Cycle: An Overview
RUP Requirements RUP Artifacts and Deliverables
UML - Development Process 1 Software Development Process Using UML (2)
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Chapter 4 – Requirements Engineering
Business Analysis and Essential Competencies
From Use Cases to Test Cases 1. A Tester’s Perspective  Without use cases testers will approach the system to be tested as a “black box”. “What, exactly,
Object-Oriented Analysis and Design An Introduction.
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.
Software Requirements (Advanced Topics) “Walking on water and developing software from a specification are easy if both are frozen.” --Edward V Berard.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
Approaching a Problem Where do we start? How do we proceed?
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
UML-1 3. Capturing Requirements and Use Case Model.
UML-1 8. Capturing Requirements and Use Case Model.
® 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.
2131 Structured System Analysis and Design By Germaine Cheung Hong Kong Computer Institute Lecture 8 (Chapter 7) MODELING SYSTEM REQUIREMENTS WITH USE.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
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 ++
Rational Unified Process Fundamentals Module 3: Disciplines I.
Slide 1 CS 310 Ch 6: Software Requirements Requirements engineering: establishing the services that the customer requires from a system and the constraints.
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Use Case Textual Analysis
Winter 2007SEG2101 Chapter 31 Chapter 3 Requirements Specifications.
Prof. Hany H. Ammar, CSEE, WVU, and
UML - Development Process 1 Software Development Process Using UML.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
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, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
Course: Software Engineering – Design I IntroductionSlide Number 1 What is a specification Description of a (computer) system, which:  is precise;  defines.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
High Level Design Use Case Textual Analysis SE-2030 Dr. Mark L. Hornick 1.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Requirement Specification SRS document is a contract between the development team and the customer How do we communicate the Requirements to others? Firm.
1 Software Requirements Descriptions and specifications of a system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
 System Requirement Specification and System Planning.
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.
Chapter 4 – Requirements Engineering
An Overview of Requirements Engineering Tools and Methodologies*
Classifications of Software Requirements
Chapter 4 – Requirements Engineering
Lecture # 7 System Requirements
Use Case Modeling Part of the unified modeling language (U M L)
Software Development Process Using UML Recap
Presentation transcript:

IT Requirements Capture Process

Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We wanted to show that use cases and shall- statement requirements can be applied synergistically.

Traditional requirement specs Requirements are documented as distinct, textual statements of imperative –Usually using “shall-statement” notation Typically organized by functional area Requirements are structured into parent-child relationships to facilitate requirement decomposition and derivation

Traditional specs, strengths Allows for very precise wording Straightforward “sign off” of capabilities during testing –Important for defense contracts Requirements easily captured in a tool (e.g., database) Widely known and accepted, especially in the defense industry

Traditional specs, weaknesses Often become very long and tedious –Increases chance of ambiguity –Hard to comprehend the entire set –Difficult to review with customers Little context to each requirement –Typically nothing that “ties” requirements together into a comprehensive story

Use cases Originated in the software industry Focus: “What does my system have to do for each user type” Describes system functionality through structured narrative stories Provides light graphical modeling via UML use case diagrams

Use cases A use case is an abstraction of a required behavior of a system. A use case produces an observable result of value to the user. A typical system will have many use cases each of which satisfies a goal of a particular user. Each use case describes a sequence of interactions between one or more actors and the system. A use case narrative is written in a natural language. It is written as a sequence of numbered steps with a main success scenario and alternate flows. This sequence of interactions is contained in a use case report and the relationships between the system and its actors are portrayed in use case diagrams.

Use cases, strengths Simple concept Easy to comprehend and follow –Contingent on writing skill, of course! User focused – ensures that you consider how the system supports its environment Easy to review with non-technical stakeholders

Use cases, weaknesses Lack precision –Use cases feel vague Relatively hard to document and organize lots of necessary details Use cases are not fully accepted Hard to definitively “sign off” a use case for acceptance testing

Two requirements specification methods Shall-Statement Requirements –Precise and widely accepted but specs are typically long and hard to comprehend as a set Use Cases –Simple and ensure the system satisfies user needs but are less precise and hard to formally test

The starting point Capture non-functional requirements in shall- statement form directly in use case report Use a “supplementary specification” to capture global non-functional requirements

An Adaptive Process The new part.

An Adaptive process that combines traditional requirements and use cases Develop a business model Discover the actors and their goals Sketch out the use case reports Iterate on the architecturally significant use cases  Extract the functional requirements from each use case's Brief Description, Added Value and Flow of Events and document them in the Specific Requirements Sections Document the nonfunctional requirements in the Specific Requirements Sections Iterate on the use case set to ensure consistency and completeness Develop a Supplementary Requirements Specification to capture system-wide requirements that do not fit into individual use case reports.

Uses of process output With the shall-statement requirements a traditional requirements spec can be easily created –Requirements are based on use cases – good traceability to user goals –Can be stored in a database Can build formal tests for each use case –Sign off shall-statements Specific requirements section used to document details –Data requirements –User Interface preferences –Constraints These details clutter scenario narrative

Requirements and use cases Specific Requirements –Functional requirements state, in formal shall statement notation, the functions that the system must execute. –Nonfunctional requirements are often performance requirements that specify how well the system must execute certain functions. Supplementary Requirements Specification contains the requirements that are associated with more than one use case. Often they are system wide. Examples include cost, schedule, reliability, availability, technology, design life, etc.

Goals versus requirements The Mission Statement, Concept of Operations and Business Model contain goals, objectives, capabilities, features, constraints and top-level functions. Formal requirements are contained in –Specific Requirements Sections of the Use Cases –Supplementary Requirements Specification –Traditional Requirements Specification

Rating the requirements methods * 1= poor, 3= good

Critique of the process A problem with the these Processed is that it produces specific, low-level, design requirements. We do not know if these can be abstracted to high- level customer requirements. The Brief Description and Added Value slots of the use case might provide high-level requirements. We need examples of using the process with business use cases.

Summary The process derive statement requirements from the use case sequence of events. These functional requirements are put in the Specific Requirements section of the use case report. These functional requirements can then be put into a requirements database to support traditional specs and tracing.