+ All Categories
Home > Documents > Requirements Determining the requirements of software involves determining the needs of the users of...

Requirements Determining the requirements of software involves determining the needs of the users of...

Date post: 12-Jan-2016
Category:
Upload: augustus-anthony-black
View: 230 times
Download: 0 times
Share this document with a friend
Popular Tags:
26
Requirements Requirements Determining the requirements Determining the requirements of software involves of software involves determining the needs of the determining the needs of the users of the software. users of the software.
Transcript
Page 1: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

RequirementsRequirements

Determining the requirements of Determining the requirements of software involves determining software involves determining the needs of the users of the the needs of the users of the software.software.

Page 2: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

RequirementsRequirements

This can be done in several ways:This can be done in several ways:

Interviewing users to elicit their Interviewing users to elicit their needs.needs.

Perform a domain analysis.Perform a domain analysis.

Create a need.Create a need.

Page 3: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

Using UML to Elicit Using UML to Elicit RequirementsRequirements

UML can be helpful in eliciting UML can be helpful in eliciting requirementsrequirements

Object models (class and object Object models (class and object diagrams) and behavior models (use diagrams) and behavior models (use cases and state diagrams) are cases and state diagrams) are commonly used.commonly used.

Page 4: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

Object ModelsObject Models

Object models try to model the real Object models try to model the real world using “objects” that represent world using “objects” that represent real world objects. real world objects.

The objects in the object model have The objects in the object model have “properties” (attributes) and “actions” “properties” (attributes) and “actions” (methods) that represent properties (methods) that represent properties and actions of the real world objects and actions of the real world objects to model the problem domain.to model the problem domain.

Page 5: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

Object ModelsObject Models The following are rules for object models:The following are rules for object models:

All real world entities (objects) that are All real world entities (objects) that are important to understanding the problem important to understanding the problem domain must be included.domain must be included.

All methods and attributes important to All methods and attributes important to understanding the problem domain must understanding the problem domain must be included.be included.

Objects, attributes, and methods only Objects, attributes, and methods only significant for implementation should not significant for implementation should not be included.be included.

Page 6: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

Object Model ExampleObject Model Example

Create an object model for depositing and Create an object model for depositing and withdrawing money from an ATM machine.withdrawing money from an ATM machine.

We will need three classes, “Customer”, We will need three classes, “Customer”, “ATM”, and “Account”.“ATM”, and “Account”.

Customer should have a pin number and Customer should have a pin number and should be able to get money from the should be able to get money from the account and put money into the account. account and put money into the account.

Page 7: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

Object Model ExampleObject Model Example

ATM’s should be able to get the pin ATM’s should be able to get the pin number from the customer, dispense number from the customer, dispense money to the customer, and receive money to the customer, and receive money from the customer.money from the customer.

Accounts should have a balance and Accounts should have a balance and allow deposits and withdrawals.allow deposits and withdrawals.

Page 8: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

Object Model ExampleObject Model Example

CustomerPin Number

Type pin()Get money()Put money()

AccountBalance

Deposit()Withdrawal()

ATM Machine

Dispense money()Get Pin()Receive money()

<<communicate>>

<<communicate>>

Page 9: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

Behavior Modeling (Use Behavior Modeling (Use Case)Case)

A use case diagram represents the A use case diagram represents the functionality of the systems from the functionality of the systems from the users point of view.users point of view.

Use case diagrams should be Use case diagrams should be designed and approved by both the designed and approved by both the software designer and the customer.software designer and the customer.

Page 10: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

Use CasesUse Cases

The Use case diagram is used to The Use case diagram is used to identify the primary elements and identify the primary elements and processes that form the system. processes that form the system.

The primary elements are termed as The primary elements are termed as "actors" and the processes are called "actors" and the processes are called "use cases." "use cases."

Page 11: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

Use CasesUse Cases

The Use case diagram shows which The Use case diagram shows which actors interact with each use case. actors interact with each use case.

Due to the simplicity of use case Due to the simplicity of use case diagrams, and more importantly, diagrams, and more importantly, because they are devoid of all because they are devoid of all technical jargon, use case diagrams technical jargon, use case diagrams are a great “storyboard” tool for user are a great “storyboard” tool for user meetings. meetings.

Page 12: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

Use Case ExampleUse Case Example

Create a use case diagram for the ATM Create a use case diagram for the ATM machine problem for the customer.machine problem for the customer.

The customer can type in the pin The customer can type in the pin number, put money into the ATM number, put money into the ATM (deposit) and take money from the (deposit) and take money from the ATM (withdrawal)ATM (withdrawal)

Page 13: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

Use Case ExampleUse Case Example

Type Pin Number

Put Money in ATM

Customer

Take Money from ATM

Page 14: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

Behavior Modeling Behavior Modeling (Scenarios)(Scenarios)

A scenario (or use case scenario) is a A scenario (or use case scenario) is a sequence of actions that accomplishes a sequence of actions that accomplishes a user task.user task.

Scenarios are used to illustrate an Scenarios are used to illustrate an important capability or proposed use important capability or proposed use of the system.of the system.

In UML, an interaction diagram is In UML, an interaction diagram is used to represent a scenario.used to represent a scenario.

Page 15: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

Scenario ExampleScenario Example

Write a scenario for a student Write a scenario for a student withdrawing money from the ATM.withdrawing money from the ATM.

1. Type in pin number.1. Type in pin number.

2. Choose “withdrawal”.2. Choose “withdrawal”.

3. Type in the amount.3. Type in the amount.

4. Take the money.4. Take the money.

5. Blow the money on a pizza and a six 5. Blow the money on a pizza and a six pack.pack.

Page 16: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

Differences between “use Differences between “use case” and “Use case case” and “Use case

scenario”scenario” So what’s the difference between a So what’s the difference between a

“use case” and a “scenario” (or “use case” and a “scenario” (or sometimes called a “use case sometimes called a “use case scenario”)?scenario”)?

Page 17: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

Differences between a “Use Differences between a “Use Case” and a “Use Case Case” and a “Use Case

Scenario?”Scenario?” USE CASEUSE CASE: A visible and identifiable system behavior : A visible and identifiable system behavior

associated with one or more actors external to the associated with one or more actors external to the system. system.

USE CASE SCENARIOUSE CASE SCENARIO: An elaboration of a Use Case : An elaboration of a Use Case into a precisely defined statement of system into a precisely defined statement of system behavior. behavior.

A Scenario is represented as a Use Case plus a set of A Scenario is represented as a Use Case plus a set of assumptions (initial conditions) plus a set of outcomesassumptions (initial conditions) plus a set of outcomes

One Use Case creates multiple use case scenariosOne Use Case creates multiple use case scenarios The Use Case Scenarios are more detailed and from a The Use Case Scenarios are more detailed and from a

user’s task perspectiveuser’s task perspective

Page 18: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

State DiagramsState Diagrams

A state diagram shows the state of A state diagram shows the state of the system and all possible the system and all possible transitions between the states.transitions between the states.

In other words, a state diagram is a In other words, a state diagram is a finite automaton.finite automaton.

I hope you remember your theory of I hope you remember your theory of computation.computation.

Page 19: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

State DiagramsState Diagrams State diagrams can help to clarify State diagrams can help to clarify

requirements.requirements.

It is important that the states reflect It is important that the states reflect domain conditions that are domain conditions that are understandable to the user.understandable to the user.

Page 20: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

State Diagram ExampleState Diagram Example

Create a Create a state state diagram for diagram for a student a student using the using the ATM ATM machine.machine.

This is one of those strange automata This is one of those strange automata where there are no final states.where there are no final states.

Need Beer, Pizza, and Money

Frenzied

Need Beer and Pizza

Need aspirin

Go to ATM and get money

Go get beer and pizzaDrink entire six pack and eat entire pizza

Sleep 12 hours

Page 21: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

Other Useful ToolsOther Useful Tools

Data dictionaries and systems diagrams can Data dictionaries and systems diagrams can also be used to explain the proposed system also be used to explain the proposed system to the client.to the client.

Page 22: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

Data DictionaryData Dictionary

A data dictionary is a table about A data dictionary is a table about each data element in the system.each data element in the system.

A typical entry includes:A typical entry includes:

The name of the item.The name of the item. In which class it is located.In which class it is located. The data type of the item.The data type of the item. The semantics (meaning) of the item.The semantics (meaning) of the item.

Page 23: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

Data Dictionary ExampleData Dictionary Example

A data dictionary for the ATM A data dictionary for the ATM problem might look like:problem might look like:

NameName Class Class Type Type SemanticsSemantics

Pin Number Customer LongPin Number Customer Long Used to Used to authenticate authenticate the customerthe customer

Balance Account Float The Balance Account Float The amount of amount of money in money in the accountthe account

Page 24: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

System DiagramsSystem Diagrams

A system diagram is a nonformally A system diagram is a nonformally defined diagram used to give an defined diagram used to give an overview of the proposed system.overview of the proposed system.

System diagrams have ovals System diagrams have ovals representing processing, cylinders representing processing, cylinders representing databases, boxes representing databases, boxes representing data, and stick figures representing data, and stick figures representing persons.representing persons.

Page 25: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

IEEE Standards for Software IEEE Standards for Software Requirements SpecificationRequirements Specification

See See http://standards.ieee.org/reading/ieee/std_public/description/se/

Page 26: Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.

HomeworkHomework

Pg 120 # 1,5,7,9,11 oddPg 120 # 1,5,7,9,11 odd


Recommended