Chapter 6 - Architectural Design (2-20)

Ace your homework & exams now with Quizwiz!

Sub-systems and modules

- A sub-system is a system in its own right whose operation is independent of the services provided by other sub-systems. - A module is a system component that provides services to other components but would not normally be considered as a separate system.

Architectural design

- An early stage of the system design process. Represents the link between specification and design processes. - Often carried out in parallel with some specification activities. It involves identifying major system components and their communications.

Client-server model

- Distributed system model which shows how data and processing is distributed across arrange of components. - Set of stand-alone servers which provide specific services such as printing, data management, etc. - Set of clients which call on these services. - Network which allows clients to access servers.

Function-oriented pipelining

- Functional transformations process their inputs to produce outputs. - May be referred to as a pipe and filter model(as in UNIX shell). - Variants of this approach are very common. When transformations are sequential, this is a batch sequential model which is extensively used in data processing systems. - Not really suitable for interactive systems.

Object model advantages

- Objects are loosely coupled so their implementation can be modified without affecting other objects. - The objects may reflect real-world entities. - OO implementation languages are widely used. - However, object interface changes may cause problems and complex entities may be hard to represent as objects.

Object models

- Structure the system into a set of loosely coupled objects with well-defined interfaces. - Object-oriented decomposition is concerned with identifying object classes, their attributes and operations. - When implemented, objects are created from these classes and some control model used to coordinate object operations.

The repository model

- Sub-systems must exchange data. Shared data is held in a central database or repository and may be accessed by all sub-systems; - When large amounts of data are to be shared, the repository model of sharing is most commonly used.

Architecture and system characteristics

= Performance - Localize critical operations and minimize communications. Use large rather than fine-grain components. = Security - Use a layered architecture with critical assets in the inner layers. = Safety - Localize safety -critical features in a small number of sub-systems. = Availability - Include redundant components and mechanisms for fault tolerance. = Maintainability - Use fine-grain, replaceable components.

System Organization

= Reflects the basic strategy that is used to structure a system. = Two organizational models are widely used: - Data repository Model - Client-Server Model

Architectural conflicts

= Using large-grain components improves performance but reduces maintainability. = Introducing redundant data improves availability but makes security more difficult. = Localizing safety - related features usually means more communication so degraded performance.

Client-server characteristics

Advantages - Distribution of data is straightforward; - Makes effective use of networked systems. May require cheaper hardware; - Easy to add new servers or upgrade existing servers. Disadvantages - No shared data model so sub-systems use different data organization. Data interchange may be inefficient; - Redundant management in each server; - No central register of names and services - it may be hard to find out what servers and services are available.

Repository model characteristics

Advantages - Efficient way to share large amounts of data; - Sub-systems need not be concerned with how data is produced Centralized management e.g. backup, security, etc. - Sharing model is published as the repository schema. Disadvantages - Sub-systems must agree on a repository data model. Inevitably a compromise; - Data evolution is difficult and expensive; - No scope for specific management policies; - Difficult to distribute efficiently.

Control styles

Are concerned with the control flow between sub-systems. There are many different system decomposition model Including: = Call-return model = Manager model = Event-Driven Systems = Broadcast model - Interrupt - Driven Model

Architectural Design

The design process for identifying the sub-systems making up a system and the framework for sub-system control and communication

Software Architecture

The output of this design process is a description of the software architecture

Modular decomposition

The structural level where sub-systems are decomposed into modules. Two modular decomposition models are: - An object model where the system is decomposed into interacting object; - A pipeline or data-flow model where the system is decomposed into functional modules which transform inputs to outputs


Related study sets

Call center managemnt test 1 practice

View Set