Download presentation
Presentation is loading. Please wait.
Published byAldous Owens Modified over 9 years ago
1
Design Methods Instructor: Dr. Jerry Gao
2
Software Design Methods Design --> as a multistep process in which we design: a) data structureb) program structure c) interface characteristicsd) procedural details based on requirements information. Transformation process from the requirements analysis models --> the resulting design specifications Data design: - The major focus is the data structures and their logic representation for each component in a software system. Means: information hiding and data abstraction Architecture design and structural design - The primary objective is to develop a modular program structure and represent the control relationships between modules. - Provide an architecture view about the software system
3
Software Design Methods Interface design: - The major focuses are: - the design of interfaces between software modules - the design of interfaces between the software and external components, such as hardware... - the design of the user interface Procedural design or detailed design: - The primary objective is to provide the procedural-oriented detail design and algorithm for each task or function a module. - Use one unambiguous specification language to write the procedures.
4
Data Design Guidelines for data design: - Apply the systematic analysis on data - data objects, relationships, and data flow as well as contents. - Identify all data structures and related operations - Establish a data dictionary - data objects and their relationships as well as constraints - Defer the low-level design decisions until late in the design process - Use information hiding in the design of data structures - A library of useful data structures and operations - reusable data objects - reusable data structure templates - Use a software design and programming language to support data specification and abstraction
5
Data File Design Guidelines for data files: - Design for data files: a) File types and structures: - ASCII text file, sequential files, direct access files, indexed files - buffer size and record size b) File record structures: - data fields, data types, and format c) Applications of data files: - configuration, working data, input/output data, operation logs d) Operations of data files: - open, close, creation, deletion, read and update e) Operations for data records: - append, insertion, deletion, update, read
6
Database Design - Evaluation of ERDs for databases. - data objects - relationships - data attributes in each object - Refinement of ERDs in relations, data attributes. - Select target database type: - network database - relation database - object-oriented database - Define database schema: - define database tables or database objects - determine data keys (primary keys and foreign keys) - determine data types - determine default values - Normalize database schema - Write database definition in a pre-defined language (by a database vendor)
7
Software Design Steps Step 1: Review the fundamental system model Step 2:Review and refine data flow diagrams for the software Step 3:Determine whether the DFD has transform or transaction flow characteristics. Step 4:Isolate the transform center by specifying incoming and outgoing flow boundaries. Step 5:Perform “first-level factoring” Step 6:Perform “second-level factoring” Step 7: Refine the first iteration program structure using design heuristics for improved software quality. Figures: 14.4, 14.5, 14.6, 14.7, 14.8, 14.9, 14.10, 14.11, 14.12, 14.13, 14,14.
8
Transaction Mapping Steps Design steps for transaction mapping are similar and in some cases identical to steps for transform mapping. A major difference lies in the mapping of the DFD to software structure. Step 1: Review the fundamental system model Step 2:Review and refine data flow diagrams for the software Step 3:Determine whether the DFD has transform or transaction flow characteristics. Step 4:Identify the transaction center and the flow characteristics along each of the action paths. Step 5:Map the DFD in a program structure amenable to transaction processing. Step 6:Factor and refine the transaction structure and the structure of each action path. Step 7: Refine the first iteration program structure using design heuristics for improved software quality. (Figure 14.11, 14.12, 14.13, 14.14)
9
Procedural Design Procedural design occurs after data, architectural, and interface designs have been established. It defines algorithmic details. We can specify the detailed design in a number of ways: A) structured programming -> use constructs, such as sequence, condition, and repetition to specify any algorithm. B) graphic design notation -> flowcharts (Figure 14.17, and 14.18), -> box diagrams (Figure 14.19) C) tabular design notation (decision table in Figure 14.20, 14.21) Decision tables provide a notation that translates actions and conditions (described in a processing narrative) into a tabular form. D) program design language (PDL) - known as structured English or pseudocode (Figure 14.22)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.