Title: Moving to Design
1Chapter 9
2Objectives
- Discuss the issues related to the management and
coordination of the design phase of the SDLC - Develop a system flowchart
- Develop a structure chart using transaction
analysis and transform analysis
3Objectives
- Write pseudocode for structured modules
- Develop a package diagram
- Develop a design class diagram
- Explain the major components and levels of design
- Describe the difference between models produced
by the structured design and object-oriented
design
4Components Requiring Systems DesignFigure 9-1
5Analysis Objectives to Design ObjectivesFigure
9-2
6Understanding the Elements of Design
- Design is the process of describing, organizing,
and structuring the components of a system at
both the architectural level and at a detailed
level - Focused on construction
- Like developing blueprints
- Three questions
- What components require systems design?
- What are the inputs to and outputs of the design
process? - How is systems design done?
7Inputs and Outputs Moving from Analysis to Design
- Design
- Converts functional models from analysis into
models that represent the solution - Focused on technical issues
- Requires less user involvement than analysis
- Design may use structured or OO approaches
- Database can be relational, OO or hybrid
- User Interface issues
8SDLC Phases with Design Phase ActivitiesFigure
9-4
Design and Integrate Network Design the
Application Architecture Design the User
Interfaces Design the System Interfaces Design
and Integrate the Database Prototype for Design
Details Design and Integrate System Controls
9Project Coordination
- Project teams
- Project schedule
- Information
- CASE Tools
- Team Communication
10Information Stored in the CASE Repository Figure
9-6
11Structured Approach to Designing the Application
Architecture
- Application software programs
- Designed in conjunction with database and user
interfaces - Hierarchy of modules
- Documented with system flowcharts
- Design internal program logic
- Top-down approach
- DFDs with automation boundaries
- Structure charts
12Structured Design ModelsFigure 9-7
13Automation System Boundary
- Partitions data flow processes into manual and
automated systems - Processes can be inside or outside boundary
- Data flows can be inside and outside of boundary
14DFD with Automation System Boundary Figure 9-8
15System Flowchart
- Representation of various computer programs,
files, databases, and associated manual processes - Graphically describes organization of subsystems
- Can show type of system
- Batch
- Real time
16Common System Flow Chart Symbols Figure 9-9
17System Flow Chart for RMO Figure 9-11
18Structure Chart
- Describes functions and subfunctions of each part
of system - Shows relationships between modules of a computer
program - Simple and direct method
- Each module performs a specific function
- Each layer in a program performs specific
activities
19Structure Chart Symbols Figure 9-13
20Structure Chart for Entire Payroll
Program Figure 9-14
21Developing a Structure Chart
- Transaction Analysis
- System flow chart and event table inputs
- Upper-level modules developed first
- Identifies each transaction supported by program
- Transform Analysis
- Computer program transforms inputs into outputs
- Structure charts have input, calculate, and
output subtrees - Uses DFD fragments for inputs
22Steps to Create a Structure Chart from a DFD
Fragment
- Determine primary information flow
- Find process that represents most fundamental
change from input to output - Redraw DFD with inputs to the left and outputs to
the right - Generate first draft structure chart
23Steps to Create a Structure Chart from a DFD
Fragment (Continued)
- Add other modules
- Input
- Data storage
- Output
- Add logic from structured English or decision
tables - Make final refinements
24The Create New Order DFD FragmentFigure 9-17
25Exploded View of Create New Order DFD Figure 9-18
26Rearranged Create New Order DFD Figure 9-19
27First Draft of the Structure Chart Figure 9-20
28Quality of Structure Chart
- Module coupling
- Measure of how module is connected to other
modules in program - Module cohesion
- Measure of internal strength of module
- Module performs one defined task
- Highly cohesive and loosely coupled modules are
desirable
29Module Algorithm Design Pseudocode
- Describes internal logic of software modules
- Variation of structured English that is closer to
programming code - Syntax should mirror development language
30OO Approach to Design of Application Architecture
- OO analysis forms basis for OO design
- Structure must support OO programming
- Programs cooperate to perform tasks
- No one program module is in-charge
- Consists of sets of computing objects
- Encapsulation and information hiding
31OO Analysis Models to Design Models Figure 9-27
32Package diagrams
- Identifies major components of a system
- High-level diagram in UML
- Similar in function to flow chart
- Determines final program partitions
- Dependencies determined
33RMO CSS Package Diagram Figure 9-28
34Design Class Diagrams
- Shows set of classes and their relationships
- Describes design components within the classes
- More complete than analysis versions of same
diagrams
35Internal Symbols Used to Design a Design
Class Figure 9-31a
36Internal Symbols for Design Class Figure 9-31b
37Design Class Diagram Development
- Choose single class from class diagram
- Elaborate the attributes
- Identify methods
- Elaborate methods with logic
38Short Form of the Order Design Class Figure 9-34
39Finishing up OO Design
- Inheritance, overriding, and polymorphisms
- Integration with user-interface design, database
design, and network design