Blog Details

Construct basic structural, behavioral and architectural models using object oriented software engineering approach.

To construct basic structural, behavioral, and architectural models using the K6 (Create Level) in the Object-Oriented Software Engineering (OOSE) approach, we use UML diagrams to model a software system’s components.

Below is a detailed breakdown showing how to create these models using appropriate UML diagrams for each category:

πŸ”Ή 1. Structural Model – "What" the system is made of

✦ Purpose:

To define the static aspects of a system β€” the classes, their attributes, methods, and relationships.

✦ UML Diagram Used:

Class Diagram

βœ… Example: Library Management System (Structural View)

Classes:

  • Book – Attributes: title, ISBN, author

  • Member – Attributes: name, memberID

  • Librarian – Attributes: employeeID, name

  • Loan – Attributes: issueDate, returnDate

Relationships:

  • A Member can borrow multiple Books (1..*)

  • Loan connects Book and Member

  • Librarian issues Loans

This class diagram shows associations, multiplicities, and possibly inheritance (e.g., Staff β†’ Librarian).

πŸ”Ή 2. Behavioral Model – "How" the system behaves over time

✦ Purpose:

To define dynamic behavior: interactions, events, workflows, and responses to stimuli.

✦ UML Diagrams Used:

  • Use Case Diagram

  • Sequence Diagram

  • Activity Diagram

  • State Diagram

βœ… A. Use Case Diagram

Actors:

  • Member

  • Librarian

Use Cases:

  • Search Book

  • Borrow Book

  • Return Book

  • Add New Book

Connect actors to use cases to define user interaction with the system.

βœ… B. Sequence Diagram (e.g., Borrow Book process)

Objects:

  • Member

  • Librarian

  • Book

  • LoanSystem

Flow:

  1. Member requests to borrow a book.

  2. Librarian checks book availability.

  3. If available, creates a Loan entry.

  4. Updates book status to "Issued".

βœ… C. Activity Diagram (e.g., Returning a Book)

Flow:

  • Start β†’ Scan Book β†’ Check Due Date β†’ Update Status β†’ Generate Fine (if overdue) β†’ End

βœ… D. State Diagram (e.g., Book Object)

States:

  • Available β†’ Issued β†’ Reserved β†’ Lost

Shows transitions triggered by actions like "Borrow", "Return", or "Reserve".

πŸ”Ή 3. Architectural Model – "Where" and "how" the system is deployed and structured

✦ Purpose:

To define the high-level components, their organization, and deployment.

✦ UML Diagrams Used:

  • Component Diagram

  • Deployment Diagram

βœ… A. Component Diagram

Components:

  • UI Module

  • Business Logic Module

  • Database Module

Dependencies:

  • UI interacts with Business Logic

  • Business Logic interacts with Database

Helps visualize software modularization.

βœ… B. Deployment Diagram

Nodes:

  • Client Device (with UI)

  • Application Server (with business logic)

  • Database Server

Artifacts:

  • Show software components installed on hardware nodes

βœ… Summary Table:

Model Type Purpose Key UML Diagrams Structural Static design of system classes Class Diagram, Object Diagram Behavioral Dynamic behavior & interactions Use Case, Sequence, Activity, State Architectural High-level system structure Component Diagram, Deployment Diagram

Let me know if you'd like me to generate sample diagrams or provide a case study example for implementation.