Oose Cat 2
Oose Cat 2
Oose Cat 2
2
Axiom 1 : The independence axiom. Maintain the independence of
components. Axiom 1 States that, during the design process, as we
go from requirement and use - case to a system component, each
component must satisfy that requirement, without affecting other
requirements
4
OMT has the following phases:
1. Analysis:
This the first phase of the object modeling technique. This phase involves the
preparation of precise and correct modelling of the real world problems.
2. System Design:
It determines all system architecture, concurrent tasks and data storage. High
level architecture of the system is designed during this phase.
3. Object Design:
Object design phase is concerned with classification of objects into different
classes and about attributes and necessary operations needed. Different issues
related with generalization and aggregation are checked.
4. Implementation:
It is all about converting prepared design into the software. Design phase is
translated into the Implementation phase.
5
UML specifies seven types of dynamic diagrams:
Activity
Use case
State machine
Sequence
Communication
Interaction overview
Timing
Part b
In data-centered architecture, the data is centralized and accessed frequently
by other components, which modify data. The main purpose of this style is to
achieve integrality of data. Data-centered architecture consists of different
components that communicate through shared data repositories. The
components access a shared data structure and are relatively independent, in
that, they interact only through the data store.
The most well-known examples of the data-centered architecture is a
database architecture, in which the common database schema is created with
data definition protocol – for example, a set of related tables with fields and
data types in an RDBMS.
Another example of data-centered architectures is the web architecture
which has a common data schema (i.e. meta-structure of the Web) and
follows hypermedia data model and processes communicate through the use
of shared web-based data services.
Advantages
Provides data integrity, backup and restore features.
Provides scalability and reusability of agents as they do not have direct
communication with each other.
Reduces overhead of transient data between software components.
Disadvantages
It is more vulnerable to failure and data replication or duplication is possible.
High dependency between data structure of data store and its agents.
Changes in data structure highly affect the clients.
Evolution of data is difficult and expensive.
Cost of moving data on network for distributed data.
The layered software architecture pattern is the most commonly used
architecture pattern in software engineering. This architectural pattern is also
known as the n-tier architecture style or the multi-layered architecture style. The
purpose of a layered architecture is to organize the components of an application
into horizontal logical layers and physical tiers.
Presentation Layer
This layer contains all user interfaces exposed to a user. It may
provide different types of user interfaces, namely web, desktop and
native mobile applications.
Business Logic Layer
This layer handles all business logic, validations and business
processes.
Data Access Layer
This layer is responsible for interacting with a database. It is also
known as the persistence layer.
Data Store Layer
This layer is the actual data store for the application.
By introducing different layers for the software components, separation
of concerns (SoC) is increased drastically, thus improving simplicity,
maintainability and test-ability of the components.
Design components
The Model contains only the pure application data, it contains no logic
describing how to present the data to a user.
The View presents the model’s data to the user. The view knows how to
access the model’s data, but it does not know what this data means or
what the user can do to manipulate it.
The Controller exists between the view and the model. It listens to events
triggered by the view (or another external source) and executes the
appropriate reaction to these events. In most cases, the reaction is to call
a method on the model. Since the view and the model are connected
through a notification mechanism, the result of this action is then
automatically reflected in the view.
Client-Server architectural pattern