jerry kotubasyst39409-object oriented methodologies1 object oriented methodologies week04

28
Jerry Kotuba SYST39409-Object Oriented Methodologies 1 Object Oriented Methodologies Week04

Upload: domenic-moody

Post on 27-Dec-2015

257 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 1Jerry Kotuba

Object Oriented Methodologies

Week04

Page 2: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 2Jerry Kotuba

Agenda Schedule Review Solution for ICE-02

Notation (start/end) Orthogonal Lines File type pdf or docx only

Recap last class Use Cases

Discovery Narratives Activity Diagrams Packages

Class Diagrams

Page 3: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 3Jerry Kotuba

Events and Use Cases

Use case Activity the system carries out Entry point into the modeling process

Discovery Techniques Event decomposition User goal CRUD

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 4: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 4

Use Cases - Analysis

Identify User goals Event tables CRUD

Summarize Use Case Diagram

Describe Narratives Activity Diagram(workflow)

Jerry Kotuba

Page 5: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 5

Final Word on Use Cases

Large software projects usually organized into packages.

Package is a placeholder Each package contains a set of use cases for

handling a certain type of business activity. E.g. Supply Chain Management System

Warehouse & Shipping Order Processing Accounting Inventory Management

Jerry Kotuba

Page 6: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

Methods & Applications 6

Customers

Suppliers

Page 7: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

Methods & Applications 7

E-business

Supply Chain Management

E-commerce

Customer Relationship Management

Legacy Applications

NewApplications

PackagedApplication

ExternalServices3rd Party

Inter- Intra Company

Page 8: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

Jerry Kotuba

Page 9: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

Jerry Kotuba

Example without Package Notation

Page 10: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

Jerry Kotuba

Example using Package Notation

Page 11: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 11Jerry Kotuba

Class Diagrams- Objectives Identify and analyze the objects and object-classes needed in

a system

Learn how to identify and represent relationships between object classes.

Learn how to identify and create super/subclass relationships

Page 12: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 12Jerry Kotuba

Problem Domain Classes Problem domain

Abstraction”Real World” to “Data world” 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 domain Objects that interact in the system

Identify and understand things in problem domain Key initial steps in defining requirements

Page 13: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 13Jerry Kotuba

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?”

Page 14: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 14Jerry Kotuba

Page 15: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 15Jerry Kotuba

Procedure for Developing an Initial List of Things

Perform Textual Analysis

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 16: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 16Jerry Kotuba

Pharmacy System Example

Page 17: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 17Jerry Kotuba

 Associations among Things

Analyst 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 things Unary (recursive), binary, n-ary

Page 18: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 18Jerry Kotuba

Associations Naturally Occur between Things

Page 19: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 19Jerry Kotuba

Multiplicity of Relationships

Page 20: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 20Jerry Kotuba

Attributes of Things

Specific 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 21: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 21Jerry Kotuba

Page 22: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 22Jerry Kotuba

Classes and Objects Domain 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 23: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 23Jerry Kotuba

Page 24: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 24Jerry Kotuba

Page 25: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 25Jerry Kotuba

Page 26: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 26

Exercises No 1 to No 3

To be done in class for illustration and practice

Jerry Kotuba

Page 27: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

SYST39409-Object Oriented Methodologies 27Jerry Kotuba

Your Turn…ICE-03

See SLATE

Page 28: Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week04

Class Diagrams

Document the static structure of the system

They define what classes there are and how they are related

The symbol on the right defines the data and behaviour encapsulated by a class.

Objects “know things and know how to do things!”

Jerry Kotuba

28

SYST39409 - Object Oriented Methodologies