CS48704-1/31 Illinois Institute of Technology CS487 Software Engineering Analysis Modeling Instructor David Lash
Jan 24, 2016
CS48704-1/31
Illinois Institute of Technology
CS487
Software Engineering
Analysis Modeling
Instructor David Lash
CS48704-2/31
Illinois Institute of Technology
This level of modeling is the very highest level. The basic
input-processing-output template.
CS48704-3/31
Modeling
ModelingGather Data
Build Model?
Management
MoreInfo
Acquired Data
ReviewSpecification
Refine Model
Approved
Analysis
Refined Spec
Refined Spec
•
CS48704-4/31
High-Level Modeling Tools System Modeling
– System Context Diagram– Partitioning
Data Modeling – Entity-Relation - Data objects and their
relationships Information flow diagrams
– Data flow diagrams - how data transforms in system- how functions transform data
Control Specifications– State diagrams - how system behaves
as result of external events .
CS48704-5/31
System Context Diagrams
Basic Version Of Diagram would be
Input -> Processing -> Output
Extend to include
User Interface, Input, System Functions and control, output and maintenance
Format for creating hierarchy of detail
Enable to define boundaries between the “software” and the operating (external) environment.
CS48704-6/31
System Context Diagram
User Interface Procssing
InputProcessing
OutputProcessing
Maintenance& Self-test
Process andcontrol
Functions
Each non-yellow box is an external entity to system.
CS48704-7/31
System Context Diagrams
Consider Conveyor Line Sorting System
– CLSS developed such that boxes moving along a conveyor belt will be Identified and sorting into 1 of 6 bins at the end of the line.
– Boxes pass a sorting stations where they are identifies
– Based on ID number of the side, the boxes are shunted into the correct bin
– Boxes pass in random order and evenly spaced. The line moves slowly.
CS48704-8/31
System Context Diagrams - CLSS Consider Conveyor Line Sorting System - II
– Has a PC sorting stn site. Boxes moving along conveyor belt identified and stored into 1 of 6 boxes at end of line. Boxes have bar code on side.
– PC execs software, interacts with bar code rdr and conveyor line monitoring equipment (to get speed of line)
– stores parts numbers sorted and interacts with operator
– sends signals to shunting hardware
– sends out reports and communicates with server in factory floor. (pg 265)
CS48704-9/31
SortingStation
Operator
Bar CodeRdr
ConveryorLine
ConveyorLine
SortingSystem
SortingStation
Operator
SortingMechanism
Server
Request
Queries
Barcode
Line spd
shuntcmds
DiagData
Reports
User Interface
OuputMaintenanceInput
Initial System Context Diagram
CS48704-10/31
Refine Into a System Flow Diagram
Page 265 shows refined diagram– Look at important lines of data and
control flow.– Might be the top level of a series of
SFDs that are later developed (See page 266.
CS48704-11/31
High-Level Modeling Tools System Modeling
– System Context Diagram– Partitioning
Data Modeling – Entity-Relation - Data objects and their
relationships Information flow diagrams
– Data flow diagrams - how data transforms in system- how functions transform data
Control Specifications– State diagrams - how system behaves
as result of external events .
CS48704-12/31
Partitioning
A straightforward way to break-down a complex system (divide and conquer)
– decompose system into parts
create a hierarchical representation of function/information by
– More detail by moving vertically
– functional decomposition horizontally
CS48704-13/31
Partitioning - Home Safe
Specification From Requirements gathering (interview)
– HS monitors sensors, interacts with owner via keypad (via control pad)
– Control pad can be program and config system
– Master passwd is programmed for arming and alarming system. Phone numbers are input for dialing out for help.
– When sensor event, alarm then after T time, dial phone number and downloads event info (sensor, time, type of event). Repeat every 20 seconds
CS48704-14/31
Partitioning - Example
SafeHomeSoftware
Configure System Monitor SensorsInteract With
Users
Hoizontal parition --------------->(Functioal decomposito of
problem)
Vertical parition(Add more detail)
CS48704-15/31
Partitioning - continue example
CS48704-16/31
High-Level Modeling Tools System Modeling
– System Context Diagram– Partitioning
Data Modeling - (See page 301 diag)– Entity-Relation - Data objects and their
relationships Information flow diagrams
– Data flow diagrams - how data transforms in system- how functions transform data
Control Specifications– State diagrams - how system behaves
as result of external events .
CS48704-17/31
Data Modeling
DM answers questions like: – What are data objects in the system– What are the Data Objects made of– How are they related
One common method is the ERD - Has the following pieces:
– Data Object: representation of something with attributes E.g., Width (1 property) VS dimension (HGt, width)
– Relationship: The nature of the connection between data Objects..
– Attributes: properties that describe the object
CS48704-18/31
Data Modeling - Data Objects
Data Object - representation of object with multiple properties that software deals with:
– width VS Dimension – car (color, engine, body style) – Dashboard
DO can be – something producing information (e.g., report)– occurrence - phone call, event– role - salesperson, manager, engineer– place - warehouse, house, Chicago, – physical thing - car, saw, airplane, – structure - directory, file,
DO in system have some relationship – CAR has an ENGINE
CS48704-19/31
Data Modeling - Attributes
Attributes - define the properties of the DO They can:– name an instance of the DO– describe the instance– point to another table– 1 or more attributes become the key or identifier. – Attributes that are used depend on the problem.Make MODEL ID# BodyTYPE COLOR OWNERLexus LS400 AB123 Sedan Blue DALChevy Vette XYZ1 Sports RED ABC
- ID# is a key or identifier - OWNER is points or refers to another DO - others are naming and descriptive attributes
- An instance is 1 row e.g., lexus - DO is CARS
CS48704-20/31
Data Modeling - Relationships
Relationships - define how DO are connected:– DO1 - books DO2 - bookstore– Within the software
bookstore orders books bookstore displays books book stores stocks books bookstore sells books bookstore returns books
CS48704-21/31
Data Modeling - Relationships Example
Bookstore BooksSTOCKS
SELLS
ORDERS
DISPLAYS
RETURNS
CS48704-22/31
Data Modeling - Relationships (Cardinatlity)
Just saying DO1 related to DO2 need more info– How many DO1 are related to DO2?
Relationships have characteristics:– Cardinality – The number of occurrences that that 1 DO
can be related to another: - one-to-one (e.g., husband only 1 wife) - one-to-many. (e.g., mother many
Children)– Child to have 1 mother
- many-to-many (e.g., uncle many nephews, Nephew many uncles)
- Defines the maximum number of DO in a relationship.
- Does not indicate if a particular instance must participate
CS48704-23/31
Data Modeling - Relationships - Modality
Modality – How required is the relation.
– 0 – when no explicit need for relationship to occur
– 1 – when an occurrence is mandatory
CS48704-24/31
ERD
Cornerstone of the Data Model Diagram the DO, Relationships and attributes
CS48704-25/31
Example of Modality and Carnality
Customer has Orders
Modality: Anorder must have acustomer
Modality: Acustomer does notrequire an order
Cardinality: Asingle customerhas order(s)
Cardinality:Multiple orders fora customer.
1 M
CS48704-26/31
Example of ERD
CS48704-27/31
ERD II example - Homesafe Enables homeowner (HW) to config
security system (SS), during install HS monitors all sensors connected to SS HS interacts with HW via Keypad on cntl
panel (CP) CP is used to program system Each sensor (SEN) is assigned a # and
type A master passwd is programmed, Tel
number are input for dialing on Sensor event (SEN)
on SEN event, alarm invoked & SS dials phone number, and gives info to (MS) monitoring Service
CP has keyboard input stuff
CS48704-28/31
ERD II example - Homesafe (Basic Relations)
Sensor
Security System
HomeOwner
MonitoringService
Control Panel
CS48704-29/31
ERD II example - Derived Relationships
SS monitors sensor SS enables/disables sensor SS tests sensor SS program sensor
Attributes of Sensor has type, internal id, zone location, alarm level
CS48704-30/31
ERD II example - Homesafe
programs
Enables/disables
monitors
SensorSecurity System
Security system controls 1or more sensors
Security System needssensor.
Sensor controled fromsingle security system
Sensor needs securitysystem
CS48704-31/31
High-Level Modeling Tools System Modeling
– System Context Diagram– Partitioning
Data Modeling – Entity-Relation - Data objects and their
relationships Information flow diagrams
– Data flow diagrams - how data transforms in system- how functions transform data
Control Specifications– State diagrams - how system behaves
as result of external events .