Chapter 2 - Taking a Structured Approach and Using Modeling Tools
A) Taking a Structured Approach to Developing Systems (Fig. 2.1)
goal:
- 1) meets user requirements,
- 2) on time & within budget,
- 3) is easy to work with, understand and maintain
- modeling tools - used to model & describe systems
- modularization - divide system into indepentently operable modules
- simplifies design
- reduces errors
- easier to test
- turnover of project team members has less impact
- easier to optimize
- reusablity of modules
- top-down decomposition
- iteration
- parallel activities
- automated systems development (CASE)
B) Roles and Types of Modeling Tools
- Communications
- Experimentation
- Prediction
Questions to ask about modeling tools:
- Is it easy to understand?
- Is it an aid to clear thinking?
- Does it help communicate the design of a current or new system?
- Does it assist in experimentation with new ideas?
- Does it encourage good systems design?
- Could it be used to help redict actual functioning of new system?
- Does it help structure the SAD phases?
Types of Modeling Tools
- Data flow diagrams (DFD)
- Data dictionary
- Entity relationship diagrams (ERD)
- State transition diagrams
- Structure chart
- Structured program flowchart
- Process specification charts
- Warnier-Orr diagram (WOD)
- Jackson diagrams
C) Creating a Data Flow Diagram (Fig. 2.2)
Steps in preparing DFDs (Fig. 6.3)
- Draw a Context-Level Diagram (Fig. 6.4)
- Decompose the Context-Level Diagram
- Decompose to an Elementary Level(Student Housing System)
D) Using a Data Dictionary for Systems Analysis
- Student-Record = Student-Name + Student-Home-Address + Campus-Address + ...
- Campus-Address = Dorm-Name + Floor + Room-Nbr
E) Creating an Entity Relationship Diagram (Fig. 2.5)
- model data stores in DFD
- steps in preparing ERDs (Fig. 2.6)
- Identify Entities
- Indicate Relationships Between Entities
- Define Keys for Each Entity
- Define and Map Data Elements for Each Entity (Fig. 2.7)
- Normalize the Data Model
F) Creating a State Transition Diagram (STD) (Fig. 2.8)
- identify all possible states for the system
- identify activities that cause a transition from one state to another (Fig. 2.9)
G) Creating a Structure Chart
models the software that support the system (Fig. 2.11)
steps in preparing structure charts
- identify the central transform
- produce a "first-cut" structure chart
- add modules and show data flows
- write module details
- conduct software design walkthrough
H) Creating a Structured Program Flowchart
describes software logic (Fig. 2.12)
I) What are Process Specification Tools?
describe elementary level processes
- Structured English (pseudocode) (Fig. 2.14)
- Decision tables (Fig. 2.15)
- Decision trees (Fig. 2.16)
- Equations
J) Creating a Warnier-Orr Diagram
uses brackets to show hierarchical decomposition of processes or data (Fig. 2.17)
- Prepare a Logical View (use Venn Diagrams)
- Map the solution into a WOD (Fig. 2.19)
K) Creating a Jackson Diagram
uses input and output of the data to create the program structure
(Fig. 2.20)
- Define Input and Output Data Structures (Fig. 2.21)
- Determine the Program Correspondences between Data Structures
- Develop the Software Structure (Fig. 2.22)
- Write Structured Text (Fig. 2.23)
Exercises: look over 1-23, ; turn in 2.24, 2.26, 2.28, 2.30, 2.34, 2.36, 2.42