Presentation is loading. Please wait.

Presentation is loading. Please wait.

Intro to Software System Modeling

Similar presentations


Presentation on theme: "Intro to Software System Modeling"— Presentation transcript:

1 Intro to Software System Modeling

2 Model vs Design Model Design may be used in the SRS
used by the software designers may be useful as an overview for the programmers may be used for validation with the customer Design what the programmers are told to build

3 What info is modeled? Relationships between Data Process Flow
Data Transformation Control Flow within the source code Format of the Database Timing constraints (real-time systems) User Interface Flow etc…

4 Major Modeling and Design Diagrams
UML Data Flow Diagrams State Transition Diagrams Structure Charts Entity Relationship Diagrams Use Cases

5 Data Flow Diagrams Illustrate how processes transform data
Very good for modeling a system at a high level, e.g. for the SRS Poor at conveying design of software, except a few cases such as distributed systems process external entity data flow data file

6 DFD Syntax Rules a model is composed of a series of diagrams that present more and more detail the top-level diagram is the "context" level and contains only one process (our software) data cannot just appear or disappear, i.e. inputs and outputs must match between levels process numbers indicate both family and level of detail all data flows are defined in a Data Dictionary

7 DFD Example Display Panel display Control data Keypad commands Alarm
Alarm System alarm type Alarm sensor status Sensors number tones and recorded msgs Phone Line

8 DFD Example commands Configure config config data System request
2 Configure System config data config request 1 User Interface config info config data on,off 4 Activate/ Deactivate passwd on/off msg 5 Generate Display display data 3 Check Password valid id msg sensor data alarm type 6 Sensor Monitor sensor status number tones and recorded msgs

9 State Transition Diagrams
Illustrates events and their effects on the system's state or status Good for design of user interfaces real-time and event-based systems system state transition

10 STD Example checking off valid passwd password start activate invalid
de-activate working idle valid passwd problem valid passwd alerting via alarm alerting via phone not acknowledged invalid passwd

11 Petri Nets - similar to STDs

12 Structure Charts Illustrates Control Flow
Very good for conveying the design of source code Very inappropriate for modeling a system in a SRS module

13 SC Syntax Rules one single tree for entire system
tree has one node at the top nodes are individual code units / modules nodes call nodes below them nodes are called left to right leaf nodes are usually utility modules may show data flow may show conditionals and loops

14 SC Example main get_cmd check_sensors Is this correct? turn_off
change_ phone_num activate_ alarm send_ phone_msg check_passwd

15 SC Example main get_cmd check_sensors turn_off change_ phone activate_
alarm send_ phone_msg check_passwd

16 Entity Relationship Diagrams
Illustrates connections between data objects Excellent for design of a database Good for modeling or specifying what data a system should handle Cardinality = max number of objects that can participate in the relationship Modality = is the relationship required

17 ER Example security sensor system monitors enables/disables tests
programs is programmed by

18 Use Cases Illustrates activities performed by the user.
Excellent for modeling a system helps identify data, processes, features Not directly a design spec, but shows programmers the context of their code. system components an action done by an actor actor

19 Example Use Case Alarm System smoke detector access sensor
status via internet motion detector configure the sensor ranges home owner turn on and off Other Use Cases: other homeowner activities security guard burglar

20 Use Cases for System Modeling

21 Example Modeling Problem
System Req : every employee has a home office Does "home office" mean they have a spare bedroom at home with a computer, or that everyone is assigned to a regional main office? employee home office employee home office

22 Example Modeling Problem
Any user can delete a regular file, but deleting a reserved file must require a password confirmation. Unclear : can any user delete a "reserved file"? How do we show that Requirement in the SRS? How do we show that in the Design?

23 Summary Good for Modeling: Good for Design: Use Cases DFDs ERs
what the user wants to do DFDs process / how the data is transformed ERs structure and nature of the data Good for Design: Structure Charts


Download ppt "Intro to Software System Modeling"

Similar presentations


Ads by Google