Module 1 System Architecture
Module 1 System Architecture
I. Overview
System architecture refers to the overall design and structure of a system, including the hardware, software,
and network components, as well as the relationships and interfaces between them. It defines the system's
overall technical capabilities, performance, and scalability, as well as how it meets the requirements of its
users and stakeholders.
System Architecture refers to the conceptual design of a system that specifies the components and their
relationships, as well as their behavior in fulfilling specific requirements. It provides a high-level view of
the system, including the hardware, software, data, and people involved. System Architecture is important
because it helps to ensure that the system is flexible, scalable, and able to meet the changing needs of the
organization. It also provides a roadmap for the development, deployment, and maintenance of the system.
In short, System Architecture provides a comprehensive understanding of the system, its components, and
how they interact with each other to deliver the intended objectives.
The process of system architecture typically involves identifying and analyzing the system's requirements,
evaluating different design options, and making decisions about the components and technologies to be
used. It also involves creating documentation, such as diagrams and specifications, to describe the system's
architecture and guide its development and maintenance.
It is a crucial step in the development process as it lays the basis for a well-designed, operational, and
maintainable system.
It defines the overall structure and capabilities of a system, which sets the foundation for its
development and maintenance.
It ensures that the system meets the requirements of its users and stakeholders, such as functionality,
performance, security, and scalability.
It enables the system to be easily modified, updated, or scaled as needed, which reduces the cost and
complexity of maintenance and evolution.
It helps to identify and mitigate potential risks and issues early in the development process, which can
save time and resources in the long run.
It guides the selection of appropriate technologies and components, which can improve the system's
performance and reduce the risk of vendor lock-in.
Page 1 of 3
Tuguegarao Archdiocesan Schools System
Saint Joseph’s College of Baggao, Inc.
Baggao, Cagayan, Philippines
Transforming Lives, Shaping the Future
It enables the system to be designed in a way that is easy to understand, test and troubleshoot, which
makes it more maintainable.
It enables the system to be designed in a way that is easy to understand, test and troubleshoot, which
makes it more maintainable.
It allows for the system to be designed with a modular structure, which makes it more flexible and
adaptable to changes in requirements and technology.
It enables the system to be designed for scalability, which allows it to handle an increasing amount of
workload or users without a significant decrease in performance.
It allows for the system to be designed for security, which protects against unauthorized access,
tampering, or disclosure of sensitive information.
In summary, system architecture is important because it sets the foundation for a well-designed,
maintainable, and scalable system that meets the requirements of its users and stakeholders. It helps to
mitigate potential risks and issues early on, which can save time and resources in the long run and guides
the selection of appropriate technologies and components.
1.3 TERMINOLOGIES
Requirements: The specific needs and goals that a system is intended to fulfill, such as functionality,
performance, security, and scalability.
Design: The process of creating a plan for a system that meets its requirements, including the overall
structure, components, and interfaces.
Components: The individual parts or subsystems that make up a system, including hardware, software,
and network elements.
Interfaces: The points of communication and interaction between components, such as APIs and
protocols.
Scalability: The ability of a system to handle an increasing amount of workload or users without a
significant decrease in performance.
Performance: The ability of a system to meet its requirements in terms of speed, responsiveness, and
capacity.
Security: The ability of a system to protect against unauthorized access, tampering, or disclosure of
sensitive information.
Modularity: The degree to which a system is divided into separate, independent components that can
be easily replaced or upgraded.
Maintainability: The ease with which a system can be modified, updated, or repaired.
Architecture Framework: A set of guidelines, protocols, and best practices that define the overall
structure of a system.
Technical Debt: The cost of maintaining and modifying the existing system architecture, can be
thought as a trade-off between short-term and long-term costs.
Page 2 of 3
Tuguegarao Archdiocesan Schools System
Saint Joseph’s College of Baggao, Inc.
Baggao, Cagayan, Philippines
Transforming Lives, Shaping the Future
User Interface (UI): This is the part of the system that interacts with the users and allows them to
interact with the system. It can include web pages, mobile apps, and command-line interfaces.
Business Logic: This is the part of the system that handles the business rules and logic of the system. It
can include classes, functions, and libraries that implement the system's functionality.
Data Storage: This is the part of the system that stores and manages the data used by the system. It can
include relational databases, NoSQL databases, and file systems.
Communication and Integration: This is the part of the system that handles communication between
different parts of the system, and with external systems. It can include APIs, message queues, and web
services.
Security: This is the part of the system that ensures the system is secure from unauthorized access and
data breaches. It can include authentication, authorization, and encryption mechanisms.
Scalability and Performance: This is the part of the system that ensures the system can handle many
users and transactions. It can include load balancers, caching mechanisms, and distributed systems.
Monitoring and Logging: This is the part of the system that allows for the monitoring of the system's
performance and for troubleshooting issues. It can include logging libraries, monitoring tools, and
dashboards.
Deployment and Operations: This is the part of the system that handles the deployment and ongoing
operation of the system. It can include deployment scripts, containerization, and configuration
management tools.
All these parts are interconnected, and a change in one could affect the others. A good system architecture
should consider the relationship between these parts and ensure that they work together seamlessly to
deliver a stable and performant system.
Page 3 of 3