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

45
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    225
  • download

    0

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

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