Oose Cat 2

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

Part A

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

Axiom 2 : The information axiom. Minimize the information


content of the design. Axiom 2 Concerned with simplicity. Rely on
a general rule known as Occam‟s razor.

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.

The four standard layers are described as follows.

 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.

The tiers are described as follows.

 Tier 1: The Presentation Tier


This tier hosts the front-end code base, that is, the presentation layer.
This is the topmost level of the application and it is essentially a layer
users can access directly.
 Tier 2: The Application Tier
This tier hosts the back-end code base, that is, the business logic layer
and data access layer. It is also known as the middle tier.
 Tier 3: The Data Tier
This tier hosts the data store, that is, the data store layer. Databases,
file system, blob storage, document database, etc are examples of
resources found in a data store.
The Model View Controller (MVC) design pattern specifies that an
application consist of a data model, presentation information, and control
information. The pattern requires that each of these be separated into
different objects.
MVC is more of an architectural pattern, but not for complete application.
MVC mostly relates to the UI / interaction layer of an application. You’re
still going to need business logic layer, maybe some service layer and data
access layer.
UML Diagram MVC Design Pattern

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

This architecture is used when a server and clients are connecting


through the internet. In here, Server is the service provider. And
the client is the service consumer. Normally server is located in a
local area network or in the internet. If the server is located in a
local area network, outsiders can’t access the server but insiders
can.

There are some methods to deploy a server as follows,

On-premise : servers deployed within the organization.

Cloud : mainly used in these days. Act as IAAS- Infrastructure As A


Service. Ex: AWS (Amazon web services), Microsoft Azure , Google
Cloud.
Pipe and Filter is a simple architectural style that connects a
number of components that process a stream of data, each
connected to the next component in the processing pipeline via a
Pipe.

The Pipe and Filter architecture is inspired by the Unix technique of


connecting the output of an application to the input of another via
pipes on the shell.

The pipe and filter architecture consists of one or more data


sources. The data source is connected to data filters via pipes.
Filters process the data they receive, passing them to other filters in
the pipeline. The final data is received at a Data Sink:

Use case with example (8 marks)


https://www.guru99.com/use-case-diagrams-example.html

Static vs Dynamic Modelling


https://www.slideshare.net/100arab/dynamic-and-static-
modeling

You might also like