320 likes | 563 Views
Illinois Institute of Technology. CS487 Software Engineering Analysis Modeling Instructor David Lash. Illinois Institute of Technology. This level of modeling is the very highest level. The basic input-processing-output template. Modeling. High-Level Modeling Tools. System Modeling
E N D
Illinois Institute of Technology CS487 Software Engineering Analysis Modeling Instructor David Lash
Illinois Institute of Technology This level of modeling is the very highest level. The basic input-processing-output template.
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 .
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.
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.
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)
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.
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 .
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
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
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 .
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
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
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 OWNER Lexus LS400 AB123 Sedan Blue DAL Chevy 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
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
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
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
ERD • Cornerstone of the Data Model • Diagram the DO, Relationships and attributes
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
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
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 .