|
| https://members.tripod.com/~ci620 |
CI-620 System Analysis and Design
|
Your Course Project |
|
|
|
Instructor: Ed Quigley 724.774.2088 |
Your project provides an opportunity to:
- synthesize the skills gained in the course
- apply your learning to a real-world problem and
- contribute to your portfolio.
Your project involves applying the SA-D techniques from the
course to an information system (IS), either existing or proposed.
When an IS is developed by a single individual, the rigorous approach
to SA-D may not always be followed. When a team of technical
experts (programmers, trainers, writers, marketers) develop an
IS, there must be a single unifying plan that they all follow.
The plan does not have to contain n-th degree details for each
professional, and in fact the plan should leave such details to
people with expertise. The result of the SA-D process is a
overall blueprint that technical teams can follow
when building their part of the info system.
You don't have to write any code. You do have to define
the entities involved, the data flows, and design a system
that others will build. You are conducting the symphony, not
playing every instrument.
It is also important to communicate your work effectively.
We are in the realm of technical change, which is painful and
resisted. Too often, worthy technical proposals are lost to
political and human reactions that were,
in hindsight, predictable and actionable.
Your Requirements Document is the final result of your work
in this course. It is equivalent to the report you would present
to a panel of corporate V-P's.
Table of Contents
The following are the sections that you should probably have in
your requirements document. There are no requirements for the structure of such documents,
but following a standard outline, possibly adding sections,
will make it easier to be sure that all necessary information
is present, and it will make it easier to evaluate the document.
If your organizations has a standard format, stick with it,
but review this outline for beneficial suggestions.
The #'s next to section titles should be replaced by numbers
(e.g., 2.3 ...). You should not leave out any sections,
but explain why a section is not applicable, instead.
#.# Purpose of this Document
Provide an abstract for the document.
#.# Intended Audience
Discuss the intended audience(s)
of this document (users, analysts, designers, ...),
and what parts each audience should pay close attention to.
Make sure that you present a document that would answer
all the questions a customer would have,
and be useful to a system designer.
#.# Suggestions for Using this Document
Discuss what each audience should expect to get out of the document,
and how they should get it.
#.# Prerequisite Knowledge for Using this Document
Discuss what a reader needs to know,
possibly broken down by sections
(e.g., to understand this section, you must know ...).
Alternatively, this section may be one of the first subsections
or paragraphs of subsequent sections.
Provide information about the customer and team working on the project.
- Project Name
-
- Project Manager
-
- Responsible User
-
- Responsible Analyst
-
- Project Purpose and Scope
-
- Project Start and Completion Dates
-
- Completion Date for System Requirements Specification
-
- Project Budget Summary
-
#.# Introduction
#.# System Purpose and Scope
Write a summary that answers questions about who, what, where, why, ...
Define the scope by indicating what the system will be responsible for
and what the system will not be responsible for
(drawn from responsibilities that might conceivably be within
the scope of the system).
#.# Improvements/Advantages from Proposed System
- New Capabilities
-
- Upgraded Existing Capabilities
-
- Elimination of Existing Deficiencies
-
- Improved Performance
-
- Elimination or Reduction of Capabilities No Longer Needed
-
- Increases in Revenue
-
- Reduction in Costs
-
- Competitive Advantages
-
#.# Impacts from Proposed System
- Equipment Impacts
-
What new equipment, upgrades, or reconfiguration will be needed?
- Software Impacts
-
What new software or upgrades will be needed?
- Organizational Impacts
-
What new people will be (no longer) needed?
- Operational Impacts
-
What new procedures will need to be in place?
The Environmental Model describes how the system interacts with the external world.
#.# Statement of Purpose
#.# The Event List
This section includes a list of the external events to which
the system must respond. The events are phrased in terms of
the user's point of view. The preliminary environmental model
will contain a process for each event (with some exceptions)
with names phrased in terms of the system's response.
#.# The Context Diagram
The context diagram shows the external entities that
provide/use in/out flows of information to the system.
The interaction of each external entity with the system
should be described. This will include some E/R-D's (usually
Level0) that depict the interaction with the external world.
The behavioral model shows how the system works internally.
#.# Level 0 Dataflow Diagrams
Level-0 DFD depict the preliminary behavioral model, combining
meaningful aggregates and creating super-processes for them,
or by finding overly complex processes (e.g., too many inputs/outputs)
and breaking them into more manageable sub-processes.
#.# Data Dictionary
The data dictionary defines all the data elements and relations
in the system. The data dictionary should be alphabetized for easy reference.
Major system stores should also be described with well-organized text
in the entity-relationship diagrams. Key elements of objects should be clearly identified in the data dictionary.
#.# Process Specifications
Process specifications describe in detail how lowest-level processes will
produce their outputs from their inputs.
Each process specification should include:
- The name and number of the process described
- The input flows and output flows
(possibly indicating the input source and output destination)
- A specification of how the output flows
are derived from the input flows
Like program code,each process specification should include comments
to make the specifications more clear.
#.# Entity-Relationship Diagrams / Data Structure Diagrams
Entity-relationship diagrams describe the objects and important relations
among objects in the system.
Data structure diagrams may be used in conjunction with
the data dictionary if a diagrammatic form better conveys meaning.
Each major store in the dataflow diagrams should be described
with well-organized text.
#.# Automation Boundary
#.# User Interface
The user interface is probably best described by (snapshots of) a prototype.
- input/output devices
- input/output formats
- forms
- ...
#.# Operational Constraints
- interfaces to other systems
- hardware constraints
- software constraints
- failure and backup requirements
- security and privacy
#.# System Performance Requirements
- workload and volume
- system growth
- response and timing
- accuracy and validity of data
- system access
The following appendices are commonly seen in systems
requirements documents, but some may not be applicable to
a specific system.
#.# Summary of Assumptions
#.# Project Cost Estimates and Schedule
#.# Detailed Schedule and Budget for Design
#.# Detailed Schedule and Budget for Planning Acceptance Tests
#.# Cost/Benefit Comparisons of Alternatives
#.# How to Read the System Model
A key to the notation used in diagrams will make
the document readable by more people.
- Title Page with:
-
- Project Name
- Document Date
- Team Name
- Names of Members of the Team
- Executive Summary. Written after the main body,
presenting a rhetorically compelling summary.
- Table of Contents with:
-
- Section Names, indented to show level
- Page numbers
- Main Body of Report:
-
- All pages in portrait orientation
- All pages numbered
- Break pages at logical boundaries
(e.g., put one diagram and its explanation per page)
- General Considerations:
-
- Spelling and grammar corrected
See the online version of
Strunk's Elements of Style
- Physical document must open flat
(i.e., don't use unusable bindings);
a staple in the upper left is preferred.
Have you considered:
- the business process implications?
- the financial implications?
- the political implications?
- the affective implications?
- the training implications?
- the change-process implications?