Page 149 - DCAP308_OBJECT_ORIENTED_ANALYSIS_AND_DESIGN
P. 149

Unit 12: System Design




          of classes and relationships where as a framework is much broader in scope and covers an entire  Notes
          subsystem or application.

          12.2.2 Breaking a System into Subsystems

          Each major piece of the system is called subsystem, which depends on some there. In a subsystem
          classes share common properties, have similar functionality, have the same physical location,
          or execute on the same hardware. A subsystem is a package of classes, associations, operations,
          events and constraints that are interrelated and have a reasonably well defined interface to the
          rest of the system. The interface specifies all interactions with the subsystem to allow independent
          subsystem design.



             Did u know? A subsystem is usually identified by the services, which is a group of related
            functions that share some common purpose.

          The decomposition of systems into subsystems may be organized as a sequence of horizontal
          layers of vertical partitions.

          Layers

          Layers define an abstract world and work like a client of services for layers below and as a
          supplier of services for layers above it. A layered system is an ordered set of virtual worlds, each
          built in terms of the ones below it and providing the implementation basis for the ones above
          it. Layered architecture comes in closed or open.
          In a closed architecture, each layer is built only in terms of the immediate lower layer. This
          reduces dependencies between layers and allows changes to be made most easily. In opened
          architecture a layer knows of all layers below. It means a layer can use the features of any lower
          layer to any depth. This reduces the need to redefine operations at each level.

                                   Figure 12.1: Layered Architecture

                           Interactive Graphics Application
                           Windows Operations
                           Screen Operations
                           Pixel Operations
                           Device I/O Operations

          Closed Architectures


               Each layer is built only in terms of the immediate lower layer
               Reduces dependencies between layers
               Facilitates change

          Open Architectures

               Layer can use any lower layer
               Reduces the need to redefine operations at each level

               More efficient/compact code
               System is less robust/harder to change


                                           LOVELY PROFESSIONAL UNIVERSITY                                   143
   144   145   146   147   148   149   150   151   152   153   154