Gerhard Dueck -- CS3013Requirements Capture 1  From Vision to Requirements  Why it is difficult?  Developers are not users  Inadequate requirements.

Slides:



Advertisements
Similar presentations
Chapter 05: Evolutionary Requirements Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.
Advertisements

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
Gerhard Dueck -- CS3013Capturing Requirements as Use Cases 1 Capturing the Requirements as use Cases  Requirements Description  We need to describe –The.
Use-case Modeling.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Requirements Specification
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
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.
Overview of Software Requirements
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.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Object Oriented Analysis and Design Using the UML
Slide 1 Requirements Workflow. Slide 2 The Phases/Workflows of the Unified Process Figure 3.1 l Phase is Business context of a step Workflow is Technical.
RUP Requirements RUP Artifacts and Deliverables
Overview of the Database Development Process
1 Objectives  Describe design constraints.  Identify methods of specifying functional requirements.  Describe techniques for writing and structuring.
Chapter – 6. Requirements Capture - Difficult A System has many Users. Each of them know what to do but no one knows the entire picture. Users do not.
Business Analysis and Essential Competencies
Software Engineering Chapter 8 Fall Analysis Extension of use cases, use cases are converted into a more formal description of the system.Extension.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Object Oriented.
Software Requirements Engineering CSE 305 Lecture-2.
[ §3 : 1 ] 2. Life-Cycle Perspective Overview 2.1 Motivation 2.2 Waterfall Model 2.3 Requirements in Context.
2/6/01D-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Using PARTS to Illustrate Requirements Concepts.
Object-Oriented Analysis and Design An Introduction.
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.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
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?
Chapter 7 Applying UML and Patterns Craig Larman
FFMII Introduction Juha Tiihonen Refer to FFMII Specification for details and explanations 1.
Lecture 7: Requirements Engineering
CS 4310: Software Engineering Lecture 4 System Modeling The Analysis Stage.
1 Introduction to Software Engineering Lecture 1.
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.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
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.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
Requirements Engineering for Web Applications. SR: System Vision Document Written by key stakeholders Written by key stakeholders An executive summary.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Business Modeling and Analysis
Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer.
Gerhard Dueck -- CS3013Analysis 1. Gerhard Dueck -- CS3013Analysis 2 Why analysis?  Yield a more precise specification of the requirements.  Introduce.
Requirement Discipline Spring 2006/1385 Semester 1.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
 System Requirement Specification and System Planning.
Today in OOAD Today in Lab Review EU-Lease Assignment (Vision)
CSC480 Software Engineering
CS 790M Project preparation (I)
Chapter 3: The Requirements Workflow
Unified Modeling Language
Product Life cycle (RUP)
Business Modeling - Domain Analysis
CS 426 CS 791z Topics on Software Engineering
CS 426 CS 791z Topics on Software Engineering
Presentation transcript:

Gerhard Dueck -- CS3013Requirements Capture 1  From Vision to Requirements  Why it is difficult?  Developers are not users  Inadequate requirements information from users –Individual types of users may have their individual requirements, but not the overall system requirements –Users do not know what a software system can do or cannot do –Users do not know performance issues of required operations.

Gerhard Dueck -- CS3013Requirements Capture 2  Traditional approach ==> assign analysts to record the requirements  Even with analysts users did not (fully) understand the software until it was completed  Problem: the analyst specification may not be readily transformed into software  Requirements capture remains difficult!

Gerhard Dueck -- CS3013Requirements Capture 3  The purpose of the requirements workflow  Purpose: to aim development toward the right system.  How: describing the system requirements well enough so that an agreement can be reached between the customers (purchasers and users) and the system developers on what the system should and should not do.  Language: the language of the customer

Gerhard Dueck -- CS3013Requirements Capture 4 Overview of Requirements Capture  Start with a business model (may already exist)  Next develop a domain model  Sometimes we only have “vague notion”  Eg p. 113 (USDP)

Gerhard Dueck -- CS3013Requirements Capture 5 List candidate requirements by feature list  Name  Definition  Status (proposed, approved, incorporated, validated)  Estimated cost to implement (resource type and man-hours)  Priority (critical, important, ancillary)  Associated level of risks in implementing the feature (critical, significant, ordinary)

Gerhard Dueck -- CS3013Requirements Capture 6 Understand system context  Domain modeling –A domain model describes the important concepts of the context as domain objects –Identifying and naming these objects helps us develop a glossary of terms that will enable everyone who is working on the system to communicate better –Helps to identify classes (later)  Business modeling –A business model describes the (existing or perceived) processes of the business of which the software system to be developed will be a part

Gerhard Dueck -- CS3013Requirements Capture 7 Capture functional requirements  Uses cases  User interface prototypes

Gerhard Dueck -- CS3013Requirements Capture 8 Capture nonfunctional requirements  What are nonfunctional requirements: –Environmental and implementation constraints –Reliability: availability, accuracy, failure mean time, defects per k-lines/class. –Performance: speed, throughput, response time, memory usage. –Platform dependencies –Maintainability –Extendibility  Eg. p. 116  How to specify nonfunctional requirements –Use cases with tagged values

Gerhard Dueck -- CS3013Requirements Capture 9 Resulting artifacts of workflow

Gerhard Dueck -- CS3013Requirements Capture 10 Understanding the system context using a domain model  A domain model consists of domain objects and their relationships  A domain object represents a thing that exists or event that transpires in environment in which the system works  Types of domain objects: –Business objects: orders, accounts, contracts, … –Real-world objects: cars, trucks, buildings, … –Events (transpired or future): bus arrival, bus departure, dinner, …

Gerhard Dueck -- CS3013Requirements Capture 11 Eg. p. 120

Gerhard Dueck -- CS3013Requirements Capture 12 Developing a domain model  Who should do it: –Workshop with domain experts, domain analysts and modeler  How many classes in a domain model? –Modest-sized: classes  Simple domain model: glossary of terms  What should be modeled? –The context of the system to be developed, not the system itself –Don’t give too much detail

Gerhard Dueck -- CS3013Requirements Capture 13 Understanding the system context using a business model  What is a business model?  A business model consists of a business use case model and a business object model.  Business use case model –describes the business process of a company in terms of business use cases and business actors corresponding to business processes and customers. –presents a business system from the usage perspective and outline how it provides value to it users (customers and partners).  Business object model –An interior model of a business –It describes how each business use case is realized by a set of workers who are using a set of business entities and work units, using interaction and activity diagrams.

Gerhard Dueck -- CS3013Requirements Capture 14 Fif. 6.4 p. 124

Gerhard Dueck -- CS3013Requirements Capture 15 How to develop a business model  Step 1: Build a business use case model  Step 2: Build an object model for each business use case  Find use cases of the (software) system from a business model –Identify an actor for every worker and business actor (i.e. customer of the business), who will become a user or actor of the system –Identify each worker/business actor's role(s) in each business case realization –Create a tentative use case for each role of each worker and business actor.