Section 0: Module Objectives or Competencies
Course Objective or Competency | Module Objectives or Competency |
---|---|
The student will be able to provide an overview of the design phase. | The student will be able to list and explain the three major design approaches. |
The student will be able to discuss the importance of hierarchical diagrams such as structure charts for system design. | |
The student will be able to explain the concept of user interface design. | |
The student will gain an awareness of rudimentary fault tolerance and security. | |
The student will be able to list and explain other activities that comprise the design phase, such as database design, workflow, staffing requirements, and various supervisory tasks. |
Section 1: Overview
Systems have two major parts with which designers must cope:
- functions
- data
This leads to two major design approaches:
- Process-oriented Design Approach
- Focuses on functions or processes.
- Functions manipulate data in order to produce the desired results.
- Data is dependent on the needs of the functions.
- Focuses on functions or processes.
- Data-oriented Design Approach
- Focuses on data.
- Functions are necessary to manipulate data.
A third approach later emerged.
- Object-oriented Design Approach
- Fundamental idea is to combine both data and the functions that operate on that data into a single unit called an object.
- Instead of viewing the world as a set of processes, it instead views the world as a collection of entities that are characterized by certain behaviors.
Section 2: Hierarchical Diagrams
- One approach to systems development is closely associated with structured programming, which is a process-oriented approach, so the modularity associated with structured techniques is often a part of traditional SA/D techniques.
- Most common applications are implemented with a main routine, that calls subroutines, that in turn call lower-level subroutines, and so on. This hierarchical arrangement is common in most business systems.
- The analyst must translate the data flow diagrams into
structure charts, which accurately represent the
supervisor-to-subordinate relationships of the routines.
- While data flow diagrams are a useful analysis tool, they are a network-style model and not sufficient for the hierarchical approach.
- Structure charts will be discussed in a future section.
Section 3: User Interface Design
- While the analyst creates structure charts, he or she must also be designing the formats of all system inputs and outputs such as screens, reports, and source documents, i.e., the user interface.
- Since the user interface is the only part of the system with which most users come into contact, its design is critical if the system is to please the users.
- An interface that is incomprehensible or awkward will convince
the user that the entire system is incomprehensible or awkward, so
the analyst must take extreme care to ensure that the interface is
clear, self-explanatory, and efficient.
- To create a display screen, an analyst might manually sketch out a design to show the placement of fields, or she or he might instead prototype the screen using a fourth-generation language or CASE product.
- When designing a report, he or she might sketch out a design or, again, create a prototype.
- The analyst also creates the source documents (input forms) that are to be filled out by a user and input into the system.
- The user interface will be discussed in more depth later.
Section 4: Fault Tolerance and Security
- Computer systems are vulnerable in several ways.
- Computer equipment is subject to failure.
- Software defects can wreak havoc on an organization's database.
- Distributed systems are vulnerable to misuse, including theft of financial assets, information, and computer time.
- Systems must be designed on the assumption that some type of fault will inevitably be encountered in the future.
- When a fault occurs it must be possible to restart the system and to recover all data.
- Efficient restart and recovery will be possible only if failures have been anticipated.
Section 5: Database Design and Other Activities
Each data element should be defined only once in the data dictionary.
- The analyst must select an appropriate method of database implementation, as discussed in INFO-4407.
There are several additional tasks that require the analyst's attention:
- The analyst must devise procedures and workflow for the personnel who will be using the system.
- The analyst must determine staffing requirements.
- Together with users, managers, and other team members, the analyst must review the design specifications for accuracy and completeness.
- The analyst must oversee the project, making sure that it is on time and within budget.