Requirements Modeling


Overview

To frame our discussion, consider:

What techniques are useful for constructing system models?

What modeling techniques are useful for understanding system models?

What are the benefits of the various modeling strategies?

What information is captured in various representation strategies?


OUTLINE


Analysis Model

Three objectives of the analysis model:

  1. describe what the customer requires,
  2. establish as basis for the creation of a software design,
    and
  3. define a set of requirements that can be validated.

Analysis Model Components

Data Modeling

Data modeling is the basis for understanding the information domain of the problem. Data modeling seeks to identify the major data objects that are processed by the system. Data modeling considers data independent of processing. Data modeling establishes the composition of each data object, the relationship between data objects, and the attributes that describe data objects.

Data Objects A data object is a representation of composite information used by the system. Things from the problem domain that are important for the users of the system. Typically these are the things that are kept as data. We can also consider as entities classes of objects. Note we are making a distinction here between the description of a class of items and a particular item. Consider the distinction between the class of items defined by the concept PERSON and a particular instance of that class, perhaps FRED. The entity defines, generally, the qualities that make an item a member of that class.
Attributes Attributes define properties of a data object. They can name an instance, describe the instance, or make reference to another item. Attributes are those values that combine to help us "define" an entity. We do want to take some care to define entities and attributes in a way that assists us in establishing an entities descriptive characteristics so we can differentiate one entity from another.
Relationships Data objects relate to each other in a variety of, sometimes complex, ways. Relationship try to indicate the connection between two data objects.
Objects AttributesRelationships
Image of Person (cartoon) Name
Address
Insurance Company
Down Arrow
Owns
Leases
Truck Image Make
Model
Body Type
Color

ER Diagrams

The data model must represent the cardinality of objects in a given relationship. How many cars person A owns. Cardinality specifies the number of occurrences of an object in a relationship with another object. Cardinality defines the maximum number of objects in the relationship.

The data model must provide an indication of whether an object is required to participate in a relationship. This is called modality. Modality is used to indicate when there is no need for a relationship or when a relationship is optional.

Customer/Order Relationship

Example

Customer/Order Expanded

Information Flow

A system accepts inputs from various places in various forms. The system transforms the inputs as they flow through the system. At each level the system can be viewed as a series of transformations on data. Structured analysis' focus was on modeling information flow through system.

Data Flow Diagrams

Capture information regarding process and data as it moves from process to process. DFDs are a graphical/diagrammatic representation with processes rendered as circles. Directed arcs indicate that data moves from one process to another with the name of the data labeling the arc. Data flow diagrams can be used to model a system at any level of abstraction. Level 0 DFD is the context diagram (context model or fundamental system model). The model can be decomposed, refined, reveal more detail.

Mo Cash Context Diagrm

Convert Format Convert Format Decomposition

Behavior Modeling

Behavioral modeling captures the behavior of the system by focusing on states the system can be in and the events that cause transitions from one state to another. Typically state transition diagrams are used to represent this information. A state is an observable mode of behavior for the system.

Harel (1987) proposed an extension to FSM that made it easier to model complex real-time system behavior. The Harel extensions provide a notation and set of conventions that facilitate the hierarchical decomposition of FSM and a mechanism for communication between concurrent finite state machines.

Example: Library Book Holdings

Book State Diagram

Example: Class Model

Class State Machine

Class State Matrix


Go To Lecture [Outline] [Overview]

Go To [311 Course Outline] [CIS Department Page]


References