Subsystems and classes-Subsystems and it’s relationship to classes.
Interface of subsystems-Subsystems provide services to other subsystems. Coupling – Dependencies between two subsystems. Cohesion-Dependencies between classes of a subsystems. Layering-Organizes the system as a hierarchy of subsystems , each providing higher level services to the subsystem above it using the services provided by the subsystems below it. Partioning-Organizing the subsystems as peers which provide services to each other. Subsystems and Classes
Application Domain-Smaller parts Classes Packages.
Solution Domain-System Subsystems(simpler parts). Subsystem-Replaceable part of the system with well defined interfaces that encapsulates the state and behaviour of the of it’s contained classes. Independent subsystems-Supports individual development of subsystems concurrently. Single developer or a development team. Complex subsystems-Decompose subsystems into simpler subsystems. System
* Part *
Class Subsystem Accident Management System
DispatcherInterface User Interface for dispatcher
FieldOfficerInterface User Interface for FieldOfficer
IncidentManagement Creation, modification , storage of events
ResourceManagement Track available resources E.g. Fire trucks,
Ambulances MapManagement Depicting maps and locations
Notification Communication between FieldOfficer and
Dispatcher Java , Modula 2 – Provides construct for modelling subsystems C,C++ - No explicit construct for modelling subsystems The developer has to carefully document subsystem decomposition independent of the programming language they use. Interfaces of subsystems
Subsystems are characterized based on the services they provide.
Services are group of related operations that share a common purpose. The set of operations of a subsystem that are available to the other subsystem forms the subsystems interface. Assembly connectors or ball socket connectors are used to represent in UML diagrams . Ball icon-Provided interface , Socket icon – Requested interface. Ball-Socket connector FieldOfficerInterface ResourceUpdateServi Update the status and ce location of the field officer
DispatcherInterface ResourceAllocationSe Identify available
rvice resources and allocating them to incidents.
Both the services are provided by ResourceManagement Subsystem.
Required subsystems are FieldOfficerInterface and DispatcherInterface. Ball and socket notation is used when decomposition is fairly stable and when our focus shifts from identification of subsystems to definition of services. During early stages of development we can use dependency notation.