Transcript Slide 1

Object Oriented Methodologies

Week04

Jerry Kotuba SYST39409-Object Oriented Methodologies 1

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 Jerry Kotuba SYST39409-Object Oriented Methodologies 2

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 Jerry Kotuba SYST39409-Object Oriented Methodologies 3

Use Cases - Analysis

Identify

   User goals Event tables CRUD 

Summarize

 Use Case Diagram 

Describe

 Narratives  Jerry Kotuba Activity Diagram(workflow) SYST39409-Object Oriented Methodologies 4

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 SYST39409-Object Oriented Methodologies 5

Suppliers Customers Methods & Applications 6

Inter- Intra Company

E-business Supply Chain Management External Services 3 rd Party Packaged Application New Applications Customer Relationship Management E-commerce Methods & Applications

Legacy Applications

7

Jerry Kotuba SYST39409-Object Oriented Methodologies 8

Example without Package Notation Jerry Kotuba SYST39409-Object Oriented Methodologies 9

Example using Package Notation Jerry Kotuba SYST39409-Object Oriented Methodologies 10

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 11 Jerry Kotuba SYST39409-Object Oriented Methodologies

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 Jerry Kotuba SYST39409-Object Oriented Methodologies 12

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?” Jerry Kotuba SYST39409-Object Oriented Methodologies 13

Jerry Kotuba SYST39409-Object Oriented Methodologies 14

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  Jerry Kotuba Further research may be needed SYST39409-Object Oriented Methodologies 15

Pharmacy System Example

Jerry Kotuba SYST39409-Object Oriented Methodologies 16

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 Jerry Kotuba SYST39409-Object Oriented Methodologies 17

Jerry Kotuba Associations Naturally Occur between Things SYST39409-Object Oriented Methodologies 18

Jerry Kotuba Multiplicity of Relationships SYST39409-Object Oriented Methodologies 19

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 Jerry Kotuba SYST39409-Object Oriented Methodologies 20

Jerry Kotuba SYST39409-Object Oriented Methodologies 21

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 Jerry Kotuba SYST39409-Object Oriented Methodologies 22

Jerry Kotuba SYST39409-Object Oriented Methodologies 23

Jerry Kotuba SYST39409-Object Oriented Methodologies 24

Jerry Kotuba SYST39409-Object Oriented Methodologies 25

Exercises No 1 to No 3

To be done in class for illustration and practice

Jerry Kotuba SYST39409-Object Oriented Methodologies 26

Your Turn…ICE-03

See SLATE

Jerry Kotuba SYST39409-Object Oriented Methodologies 27

28

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

SYST39409 - Object Oriented Methodologies Jerry Kotuba