OOinteraction, Package, Component, Deployment
OOinteraction, Package, Component, Deployment
SUBMITTED BY:
ARUN.U
21BCE3187
Assessment-IV
1|Page
1. Describe the OO design using Interaction Models.
Introduction:
Purpose: This sequence diagram models the real-time interactions
between objects in the Eye Optical Management System. It visualizes the
core process a customer follows when browsing products, selecting
items, and completing a successful order placement.
Objects:
2|Page
Delivery: Efficiently schedules delivery upon order completion and
sends confirmation signals.
Relationships (Messages):
Clearly define each message exchanged between objects, emphasizing
their role in the process flow:
Advantages
3|Page
Dynamic Illustration: Highlights the interplay between objects, which is
difficult to convey through static documentation.
Design & Testing Aid: Serves as a blueprint for code implementation,
outlining how object methods should interact for successful order
placement. Additionally, it guides the creation of test cases targeted at
object interactions.
Disadvantages
Potential Complexity: As system complexity grows, sequence diagrams
can become intricate. Focus on specific processes and abstract away
unnecessary details where possible.
Focus on Interactions: Prioritizes message flow over the detailed internal
logic of individual classes. Complementary documentation or class
diagrams might be needed.
Maintenance: As your system evolves, sequence diagrams require
updates to ensure continued accuracy.
4|Page
Construction of a diagram:
Package model:
Introduction:
5|Page
Purpose: This package diagram provides a modular view of the Eye Optical
Management System. It visually organizes the system's components into
cohesive functional areas, illustrating the relationships and dependencies
between them.
Packages:
Customer Management: Handles customer accounts, profiles, order
history, and eye prescriptions (if applicable).
Product Management: Manages product listings, including categories,
descriptions, brands, and inventory.
Order Processing: The cornerstone, orchestrating order creation,
processing, payment interactions, and coordination with delivery.
Administration: Provides management capabilities for admins or
employees responsible for system oversight or specific functionalities.
Reporting: Facilitates report generation for business insights, analyzing
sales, inventory trends, and customer data (if this feature exists).
Dependencies:
Customer Management <-> Order Processing: A reciprocal dependency,
where customers interact with the order process and the order process
utilizes customer information.
Order Processing -> Product Management: Order processing relies on
product availability and information.
Order Processing -> Payment: Secure handling of order-related financial
transactions.
Order Processing -> Delivery: Initiates and communicates with the
delivery system for product shipment.
6|Page
Administration -> Reporting: Admins potentially utilize the reporting
system for decision-making.
Reporting -> (Most Packages): Reporting likely draws data from multiple
packages for comprehensive analysis.
Advantages
Modularization: Promotes the creation of well-defined system
components with clear interfaces, enhancing flexibility and
maintainability.
High-Level Understanding: Makes the core functional areas and
interactions readily apparent, aiding collaboration between developers
and stakeholders.
Scalability: Facilitates additions or modifications of modules (packages)
with minimized impact on the entire system.
Reduced Complexity: Organizes the system to decrease cognitive
overload for developers.
Disadvantages
Abstraction: Hides internal class details; might require supplementary
class diagrams for in-depth understanding.
Over-simplification: In large systems, there's a risk of over-simplifying
dependencies, leading to overlooked complexities.
Subjectivity: Package divisions can be somewhat flexible, different
designers might group functionalities slightly differently.
7|Page
Diagram:
Component Model:
Introduction about Diagram
Purpose: This component diagram provides a modular view of the Eye Optical
Management System's software architecture. It illustrates the high-level
software components and the dependencies between them.
Scope: Emphasize that this diagram aids in understanding the system's
structure from a software perspective, promoting maintainability and guiding
development efforts.
8|Page
Core Functionalities: Map the packages from your package diagram to
components
Deployment Units: Think about how you might break down the system during
actual deployment – this can guide component creation.
External Systems: Include components representing any significant external
systems your Eye Optical Management System interacts with (e.g., a 3rd-party
payment gateway).
Example Components (Preliminary)
CustomerManagementComponent
ProductManagementComponent
OrderProcessingComponent
PaymentGatewayComponent (external)
DeliveryManagementComponent
AdminComponent
ReportingComponent
Define Interfaces
Provided Interfaces: Each component declares the functionalities it offers to
other components. These could be method names, API endpoints, or event
triggers, depending on the technologies you use.
Required Interfaces: Specify the services a component needs from others to
function. This is key to showing dependencies.
Provided Interfaces:
placeOrder(customerID, orderData)
calculateTotal(orderID)
initiatePayment(paymentDetails)
scheduleDelivery(orderDetails)
9|Page
Required Interfaces:
getProductDetails(productID) (from ProductManagementComponent)
validateCustomer(customerID) (from CustomerManagementComponent)
processPayment(paymentDetails) (from PaymentGatewayComponent)
createShipment (shipmentDetails) (from DeliveryManagementComponent)
Establish Relationships
Dependency Arrows: Draw arrows from components with "required interfaces"
to the components providing those interfaces. This visualizes the flow of
dependencies.
Detailing Components (Optional)
Internal Structure: If beneficial, you can show important classes within each
component.
Ports: Use ports to pinpoint specific interaction points on components.
Advantages
10 | P a g e
Disadvantages
Diagram:
Deployment Model:
11 | P a g e
Purpose: This deployment diagram visually depicts the physical configuration of
the Eye Optical Management System. It showcases the hardware components
(nodes) and the distribution of software components across those nodes.
Scope: Emphasize that this diagram provides a blueprint for the physical
deployment of the system, aiding in aspects such as capacity planning, network
configuration, and security considerations.
2. Components and Relationships
1. Identify Nodes
Web Server(s): Likely host the core functionality of your system. You might have
multiple servers for load balancing or separate
development/staging/production environments.
Database Server: Houses your system's data securely.
Client Devices: Consider the range of devices customers will use (desktops,
laptops, mobile phones).
Payment Gateway: If using an external provider, this might be an additional
node.
Other Hardware: Any specialized hardware if relevant (e.g., in-store inventory
management terminals).
2. Map Components to Nodes
12 | P a g e
Consider the following:
Performance: Critical components might need dedicated servers.
Security: Sensitive components (e.g., PaymentGatewayComponent) might have
strict isolation requirements.
Scalability: Plan for load distribution across servers if needed.
Example (Simplified)
Web Server :
CustomerManagementComponent
ProductManagementComponent
OrderProcessingComponent
AdminComponent
UserInterfaceComponent
Database Server:
Database Schema (as an artifact representing your data store)
Client Devices:
Web Browser (to access the UserInterfaceComponent)
3. Artifacts
Advantages
Diagram:
14 | P a g e
15 | P a g e