ARCHITECT
URE
DESIGN
ELEMENTS OF AN ARCHITECTURE DESIGN
The objective is to determine how the software
components of the information system will be assigned to the
hardware devices of the system.
ARCHITECTURAL COMPONENTS
• Software
• Hardware
4 BASIC FUNCTIONS OF SOFTWARE SYSTEMS
Data storage-is the recording (storing) of information (data)
in a storage medium.
Data access logic- the processing required to access data
Application logic- the logic documented in the DFD’s, use
cases, and functional requirements.
Presentation logic- the display of information to the user
and the acceptance of the user’s commands
3 PRIMARY COMPONENT OF HARDWARE
Client computers
Servers
Network
CLIENT SERVER ARCHITECTURES
The client is responsible for the presentation logic, whereas the
server is responsible for the data access logic and data storage.
THICK OR FAT CLIENT- contained all or most of the application
logic.
THIN CLIENT- contains small portion of application logic.
4 IMPORTANT BENEFITS
• Scalable
• Can support many different types of clients and servers.
• Simple to clearly separate presentation logic and application
logic
• If server fails in a client –server architecture , only the
applications requiring that server will fail.
CLIENT SERVER TIERS
Two-tiered architecture
Three-tiered architecture
N-Tiered Architecture distributes the work of the application
among multiple layers of more specialized server computers.
This is common in today’s Web-based e-commerce systems.
SERVER-BASED ARCHITECTURES
First computing architecture.
Zero client or ultrathin client – is a server based computing
model that is often used today in a virtual desktop
infrastructure (VDI)
CLIENT BASED ARCHITECTURES
The clients are micro-computers on a local area network, and
the server is a server computer on the network.
ADVANCES IN ARCHITECTURE CONFIGURATION
Virtualization – refers to the creation of a virtual device or
resource, such as a server or storage device.
Server Virtualization – involves partitioning a physical server
into smaller virtual servers.
Storage Virtualization – involves combining multiple network
storage devices into what appears to be single storage unit.
CREATING AN ARCHITECTURE DESIGN
Refine the nonfunctional requirements into more detailed requirements
4 PRIMARY TYPES OF NONFUNCTIONAL REQUIREMENTS
• Operational Requirements – specifying the operating environment in
which the system must perform and how those may change over time.
• Performance Requirements – focus on performance issues such as
response time, capacity and reliability.
• Security Requirements – is the ability to protect the information system
from disruption and data loss, whether caused by an intentional act or a
random event.
• Cultural and Political Requirements – are specific to the countries in
which the system will be used.
OPERATIONAL REQUIREMENTS
• Technical Environment Requirements – specify the type of
hardware and software on which the system will work.
• System Integration Requirements – The extent to which the
system will operate with other systems
• Portability Requirements – The extent to which the system will
need to operate in other environments.
• Maintainability Requirements – Expected business changes to
which the system should be able to adopt.
• PERFORMANCE REQUIREMENTS
• Speed Requirements – The time within which the system
must perform its functions
• Capacity Requirements – The total and peak number of
users and the volume data expected.
• Availability and Reliability Requirements – The extent to
which the system will be available to the users and the
permissible failure rate due to errors.
SECURITY REQUIREMENTS
• System Value Estimates – Estimated business value of the system and its
data
• Access Control Requirements – Limitations on who can access what data.
• Encryption and Authentication Requirements – Defines what data will be
encrypted where and whether authentication will be needed for uses
access.
• Virus Control Requirements – Controls the spread of viruses.
CULTURAL AND POLITICAL REQUIREMENTS
• Multilingual Requirements – The language in which the system will need to
operate.
• Customization Requirements – Specification of what aspects of the system
can be changed by local users.
• Making Unstated Norms Explicit – Explicitly stating assumptions that differ
from country to country.
• Legal Requirements – The laws and regulations that impose requirements
on the system.
HARDWARE AND SOFTWARE SPECIFICATION
A document that describes what hardware and software are needed to
support the application.
SEVERAL STEPS INVOLVED CREATING THE DOCUMENT
1. You will need to define the software that will run on each component.
2. You must create a list of the hardware needed to support the future
system.
3. You need to describe, in as much as possible, the minimum requirements
for each piece of hardware.