Top Banner
45

What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 2: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

What are Requirements?

• Functional requirements describe a list of functions that the system must accomplish.

• Nonfunctional requirements describe other constraints such as performance expectations or standards to be used.

• This discussion centers around functional requirements. Knowing what is to be built is one of the most important aspects of a software development process.

• Getting the requirements in line with what the actual users need is also a very important aspect.

Page 3: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

Use Cases

• Requirements are often based on use cases. • A use case can be used to describe a systems functional

requirements.• A use case treats the system which is to be built as a

black box. A user (Actor) does something and the system responds.

• The use case is not described in terms of GUI components or specific systems. Instead it is described in more generic terms as simple user actions.

• For example, entering data, viewing the results of a query to the database, etc..

Page 4: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

How can Requirements be Described?

• SRS– The IEEE and many government agencies

describe requirements through the use of Software Requirements Specifications (SRS). Each has a definition for the required contents.

• Use Cases– Requirements can be described as use

cases.

• The two traditionally haven’t been related.

Page 5: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

Use Cases and RequirementsExample

• Actor:Auctioneer• UseCase:EnterBidInformation

– Requirement:InputPersonThe system shall allow the Auctioneer to enter the

contents of the city, name, useCreditCard associated with the Person

– Requirement:ProcessCreditCard The system shall allow the Auctioneer to run the

VerifyWithBank algorithm described as: Go out to the Bank server, process the credit card transaction

Page 6: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

How can Requirements be Described? Cont’d

• Simulation– A mechanism which can be used to communicate the

requirements as use cases.– The simulation shows how the user interacts with the

system and how the system responds.

• Modeling– UML tools such as Together™ enable you to create

requirements by creating use cases. They provide diagrams to chose from which you can drag and drop.

Page 7: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

RequireMentor™ Tool

• Guides you to describe use cases for a system which you are specifying– you pick and choose forms and fill in blanks

• Creates simulations of use cases• Relates requirements and use cases• Creates SRS• Creates a model

class diagrams sequence, activity, use cases

Page 8: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 9: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

1. Define Actors

• Start by creating Actors and Job Titles

• Create separate types of Actors.

• They are distinguished by the Jobs that they do using the computer.

• Each Actor belongs to an organization

• Create all your known Actors and assign only the ‘Jobs’ for now. Job’s are optional.

Page 10: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

Actors and Job Titles

• Attempting to answer the question:

• Who will be using the system and what types of activites do their jobs include?

Page 11: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 12: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 13: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 14: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

2. Create Roles

• For each Actor, define one or more Roles.

• Roles are distinct interactions that an Actor has with the computer to accomplish a meaningful unit of work

• Later, you will define a Use Case for each role.

Page 15: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 16: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 17: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

3.Create Use Cases

• Create Use Cases for each Actor, one for each of its Roles.

• For now, just fill out the Use Case name, select an Actor, and select one of its Roles.

Page 18: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 19: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 20: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

4. Define a Story for each use case

• A Story is a sequence of screens which simulate how the Actor will interact with the system.

• A Story has an initial Screen.• Each Screen is associated with a

Requirement in the form:– The system shall …

• Choose from a fixed collection of Screen types

Page 21: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 22: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

Five Screen Types

• Input Data

• View Data

• View and Select from Data

• Input from a Device

• Run Processing

Page 23: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

5. Enter Info for the Screen Type

• Enter the Screen name

• Select a previously defined Data Entity (or define one on the fly

• Do not link Screen into a sequence by filling out Select Next screen at this time.

Page 24: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 25: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

6. Define a Data Entity

• A Data Entity is named and has a collection of fields

• Each field has a type

• The type may be another Data Entity

Page 26: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 27: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

Add Additional Screens

• Create another Screen for each of the Requirements within the Story

• The initial screen must be so designated

Page 28: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 29: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 30: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

4. Link Screens Together

• Link a screen to another Screen defined for the story or to another story

• If you like to another Story, you can reuse it.

• For example, may want to always verify the user’s name and password from several different places.

• Link the Password Story as a next screen

Page 31: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 32: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

6. View the Documentation

• As an Software Requirements Spec

• As a running simulation in html

• As an XMI(eye) file which can be imported into a UML tool

• Can also export the project as XML(el) or just save it

Page 33: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 34: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 35: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 36: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 37: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 38: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 39: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 40: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

Together™ Import XMI

• Open Together 6.0

• Create a new Project using the Project Wizard

• Select File->Import->Model from XMI

• Class, Use Case, Sequence, and Activity Diagrams will be created

Page 41: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 42: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 43: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 44: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.
Page 45: What are Requirements? Functional requirements describe a list of functions that the system must accomplish. Nonfunctional requirements describe other.

Guided Generation of Software Requirements

• RequireMentor™ was used to discover classes and methods

• Together™ was used to create the UML models

• RequireMentor™ provided guidance for– defining the contents of a use case– defining the format of requirements– generating many descriptions of the

requirements