tcs2411 software engineering1 functional and behavioural modeling “what is the software supposed...
Post on 21-Dec-2015
218 views
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 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