tcs2411 software engineering1 functional and behavioural modeling “what is the software supposed...

22
TCS2411 Software Engineering 1 Functional and Behavioural Modeling “What is the software supposed to do?”

Post on 21-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

TCS2411 Software Engineering 1

Functional and Behavioural Modeling

“What is the software supposed to do?”

TCS2411 Software Engineering 2

Lecture Objectives

To illustrate the modeling of functional and behavioural characteristics of the problem domain

To describe the elements of data flow diagrams and the associated rules for drawing them correctly

To describe the elements and usage of state transition diagrams

TCS2411 Software Engineering 3

Functional Modeling

In understanding the requirements of the software, the functions required by the customer will be identified

All the functions process information in some way in the system

Basically input process outputRepresentation of how information is

transformed

TCS2411 Software Engineering 4

Data Flow Diagram (DFD)

Graphical representation of functional modeling

In analysis, provide representation of information flow in existing and required system

In design, the DFDs can be decomposed into lower level processes (sub-systems) for implementation

TCS2411 Software Engineering 5

Context Diagram

Customer Kitchen

RestaurantManager

FoodOrderingSystem

Food Order

Customer Order

Receipt

ManagementReports

TCS2411 Software Engineering 6

Level-1 DFD

Customer Kitchen

RestaurantManager

1. ProcessCustomer

Order

Food Order

Customer Order

Receipt

ManagementReports

2. UpdateGoods Sold

3. UpdateInventory

4. ProduceManagement

ReportsGoods SoldInventory

Goods Sold InventoryData

InventoryRecordGoods Sold

Record

Daily GoodsSold Amounts

Daily InventoryDepletion Amounts

TCS2411 Software Engineering 7

External Entity

A producer or consumer of information that resides outside the bounds of the system to be modeled

Source - producer of informationSink - consumer of informationExamples:

Customer Supplier Management

TCS2411 Software Engineering 8

Process

A transformer of information (a function) that resides within the bounds of the system to be modeled

Examples:

1.ProcessNew

Member

2. StudentRegistration

2.1 AcceptRegistration

Details

TCS2411 Software Engineering 9

Data Flow

Data object that flows in the system; the arrowhead indicates the direction of data flow

new student record

student record

TCS2411 Software Engineering 10

Data Store

A repository of data that is to be stored for use by one or more processes

May be as simple as a buffer or queue or as sophisticated as a relational database

Examples:

Students Inventory Courses

TCS2411 Software Engineering 11

DFD Rules

Process No process can have only outputs. No process can have only inputs. A process has a verb label.

TCS2411 Software Engineering 12

DFD Rules

Data Store Data cannot move directly from one

data store to another data store. Data cannot move directly from an

outside source to a data store. Data cannot move directly to an outside

sink from a data store. A data store has a noun phrase label.

TCS2411 Software Engineering 13

DFD Rules

Source/Sink Data cannot move directly from a

source to a sink. It must be moved by a process if the data are of any concern to our system.

A source/sink has a noun phrase label.

TCS2411 Software Engineering 14

DFD Rules

Data Flow A data flow has only one direction of flow

between symbols. A fork in data flow means that exactly the

same data goes from a common location to two or more processes/stores/sources/sinks.

A join in a data flow means that exactly the same data comes from any two or more processes/stores/sources/sinks.

TCS2411 Software Engineering 15

DFD Rules

Data Flow (continued) A data flow cannot go directly back to the

same process it leaves. A data flow to a data store means update. A data flow from a data store means

retrieve or use. A data flow has a noun phrase label. More

than one data flow noun phrase can appear on a single arrow.

TCS2411 Software Engineering 16

DFD Characteristics

Can be used to model physical or logical, current or new systems

Does not represent procedural or time-related processes

Revisions to the same DFD are done to improve model based on understanding

Decision to stop iterative decomposition may be difficult

TCS2411 Software Engineering 17

Behavioural Modeling

Outsideworld Application

events behavior

TCS2411 Software Engineering 18

Behavioural Modeling

Representation of how the system changes and the events that cause the changes to happen

Also represent actions that may be taken as consequences of events

Graphically drawn as state transition diagram

TCS2411 Software Engineering 19

State Transition Diagram (STD) Notation

State

New state

Event causing transition

Action that occurs

TCS2411 Software Engineering 20

State Transition Diagram (STD)

Idle

RingingConnected

incoming call

buttonpressed

initiate answer

announcecomplete

answered announce message

hangup

TCS2411 Software Engineering 21

State Transition Diagram Elements

State - any observable mode of behaviour represented as a node in STD

State transition - change of one state to another caused by an event represented as labeled arrow in STD label is the event causing the transition

Event - external or internal occurrence that has an effect on the system

Action - process taken as response to event

TCS2411 Software Engineering 22

References

“Software Engineering: A Practitioner’s Approach” 5th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001

“Software Engineering” by Ian Sommerville, Addison-Wesley, 2001

“Modern Systems Analysis and Design” by Jeffrey A. Hoffer, Joey F. George & Joseph S. Valacich, Benjamin/Cummings, 1996