objectives -...

55

Upload: dinhkhanh

Post on 10-Mar-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting
Page 2: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

2Object-Oriented Analysis and Design with the Unified Process

Objectives

Explain how events can be used to identify use cases that define requirements

Identify and analyze events and resulting use cases

Explain how the concept of problem domain classes also defines requirements

Identify and analyze domain classes needed in the system

Page 3: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

3Object-Oriented Analysis and Design with the Unified Process

Objectives (continued)

Read, interpret, and create a Unified Modeling Language (UML) domain model class diagram and design class diagram

Use a CRUD matrix to study the relationships between use cases and problem domain classes

Page 4: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

4Object-Oriented Analysis and Design with the Unified Process

Overview

Objective: refine information gathered

Identify use cases and problem domain classes

Model problem domain classes with UML notation

Introduce use case modeling

Page 5: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

5Object-Oriented Analysis and Design with the Unified Process

Events and Use Cases Use case

Activity the system carries out

Entry point into the modeling process

Event decomposition: help identify use cases

Elementary business processes (EBPs)Basic unit of analysis

Initiated by event occurring at specific time and place

Discrete system response that adds business value

Page 6: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

6Object-Oriented Analysis and Design with the Unified Process

Figure 5-1Identifying Use Cases by Focusing on Users and their Goals

Page 7: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

7Object-Oriented Analysis and Design with the Unified Process

Event DecompositionEvent decomposition

Develops use cases based on system response to events Perceives system as black box interfacing with external environmentKeeps focus on EBPs and business requirements

Analysts delegated particular events to decomposeResult of the decomposition:

List of use cases triggered by business events Use cases at the right level of analysis

Page 8: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

8Object-Oriented Analysis and Design with the Unified Process

Figure 5-2Events Affecting a Charge Account Processing System that Lead to Use Cases

Page 9: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

9Object-Oriented Analysis and Design with the Unified Process

Types of Events

External Events

Occur outside the system

Usually caused by external agent

Temporal Events

Occurs when system reaches a point (deadline) in time

State Events

Asynchronous events responding to system trigger

Page 10: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

10Object-Oriented Analysis and Design with the Unified Process

Figure 5-3External Event Checklist

Page 11: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

11Object-Oriented Analysis and Design with the Unified Process

Figure 5-4Temporal Event Checklist

Page 12: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

12Object-Oriented Analysis and Design with the Unified Process

Identifying Events

Three rules of thumb

Distinguish events from prior conditions

Can the transaction complete without interruption?

Is the system waiting for next transaction?

Trace sequence of events initiated by external agent

Isolate events that actually touch the system

Page 13: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

13Object-Oriented Analysis and Design with the Unified Process

Figure 5-5Temporal Event Checklist

Page 14: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

14Object-Oriented Analysis and Design with the Unified Process

Figure 5-6The Sequence of “Transactions” for One Specific Customer

Resulting in Many Events

Page 15: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

15Object-Oriented Analysis and Design with the Unified Process

Identifying Events (continued)

Identify technology dependent eventsExample: logon depending on system controls

Defer specifying technology dependent eventsPerfect technology assumption:

Separates technology dependent events from functional requirements ◘Unlimited processing and storage capacity ◘Equipment does not malfunction◘Users have ideal skill sets

Page 16: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

16Object-Oriented Analysis and Design with the Unified Process

Figure 5-7Events Deferred until Later Iterations

Page 17: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

17Object-Oriented Analysis and Design with the Unified Process

Events in the Rocky Mountain Outfitters Case

Developing list of external events

Identify all people and organizational units that want something from the system

Developing list of temporal events

Identify regular reports and statements that system must produce at certain times

Page 18: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

18Object-Oriented Analysis and Design with the Unified Process

Figure 5-8External Events for the RMO Customer Support System

Page 19: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

19Object-Oriented Analysis and Design with the Unified Process

Figure 5-9Temporal Events for the RMO Customer Support System

Page 20: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

20Object-Oriented Analysis and Design with the Unified Process

Looking At Each Event and the Resulting Use Case

Enter use cases in an event table

Event table includes rows and columns

Each row is a record linking an event to a use case

Columns represent key information

RMO event table anatomizes customer support system

Page 21: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

21Object-Oriented Analysis and Design with the Unified Process

Figure 5-10Information about each Event and the Resulting Use Case in an Event Table

Page 22: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

22Object-Oriented Analysis and Design with the Unified Process

Figure 5-11The Complete Event Table for the RMO Customer Support System

Page 23: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

23Object-Oriented Analysis and Design with the Unified Process

Problem Domain ClassesProblem domain

Set of work-related “things” in system component ◘Things have data representation within system

Examples: products, orders, invoices, customers

OO approach to things in problem domainObjects that interact in the system

Identify and understand things in problem domainKey initial steps in defining requirements

Page 24: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

24Object-Oriented Analysis and Design with the Unified Process

Types of Things

Things can be identified with methodology

Separate the tangible from the intangible

Include information from all types of users

Ask important questions about nature of event

“What actions upon things should be acknowledged and recorded by the system?”

Example case: customer placing an order

Page 25: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

25Object-Oriented Analysis and Design with the Unified Process

Figure 5-12Types of Things

Page 26: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

26Object-Oriented Analysis and Design with the Unified Process

Procedure for Developing an Initial List of Things

List nouns users mention when discussing system

Event table as source of potential things

Use cases, external agents, triggers, response

Select nouns with questions concerning relevance

Further research may be needed

Page 27: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

27Object-Oriented Analysis and Design with the Unified Process

Figure 5-13aPartial List of “Things” Based on Nouns for RMO

Page 28: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

28Object-Oriented Analysis and Design with the Unified Process

Figure 5-13bPartial List of “Things” Based on Nouns for RMO

Page 29: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

29Object-Oriented Analysis and Design with the Unified Process

Figure 5-13cPartial List of “Things” Based on Nouns for RMO

Page 30: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

30Object-Oriented Analysis and Design with the Unified Process

Associations among ThingsAnalyst document entity associations ( relationships)

Example: “Is placed by” and “works in”Associations apply in two directions

Customer places an order An order is placed by a customer

Multiplicity: the number of associations One to one or one to many

The associations between types of thingsUnary (recursive), binary, n-ary

Page 31: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

31Object-Oriented Analysis and Design with the Unified Process

Figure 5-14Associations Naturally Occur between Things

Page 32: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

32Object-Oriented Analysis and Design with the Unified Process

Figure 5-15Multiplicity of Relationships

Page 33: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

33Object-Oriented Analysis and Design with the Unified Process

Attributes of ThingsSpecific details of things are called attributes

Analyst should identify attributes of things

Identifier (key): attribute uniquely identifying thing

Examples: Social Security number, vehicle ID number, or product ID number

Compound attribute is a set of related attributes

Example: multiple names for the same customer

Page 34: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

34Object-Oriented Analysis and Design with the Unified Process

Figure 5-16Attributes and Values

Page 35: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

35Object-Oriented Analysis and Design with the Unified Process

Classes and ObjectsDomain model class diagram as UML class

OOA applies domain model class diagram to things

Problem domain objects have attributes

Software objects encapsulate attributes and behaviors

Behavior: action that the object processes itself

Software objects communicate with messages

Information system is a set of interacting objects

Page 36: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

36Object-Oriented Analysis and Design with the Unified Process

Figure 5-17Objects Encapsulate Attributes and Methods

Page 37: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

37Object-Oriented Analysis and Design with the Unified Process

Domain Model Class Diagram Notation

Class diagram keyGeneral class symbol: rectangle with three sectionsSections convey name, attributes, and behaviors Methods (behaviors) not shown in domain model class diagramLines connecting rectangles show associationsMultiplicity reflected above connecting lines

Domain class objects reflect business concern, policies, and constraints

Page 38: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

38Object-Oriented Analysis and Design with the Unified Process

Figure 5-21An Expanded Domain Model Class Diagram Showing Attributes

Page 39: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

39Object-Oriented Analysis and Design with the Unified Process

Figure 5-24A Refined University Course Enrollment Domain Model Class

Diagram With an Association Class

Page 40: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

40Object-Oriented Analysis and Design with the Unified Process

Hierarchies in Class Diagram Notation

Generalization/specialization notation

Inheritance hierarchy

Rank things the more general to the more special

◘Motor vehicle class includes trucks, cars, buses

Classification: means of defining classes of things

Superclass: generalization of a class

Subclass: specialization of a class

Page 41: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

41Object-Oriented Analysis and Design with the Unified Process

Figure 5-25A Generalization/Specialization Hierarchy Notation for Motor Vehicles

Page 42: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

42Object-Oriented Analysis and Design with the Unified Process

Hierarchies in Class Diagram Notation (continued)

Whole-part Hierarchy Notation“The whole is equal to the sum of the parts”

Two types of whole-part hierarchiesAggregation: association with independent parts◘Example: keyboard is part of computer system

Composition: association with dependent part ◘Example: CRT and monitor

Multiplicity applies to whole-part relationships

Page 43: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

43Object-Oriented Analysis and Design with the Unified Process

Figure 5-27Whole-part (Aggregation) Associations Between a Computer and Its Parts

Page 44: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

44Object-Oriented Analysis and Design with the Unified Process

Hierarchies in Class Diagram Notation (continued)

Design Class DiagramsModels classes into precise software analogsIncludes domain class information plus methodsTriangle symbol between classes indicates inheritanceProperties of attributes are shown with curly braces

Class fundamentalsInstances of a class (objects) manage their own dataAbstract classes are not instantiated (created) Subclasses inherit attributes/behaviors from superclass

Page 45: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

45Object-Oriented Analysis and Design with the Unified Process

Figure 5-29University Course Enrollment Design Class Diagram (With Methods)

Page 46: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

46Object-Oriented Analysis and Design with the Unified Process

The Rocky Mountain Outfitters Domain Class

Diagram

Derives from noun list developed in Figure 5-13

RMO domain class diagram shows attribute

Models do not show methods

Problem domain classes reflect high-level view of RMO use cases

Page 47: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

47Object-Oriented Analysis and Design with the Unified Process

Figure 5-31Rocky Mountain Outfitters Domain Model Class Diagram

Page 48: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

48Object-Oriented Analysis and Design with the Unified Process

Locations and the Crud MatrixLocation diagrams store data for future reference

Shows need for network connections Creates awareness of geographic reach

Use case–location matrix: shows where use cases are performed Use case–domain class matrix: highlights access requirements

Example: The RMO CRUD (create, read, update, and delete)

Page 49: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

49Object-Oriented Analysis and Design with the Unified Process

Figure 5-32Rocky Mountain Outfitters Location Diagram

Page 50: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

50Object-Oriented Analysis and Design with the Unified Process

Figure 5-33aUse Case–location Matrix for the Rocky Mountain Outfitters

Customer Support System

Page 51: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

51Object-Oriented Analysis and Design with the Unified Process

Figure 5-33bUse Case–location Matrix for the Rocky Mountain Outfitters

Customer Support System

Page 52: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

52Object-Oriented Analysis and Design with the Unified Process

Use Cases, the Domain Model, and Iteration Planning

Select use cases for further developmentIdentify risks to determine priority Core architecture typically selected/implemented first

Transition into elaboration phaseConverting use cases into softwareIteratively integrate software components into more complex systemsBegin testing of software

Page 53: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

53Object-Oriented Analysis and Design with the Unified Process

SummaryRequirements discipline defines business functions

Key concepts: use cases and problem domain classes

Use cases derive from elementary business processes (EBPs)

Three event types: external, temporal, and state

Problem domain class: category based on OOA

Page 54: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

54Object-Oriented Analysis and Design with the Unified Process

Summary (continued)Multiple associations among classesAttributes: specific information about a thingActual software classes include behaviors (methods) and attributes UML class diagrams show classes, attributes, methods, and associationsDomain model class diagram show domain classes in the users’ work environment

Page 55: Objectives - courses.sct.emu.edu.trcourses.sct.emu.edu.tr/courses/it/itec334/userfiles/files/lecture... · Objectives Explain how events ... Information system is a set of interacting

55Object-Oriented Analysis and Design with the Unified Process

Summary (continued)Design class diagram models software classes

Generalization/specialization hierarchies allow inheritance from a superclass to a subclass

Whole-part hierarchies allow a collection of objects to be associated as a whole and its parts

Requirements are also defined with location diagrams, and matrices