Home Page

SDLC Course Outline

Manage Project

Define System

Design System Architecture

Design Components

Develop Components

Integrate System

Deploy System

Revise System

What's New

Contact Us

Favorite Links

About Us

CHAPTER 2

PRELIMINARY DESIGN

2.0 Introduction

This stage of system development provides the transition from a definition of system approach and objectives to a fully designed system specification. This system specification consists of the high-level design of the entire system including hardware, software, and personnel subsystems, to the point where programs and procedures may be designed and hardware may be ordered.

Preliminary design involves the development and documentation of an application (or parts thereof) to a specified uniform level of design. There is a human tendency to select one item of interest and to develop this to its ultimate detail. Later, when another item is selected, it usually becomes necessary to change what has already been accomplished, which is wasteful both in terms of time and money. It is therefore desirable to develop the total system to a preliminary level before starting the detail design of any area.

Considerable effort and money will be spent during the design period. Experience has shown that the final product may differ significantly from the initially defined product. It is therefore desirable to arrive at a preliminary design milestone before the design is completed in every detail. In this way, appropriate approval can be obtained and the design changed, if necessary, before further detail is developed.

The Definition Study contained activities that were performed by a relatively small study group focusing directly on the problem with the responsibility to recommend a feasible approach to its solution. During Preliminary Design, the study group will evolve into an organization of sufficient stature to support the design effort through detail design. At this time, the organization will be composed primarily of system designers.

The main features of Preliminary Design may be summarized as:

· Complete high-level design of the system and of all subsystems

· All subsystems designed to a uniform level

· Design of all hardware and system software

· Design of the logical data base

· Development and implementation plan

· Management summary and cost/benefit analysis

The products of this state are the Preliminary Design report and supporting documents. The report will provide management with the concise information necessary to make a judgment on whether to continue the developmental effort. The Preliminary Design report should contain a complete and final design but does not require all the interim designs and design decisions encountered throughout this stage (these can be found in the various working papers and supporting documents). The final report should represent a design entity; i.e., the level to which the design must be carried to ensure overall system design completeness and continuity. This design provides the "blueprint" for total system development even though the developmental efforts may be staggered, following the completion of Preliminary Design.

The Preliminary Design report should contain the following sections at a minimum:

· Introduction and management summary

· Data base design

· Hardware specifications

· System software specifications

· Subsystem designs

· Implementation and conversion plan

· Cost/benefits analysis

Of course, the results will differ depending on the size and complexity of the system. For instance, in a simple system the data base design may be nothing more than a specifying of the record layout and blocking factor of an already existing sequential tape file, while for a big system the data base design might be very complex and include integrated file concepts and very complex data structures.

The standard activities included in the Preliminary Design stage are to:

· Specify system expansion requirements (2.1)

· Define overall system environment (2.2)

· Describe subsystems (2.3)

· Develop subsystem input, output, and interface requirements (2.4)

· Prepare system/subsystem flowcharts (2.5)

· Develop process descriptions (2.6)

· Specify system protection requirements (2.7)

· Identify human engineering problem areas (2.8)

· Design logical data base structure and define the access techniques (2.9)

· Specify data communication requirements (2.10)

· Specify hardware configuration (2.11)

· Specify system software (2.12)

· Prepare development and implementation plan (2.13)

· Produce Preliminary Design report (2.14)

The only activity that could be considered optional is that dealing with data communications. The specific products produced by these activities and included in the project file are:

· System expansion requirements specification

· System environment specification

· System capabilities narrative

· Modified system objectives

· Subsystem breakout

· System segmentation narrative

· Subsystem descriptions

· Initial input/output requirements

· Data element descriptions

· Data catalog

· Subsystem interfaces

· Transmission formats

· Process descriptions

· Specification of requirements for security, privacy, reliability, recovery, reconstruction, and corrective procedures

· Human engineering analysis documents

· Logical data base structure

· Logical data base accessing techniques

· Preliminary storage requirements

· Data base update requirements

· File requirements summary

· Communications method

· Communications overview

· Communications network layout

· Hardware requirements

· Schedules for delivery of equipment

· Equipment order or reservation

· Software specifications

· Detail design, programming, and testing requirements

· Development schedules

· Conversion and implementation plans

· Hardware and facilities installation plan

· Updated cost/benefits analysis

· Preliminary Design report

 

Exhibit 2.0-A Suggested Preliminary Desing Activity Network

 

 

2.1 2.2 2.5 2.9

2.10

2.4 2.8 2.13 2.14

 

2.11

2.3 2.6 2.12

2.7

2.1 Specify system expansion requirements

2.2 Define overall system environment

2.3 Describe subsystems

2.4 Develop subsystem input, output, and interface requirements

2.5 Prepare system/subsystem flowcharts

2.6 Develop process descriptions

2.7 Specify system protection requirements

2.8 Identify human engineering problem areas

2.9 Design logical data base structure and define the access techniques

2.10 Specify data communications requirements

2.11 Specify hardware configuration

2.12 Specify system software

2.13 Prepare development and implementation plan

2.14 Produce Preliminary Design report

 

2.1 Specify System Expansion Requirements

Any system will evolve over a period of time and none, no matter how well designed, will remain static. Potential sources of change are:

· Growth of data base

· Growth of transaction input

· New hardware

· New software

· New processes to be performed

· Unexpected contingencies

· Need for interfaces and new systems

· Legal or other external forces.

Changes will occur during maintenance or during system re-design. The adaptation to these changes can be less expensive and time consuming if careful attention is pain to this activity. The changes leading to system expansion can be classified in two categories:


Predictable Unpredictable


customer/user growth latent demand

transaction increase new technology

data base growth new applications

old applications expansion major external forces

bigger/better hardware/software changes in goals and plans


It is relatively easy to design specifically for the predictable factors but almost impossible for those that are not. The best way of accommodating such eventualities is to produce a design which will easily allow adjustment in the future.

A good example relates to unpredictable, latent demand. Quite often, a primary goal of a systems effort concerns improving customer service. The system designer must be constantly alert to the fact that an improved service will often generate a significant (but unpredictable) increase in the demand for that, or additional services, and subsequent expansion in the system load.

The initial system design should be examined from the viewpoint of what may be required after the system has been operational for some time. Each particular feature of the system should be examined to see if it will aid or hinder possible future changes. Typical examples of features which will hinder future changes are:

· Designing a non-modular system

· Using a programming language which is restricted to one manufacturer

· Using file structures which are supported only by one manufacturer’s hardware and software

· Implementing on hardware that is not easily upgraded

· Using hardware peculiarities of a given make and model of a machine

· Writing large segments of code that cannot be separated

· Extremely complex relationships between programs

One feature that will definitely inhibit future expansion or change is inaccurate or incomplete documentation. All documentation must be written so that someone other than the developer can use and understand it.

Typical examples of features which will ensure system expandability are:

· Upgradeable hardware

· Modular hardware

· Modular software

· Generalized software, where possible

· System optimization during operation

· Design for the future.

There are two basic approaches which may be taken by the designer in order to ensure system expandability. The first is to design the system with considerable over-capacity initially built in. The second is to design the system to accommodate the immediate future load, but with easy upgrading techniques included in the design. Normally, a combination of the two is preferable with a certain amount of initial over-capacity combined with ease of upgrading. The trade-offs to consider when deciding the approach and the amount of expansion to allow for are, among others:

· The time interval over which the system growth will occur

· The amount of predictable growth

· The probability of significant, unpredictable expansion requirements

· Tthe relative ease of allowing for certain expansion

· The relative development and operational costs of the immediately efficient way versus the cost for no longer range planning

· The net benefit that can be estimated for a given degree of flexibility

Building in ease of expansion can be considered to be a capital investment in the same sense as having more power lines built for a building than will be used immediately. These capabilities may increase the short term cost of the system while lowering its lifetime cost.

2.1.1 Methods

1. Specify the life expectancy of the system. This is critical, because the whole expansion question depends on whether the system is being developed to last for many years, or is temporary measure with short life expectancy, or lies somewhere in between.

2. Determine the predictable future expansion of the system by examining:

· Extrapolation of past growth

· User plans

· Projected organizational goals

· Announcements of proposed hardware and software developments by manufacturers and EDP professional standards

· Systems proposed and under development within the organization

3. Determine the probability of unpredictable expansion requirements by considering:

· Whether improved services may have an unknown affect on demand

· Whether or not there are critical areas (such as slow mass storage devices) where new technology could affect the whole system concept or growth possibilities

- If new, associated applications are likely

- If a significant change in the external environment (such as new laws, an economic depressions, or political pressure) would have a significant affect on the system

- if significant changes in organizational policies or plans are likely to have a strong affect.

4. Quantify the additional requirements in terms of extra machine, file, and software capacity to the greatest degree possible. These requirements should be distributed over time.

5. Estimate the relative cots of building particular flexible or inflexible features and the associated benefits.

6. Analyze and design the most optimal trade-off between immediate and long range planning options.

7. Specify the recommended expansion requirements and capabilities, and document as part of the working system specification.

2.1.2 Product

· System expansion requirements specification (see Exhibits 2.1.A and 2.1.B)

2.1.3 Background

· Definition Study report and supporting documents (1.10)

· User plans

· Projected goals

· Announcement of new developments

· EDP standards

· Documentation on proposed and new systems for organization

 

Exhibit 2.1.A. Example of Expansion Restriction

A factor which will very likely restrict expansion of the new project planning and control system is that the accounting department has to check all time reports before they are processed further.

At the present moment, one of the main causes of the backlog is that the two persons in the accounting department cannot handle the time reports, which are submitted every Friday afternoon, fast enough. In view of the extra work expected in the coming year, this will become an even more serious bottleneck than it is now.

The solution for this problem could be to process the data from the time reports first, and let the computer make as many of the checks as possible. Only after that would data be passed on to the accounting department for final control. It is felt that an important factor in the backlog would be eliminated and the expansion of the workload in the near future would then cause much less difficulty.

 

 

 

 

Exhibit 2.1.B. Example of Volume Expansion Forecast.

 

 

 

Current

Volume

Size

Year 1

%

Growth

Year 2

%

Growth

Year 3

%

Growth

Year 4

%

Growth

General

Projections

Data Base Files

         

Project Master

90K

115K

140K

165K

190K

Leveling out at this point

Personnel Master

200K

225K

250K

275K

300K

Growth proportionate to personnel

Historical Master

100K

140K

200K

280K

370

 

Client Master

40K

42K

44K

46K

48K

 

Inputs/Outputs

         

Time Sheets

129 per wk

130

140

150

160

Proportionate to number of employees

Inquiries

20 per wk

40

40

40

40

Level at this number

New Applications

         

Automatic Priority Determination

1 per wk

   

Jul 75

 

New module to system planned for implemen- tation in July 1975

 

 

 

 

2.2 Define Overall System Environment

In this activity, the hardware and software environments required to enable the system to meet its objectives are specified. This will lead to decisions for providing capabilities that are lacking or, where this is not feasible, to change in the system objectives; in which case a recycling to the Definition Study state would be necessary. This environment specification should include the structure into which the system will fit and should specify any interfaces to any other systems.

The current or proposed hardware/software configuration must be reviewed to determine the capabilities that are, or will be, available to support the proposed system. This step is necessary because certain characteristics and capabilities that might be required for a system may not be readily available with most standard configurations (e.g., conversational processing). Such requirements would produce the need for the generation of special software.

The following requirements should be considered when defining the system environment:

· Application requirements:

- Multiprogramming/multiprocessing

- Batch processing (remote)

- Demand processing (time-sharing)

- Real-time processing

- Processing timeframe and load.

· Data communications requirements:

- Number of data sources and points of distribution and their locations.

- Volume and response time of collection and distribution of data for each location

- Number of types of terminals

- Degree of accuracy and penalty for system failure

· Data base requirements

- Storage

- Urganization

- Conversion

- Recovery and fallback

- Security.

· Physical facilities

- The facilities that are needed

- The locations of those facilities

- The critical characteristics of those facilities

- The existing facilities.

2.2.1 Methods

1. Establish a general framework for a system environment including those features that must be specified.

2. Specify the data communication requirements to the degree possible at the time. The following factors should be considered:

· Information flow: total volumes of input and output data, average and peak, that will flow between all locations

· Service time: the time in which the system must react to a given input. This is generally defined as being the interval between an event and the system’s response to the event

· System performance: the system throughput rate and response time requirements. This can be ascertained from the information flow and service time

· Input/output media: the form in which the data must be receive or transmitted. For example, keyboard input and visual display output

· Terminals: the number, type and location of terminals that will be required. Man-machine interface should be considered at this time

· Transmission facilities: establish the availability of the required communication facilities,

such as lines, modems, multiplexors, concentrators, etc.

· Communication network: determine the communication network requirements to meet the specified throughput and response time requirements. Analyze and optimize the cost/performance of the network.

3. Specify the type and amount of hardware required to contain the data base, as well as the software required to build, access, and maintain the data. The degree of generality required for data base management is a significant consideration.

4. Determine the type of processing required and the most efficient for each function within the system. There are normally several factors to consider here, including:

· Real-time vs. on-time

· Input/output, interactive and conversational processing

· Hardware processing vs. total processing

· Volume of transactions per unit of time

· Down time and maintenance time

· Peak load conflicts

· On-line updating

· Use of simulation and modeling

· Costs vs. benefits optimization

· The required performance characteristics

5. Specify the timeframes in which the subsystem will be operating. A timeframe may be one of the two following types:

· A period of time during the house, day, week, etc., when a process will, or will not, be available

· A required response time for a group of processes or projects to be completed

An example of the first is a specification such as the following: -- Subsystem A will be "live" between 9 a.m. and 5 p.m., Monday through Friday. The second type of timeframe is illustrated by the following condition: -- Subsystem B must provide a turnaround time of less than two seconds for an inquiry of type X.

Problems of peak loading and conflicting timeframe requirement will be considered at this point.

Determine the critical time requirements for each subsystem or process. Two time requirements for the same subsystem must not be mutually exclusive; e.g., requiring ten seconds turnaround through a terminal that is required to be polled every twenty seconds.

Between subsystems, determine relative impact of requirements and establish the total system timeframe requirements that are feasible at a general level. Points of conflict are possible at several places, including:

· CPU

· Peripherals

· Prime shift time

· End-of-month

6. Based upon the above considerations, the systems approach and the descriptions of the functions to be performed, approximate the hardware requirements. These requirements should be quantified to the extent possible.

7. From the hardware and other requirements, specify the support software that will be required in terms of that software normally available from the vendor (operating systems) and that which will be needed in addition.

8. Based on the system approach and the hardware/software requirements, specify the physical facility requirements that will have to be met to house the system. These requirements will need to be analyzed in terms of the physical facilities that already exist. Facilities that are needed but not available are critical since there may be a long lead time for construction, etc.

9. Resolve all the tradeoffs and differences, and product an encompassing system environment specification. This specification should be as detailed as possible and lead directly to hardware/software selection. This specification should consist of narrative explanation accompanied by graphic representation. In all cases, where possible, the capabilities that are available from existing hardware/software must be compared with what is required and any discrepancies highlighted.

2.2.2 Products

· System environment specification (see Exhibits 2.2-A through 2.2-C)

· System capabilities narrative

· Modified system objectives

2.2.3 Background

· Description of manufacturer system capabilities

· System objectives (1.4)

· Selected system approach (1.8)

· System expansion requirements specification (2.1)

 

Exhibit 2.2-A. Example of Hardware/Software Environment

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.2-B. Example of Overall Hardware Environment

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.2-C. Example of Facilities Description Checklist

 

· Space: · Environmental control:

- Computer room - Temperature

- Dispatch room - Heat dissipation

- Management and worker office - Humidity

- Library (filing) and storage rooms (fireproof) - Dust control

- Entrance · Power

· Floor - Voltage

- Cable clearance - Frequency

- Load stress - Amperage

- Durable covering - Consumption range

· Ceiling - Alternate source and master

- Height control

- sound absorption · Safety

· Light - Fire

- Brightness - Seasonal hazards

- Diffusion - Obstructions

- Sabotage

- Water damage

· Equipment

- Office

2.3 Describe Subsystems

A subsystem is defined as being a portion of the system that can be designed and implemented independently of other parts of the system. This does not exclude relationships between subsystems. In most systems, the subsystems are obvious, such as the payroll subsystem within a general accounting system.

Subsystems may be of two general types. The most easily identified are application subsystems; e.g., material inventory, billing or payroll. In addition to these, many systems will require certain support subsystems, e.g., data management, communications, or generalized reporting.

The concept of system vs. subsystem is quite flexible. For instance, at one point in time, an application such as billing may be considered as a total system, while at another, it may be a subsystem of a larger, integrated customer services system. It is also possible that a system may be multi-level; i.e., a subsystem may be subdivided into lower level subsystems. Conversely, a system may be so small that it cannot be practically subdivided into subsystems.

In certain cases, it may be beneficial to identify separate human subsystems in a complex man/machine system.

It is in the interest of both time and efficiency that the system should be divided into logical segments, each of which can be developed separately and managed and controlled more effectively. this segmentation will allow for concurrent development and testing of different sections of the system. However, this modular approach can only be used profitably when proper preparation has taken place. The overall system design must be firm, and the distinction between subsystems specified in exact detail.

A description of the system segmentation is prepared, together with a functional description of the processing requirements for each subsystem.

2.3.1 Methods

1. Identify possible divisions for system development by grouping common system functions and file usage and specifying independently usable system outputs.

2. In selecting an approach toward segmentation of the total system, careful consideration must be given to subsystem interface problems. There should be a limited amount of information exchange between subsystems, and interfacing requirements should be kept as simple as possible in order to eliminate problems from the total system.

3. Draw subsystem breakout depicting the subsystem divisions and functional elements therein. This should be accompanied by a narrative explanation of the rationale for the specified organization.

4. Produce a narrative description of all subsystems encompassed within the total system framework to include all interfacing considerations and processing requirements.

2.3.2 Products

· Subsystem breakout (see Exhibit 2.3-A)

· System segmentation narratives

· Subsystem description (see Exhibit 2.3-B)

2.3.3 Background

· Documented analysis of existing methods and procedures (1.3)

· System performance criteria (1.4)

· System objectives (1.4)

· System resources and constraints (1.5)

· Major system functions (1.6)

· System environment specification (2.1)

· Definition Study report (1.10)

 

Exhibit 2.3-A. Example of Subsystem Breakout

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.3-B. Sample Outline for Subsystem Description

 

· Subsystem name and identification · Data files required:

· Summary description - data base

· Functions performed - working files

· Processes required: · Outputs produced

- input validation and editing · Inputs required

- file updating · Special hardware/software

- special calculations considerations

- output reporting · Manual tasks required

- error handling

- interactive processes

 

 

2.4 Develop Subsystem Input, Output, and Interface Requirements

Input/output requirements can be determined by analyzing the system processes occurring in each subsystem. Initially, this should be accomplished without consideration being given to other subsystems input/output requirements to ensure that each subsystem will have a firm specification of its own input and output requirements.

The subsystem designers should interact to combine their respective input and output requirements into subsystem interface records. The subsystem designers should ensure that all inputs have a course and that all outputs have a destination. The interfaces represent the degree of subsystem interaction and data flow. The ease or difficulty of fitting the subsystems together during implementation is largely a product of this activity.

The data catalog is established at this time and will be maintained and updated throughout the life of the system. This catalog lists all the data items used within the system, using standard name and number. Associated with these items will be the processes and files that use the items as those processing and files are developed. This ensures standard naming of items throughout the system and reduces the possibility of data redundancy within the system.

Although this activity continues through Design, the major effort would be expected during Preliminary Design, as soon as most fields can be specified and output documents tentatively formulated.

 

2.4.1 Methods

1. List all output and input data items for each subsystem.

2. Develop a unique identifying number and official name for each data item. The names will be carried through and used in programming.

3. Build a data catalog containing each data item. Standard name, number, size, description, and usage should be included. Tentative grouping of items into logical records may be possible.

4. Specify any volume figures that can be determined at this time.

5. Analyze data catalog for duplication of data and for efficiency in representation. All data items should be critically examined for possible deletion.

6. Determine the best source of inputs for each subsystem (external input, data base input). Subsystems A and B may both assume that field Q will be received via external input. After negotiations, it may be determined that subsystem B will receive field Q as an input from Subsystem A.

2.4.2 Products

· Initial input/output requirement (see Exhibits 2.4-A and 2.4-B)

· Data catalog (see Exhibit 2.4-C)

· Subsystem interfaces

· Transmission formats

· Data item description (see Exhibit 2.4-D)

2.4.3 Background

· Preliminary system output and input descriptions (1.6)

· Major system function (1.6)

· Selected system approach (1.8)

· System environment specification (2.2)

Exhibit 2.4-A. Example of Initial Report Requirements

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.4-B. Example of Data Catalog

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.4-C. Example of Initial Video Output Requirements

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.4-D. Example of Data Item Description

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.5 Prepare System/Subsystem Flowcharts

A process is the logic of how a particular set of functions within a subsystem is performed. This logic is mot easily described in terms of a flowchart.

The describing of processes will vary between a batch system and an on-line or real-time system. For a batch system, the actions will be grouped into a process according to a similar logic and intermediate results for inputs or transactions passing through the subsystem. For example, all inputs may pass through the same validation process. The processes are conceptually static with the transactions dynamically addressing them.

For an on-line or real-time system, an individual transaction is described by a string of specific actions which that particular transaction requires. For example, an inventory request could require a specific set and sequence of unique actions. Such action strings comprise processes. Conceptually, the transaction is static, and the processes are dynamically called to address that transaction.

The level of detail should be sufficient to portray the full allocation among manual and EDP resources Further analysis of any process should lead only to subprocesses of the same type. It is frequently the case that automating all parts of a system can cost several times what automation of 95-99 percent of the system costs. Handling of vary rare or unusual cases can often be performed more efficiently as a manual operation with only the results of the process input into the EDP system.

The various process flows are integrated into one subsystem flowchart which is a description of the overall subsystem logic. The collection of subsystem flowcharts is considered as being the System Flowchart. Exhibit 2.5-A shows a flowchart that could describe a system, or be a subsystem of a larger system.

2.5.1 Methods

1. Develop the required process flowcharts; these will define and sequence all the major processes in a systematic fashion in order to produce all required subsystem results. Depending on the nature of the subsystem, the allocation of the various components within a process to man or machine, ca be obvious, obscure, or somewhere in between. This can lead to extensive analysis for making the determination, or providing a simple statement of facts.

2. Allocate processes between EDP and manual operations on the basis of a wide variety of criteria. Among the types of considerations while establishing criteria are the following:

· Relative ease of manipulation by man or machine

· Performance requirements, such as processing time, frequency, reliability or input/output, and response time

· Developmental constraints and resources, such as targeted installation dates and manpower availability

· Control and security requirements

· Operating costs and maintainability

· Organizational requirements

3. Where a clear picture is not apparent for EDP or manual processing, an analysis should determine ways of allocating the process. All proposed alternatives should be evaluated against an appropriate rating process. Where no capability for accomplishment of the process within the allowable resources can be identified, a redetermination must be made of system requirements, objectives, resources, and constraints.

4. Integrate the various process flows within a subsystem to provide a comprehensive and clear picture of the logic of the subsystem (Subsystem Flowchart). The collection and relation of the various subsystem flowcharts create the System Flowchart.

5. Verify the logic with application authorities other than the authors; this ensures compatibility with the system design, supports the system performance objectives, and satisfies the developmental objectives within the identified resources and constraints. Care should be exercised in making any modifications which may exceed limits or resources; i.e., infringe upon critical objectives.

2.5.2 Products

· Subsystem flowcharts

· System flowchart (see Exhibit 2.5-A)

· Process flowcharts (see Exhibit 2.5-B)

· Subsystem interfaces

2.5.3 Background

· System environment specification (2.1)

· System objectives (4)

· Initial input and output requirements (2,4)

· Selected system approach (1,8)

· Subsystem breakout (2,3)

· Subsystem description (2,3)

 

Exhibit 2.5-A. Example of System/Subsystem Flowchart

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.5-B. Example of Process Flowchart

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.6 Develop Process Descriptions

In this activity, the processes identified on the System/Subsystem flowchart are expanded into descriptive narrative detail. The activity will be similar for both EDP and manual processes and for batch and on-line processing. The narratives should support the flowcharts and be easily related to specific blocks on the charts. They supply detail and explanation for the flowcharts.

These definitions are the source documents for developing programs and procedural specifications. They are, in fact, the program and procedural requirements sated in application-oriented ordinary language. Completeness and accuracy are the important considerations when developing these descriptions.

2.6.1 Methods

1. For each process, describe the possible design alternatives, functional relationships, boundaries, and sequences.

2. Through objective analysis, specify the best alternative design available

3. Upon selection of an alternative design, describe each EDP, manual, and EAM process in as much detail as possible. The descriptions should cover:

· Inputs (and sources)

· Outputs (and destinations)

· Actions performed

· Subprocesses

4. The System/Subsystem flowcharts and supporting documentation are used in analyzing the manual processes. Special criteria related to personnel task performance and training requirements are then applied to these processes in order to incorporate them into tentative procedures. these procedures provide the framework for continued design of manual subsystems.

5. Analyze the individual EDP processes within the subsystems and develop detailed descriptions of the processing requirements. The level of detail should readily allow the creation of program specifications in a later activity.

6. Include in the description of each process the basis for allocating it to man or machine.

7. Organize the narrative descriptions and the flowcharts into an integrated easily usable document.

2.6.2 Product

· Process descriptions (see Exhibits 6.2-A and 2.6-B)

2.6.3 Background

· System/Subsystem flowcharts (2.5)

· Subsystem interfaces (2.4)

· Initial subsystem inputs and outputs, 2.4)

· Process flowcharts (2.5)

 

 

Exhibit 2.6-A. Example of Process Description

 

Submit project plan

1. Validate the plan:

· Has plan been authorized?

· Are persons planned available?

· Do costs planed concur with personnel tariff x hours to be spent?

2. Draw plan at the phase level on proj/pc planning sheet

3. Have educational courses + vacations been taken into account?

4. Divide phases into tasks.

5. Number of tasks.

6. Assign a person to each task.

7. If a task takes more than 35 hours per week, divide the task into more tasks and assign personnel

8. Have plan coded and punched.

9. Machine-process the plan.

10. Hand check that the plan has been processed as intended.

 

 

 

Exhibit 2.6-B. Example of Process Description with Process Flow

 

Validate the plan to check that it has been authorized, that the project number is available, the persons planned are available (See personnel staffing summary) and that projected costs have been correctly calculated.

 

If there is an error in the plan submitted, return it to person concerned with request for correction.

 

Draw the plan on a project planing sheet and number the tasks which have been assigned to certain individuals. Tasks of more than 35 hours per week have to be subdivided.

 

 

Code the planning and task input documents and have information punched.

 

 

Use punched cards as input for automatic checking in weekly run.

 

 

Check that task numbers assigned are correct and print a planning list.

 

 

If there is an error, the planning department will sort this out with the person submitting the plan.

 

 

2.7 Specify System Protection Requirements

This activity covers all area of failure, error, or compromise within the system and specifies appropriate remedies. However, there are three general area which requires somewhat different handling:

· Hardware/software failure

· Data error or compromise

· Human error or violation

The results of this activity will be requirements for:

· Failure/compromise identification

· Failure/compromise isolation

· Remedial procedures

· Fallback procedures

· System recovery procedure

· Reconstruction of obliterated or incorrectly altered data

· Security standards

· Reliability requirements

· Privacy restrictions

The above are requirements only insofar as they are necessary to meet stated objectives. For example, if it is determined that a processing delay of 8 hours is tolerable and that any problem can be corrected in less than 8 hours, then fallback procedures may not be needed.

2.7.1 Methods

1. Review the operational aspects of the system and identify all area of failure, error, or compromise that are likely. List these and make initial estimated of their probable frequency and impact. Areas where such problems may occur include manual procedures, files, computers, schedules, logic, terminals, communication network, facilities, and disability of staff.

2. Classify the identified potential problem area with regard to criticality for the operational system. The level of criticality will depend on the importance of the system or data and the degree to which the various events will disable or compromise the same.

3. Specify ways of identifying and isolating the possible failures, errors, or compromise. Without the adequate ability to determine that a problem has, in fact, occurred, and being able to locate the point at which it occurred, any fallback, recovery, or reconstruction method will prove useless.

4. Identify the problem areas, where human intervention and correction are possible and preferred, or necessary. These should be kept to a minimum as human intervention in an automated system is often difficult and may generate. errors which will compound the original problem. Human performance capabilities should be given to requirement for assessment of human performance in the system; these may have implications for system design; e.g., special routines may be needed for counting and classifying gross errors in input arising from manual sources. These requirements will later be translated into specific procedures for measurement of job performance.

5. Specify system fallback requirements. The various levels of fallback are important. For example, falling back to yesterday’s processing cycle poses quite a different problem than that of falling back to a manual procedure after it has been automated for some time. The levels of fallback could be (see Exhibit 2.7-B):

· immediate or on-line (to conditions prior to a given transaction)

· short (to condition prior to a run)

· intermediate (to conditions prior to a short cycle such as a day)

· long (to conditions prior to a long cycle, such as a week or month)

· disaster (to manual operation, or other computer facilities(

6. Specify the system recovery requirements. this action is closely linked to fallback; i.e., the processing required to recover from the fallback point to the present time. This recovery, in some cases, may simply be the rerunning of the intervening normal processing from a fallback point, or possible, use of an alternate site.

7. Specify the types of data reconstruction that must be provided. This reconstruction could be due to hardware/software failure, update error, or intentional destruction. The reconstruction will also probably be defined in levels, such as:

· Data item

· Record

· File

· Physical units (e.g., disk)

· Full data base

The possibility of redundant data bases should be considered.

8. Specify the privacy requirements for various transactions or data within the system. This implies specification of the restrictions and methods that must be used to ensure that information within the system goes only to authorized personnel. this has more or less importance depending on the type of system; e.g., privacy might be very important for a payroll or billing system but not so important for an inventory system.

9. Specify the security requirements for the system. This includes preventing unauthorized access to the facility, sabotage, or other physical hazards to the system.

10. Specify the reliability requirements for various hardware and software components of the system. Ways to ensure reliability are component modularity, organized maintenance, and simplicity of design.

2.7.2 Product

· Specification of requirements for security, privacy, reliability, recovery, reconstruction, and corrective procedures (see Exhibits 2.7-A and 2.7-B).

2.7.3 Background

· System objectives (1.4)

· Selected system approach (1.8)

· Process flowchart (2.5)

· Initial input/output requirements (2.4)

· Documented analysis of existing methods and procedures (1.3)

· System constraints (1.5)

 

 

Exhibit 2.7-A. Example of Systems Protection Summary

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.7-B. Example of Data Base Recovery Subsystem

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.8 Identify Human Engineering Problem Areas

This activity involves identification of all areas of the system where human engineering is required to optimize personnel effectiveness, comfort, and safety. These areas include work space layout, controls and displays, ambient conditions, training requirements, and task performance aids. For each area identified, the system characteristics required to bring human performance needs and system objectives into optimum alignment a should be specified. In most instances, this will entail trade-off analysis which may be supported by many other forms of analysis and study, including:

· Modeling

· Simulation

· Laboratory experimentation

· Field observation

The human engineering characteristics identified here will subsequently be refined and incorporated in procurement and design specifications of input/output equipment, communication networks, work facilities, job aids, training courses and other items related to the personnel subsystem. Some human factors considerations are:

· Identification of critical human operations

· Specification of aids to these operations

· Rules for man/machine interfaces

· Characteristics of man/machine interfaces

· Initial training guidelines

· Identification of organizational problem areas

· Identification of human job conversion problems

· Specification of human test-bed or simulation requirements

2.8.1 Methods

1. Identify the man/machine interfaces in the system and specify details about the interfaces which would tend to generate problems for the persons involved.

2. Identify the human procedures within the system which are likely to be bottlenecks, or are likely to cause undue problems with the system, such as a human operation which could enter many errors.

3. From the identified interfaces and problem areas, develop a description of human engineering factors which should have a significant effect on human performance. Examples would be the hardware design alternatives of video display units which would influence the manual operation of the display or the design characteristics of a report that will aid the understanding and using of it.

4. Identify the human procedures that will require significant training or elaborate work aids. This is important because a great amount of time may be required to develop and provide training courses, or to design and produce work aids which could otherwise cause undue delay in system implementation.

5. Review and analyze the entire system design to ensure that the automated portions of the system are designed to aid and support the human portions and not the reverse. Personnel should never be subjugated to a computer for reasons of efficiency,. as well as for humanitarian reasons. The tasks that are most appropriate for a computer are those which are too boring, repetitive, tedious or mathematically extensive for a human to do, thus freeing personnel for more creative, imaginative, and significant jobs.

2.8.2 Product

· Human engineering analysis documents (see Exhibits 2.8-A and 2.8-B)

2.8.3 Background

· System objectives (1..4)

· System outputs and inputs (1.6)

· System resources and constraints (1.5)

· General human engineering standards

 

Exhibit 2.8-A. Example of Checklist of Areas to Examine for Human Factors

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.8-B. Example of Human Factors Consideration

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.9 Design Locical Data Base Structure And Define The Access Techniques

During this activity, the records currently being used by the existing system are evaluated against the information requirements of the new system. This results in the selection of records to be used for generating the data base of the new system, and in the establishment of a data base structure and a system for retrieving the data in the manner required.

At this point in time, the designers are primarily concerned with the logical structure of the data base. That is, how will it appear to programmers and users. It may be that, through the use of a sophisticated data management system, the physical structure will bear little relationship to the logical structure. The physical structure will be developed in later stages.

Likewise, the logical assessing methods,. (e. g., chain, list, etc.) should be described now, where the actual technique used can again wait (e.g., indexed sequential).

Re-analysis of the data item and group descriptions to permit more efficient processing and storage should occur with the possible modification of the descriptions; e.g., display to binary or packed. Also examined is the possibility of combining fields. The output should give a close approximation of the data base storage requirements.

This activity is not concluded until after the information content of a new system data base is finalized; however, it can conclude prior to a final decision concerning its physical implementation. It will be conducted in parallel with several other activities during Preliminary Design.

Personnel assigned to develop the data base structural and assess procedures can proceed through the Detail Design and developmental stages. However, they must interact with the new system design to incorporate additions to the information content of the data base.

It should be noted that this activity may be extremely large and complex for a large, integrated system, or alternatively insignificant, as for a small system using a few tape files.

2.9.1 Methods

1. Analyze the data groups and data lists within the data catalog with the goal of determining new data relationships and combining data items that are found to be the same.

2. Analyze data from existing systems to specify the sources of data for the new data base. Some new data may have to be created.

3. Analyze each process and note how each data item is used. This will largely determine the structure of the data base and indicate the proper data notation (coding). Avoid being restricted too closely by hardware constraints unless absolutely necessary.

4. Specify the data base structure graphically and support with descriptions of the various relationships. Consider at all times the degree of file integration, both desirable and possible.

5. Analyze the proposed structure and the processing requirements of the various subsystems to solidify the access requirements. Both the structure proposed and the access technique used will largely depend on the system response time and the load. Great care at this point may avoid enormous problems cause later by a too slow retrieval of data base information.

6. Specify the access technique to be used in each area of the data base. This is to be considered as being the logical technique and may differ from the physical technique depending on the degree to which the data management software ultimately isolates the user process (using the logical structure) from the hardware (physical structure).

7. Investigate the; use of generalized data base management systems or packages in terms of satisfying the data base requirements. indications of possibilities are important at this time, rather than absolute selections. If generalized software packages appear unfeasible, this fact should be specified and supported.

8. Relate the above requirements to physical storage media to ensure the overall feasibility of the approach. Hardware selection is not a goal here, although restrictions may be noted.

9. Review each subsystem to ensure that no performance degradation has occurred because of the data base activities.

10. Recycle all steps of this activity until a clear, complete, and satisfactory picture of the data base is developed.

11. Produce a Preliminary Data Base Design Specification, including:

· Optimized data items (field)

· Logical records (data groups)

· Logical data base structure

· Logical access techniques

· Examples of access from real processes

· Iindication of key fields

· Preliminary view of space requirements of secondary storage (data field size, number of occurrences and distribution of fields in data base)

2.9.2 Products

· Logical data base structure (see Exhibits 2.9-A and 2.9-B)

· Logical data base accessing techniques (see Exhibit 2.9-C)

· Preliminary storage requirements (see Exhibit 2.9-D)

· Data Base Update requirements (see Exhibit 2.9-E)

· File Requirements summary (see Exhibit 2.9-F)

2.9.3 Background

· System environment specification (2.1)

· Subsystem interfaces (2.4)

· Subsystem descriptions (2..3)

· Initial system outputs and inputs (2.4)

· Data catalog (2.4)

· Process description (2.6)

· System objectives (1.4)

 

Exhibit 2.9-A. Example of Logical Data Base Structure

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.9-B. Example of Form for Data/File Relation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.9-C. Example of Access Evaluation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.9-D. Example of Preliminary Storage Requirements

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.9-E. Example of Data Base Update Transaction Requirements

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.9-F. Example of File Requirements Summary

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.10 Specify Data Communications Requirements

During this activity, all communications equipment and facilities required by the operational system should be identified. These needs are then refines, combines, and adjusted to develop comprehensive specifications for communications network. the specifications must be review to assure consistency with the current "state of the art."

In the specifications of the communications requirements, consider the following factors:

· The availability of existing communications facilities (lines, microwave, etc.) is critical

· Peak loads, average loads, and duty hours must be carefully estimated in order to calculate trade-offs between capacity and cost

· Estimates of future expansions in traffic load and suitable design adjustments are required

· If off-line data transmission is required, the following factors should be considered:

- The choice of magnetic tape, paper tape, punched cards, or other input media (based upon data volume), existing equipment, reliability, and preparation and storage costs

- The availability of computer time for media preparation

- The I/O rate of the data conversion device

· Data terminal equipment selection depends primarily upon estimated message volume and peak loads. Other factors which must be considered include costs, availability, reliability, transportability, maintenance, transmission medium required, "intelligence," security requirements, and environmental conditions.

· Associated with the data terminals are various special purpose equipment (concentrators, multi-lexors, modems, etc.) which must be evaluated and specified.

· Human engineering requirements or constraints associated with the communications environment should be included in the specification; these include factors such as:

- Ease of interpreting I/O

- Operation of controls

- Training requirements

- Accessibility of equipment components for maintenance

- Fatigue factors

- Complexity of operation and maintenance

- Environment (sound level, ventilation, temperature, etc.)

- Adequate working and storage space

- Possibility of electric shock, burns, or other physical injuries

· Systems using multiple remote input/output stations require analysis of the service requirements of the central data collection facility. Depending upon load and urgency, the central facility may handle all remotes simultaneously, or service them individually, in a predetermined manner.

· Exact specification must be given to the type of display required at all remote stations. This may include any of a variety of line printers, teletypes, video displays, facsimile equipment, plotters, etc. Also important are physical characteristics such as screen size, buffers, available special functions, etc.

· Communications facilities are provided either by commercial or Governmental communications circuits. Plans for the communications facilities for a system must include a thorough consideration of the availability, reliability, and data handling capability of such services, services, as well as installation and continuing maintenance.

· Various forms of networks should be considered. Packet switching, message switching, or centralized processing (star-shaped) configurations may all be possibilities.

2.10.1 Methods

1. Prepare a specification covering the general communications requirements for this system. This specification should include estimates of peak and average data volumes, possible communications media, nature and relationship of the various communications components, special environmental conditions, human factors considerations, data flow priorities, security requirements, impact of communications failures, and any user constraints.

2. Identify the number and positions of locations to be serviced. Specify form of network, such as message switching.

3. Describe the servicing techniques, e.g., demand polling

4. Based on the objectives of the system and the existing "state of the art," determine the type of terminals and network to be recommended. Specify whether transmission is synchronous, asynchronous, or both. Specify physical characteristics of the terminals such as buffers, display size, character set, special functions, etc.

5. Specify the processing mode requirements for the terminals:

· Input

· Output

· Interactive

· Conversational

6. Specify all special purpose equipment required, such as:

· Multiplexors

· Concentrators

· Modems

· Front-end processors

· Switching mechanisms

· Control units, etc.

7. Specify any special communications techniques, such as those associated with the types of acknowledgments required, or the type of error protection decoding to be used. The type and "intelligence" of the terminals are important (certainly computer to computer communications require different techniques than do video display or teletype to computer communications).

8. Based on the transmission load, select the transmission link to be used in terms of type (e.g., leased line or dial-up line) and speed (e.g., 2400 BPS or 9600 BPS)>

9. Prepare an initial schematic of the complete system showing, in particular, the points at which data conversion and communications equipment are required.

10. In the case of large-scale and complex communications systems, it may be necessary to perform a simulation to establish the feasibility of the proposed communication system.

11. As the design of the various elements of the communication system is developed, it will be documented and filed. After the design has been completed and approved, prepare a final Communications Network Specification.

2.10.2 Products

· Communications method (see Exhibit 2.10-A)

· Communications overview

· Communications network layout (see Exhibit 2.10-B)

2.10.3 Background

· System objectives (1.4)

· System expansion requirements specification (2.1)

· Subsystem interfaces (2.4)

· Process flowcharts (2.5)

· System environment specification (2.1)

· Selected system approach (1.8)

· Subsystem descriptions (2.3)

 

 

Exhibit 2.10-A. Example of Communications Method Concept

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.10-B. Example of Communications Network Layout

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.11 Specify Hardware Configuration

This activity includes final negotiation with the hardware manufacturer for deliver and installation of the equipment and maintenance support. The relevance depends, of course, on whether the proposed system may dictate new hardware or must be constrained to existing hardware.

During this activity, processing statistics should be summarized; CPU and I/O device requirements of the subsystem under development should be determined. These requirements will be used to determine the CPU size and necessary speed. In addition, the general characteristics of the I/O and data base devices will be summarized. The hardware included will be:

· Central processor

· Support processors

· Core modules

· I/O devices

· channels

· Mass storage devices

· Terminal devices

· Control units

· Peripheral devices

· Special purpose devices, such as modems

It must be noted that the use of hardware may be a constraint. It should further be noted that, in some cases, the ordering of hardware may be delayed until the Detail Design stage.

Equipment should not be ordered until the Preliminary Design state is virtually complete. Delivery should be specified for an appropriate time during the Implementation stage. All too often, equipment is ordered before the system is designed and then delivered before it is needed. Considering that rentals may range between $10,000 and $100,000 per month, a poor decision or an ill-timed delivery can be extremely expensive. In addition the cost of programming (which often exceeds equipment rental fees) can cause total costs to skyrocket if the programming effort is not phased-in properly with the installation of the new system.

2.11.1 Methods

1. Determine the method of quantification to be used. This could be a straightforward calculation of processing needs, computerized simulation through an appropriate simulation language, such as GPSS or Simula, or anything between these two extremes. The analysis of costs vs. rteturn in processing power will always be a factor.

2. Develop an approximation of the core requirements of the CPU. This estimate should be on the high side, as it is generally true that more core is actually needed than was anticipated. This maybe done by carefully analyzing all the processes that must be accomplished, considering both direct and indirect core requirements such as those required by the operating system. The degree of confurren processing should be considered, and core maps developed.

3. Develop any other pertinent characteristics such as CPU speed, registers, read-only storage, etc.

4. Identify the input and output equipment characteristics needed to satisfy each subsystem and correlate each data and/or information type to the device characteristics indicated. Typical device indicated may be card reader, paper tape, video display, printer, etc., including all equipment necessary to prepare inputs and handle outputs. Peak hour loads and other sources of overload should be taken into account.

5. Include the description of all I/O equipment characteristics; e.g., speed, type font requirements, control/display relationships and video display resolution. All I/O equipment needs must be combined to produce equipment specifications. After the needs are identified, they should be refined, combined, and adjusted to establish a comprehensive group of needs that must be satisfied, I/O control units should be not be overlooked. 6. Ensure that all I/O equipment specifications incorporate appropriate human engineering characteristics. Hardware of equivalent capability may be influenced by the available operational software.

7. Specify all special purpose hardware, such as modems, front-end processors, or off-line processors.

8. Review hardware specifications. All hardware should be compatible.

9. Determine any modifications that will be required.

10. Forward a request for bid, hardware order, or hardware order adjustment to the manufacturer.

11. Develop firm delivery dates and schedules.

2.11.2 Products

· Hardware requirements (see Exhibits 2.11-A through 2.11-C)

· Schedules for equipment delivery

· Equipment order or reservation

2.11.3 Background

· System objectives (1.4)

· System performance criteria (1.4)

· System environment specifications

· Vendor equipment specifications

· Logical data base structure (2.9)

· Communications method (2.10)

· Selected system approach (1.8)

· System expansion requirements specification (2.1)

 

Exhibit 2.11-A. Example of Equipment Checklist

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.11-B. Example of Equipment Checklist

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.11-C. Example of Equipment Checklist

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.12 Specify System Software

This activity involves analyzing the designed system and specifying the system software characteristics which will be required to support that system. Many of the characteristics may be common to most operating systems (such as indexed sequential accessing). However, some of the required characteristics may be unique (such as dynamic priority establishment) to few, if any, operating systems. This type of requirement must be specified very carefully because it may create the need for the manufacturer or the user to generate special computer system software.

Special care should be used in specifying only what is needed. This is true because the complexity and size of the software is increase with added features. An example of this would be multi-programming, where the operating system is significantly larger with this feature than without it.; therefore, do not request multi-programming unless you really need. it.

Some important software components are:

· Data processing routines

· Multi-processing/programming

· Communications support

· Diagnostic software

· Paging and/or virtual memory or roll-out/roll-in

· Checkpoint procedures

· Priority assignment and control

· Job control language

· Accounting routines

· Real time processing

· System utilities, etc.

During this activity, the system should be closely examined to identify all processes that could be handled by existing system utility routines. Using existing system utilities and proven application routines will be considerably more efficient than developing ones. Common user-developed software (those processes that are common to more than one subsystem or program) should be centrally developed to eliminate redundant developmental effort.

In many situations, decisions must be made as to whether to make or to buy the system software. Commercially available packages may do a portion of the job. Sources other than the manufacturer should always be considered. In general, there are three basic approaches to answering the software questions, i.e.:

· Tailor the whole system design to existing system software

· Develop totally unique system software to support the optimum system design

· Tailor and augment the existing system software to support the optimum system design.

In making the decision on the approach to system software, there are many trade-offs which must be evaluated to make certain of the overall cost effectiveness of the system; e.g.:

· Design optimization vs. software availability

· Efficiency vs. generality

· Operational times vbs. programming time

· Development vs. adaptation

· Independence from vendor vs. vendor maintenance

2.12.1 Methods

1. Specify the data accessing methods to be used

2. Specify the real time and communication methods to be supported

3. Specify whether multi-processing or multi-programming is required and the number of partitions desired

4. Specify device control requirements

5. Specify if data base integration is a requirement and describe the data management characteristics

6. Specify any unique job control language requirements

7. Review all logical elements in order to identify those processes that could be handled by existing system software and proven application routines; for example:

· Sorts

· File reorganization

· File definitions

· File access routines

8. Review all logical elements in order to identify processes that are common to more than one subsystem or program. Central development of all pertinent routines must be considered.

9. State the requirements and their associated developmental plans which must be analyzed with regard to the software available from various sources.

10. Establish the various likely candidates for the required software, including self-contained packages, manufacturer support software and own-coded possibilities. There may be considerable restriction here if the proposed system is only a portion of a much larger system complex.

11. Analyze the possibilities considering all trade-off. It is important whether the software is to be restricted to the proposed system or may be used more generally. Also important is whether absolute performance is a critical factor, such as for real time systems, or whether the development and maintenance costs are paramount.

12. Document the selection analysis and specify the selected approach to the level that program specification (or package parameters) may be written.

2.12.2 Product

· Software specifications (see Exhibits 2.12-A through 2.12-C)

2.12.3 Background

· Process flowcharts (2.5)

· Process descriptions (2.6)

· System environment specification (2.1)

· Hardware requirements (2.11)

· Communications method (2.10)

· Logical data base structure (2.9)

· System objectives (1.4)

· System performance criteria (1.4)

· Selected system approach (1.8)

 

Exhibit 2.12-A. Example of System Software Checklist

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.12-B. Example of System Software Requirements

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.12-C. Example of Software Package Evaluations

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.13 Prepare Development and Implementation Plan

A plan in now needed that is more detailed than that developed in the Definition Study. It should describe, in detail, the activities for the remainder of the effort, including all milestones and manpower requirements. Many methods such as PERT charting are available.

At this point it should be possible to produce a comprehensive plan for Detail Design and Programming, while it may be somewhat premature to provide concrete and detailed plans for Testing or Implementation and Conversion.

The plan for Detail Design and Programming should contain at least:

· A clear statement of the activities to be performed

· A network describing the schedule

· Developmental manpower requirements

· A revised cost estimate

· A schedule of developmental milestones

· A detailed description of the work to be done

· A developmental group organization

The basic framework for programming and testing will include a determination of:

· The need for development of any special programs to produce test data

· The expected time requirements for accomplishing programming and testing

· Computer time and other resources required

· If special analysis software is required; i.e., programs that monitor the performance of other programs and produce reports on performance

· The need for development of a simulation laboratory or other means for developing and testing manuals subsystem performance

· A preliminary sequence in which development is to be accomplished; the order in which items are to be developed and tested, etc.

The acceptance criteria and plan developed during the Definition Study should now be updated:

· to determine how it must be modified to reflect the more detailed phased development plan.

· to reflect any definition or requirements changes resulting from Preliminary Design

· to reflect the more specific specific and detailed capabilities which have been specified during Preliminary Design, such as more precise throughput requirements, error detection capabilities, levels of accuracy, etc.

It must be remembered that planning must cover special conversion programs and manual functions as well as system programs.

Although Conversion and Implementation are the last stages in making a new system operational, the preparation for these stages must begin early and continue throughout the developmental effort. With the commencement of these stages, a severe impact on the organization may be felt because of the consequences brought about by reorganization of the new system. In addition, the manpower requirements for the conversion and implementation may be very large, particularly if large, manual files have to be converted into machine readable media. Among questions arising from conversion are:

· Which files are to be converted?

· What are the major differences between the old and the new files which may cause difficulties? Consider the question, noting the implications of:

- Present files being manual

- Differences in file organization

- Integration of several files into one file

- Differences in record organization and/or content

- Differences between file header and trailer label records of old and new files

- Differences in implications of structuring Cretan data items at the field level.

Particular requirements may be created by the sheer volume of the files to be processed through conversion. The level of errors in the existing files may be very high and should be precisely specified.

For every file, it should be determined whether it is feasible to perform conversion within the general time and resource constraints. It will be disastrous if the system goes through development and then cannot be implemented because it is not possible to convert the files.

An analysis of the existing files by operations research personnel in conjunction with user personnel is a most useful approach to find, through sampling:

· The existing kinds of errors

· The frequency of these errors

· Whether these errors are correctable

· The effort required to correct the errors

Analysis must be used to determine the impact of any error allowed to be carried from the old, into the new file. The costs of the effort required to correct the existing files prior to conversion must be evaluated. An understanding of precisely what is to be done about the problems encountered must be reached and formalized.

As a part of the determination of the feasibility of conversion, the manner in which the conversion is to take place must be specified. Among the factors to be considered are:

· What manual functions will need to be performed?

· What training will be necessary?

· What aids to manual conversion are required?

· What standard conversion programs are available and applicable?

· What special conversion programs must be written?

· What are the expected machine requirements in terms of hardware, storage media, and time?

· What are the approximate manpower requirements of these functions?

The requirements of implementation will differ, depending on the nature and size of the system, as well as the general approach to implementation. An initial determination must be made as to which basic implementation approach is to be used:

· Immediate cutover

· phased cutover

· parallel processing

Since the system may have a radical impact on the functioning of the user organization, it is imperative that the potential impact be estimated. From the beginning of design, a governing consideration is how the subsystems will be carried into actual operation., Among the factors to be considered are:

· What manual function swill be unique to implementation?

· What manpower requirements will be created for implementation?

· What training will be required?

· What special aids to implementation are required?

· What are the expected machine requirements for implementation?

· What are the expected organizational changes created by implementation?

· What unique requirements are imposed by the conditions under which implementation may take place, e.g., the requirements for uninterrupted operation?

A special consideration in planning my exist if there are to be significant hardware facilities installed for implementation. As the development proceeds there will be a number of important functions that must be performed to ensure successful installation. Among these are:

· Site preparation and maintenance

· Hardware procurement and checkout

· Workforce procurement and personnel policy

· Workforce preparation and job definition

· Supervisory and managerial preparation

· Organizational and procedural realignment

· Productivity measurement

· Labor relations

· Public relations

· Safety and morale provisions

· Printing and related "manufacturing" operations

2.13.1 Methods

1. All system documentation produced to date should be carefully reviewed and analyzed for planning requirements.

2. The procedures used for other systems should be reviewed for applicability to this system and computing literature should be reviewed for suggestions on the conduct of the stages of development.

3. Any particular requirements for unusual expertise should be identified.

4. If special programs or other unique requirements are identified, then:

· prepare an estimate of resources required to develop these programs.

· prepare a set of preliminary specifications describing these requirements.

5. For each function and subsystem, develop a preliminary list of the items to be tested and how they are to be tested. General specifications will be developed for each testable entity as to how many times it can be retested before having to be reanalyzed and redesigned. For example, if an I/O module fails more than a certain number of times because of being unable to handle hardware or data exceptions, it should perhaps be redesigned.

6. The overall time and resources required for all testing should be estimated.

7. Perform an analysis of the existing files and compare with the proposed files for the new system. Prepare a list of the general conversion requirements, highlighting potential problem areas.

8. Using a sample selected by operations research techniques, establish the kinds of errors in the existing data files. Determine what can be done about each kind of error and estimate the cost associated with correcting the kinds of errors detected.

9 With the project team, review the effect of the transfer of erroneous data from the old files to the new and prepare a recommendation of what is to be done about errors in the existing data files.

10. On the basis of the statistical error rate, the established time it takes to correct these errors, and proposed ways of handling errors, make a projection of the effort needed to correct existing data files to the extent required.

11. For each file, determine how it is to be converted and the resources needed. This will develop into a set of specifications of means of conversion for each file.

12. Prepare an implementation requirements list including time and resources required.

13. Develop a tentative conversion and implementation schedule showing dependencies, time, and resource requirements. This should be in network form.

14. Develop a schedule of major milestones. These are milestones that must be met if the overall system schedule is to remain valid.

15. Prepare a list of all items that cannot be resolved within the time and resource constraints, and suggest alternatives.

16. Develop a checklist of all installation activities, sorting these activities on the basis of priorities and lead time requirements.

17. Review this checklist with personnel responsible for the installation and make appropriate changes.

18. Review the physical requirements that have been previously identified and ensure that the requirements are comprehensive and satisfy all the system needs.

19. Create a description of the physical facilities depicting the relationship of machine, people, and communication channels. Also, specify any requirements for suppliers, retention of files, or support activities.

20. Systematically check each manual interface and ensure that it complies with established human engineering standards.

21. An more information becomes available, update the facilities documentation to reflect such things as specific hardware components, manufacturer, etc.

22. Based on the implementation and facilities installation plans, update and expand the cost/benefits analysis to conform to the latest information.

2.13.2 Products

· Detail design, programming and testing requirements (see (Exhibit 2.13-A)

· Development schedules (see Exhibits 2.13-B. and 2.13-C)

· Conversion and implementation plans

· Hardware and facilities installation plan

· Updated cost/benefits analysis

2.13.3 Background

· All Preliminary Design documentation

· Definition Study report

 

 

 

Exhibit 2.13-A. Example of Test Conversion Requirements

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.13-B. Example of High Level Development Plan

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Exhibit 2.13-C. Example of Staffing Summary

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.14 Produce Preliminary Design Report

This activity calls for the most accurate and complete picture of the system that can be provided, using the most current design information available.

During this activity, review all changes made to the system during preliminary design and assess their impact on the overall system. The overall developmental plan and milestones must be updated to reflect the current status.

Based on preliminary views of the system, broad estimates of cost will have been developed prior to this activity. In this activity, the more detailed system information now available should be used to refine the cost estimates. It is expected that highly reliable cost data will be produced at this time.

Previous to this activity, all the products are considered as being working papers and are highly subject to change. The Preliminary Design report is a final, technical report that should reflect the subsequent system design in a more formal, concrete way. Changes to this report should be few and made only after careful consideration.

Once originated, the report should be review by all appropriate parties and submitted for managerial approval. Management will:

· Approve continued development

· Request modifications and changes

· Discontinue the developmental effort

· Postpone or redirect the effort.

After revision and approval, the Preliminary Design report becomes the base document for future development. Basic changes of design should not be permitted without complete review and approval. Failure to "freeze" design may lead to costly changes which are not well thought out with resulting delays, increased costs, user dissatisfaction and possible system failure.

2.14.1 Methods

1. Review all valid design changes and ensure that:

· they are consistent with the system objectives

· they have caused no performance degradation

2. Review and, where necessary, modify the results of any previous studies to reflect the proposed changes.

3. Update the overall plan and recompute milestones

4. Update all cost estimates

5. Produce an outline for the contents of the final report according to company standards. The outline should allow for the distribution of the work on sections of the report to members of the design team.

6. Plan the production of the various components of the report with the various members of the design team.

7. Produce a draft of the report. Depending on the size and complexity of the system, the size of the report may vary from a concise, few pages to an extensive publication of many volumes.

8. Carefully edit and publish the report. Take care to ensure that the presentation is of high quality and reflects a professional approach.

2.14.2 Product

· Preliminary Design report and supporting documents (see Exhibit 2.14-A)

2.14.3 Background

· All developmental documentation to date.

 

Exhibit 2.14-A. Preliminary Design Report Outline

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(To Be Supplied.)