Robert Morris College https://members.tripod.com/~ci620

CI-620 System Analysis and Design

Topics 2.19.98

Instructor: Ed Quigley 724.774.2088


Topics 2/19/98

By last class, you should have:
   A problem definition
   written the Introduction section of the Requirements Document
   written the Project Summary section of the Req. Doc.


For this class, you should:
   Write a full list of Requirements
   Build E/R-D level 0 and 1. (level 2 will be required later)
   Build DFD level 0 and 1. (level 2 will be required later)
   Build a design dictionary (criteria:what it is, where it is, sub-elements)
See the Schedule regarding what to do for next class.


Where We Are in the
System Life Cycle

Project Life Cycle Activities

  1. Problem Definition
  2. Sys.Analysis and FeasibilityStudy
    • feasibility study
    • documentation
    • design dictionary
  3. Systems Design
    • Logical
    • Physical
  4. System Development / Design Implementation
  5. System Testing
  6. System Implementation
  7. Database Conversion
  8. Training
  9. Formal Review
  10. Project Mod./ Enhancement
  11. System Maintenance

Where We Are in the
Requirements Document

Outline of a Requirements Document
  • #. Introduction
  • #. Project Summary
  • #. System Summary
  • #. System Environmental Model
  • #. System Behavioral Model
  • #. User Implementation Model
  • #. Appendices

Review/Reinforcement of ERD's, DFD's

Models: Environmental and Behavioral

The essential model consists of two major components:
  1. Environmental model: defines the boundary between the system and the rest of the world. It consists of a context diagram, an event list, and a short description of the purpose of the system.
  2. Behavioral model: describes the required behavior of the insides of the system to successfully interact with the environment. The model consists of: dataflow diagrams, entity-relationship diagrams, state-transition diagrams, data dictionary entries, and process specifications.


Balanced DFD's

Dataflow diagrams balance if one is a sub-diagram of the other and the inflows/outflows of the subdiagram are the same (in number and type) as those of the corresponding process in the super-diagram.

ERD's and DFD's

ERD Data documents the business entities, their relationships, and identifies user requirements. Subsequently, data flow diagrams (DFD's) are used to document system processing and input/output data.

Exploding ERD's (and DFD's).

An excellent question arose regarding the technique of exploding a Level-1 diagram into a Level-2 diagram. When expanding into greater detail, the first step is to break the relationship (ERD) or the process (DFD) into subordinate steps. (As opposed to decomposing the entities or data stores first, which is incorrect.)


Assumptions

Quite often, in order to complete an initial study, you make assumptions (or wags) in order to proceed. Assumptions can be technical, economic, political, etc. One assumption might be that the US/Malaysian currency exchange rate does not vary more than 5% from the January 1998 level.

It is entirely legitimate to make assumptions as long as you emphatically identify them. Someplace in the introduction, you say something like: "Several assumptions were relied upon in this study; they are identified throughout the text and summarized in Appendix Two. If the assumed conditions are not met, the basis for these recommendations are not valid and must be re-examined."

Whenever you re-present the results of your work (ex: a management briefing or an executive summary page), you must mention that the work is based on assumptions and identify the assumptions. Do not let anybody's desire for simplification compromise the integrity of your report.

Simplifying Ephemeral Processes

One of the student projects involves a process called "Analyze", which consists of a chemical analysis of the product (for QA purposes) and a communication of the analysis results. The chemical analysis itself is ephemeral to the SA-D project, so you do not have to perform E-R/D's and DFD's for the ephemeral subordinate process.

Simply treat "Analyze" as a single irreducable process, just like a functional primitive, and leave it alone. You should identify this approach in the context diagrams, and make another mention of this simplification in the Implementation section... something like "if full re-design is necessary, attention will have to be paid to the chemical analysis process, which was outside of the scope of this effort."


Handouts Distributed


2.19.98 Robert Morris College