| PRIDE | ® | -ISEM |
| ||||||
"An information system is a product that can be
engineered and manufactured like any other product."
- Bryce's Law
This section contains the following:
Copyright © 1971-2008 by
M. Bryce & Associates
Palm Harbor, Florida, USA
All rights reserved.
LAYERED DOCUMENTATION
Each Level Provides Specifications for the Next
SUB-SYSTEM FLOWCHART - Batch Example
Merging Processing with Data
Flowchart can be drawn either
horizontally or vertically.
Inputs, Outputs, and Files are related to each procedure in terms of C / U / R
SUB-SYSTEM FLOWCHART - Interactive Example
|
The Computer Procedure Flowchart shows the fourth level of detail in the system hierarchy: programs. It is drawn in a similar manner to the sub-system flowchart. Processing logic, inputs, outputs and files are all shown. |
COMPUTER PROCEDURE FLOWCHART
Expresses Processing Dependencies
Uses ANSII Standard Symbols.
Can be drawn horizontally or vertically.
|
A Software Structure Diagram is used to graphically represent the processing logic either within a single program or a module. This type of diagram is based on the software engineering technique used which may vary from program to program. |
SOFTWARE STRUCTURE DIAGRAM
Expresses software logic in acordance with the selected method of implementation;
Some examples:
|
Each graphic is supported by narrative describing the processing logic for each level of detail. This approach to documentation highlights the fact that system documentation can and should be completed prior to programming, not afterward. Graphics, processing logic, testing criteria, user instructions, input/output/file layouts, messages, etc. can all be prepared prior to the actual coding of the program. It all depends on whether design and documentation is viewed in the same vein as the approach used in architecture or engineering. Why should systems development be any different? For additional information on "PRIDE" Graphics, see: "PRIDE" Flowcharting Symbols.
SOFTWARE ENGINEERING
From the perspective that computer procedures and programs
represent only a portion of the information system architecture,
software engineering is viewed as a subset of information
systems engineering. Although programming ultimately represents
nothing more than the translation of specifications into machine
processable instructions, the intent of software engineering
goes beyond this. It is concerned with developing computer
software that is reliable, easy to maintain and modify, and
performs in an efficient/cost effective manner.
Software exhibits some very "hard" characteristics.
For example, it is typically not portable across computers.
If software was truly portable, there would not be the many
different "versions" of the same software product to suit
different operating systems. Because of this, software
engineering represents more physical design as opposed to
the logical design of systems engineering.
The most important part of software engineering is in the
architectural design and development of the computer procedure.
The actual coding is merely a translation process, not unlike
going from English to some other language. When the
specifications for the procedure are developed, usually in a
human understandable language, it is the programmer's
responsibility to code or translate this into a language the
computer understands. All the coder needs to know is the
language, conventions, and the computer environment. This
process is relatively simple and borders on being administrative
which means that it can be automated.
Good systems engineering specifications will improve
programmer productivity far better than any programming tool or
technique. If good systems engineering specifications are
prepared and software engineering practices are properly
applied, then productivity will be maximized.
As we have seen, systems engineering is based on simple,
straightforward, and commonly known principles. Some might say
it is a discipline that stifles creativity. This is like saying
that architecture, engineering, even music, lacks creativity,
for these are all disciplines based on some form of science.
There is science in every art, and an art to every science.
Information systems engineering is a science; a teachable
science.
METHODOLOGY CONSTRUCTION/NAVIGATION
The Information Systems Engineering Methodology (ISEM)
consists of an assembly of nine phases detailing what is to be
accomplished and by whom. Each phase consists of a defined set
of activities (a total of 41); each activity consists of a
series of operations or tasks to be performed. All phases,
activities and tasks produce tangible deliverables that can be
reviewed and checked. These deliverables substantiate adherence
to the methodology and permits the measurement of progress.
Both formal and informal review points are laced throughout
the methodology which provides for an effective dialog between
management, users, and systems developers.
The first phase is essentially used to plan the ISEM
project. The remaining phases map the system structure as
mentioned earlier. Phases 2, 3 and 4 are used to "explode"
or decompose the system into its smallest pieces. The
remaining phases are used to "implode" the structure through
testing and implementation. The final phase (9) is used to
evaluate the ISEM project.
METHODOLOGY CONSTRUCTION
By carefully modularizing the work effort, phases can be
conducted in parallel and concurrently, a much more effective
way of utilizing resources than the linear approach found in the
classic "five-step" project management oriented methodology
(feasibility, design, program, test, review). This is the
difference between an engineering approach versus an
administrative one.
|
"PRIDE-ISEM
Information Systems Engineering Methodology
Methodology Concept Diagram
|
PHASE 1 - "System Study & Evaluation" Phase 1 is used to identify the system(s) involved. It represents the feasibility study phase where current systems are analyzed, information requirements specified, and an overall system solution is proposed. The solution is represented by a complete rough design of the system, covering all levels, including programming. This becomes the basis for considering alternative solutions, including third party software available for purchase. From the rough design, an estimate and schedule for the whole project can be developed along with a cost/benefit analysis. This is used by management to make project decisions, such as continuing, discontinuing or revising the project. Architects and engineers use a similar approach when proposing a new building or product. The Information Flow Diagram and System Concept Diagram are prepared during this phase and included in the "System Study & Evaluation Report," the formal deliverable resulting from Phase 1. Following this phase, the project proceeds to Phase 2. If more than one system has been identified in Phase 1, separate Phase 2's will be required. In this event, it is usually desirable to divide the project into separate projects to simplify design and management. This results in one project for each system identified. This phase represents the formal definition of the sub-systems within the system. Using chronological decomposition, sub-systems are defined into unique time frames, along with their inputs, outputs and files. Complete illustrative examples of the reports and screens are prepared for review by users. Prototyping tools can be used in the preparation of physical screens and reports. It should be emphasized that prototyping tools are not a substitute for determining information requirements, nor the logical design which must be performed prior to prototyping. Prototyping can only create a working model of the system as logically designed. It is used to "fine tune" the physical implementation. The System Flowchart and Sub-System Concept Diagrams are prepared during this phase and is included in the "Systems Design Manual," the formal phase deliverable. Based on the system design, the project scope is updated along with the project estimates and schedules. This is then reviewed with management to determine whether the project should be continued, discontinued, or revised. Following Phase 2, a Phase 3 will be executed for each sub-system identified in the System Design. There is a one-to-one relationship between Phase 3 and a sub-system. If there are multiple sub-systems, there will be multiple Phase 3's which may be conducted in parallel or executed sequentially. This, of course, is a matter of available resources and schedule commitments. At this point, some organizations assign project leaders to each sub-system since they can be implemented independent of each other. The logical sub-system is decomposed into physical procedures to process the data, both administrative and, where pertinent, computer. Design is based on efficiency and cost effectiveness. From this perspective, it represents the Industrial Engineering phase of the methodology. The sub-system flowchart is prepared and included in the "Sub-System Design Manual," the formal deliverable from this phase. Project estimates and schedules are revised as required, but only as they pertain to the delivery of this sub-system. Phase 3 represents the last major review for management. It will be followed by Phase 4-I for Administrative Procedure Design and Phase 4-II for Computer Procedure Design, both of which can be conducted in parallel. PHASE 4-I - "Administrative Procedure Design" During this phase, the operational steps for each administrative procedure in the sub-system are defined. The "playscript" procedure language is used to write the steps. The written procedures are then packaged with samples of the inputs and outputs into an "Administrative Procedure Manual" for review by the end user. This manual represents the formal deliverable from the phase and will be used by the users of the system when installed. PHASE 4-II - "Software Engineering" This phase represents the point in the methodology where software design formally begins in the methodology. Although programming is consulted during the earlier phases, Phases 4-II, 5 and 6 represents their primary area of work. Whereas system engineering is preparing the administrative procedures for the sub-systems, the programmers now begin to concentrate on the design and development of the computer procedure and programs. During Phase 4-II, a software implementation strategy is formed and programs defined. This includes, what inputs, outputs and files they will use, the processing logic for each program, including the processing flow to other programs, the control language statements (e.g., JCL, DCL, ECL, etc.) to be used, and the selected programming language, whether procedural or non-procedural (e.g., 4GL). The logical files defined in the earlier phases are converted into physical files for use in the application by Data Base Administration. File layouts for use in programming are provided at this point, regardless of whether a DBMS is used. A Computer Procedure Flowchart is prepared, along with pertinent Software Structure Diagrams, and included in the "Computer Run Book," the formal deliverable from the phase. This manual will be used by computer operations later and by programming in Phase 5. A technical review is performed at the end of the phase, with computer operations assuming the role of the user. Following Phase 4-II, a Phase 5 will be executed for each program identified in the Computer Procedure. This means that programs can be designed in parallel. The remaining phases are used to "implode" or manufacture the system structure during implementation: PHASE 5 - "Software Manufacturing" Before Phase 5 begins, the program has been fully specified. So much so, that a program generator, report writer or 4GL should be able to interpret these specifications and produce the program automatically. In the absence of these devices, the program must be written manually. If a procedural language is used, such as COBOL, the programmer should only have to produce the procedure division of the program. All other aspects should have been provided. The intent of the phase is to produce a program, either manually or automatically, and perform a unit test of it. Test data is prepared and results collected. Testing should be performed in accordance with the test criteria as established in the Computer Run Book. Obviously, test data generators are useful for testing. This phase is concerned with performing a "string" test of all of the programs within a specific computer procedure. Although each program was individually tested in Phase 5, they are now brought together and tested as a whole. Again, testing should be performed in accordance with the specifications contained in the Computer Run Book. Phase 6 represents the end of the formal software development phases of the methodology. This phase represents parallel testing of all procedures in a sub-system. This phase represents a parallel test of the whole system (or selected sub-systems) and the implementation of the system. Users and computer operations personnel are brought together and trained in the use of the system and walked through the entire process. Following this, the system is ready for routine operation. Phase 9 is used to conduct an operational review of the entire system. Based on the earlier design manuals, the system is reviewed to determine how well it performs according to specifications. Also, actual project figures are reviewed to determine how well the original estimates and schedules were met and to calculate the total cost of the project. The formal deliverable resulting from this phase is a "System Evaluation Report" which contains the findings as mentioned above. If a design change is introduced during a phase, it may be necessary to back-up a few phases to implement the change before moving forward again. In this situation, it is similar to a mini-modification/improvement project. Because design decisions are being captured and controlled, it is a relatively simple matter of implementing changes during the execution of the project. Further, the review points should not necessarily be considered an impediment to progress. Unless the Project Manager absolutely forbids continuation without approvals, projects can proceed to the next succeeding phases while the formal reviews are being conducted. With ISEM, sub-systems can be designed, developed and installed individually as opposed to all at once. In fact, parts of a system can be installed and made operational while other parts are being designed, programmed and tested. This allows the maximum flexibility for controlling and delivering applications. Because systems exchange data, the Data Resource Management function oversees and coordinates the use of data throughout the development process, thus preventing data redundancy and promoting integration. This system modularity also influences project management. Sub-systems can be packaged and priced for users in terms of the estimated time, cost, and delivery schedule for each. This provides the user with the flexibility to determine which portions of the system they wish to pay for and when to expect delivery. |
ISEM PROJECT NETWORK
The Network Maps the System Structure
PROJECT PLANNING & IMPACT ANALYSIS
There are basically three types of work effort associated
with information systems engineering: new systems development,
maintenance, and modification/improvements. New systems
development represents totally new applications for an
organization to build. Maintenance is the correction of errors
or defects ("bugs"); it is making the system perform according
to specifications. However, the majority of work for most
systems development organizations is modification/improvements
to existing systems.
ISEM recognizes that systems are built by evolution, not by
revolution. The day a system is installed is the day it begins
to undergo change. This is because information requirements are
constantly undergoing change. Because of this, ISEM recognizes
that not all projects will require the execution of every phase
and activity in the methodology. After all, if a pane of glass
is broken, should we redesign the whole building? Obviously
not. We should only perform those steps necessary to repair the
pane of glass. The same is true in systems; we should only
perform those phases and activities needed to implement the
objective.
All major projects featuring new development will require
the execution of all ISEM phases. However, modifications and
maintenance to existing systems will probably not. To determine
which phases and activities need to be performed, we must first
evaluate the existing system in terms of the resources used and
the degree of definition. This is where an "impact analysis"
is performed to study the possible effects of a proposed change
that an information resource may have on other resources. For
example, "impact analysis" may be used to study the effect of a
potential change to a data element, output, file, information
requirement, module, sub-system, etc. Based on resource
relationships, a list of related resources can be assembled
and analyzed.
Based on this "impact analysis," a decision is made as to
the phases and activities required to implement the request.
Only the required phases and activities are selected to
implement the change. For example, if a modification to a
single program is all that is required, then the project may
simply consist of activities from Phases 4-II, 5 and 6 (the
software engineering phases).
"Impact Analysis" and project planning is performed in
Phase 1, Activity A of ISEM. From here, the project can either
execute progressively through the methodology, or proceed to the
required phases and activities.
This approach eliminates the need for varying methods
based on the size of a project, e.g., small, medium and large.
Systems design consists of the same logical sequence of events,
only in moderation. The only effort required is that specified
by the change or modification.
This approach also highlights the fact that there is no
such thing as "systems life cycles" as promoted by some people
in the industry. A system does not have a life cycle. It may
go on forever if kept viable with change. Double-entry
bookkeeping is a good example of this. Projects, not systems,
have a life cycle. They have a beginning for planning, a middle
for execution, and an end for review. This problem of "System
Life Cycle" demonstrates the problem that the industry has with
its vocabulary and concepts.
JAD, RAD, BPR & OTHER TECHNIQUES
A variety of techniques may be used throughout ISEM, all of which
represent "how" to perform a specific activity or activities of
work. Such techniques do not circumvent the need for these
activities, only how to perform them. Two techniques gaining
attention are Joint Application Development (JAD) and
Rapid Application Development (RAD), both of which are closely
related to what is called Agile or Extreme Programming. Although both
techniques represent separate approaches, they are frequently
implemented together.
The JAD technique is concerned with working closely with
end-users to specify their business problem and develop a cost
effective solution. This normally involves intensive meetings
between end-users and developers. The RAD technique
involves the use of application development aids (e.g.,
program generators, report writers, 4GL's, etc.) to quickly
develop a program solution.
When coupled together and managed correctly, JAD and RAD can
produce positive results. However, there are legitimate dangers
to JAD and RAD if improperly implemented. Such techniques
can easily turn into QAD ("Quick And Dirty"), which may satisfy
the problem for the moment but may cause long-term headaches
later on.
JAD itself represents active project participation from
end-users; this is vital for any development effort. But if
the JAD session is used to only specify outputs (forms and
screens), and not clearly define true business problems and
information requirements, then the wrong programs will
inevitably be developed.
RAD also shows great promise and great danger. If application
development aids are implemented without a fundamental system
or data architecture in place, then they will inevitably create
redundant data and software resources, and erroneous
information.
Because of their nature to quickly produce software, techniques
such as JAD and RAD are oriented more to smaller applications
involving one or two programs, as opposed to major
enterprise-wide systems.
To implement a JAD/RAD project under "PRIDE"-ISEM, the
following phase activities represent a checklist of
work steps to be performed:
Testing, of course, will need to be performed, but this will be
based on the size of the application (e.g., number of procedures
and programs). Also, consideration should be given to
Phase 8/Activity B - "Educate/Train Users," execution of
pertinent DBEM phase activities, and the Phase 9 "ISEM
Evaluation."
Without a clear roadmap, as provided by "PRIDE"-ISEM, JAD/RAD
projects can turn into chaotic and frustrating endeavors. As
with any development effort, planning and organization greatly
enhances your chance for success.
Business Process Re-Engineering (BPR) represents
those activities within the "PRIDE" methodologies concerned
with re-evaluating and, where necessary, re-designing the
processes (sub-systems and procedures) needed to support the
actions and/or decisions of a business function. Re-designing
business processes is actually not a new concept. In fact, it
is rather old and has been an inherent part of the "PRIDE"
methodologies for over thirty years. Only recently have
companies re-discovered the need for this type of work.
Unlike most application development efforts focused on
programming, BPR is concerned with total business processes
spanning organizational boundaries and implemented by either
the computer, the human being, or other forms of office
equipment. Because of its up-front orientation to planning
and designing total systems, BPR should be considered a
precursor to software engineering. In fact, BPR simplifies
software engineering by taking the guesswork out of computer
processing requirements. By concentrating on systems design,
programming is greatly expedited.
BPR primarily affects Phase 2 of "PRIDE"-EEM, and Phases 2 and
3 of "PRIDE"-ISEM. Although a full "PRIDE"-EEM
project would certainly be useful for understanding the
enterprise, Phase 2 "Logical Enterprise Analysis" focuses on
the business functions (the logical model of the enterprise)
and the information requirements needed to support them.
In Phase 2 of "PRIDE"-ISEM, sub-systems (business processes)
are defined in terms of "what" and "when" information must
be produced. In Phase 3 of ISEM, emphasis shifts to physically
"who" and "how" the sub-system must be performed, using
administrative and computer procedures. At this time,
processing "work flows" are defined (from start to end), as
well as "data flows" between the various processing components.
For more information on BPR, see:
There are other techniques described throughout "PRIDE"-ISEM. For example:
Consult the Tools & Techniques section under
the various activities for precisely where and when these
techniques are applied in the methodology.
EEM/DBEM RELATIONSHIPS
The "PRIDE" Enterprise Engineering Methodology (EEM)
precedes both the Information Systems Engineering Methodology
(ISEM) and the Data Base Engineering Methodology (DBEM). It
is used to formulate an Enterprise Information Strategy that
includes development projects for ISEM and DBEM to implement.
Because of the close relationship between systems and
data, ISEM has a close working relationship with DBEM. In
Phase 2 of ISEM, sub-systems and logical files are defined.
This will then normally initiate a DBEM project to support the
data requirements. In Phase 2 of DBEM the Application Logical
Data Base Model (ALDBM) is prepared by Systems Engineers under
the supervision of Data Engineering. Data Engineering will then
incorporate the ALDBM into the Enterprise Logical Data Base
Model (ELDBM). Data Base Administration will then design/update
the Enterprise Physical Data Base Model (EPDBM) and Application
Physical Data Base Model (APDBM). The result of the APDBM is
the physical file structures for programming. In other words,
the DBA must deliver the file layouts to the Software Engineer
in Phase 4-II of ISEM.
Data base design is separated from system design so that a
neutral third party can accommodate the data requirements for
the entire enterprise, not just a specific application.
During Phases 3 and 4-II of ISEM will define the need for
working files, either manual or computer, for use in processing.
This is communicated to DBEM for incorporation in the data base.
ISEM/DBEM PHASE RELATIONSHIPS
DBEM Phases can be added to an ISEM Project
WHO SHOULD PERFORM ISEM?
There are significant differences between Systems
Engineering and Software Engineering. The Systems Engineer
tends to be more people and business oriented than the Software
Engineer, who is more concerned with the effective
implementation of technology.
The Systems Engineer fulfills the roles of chief architect,
industrial engineer, industrial psychologist, and user liaison.
Essentially, they must be proficient in interpersonal
relations/communications, work measurement/simplification, possess good
analytical/organizational skills, and knowledgeable about how
the enterprise functions. They must also be able to interface
with Software Engineering.
The Software Engineer is more in tune with computer
hardware/software than the business. They typically lack the
business and people skills as possessed by Systems Engineering.
This is not to demean their role, only to clarify it. Although
Phases 4-II, 5 and 6 are the principal phases where the Software
Engineering works, this does not limit their involvement in the
methodology. In fact, Software Engineers actively participate
in the early phases of ISEM in a consulting capacity to Systems
Engineers. During these phases, the Software Engineer analyzes
the viability of designs as prepared by Systems Engineering, as
well as participate in project estimating/scheduling activities.
This participation in the early phases promotes cooperation and
communications between the two functions.
OTHER FUNCTIONS PARTICIPATING IN ISEM
As in any other work effort, Project Managers are required to
plan, estimate, schedule, and control an ISEM project. Further,
Quality Assurance personnel review and verify deliverables
resulting from the various phases of the methodology.
End-users are interviewed and consulted during the course of
an ISEM project. As a result, their participation is vital. In
fact, some of the most successful applications of ISEM has been
where the user serves in the capacity of Project Manager.
What is absolutely critical to the success of any systems
project is Data Resource Management. As such, Data Engineers
and Data Base Administrators actively participate in a
consulting capacity throughout ISEM. In the absence of a Data
Resource Management organization, the Systems/Software Engineers
must assume the responsibilities.
BENEFIT$
The benefits of Information Systems Engineering are numerous:
|