Lecture3010-2020-7

ITEC 3010: Systems Analysis and Design

Lecture 7: Object-Oriented Approach to Requirements

  • Key Topics Covered:

    • Object-Oriented Analysis (OOA)

    • Unified Modeling Language (UML)

    • Object-Oriented Requirements (OOR)

    • System Activities

    • Use Case Description and Diagram

    • Activity Diagram

    • System Sequence Diagram

    • State Machine Diagram

    • Integrating Object-Oriented Models

Object-Oriented Analysis (OOA)

  • OOA views an Information System (IS) as a collection of objects collaborating to perform functions.

  • Steps in OO Analysis:

    1. Define Objects: Identify and classify the objects that comprise the system.

    2. Describe Interactions: Elaborate on how these objects communicate, primarily via messages.

  • UML Overview:

    • Defined in 1995; standardized in 1997 by the Object Management Group (OMG).

    • UML serves as a notation in OO modeling, facilitating the construction of various diagrams.

Object-Oriented Requirements (OOR)

  • Modeling Process:

    • Starts with identifying use cases and problem domain classes representing elements in the user's work environment.

    • Use Cases: Define functional requirements and outline systems' capabilities.

    • Business Events: Trigger elementary business processes (EBP) relevant to use cases.

Use Case Models

  • Components of Use Cases:

    • Use Case Diagram: Visual representation of user roles and system utilization.

    • Sequence Diagram: Shows message exchanges between external actors and system objects.

  • Domain Models and Diagrams:

    • Domain Class Diagram: Classify objects integrated into the system alongside attributes.

    • State Machine Diagram: Depicts the states of each object and transitions between them.

System Activities

  • Use Case Identification:

    • Use cases can be identified at both an overview and detailed level.

  • Actors: Individuals or systems interacting with the system, fundamentally influencing its activities.

Techniques for Identifying Use Cases

  • User Goals: Each goal at the EBP level signifies a use case.

  • Event Decomposition and CRUD Analysis: Ensure all interactions and processes are captured effectively.

Use Case Descriptions

  • Provides details on:

    • Actors: Entities initiating the use case.

    • Scenario: Specific pathway taken to achieve a goal.

    • Preconditions: Conditions that must be fulfilled before execution starts.

    • Postconditions: Outcomes when the use case is completed.

  • Levels of Detail: Brief, Intermediate, and Fully Developed descriptions of use cases.

Examples of Use Case Descriptions

Create New Order

  • Trigger: Customer telephones to make an order.

  • Flow of Activities:

    1. Order clerk verifies customer's information.

    2. A new order is initiated and items are requested by the customer.

    3. Payment is verified and order is finalized.

Create Customer Account

  • Trigger: New customer wishes to create an online account.

  • Flow of Activities:

    1. Customer enters account details.

    2. System processes and saves the account info along with associated addresses.

Use Case Diagrams

  • Graphically summarize actors and use cases.

  • Symbols include ovals for use cases and stick figures for actors, with connecting lines showing interactions.

Integrating Object-Oriented Models

  • Combine various diagrams like use case, domain class, and state machine diagrams for an overarching view of system requirements.

  • Importance of Iteration: Each diagram's development supports refining other models, ensuring all aspects are covered.

Summary of Diagrams

  • Activity Diagrams: Document workflows for use cases.

  • State Machine Diagrams (SMD): Show internal object behaviors and states.

  • System Sequence Diagram (SSD): Models input-output messaging, demonstrating system interactions.

Relationships Between Diagrams

  • Connect use case diagrams to domain class diagrams, and state machine diagrams to support comprehensive system functionality understanding.

Reading for Next Lecture

  • Today: Chapter 3 (pp. 81-87), Chapter 4 (pp. 114-122), Chapter 5

  • Next Lecture: Chapter 6 (pp. 159-170), Chapter 7

Thank you!