CpSc 372: Introduction to Software Development

advertisement

Analysis Modeling

(cont’d)

CpSc 372:

Introduction to

Software Engineering

Jason O. Hallstrom jasonoh@cs.clemson.edu

Authorship Disclaimer. These slides are intended to serve as teaching instruments for an undergraduate course in Software

Engineering. While the slides were formatted by Dr. Hallstrom, the content is compiled from other sources, including the readings listed on the course website, Dr.

Pressman’s Software Engineering textbook, and various internet materials. In almost every case, the ideas belong to someone other than Dr. Hallstrom. Indeed, text is often quoted verbatim without an explicit citation (to improve the readability of the slides). The original authors retain all copyrights. If you are interested in citing any of the material in these slides, please contact Dr. Hallstrom for the original source(s). DO NOT CITE THIS PRESENTATION. THE CONTENT SHOULD NOT BE

ATTRIBUTED TO DR. HALLSTROM. SEE DR. HALLSTROM IF YOU HAVE ANY QUESTIONS.

CpSc 372

A Roadmap

We are going to examine some of the key tools used for creating an analysis model.

General

Use-cases

Use-case diagrams

Activity diagrams

Swimlane diagrams

Structured Analysis

Data object diagrams

ERD diagrams

Data flow diagrams

Process specifications

These tools are not specific to either structured analysis or OO analysis.

OO Analysis

Class diagrams

Packages

CRC cards

Sequence Diagrams

CpSc 372

Data Flow Diagrams

Structured Analysis:

 Models data elements

Attributes

Relationships

 Models processes that transform data modeled using

Modeling Tools:

Data object diagrams

ERD diagrams

Data flow diagram

Process narrative modeled using

A data flow diagram describes information flow among a set of processes and actors.

1

*

A process narrative describes how a single process transforms input data to output data.

CpSc 372

Data Objects

A data object is a domain element that will be manipulated by the system.

Characteristics:

Plays a necessary role

Characterized by attributes

Uniquely identifiable (?)

Examples:

Roles

Events

Places

External entities

Structures

Other things

Modeling

Object: car

Attributes:

• VIN #

• Make

• Model

• Price

CpSc 372

Relationships, Cardinality, Modality

 Relationships

 Define connections between objects

 Cardinality

 Defines the number of items on either end of a connection

 Modality

 Defines the necessity of a connection

Entity-Relationship Diagram (ERD) insured

1

*

Person

1 owns

*

Car

1 attached

1

Trailer

CpSc 372

DFD: A Basic Example

(See Pressman Chapter 8, Section 8.6.1, pg. 195)

Control panel commands and data

SafeHome software display information alarm type

Sensors sensor status telephone tones

Panel display

Alarm

Telephone line

External entities

(squares)

Data flows

(directed edges)

Processes

(circles)

Notice that the system is represented as a single bubble.

This is known as a level 0 DFD , or a context diagram .

CpSc 372

DFDs and Progressive Refinement

(See Pressman Chapter 8, Section 8.6.1, pg. 196)

Each DFD reveals progressively more detail than the DFD that preceded it.

Level 1 DFD: commands and data

Control panel

Interact with user

Configure request

Start/stop request

Configure system password

Activate / deactivate system

Refinement continues until each bubble can be (easily) implemented as a program module.

Process password

CpSc 372

Process Narrative

(See Pressman Chapter 8, Section 8.6.4, pg. 200)

… password

Process password

A process specification describes all of the flow processes in the final (most detailed) DFD.

“The process password transform performs password validation at the control panel for the SafeHome security function. Process password receives a four-digit password from the interact with user function. The password is first compared to the master password stored within the system …”

A process specification can be represented as a collection of process narratives.

CpSc 372

How are DFDs Constructed?

(See Pressman Chapter 8, Section 8.6.1, pg. 195)

Scope document

Grammatical parse

Level 0

DFD

Develop process narratives

Grammatical parse

Next level

DFD

(nouns = external entities, data/control objects, data stores)

(verbs = processes)

Note that nouns and verbs are associated with one another.

CpSc 372

Some Guidelines

 Level 0 DFD should contain only a single bubble

 All arrows and bubbles should be meaningfully labeled

 Refinement begins by isolating next level processes, data objects, and data stores

 Refine only one bubble at a time

 Data flow continuity must be maintained between levels

CpSc 372

Let’s Try it Out!

The Video Library Management System

An excerpt from the scope document:

The video library management system will interact with the user through a web-based browser interface. When the user logs into the system, the system will determine the user’s access privileges based on the user configuration database. If the user is an administrator, the system will allow the user to enter new movie titles, new actor information, etc. If the user is not an administrator, the system will allow the user to query the system based on movie title, actor, director, etc.

What might the level 0 DFD look like? Level 1?

CpSc 372

And a Bit of Review

Another excerpt from the scope document:

The system will allow the user to store a number of information elements with each video, director, and actor. Each video will be characterized by a title, a genre descriptor, a short synopsis, a list of directors, a list of actors, a rating, and a UPC code.

Each actor and director will be characterized by a first and last name, a year of birth, and a brief biography. When the user is viewing a video entry, they will be able to retrieve the full actor

(or director) information by clicking the actor’s (or director’s) name.

What would be an appropriate

ERD diagram for this excerpt?

Download