Download Designing GUI Using Java With AWT

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Design Methods
Instructor: Dr. Jerry Gao
Software Design Methods
Design --> as a multistep process in which we design:
a) data structure
b) program structure
c) interface characteristics
d) 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
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.
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
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
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)
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.
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:
Step 2:
Step 3:
Review the fundamental system model
Review and refine data flow diagrams for the software
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)
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)
Related documents