The purpose of defining phase is to analyze the users' requirements to get a clear understanding of what functions a proposed system will provide and what information it must process.  During the analysis process we are specifically excluding details about how, technologically, the functionality could be implemented.  Figuring out how the system will work will be postponed until the design phase of the life cycle.

During analysis, we construct complementary, graphical models of a proposed system.  Each model views the proposed system from a different perspective.  After the perspectives have been modeled, matrices are used to compare and reconcile the views to find inconsistencies, mistakes and missing pieces.

The divide and compare approach leads to a very accurate, complete, and unambiguous representation of the requirements.  It helps analysts create a snapshot of a system that can serve as a baseline to measure changes in user needs, gain consensus on design decisions, and predict future system requirements.  The final output of the analysis phase is a System/Software Requirements Specification (SRS) that contains all of the analysis deliverables.

Deliverables Checklist

Deliverable: Answers the Question:
Analysis Plan What resources will be required to create each of the analysis deliverables?

Reuse Model Are any existing resources useable on this project?
Where are those resources?

Prototype Model What should the systems' screens and reports look like?
What information will be included in the screens and reports?

Event Model What events cause the system to react?
Who generates those events?

Entity Relationship Model What information is in the system and what are the relationships among that information?

Process Model What processing must the system do to create the output data?

Analysis Model Cross Reference Are the process model and entity model consistent?
How does each process in the process model interact with the entity model?

© G.E. Russell & Associates 2015