dr manolya kavakli department of computing macquarie university sydney, australia modeling system...

80
Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th Edition, Shelly)

Post on 18-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Dr Manolya KavakliDepartment of ComputingMacquarie UniversitySydney, Australia

MODELING SYSTEM REQUIREMENTS WITH USE CASES

Reading: Chapter 5 (7th Edition, Shelly)

Page 2: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Modeling System Requirements with Use Cases

Describe • the benefits of use-case modeling.• actors and use cases.• the relationships that can appear on a use-case model diagram.• the steps for preparing a use-case model.• how to construct a use-case model diagram.• the various sections of a use-case narrative and be able to

prepare one.• the purpose of the use-case ranking and priority matrix and the

use-case dependency diagram.

Page 3: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th
Page 4: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Significance

The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is a difficult as establishing the detailed technical requirements, including all the interfaces to people, to machines, and to other software systems. No other work so cripples the resulting system if done wrong. No other part is more difficult to rectify later. Fred Brooks

Page 5: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

An Introduction to Use-Case Modeling

• One of the primary challenges in a system design process: the ability • to elicit the correct and necessary system requirements from the

stakeholders and • specify them in a manner understandable to them so those

requirements can be verified and validated.– Data and process models, prototypes, requirement specifications.– Understood by designers but not by users.– Leads to scope creep, schedule creep, cost overruns.

Page 6: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

IS Development Project Track Record

Source: The Standish Group International, Inc., “Chaos: A Recipe for Success”

canceled before

completion

Over budget, late, or without needed features

Page 7: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

User-Centered Development and Use-Case Modeling

User-centered development – a process of systems development based on understanding the needs of the stakeholders and the reasons why the system should be developed.Use-case modeling – the process of modeling a system’s functions in terms of business events, who initiated the events, and how the system responds to those events.– Use-case modeling has roots in object-oriented modeling.

– Gained popularity in nonobject development environments because of its usefulness in communicating with users.

– Compliments traditional modeling tools.

Page 8: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Benefits of Use-Case Modeling• Provides a tool for capturing functional requirements.• Assists in decomposing system scope into more manageable pieces.• Provides a means of communicating with users and other stakeholders concerning

system functionality in a language that is easily understood.• Provides a means of identifying, assigning, tracking, controlling, and management

system development activities, especially incremental and iterative development.• Provides an aid in estimating project scope, effort, and schedule.• Provides a baseline for testing in terms of defining test plans and test cases.• Provides a baseline for user help systems and manuals as well as system development

documentation.• Provides a tool for requirements traceability.• Provides a starting point for the identification of data objects or entities.• Provides functional specifications for designing user and system interfaces.• Provides a means of defining database access requirements.• Provides a framework for driving the system development project.

Page 9: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

System Concepts for Use-Case Modeling

Use-case diagram – a diagram that depicts the interactions between the system and external systems and users. – It graphically describes who will use the system and in what

ways the user expects to interact with the system.Use-case narrative – a textual description of the business event and how the user will interact with the system to accomplish the task.Use case – a behaviorally related sequence of steps (a scenario), both automated and manual, for the purpose of completing a single business task.– Description of system functions from the perspective of

external users in terminology they understand.

Page 10: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Sample Use-Case Model Diagram

Page 11: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Basic Use-Case SymbolsUse case – subset of the overall system functionality– Represented graphically by a horizontal

ellipse with the name of the use case appearing above, below, or inside the ellipse.

Actor – anything that needs to interact with the system to exchange information. – Could be a human, an organization, another information

system, an external device, or even time.

Temporal event – a system event triggered by time.– The actor is time.

Page 12: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Four Types of Actors• Primary business actor

– The stakeholder that primarily benefits from the execution of the use case.

• e.g. the employee receiving the paycheck

• Primary system actor– The stakeholder that directly interfaces with the system to

initiate or trigger the business or system event.• e.g. the bank teller entering deposit information

• External server actor – The stakeholder that responds to a request from the use case.

• e.g. the credit bureau authorizing a credit card charge

• External receiver actor– The stakeholder that is not the primary actor but receives

something of value from the use case.• e.g. the warehouse receiving a packing slip

Page 13: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Use Case Association Relationship

Association – a relationship between an actor and a use case in which an interaction occurs between them.– Association is modeled as a solid line connecting the actor and the use case.

• Association with an arrowhead touching the use case indicates that the use case was initiated by the actor.

• Association lacking arrowhead indicates a receiver actor.

– Associations may be bidirectional or unidirectional.

Page 14: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Use Case Extends RelationshipExtension use case – a use case consisting of steps extracted from a more complex use case in order to simplify the original case and thus extend its functionality.– Relationship between the extension use case and the use case it is

extending is called an extends relationship.– Represented as an arrowheaded line beginning at the extension use

case and point to the use case it is extending.– Each extends relationship line is labeled “<<extends>>.”

Page 15: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Use Case Uses RelationshipAbstract use case – a use case that reduces redundancy among two or more other use cases by combining the common steps found in those cases.– An abstract case is available for use by any other use case that requires

its functionality.– Relationship between the abstract use case and the use case that uses it is

called a uses (or includes) relationship.

– Depicted as an arrowheaded line beginning at the original use case and pointing to the use case it is using.

– Uses relationship line is labeled “<<uses>>.”

Page 16: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Use Case Depends On Relationship

Depends On – a use case relationship that specifies which other use cases must be performed before the current use case.– Can help determine sequence in which use cases need to be developed.– Depicted as an

arrowheaded line beginning at one use case and pointing to a use case it is dependent on.

– Each depends on relationship line is labeled “<<depends on>>.”

Page 17: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Use Case Inheritance Relationship

Inheritance – a use case relationship in which the common behavior of two actors initiating the same use case is extrapolated and assigned to a new abstract actor to reduce redundancy.– Other actors can inherit the interactions of the abstract actor.– Depicted as an

arrowheaded line beginning at one actor and pointing to the abstract actor whose interactions the first actor inherits.

Page 18: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

The Process of Use-Case Modeling• Objective: to elicit and analyze enough requirements information to

prepare a model.– The model communicates what is required from a user perspective.– The model is free of specific details about how the system will be built or

implemented.

• To effectively estimate and schedule project, a preliminary “system implementation assumptions” may be needed.

Steps:1. Identify business actors.2. Identify business use cases.3. Construct use-case model diagram.4. Documents business requirements use-case narratives.

Page 19: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Step 1: identify Business Actors

When looking for actors, ask the following questions:

• Who or what provides inputs to the system?• Who or what receives outputs from the system?• Are interfaces required to other systems?• Are there events that are automatically triggered at

a predetermined time?• Who will maintain information in the system?

Page 20: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Sample List of Actors

Page 21: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Step 2: Identify Business Requirements Use Cases

• During requirements analysis, strive to identify and document only the most critical, complex, and important use cases, often called essential use cases.

When looking for use cases, ask the following questions:• What are the main tasks of the actor?• What information does the actor need form the system?• What information does the actor provide to the system?• Does the system need to inform the actor of any changes or

events that have occurred?• Does the actor need to inform the system of any changes or

events that have occurred?

Page 22: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Sample Context Diagram

Page 23: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Sample Use-Case Glossary

continued

Page 24: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Sample Use-Case Glossary

continued

Page 25: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Sample Use-Case Glossary

Page 26: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Step 3: Construct Use-Case Model Diagram

Page 27: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Step 4: Document Business Requirements Use-Case Narratives

• Use-Case Model Diagram documents first at high level to quickly obtain an understanding of the events and magnitude of the system.

• Then expand to a fully-documented business requirement narrative.– Include the use case’s typical course of events

and its alternate courses.

Page 28: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Sample High-Level Version of a Use-Case Narrative

Page 29: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Sample Expanded Version of a Use-Case Narrative

continued

Page 30: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Sample Expanded Version of a Use-Case Narrative (cont)

continued

Page 31: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Sample Expanded Version of a Use-Case Narrative (cont)

Page 32: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Use Cases and Project Management

• Use-case model can drive the entire development effort.• Project manager or systems analyst uses business

requirements use cases to plan (estimate and schedule) the build cycles of the project.– Build cycles are scoped on the basis of the importance of the

use case and the time it takes to implement the use case.

• To determine importance of the use cases, will create:– Use-case ranking and evaluation matrix

– Use-case dependency diagram

Page 33: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Use-Case Ranking and Priority Matrix

• In most projects, the most important use cases are developed first.

Use-case ranking and priority matrix – a tool used to evaluate use cases and determine their priority.

• Evaluates use cases on a scale of 1 to 5 against six criteria.1. Significant impact on the architectural design.2. Easy to implement but contains significant functionality.3. Includes risky, time-critical, or complex functions.4. Involves significant research or new or risky technology.5. Includes primary business functions.6. Will increase revenue or decrease costs.

Page 34: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Sample Use-Case Ranking and Priority Matrix

Page 35: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Use-Case Dependency Diagram

Use-case dependency diagram – a graphical depiction of the dependencies among use cases.

– Provides the following benefits:• Graphical depiction of the system’s events and their states

enhances understanding of system functionality.

• Helps identify missing use cases.

• Helps facilitate project management by depicting which use cases are more critical.

Page 36: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Sample Use-Case Dependency Diagram

Page 38: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Dr Manolya KavakliDepartment of ComputingMacquarie UniversitySydney, Australia

DATA AND PROCESS MODELLING

Reading: Chapter 4(7th Edition, Shelly)

Page 39: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Chapter Objectives • Describe data and process modeling concepts

and tools, including data flow diagrams, a data dictionary, and process descriptions

• Describe the symbols used in data flow diagrams and explain the rules for their use

• Draw data flow diagrams in a sequence, from general to specific

• Explain how to level and balance a set of data flow diagrams

39

Page 40: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Chapter Objectives

• Describe how a data dictionary is used and what it contains

• Use process description tools, including structured English, decision tables, and decision trees

• Describe the relationship between logical and physical models

40

Page 41: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Introduction

• Chapters 5 & 6 cover the logical model of a proposed system and how to document the system requirements

• Logical model – shows what the system must do

• Physical model – describes how the system will be constructed

41

Page 42: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Overview of Data and Process Modeling Tools

• Systems analysts use many graphical techniques to describe an information system

• Data and process modeling involves three main tools: – data flow diagrams, – data dictionary, and – process descriptions

• A data flow diagram (DFD) uses various symbols to show how the system transforms input data into useful information

42

Page 43: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Data Flow DiagramsA data flow diagram (DFD) • shows how data moves through an information system • but does not show program logic or processing steps

A set of DFDs • provides a logical model that • shows what the system does, • not how it does it

43

Page 44: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Data Flow Diagrams• DFD Symbols: Different symbol sets

44

Page 45: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Data Flow Diagrams

• DFD Symbols– Process symbol

• Receives input data and produces output that has a different content, form, or both

• Contain the business logic, also called business rules

• Referred to as a black box

45

Page 46: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Data Flow Diagrams• DFD Symbols

– Data flow symbol• Represents one or more data items

• The symbol for a data flow is a line with a single or double arrowhead

– Impossible DFDs– Spontaneous generation produces

output but has no input

– Black hole has input but no output

– Gray hole has both, but input is not sufficient to create the output

46

Page 47: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Data Flow Diagrams

• DFD Symbols– Data store symbol

• Represent data that the system stores

• The physical characteristics of a data store are unimportant because you are concerned only with a logical model

47

Page 48: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Data Flow Diagrams• DFD Symbols

– Entity Symbol• Name of the entity appears inside the

symbol

• Shows External entitities that provide data to the system

Also called Terminators:• Since they are the data origins or final

destinations

• Source: entity supplying data

• Sink: entity that receives data

• Each entity must be connected to a process by a data flow

48

Page 49: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Creating a Set of DFDs

• Create a graphical model of the information system based on your fact-finding results

• Three-step process– Step 1: Draw a context diagram– Step 2: Draw a diagram 0 DFD– Step 3: Draw the lower-level diagrams

49

Page 50: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Creating a Set of DFDs

• Guidelines for Drawing DFDs– Draw the context diagram so that it fits on one page– Use the name of the information system as the

process name in the context diagram– Use unique names within each set of symbols

50

Page 51: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Creating a Set of DFDs

• Guidelines for Drawing DFDs– Do not cross lines– Provide a unique name and reference number for

each process– Obtain as much user input and feedback as possible

51

Page 52: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Creating a Set of DFDs• Step 1: Draw a Context Diagram

– Most general view– Start with process 0 (Black Box)

52

Page 53: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Creating a Set of DFDs

• Step 2: Draw a Diagram 0 DFD– Show the detail inside the black box

53

Page 54: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Creating a Set of DFDs

• Step 2: Draw a Diagram 0 DFD– If same data flows in both directions, you can use a

double-headed arrow– Diagram 0 is an exploded view of process 0

• Parent diagram: higher-level diagram of an exploded DFD• Child diagram: lower-level diagram of an exploded DFD

– Functional primitive:• A process that consists of a single function that is not

exploded further

54

Page 55: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Creating a Set of DFDs• Step 3: Draw the

Lower-Level Diagrams– Must use leveling and

balancing techniques

– Leveling examples• Uses a series of

increasingly detailed DFDs until all functional primitives are identified

• Exploding, partitioning, or decomposing

55

Page 56: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Creating a Set of DFDs• Step 3: Draw the

Lower-Level Diagrams– Balancing

• Ensures that the input and output data flows of the parent DFD are maintained on the child DFD

56

Page 57: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Data Dictionary

• A data dictionary, or data repository:– a central storehouse of information about the

system’s data

• An analyst uses the data dictionary to collect, document, and organize specific facts about the system

• Also defines and describes all data elements and meaningful combinations of data elements

57

Page 58: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Data Dictionary

• A data element, a data item or field: – the smallest piece of data that has meaning

• Data structures:– Data elements combined into records.

• A record: – a meaningful combination of related data

elements that is included in a data flow or retained in a data store

58

Page 59: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Data Dictionary• Documenting the Data

Elements– You must document

every data element in the data dictionary

– The objective is the same: to provide clear, comprehensive information about the data and processes that make up the system

59

Page 60: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Data Dictionary

• Documenting the Data Elements– The following attributes usually are recorded

and described• Data element name and label

• Alias (alternate names for the data element)

• Type and length

• Default value

• Acceptable values - Domain and validity rules

60

Page 61: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Data Dictionary

• Documenting the Data Elements– The following attributes usually are recorded

and described• Source

• Security

• Responsible user(s)

• Description and comments

61

Page 62: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Data Dictionary• Documenting the Data Flows • using Visible Analyst CASE

tool– The typical attributes are as

follows• Data flow name or label

• Description

• Alternate name(s)

• Origin

• Destination

• Record

• Volume and frequency

62

Page 63: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Data Dictionary

• Documenting the Data Stores– Typical characteristics

of a data store are• Data store name or

label

• Description

• Alternate name(s)

• Attributes

• Volume and frequency

63

Page 64: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Data Dictionary

• Documenting the Processes– Typical characteristics

of a process • Process name or label

• Description

• Process number

• Process description

64

Page 65: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Data Dictionary

• Documenting the Entities– Typical characteristics

of an entity include• Entity name

• Description

• Alternate name(s)

• Input data flows

• Output data flows

65

Page 66: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Data Dictionary

• Documenting the Records– Typical characteristics

of a record include• Record or data structure

name

• Definition or description

• Alternate name(s)

• Attributes

66

Page 67: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Data Dictionary

• Data Dictionary Reports– Many valuable reports

• An alphabetized list of all data elements by name• A report describing each data element and

indicating the user or department that is responsible for data entry, updating, or deletion

• A report of all data flows and data stores that use a particular data element

• Detailed reports showing all characteristics of data elements, records, data flows, processes, or any other selected item stored in the data dictionary

67

Page 68: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Process Description Tools

• A process description • documents the details of a functional primitive,

which represents a specific set of processing steps and business logic

• It should be noted that this chapter deals with structured analysis, but the process description tools also can be used in object-oriented development, which is described in Chapter 6

68

Page 69: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Process Description Tools• When you analyze a functional primitive, you break the processing

steps down into smaller units.

• Modular Design: Based on combinations of three logical structures, called control structures, which serve as building blocks for the process.

• Rectangle represents a step or process• Diamond represents a condition or decision• The Logic follows the lines in the direction of arrows

– There are three control structures: • Sequence (completion of steps in sequential order) • Selection (based on the results of a test or condition)• Iteration – looping (completion of a process that is repeated)

69

Page 70: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Process Description Tools• Typical Process description tools:

– Structured English, decision tables, and decision trees.

• Structured English:– a subset of standard English

– describes logical processes clearly

– Must conform to the following rules• Use only the three building blocks of sequence, selection, and

iteration• Use indentation for readability• Use a limited vocabulary, including standard terms used in the data

dictionary and specific words that describe the processing rules

70

Page 71: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Process Description Tools

• Structured English– Might look familiar to programming students

because it resembles pseudocode– The primary purpose of structured English is to

describe the underlying business logic

71

Page 72: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Process Description Tools• Decision Tables

– Shows a logical structure, with all possible combinations of conditions and resulting actions

– It is important to consider every possible outcome to ensure that you have overlooked nothing

72

Page 73: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Process Description Tools

• Decision Tables– The number of rules doubles each time you add a

condition– Can have more than two possible outcomes– Often are the best way to describe a complex set of

conditions

73

Page 74: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Process Description Tools

• Decision Trees– Graphical representation of the conditions,

actions, and rules found in a decision table

74

Page 75: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Logical Versus Physical Models

• While structured analysis tools are used to develop – a logical model for a new IS, – such tools also can be used to develop – physical models of an information system

• A physical model shows how the system’s requirements are implemented

75

Page 76: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Logical Versus Physical Models

• Sequence of Models– Many systems analysts create – a physical model of the current system and – then develop a logical model of the current system – before tackling a logical model of the new system– Performing that extra step allows them to

understand the current system better

76

Page 77: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Logical Versus Physical Models

• Four-Model Approach– Develop

• a physical model of the current system,

• a logical model of the current system,

• a logical model of the new system, and

• a physical model of the new system

– The only disadvantage of the four-model approach is the added time and cost

77

Page 78: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Chapter Summary

• During data and process modeling, a systems analyst develops graphical models to show how the system transforms data into useful information

• The end product of data and process modeling is a logical model that will support business operations and meet user needs

• Data and process modeling involves three main tools: data flow diagrams, a data dictionary, and process descriptions

78

Page 79: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Chapter Summary

• Data flow diagrams (DFDs) graphically show the movement and transformation of data in the information system

• DFDs use four symbols

• A set of DFDs is like a pyramid with the context diagram at the top

79

Page 80: Dr Manolya Kavakli Department of Computing Macquarie University Sydney, Australia MODELING SYSTEM REQUIREMENTS WITH USE CASES Reading: Chapter 5 (7 th

Chapter Summary

• The data dictionary is the central documentation tool for structured analysis

• Each functional primitive process is documented using structured English, decision tables, and decision trees

• Structured analysis tools can be used to develop a logical model during one systems analysis phase, and a physical model during the systems design phase

80