Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design Methods Instructor: Dr. Jerry Gao. Software Design Methods Design --> as a multistep process in which we design: a) data structureb) program structure.

Similar presentations


Presentation on theme: "Design Methods Instructor: Dr. Jerry Gao. Software Design Methods Design --> as a multistep process in which we design: a) data structureb) program structure."— Presentation transcript:

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)


Download ppt "Design Methods Instructor: Dr. Jerry Gao. Software Design Methods Design --> as a multistep process in which we design: a) data structureb) program structure."

Similar presentations


Ads by Google