Professional Documents
Culture Documents
Your name:
Bùi Anh Trung
Hồ Nguyễn Minh Khoa
Hồ Nguyễn Anh Tuấn
Tăng Viết Phúc
2. What are the two ways in which an architectural model of a system may
be used?
-Design and Development: Architectural models serve as blueprints for designing
and developing the system. They provide a high-level overview of the system's
structure, components, interactions, and behavior. Designers and developers use these
models to make informed decisions about system design, including the selection of
appropriate technologies, frameworks, and design patterns. Architectural models
guide the implementation process by defining the overall system architecture,
component interfaces, data flows, and integration points. They help ensure that the
system meets its functional and non-functional requirements while promoting
modularity, scalability, and maintainability.
-Analysis and Evaluation: Architectural models facilitate analysis and evaluation of
the system's properties, such as performance, scalability, reliability, and security. By
simulating system behavior and analyzing architectural dependencies, stakeholders
can identify potential risks, bottlenecks, and areas for improvement. Architectural
models support various analysis techniques, including architectural reviews,
simulations, performance modeling, and risk assessment. These analyses help
validate design decisions, assess the impact of changes, and identify optimization
opportunities. Additionally, architectural models enable stakeholders to communicate
and justify design choices to project sponsors, end-users, and other stakeholders,
fostering confidence and buy-in for the proposed system architecture.
-Logical View: The logical view focuses on the functionality and behavior of the
system from the perspective of its end-users. It describes the system's functionality
in terms of modules, components, and their interactions. This view provides a high-
level abstraction of the system's logical structure, emphasizing what the system
does rather than how it is implemented.
-Development View: The development view emphasizes the organization of the
system's source code and development environment. It describes the system's
software architecture from the perspective of developers, including software
modules, dependencies, and development tools. This view helps developers
understand the system's internal structure, code organization, and development
processes.
-Process View: The process view focuses on the system's dynamic behavior and
runtime characteristics. It describes how the system's components interact at
runtime to fulfill user requests and perform system tasks. This view includes
information about concurrency, synchronization, communication protocols, and
performance considerations. It helps stakeholders understand how the system
operates under various runtime conditions.
-Physical View: The physical view describes the system's physical deployment
architecture, including hardware components, networks, and infrastructure
configurations. It addresses concerns related to scalability, availability,
performance, and resource allocation. This view helps stakeholders understand how
the system is deployed and distributed across different hardware platforms and
environments.
-Scenarios (Use Cases) View: The scenarios view, also known as the use cases
view, illustrates how the system behaves in response to different user interactions or
scenarios. It describes specific user stories or use cases and how they drive the
system's behavior. This view helps stakeholders understand the system's functional
requirements and how users interact with it in various scenarios.
The pipe and filter architecture is a structural architectural style where data
processing tasks are divided into independent components called filters, which are
connected via pipes to form processing pipelines. Each filter performs a specific
transformation or operation on input data and produces output that is passed to
subsequent filters through the pipes.
9. What are transaction-processing applications?
10. What are the principal functions of the 4 layers in a generic information
system architecture?
-Presentation Layer: The presentation layer is the topmost layer of the architecture
and is responsible for presenting information to users and collecting user input. Its
primary functions include: User interface design and implementation. Displaying
data to users in a user-friendly format, such as web pages, graphical user interfaces
(GUIs), or mobile applications. Handling user interactions and input, such as mouse
clicks, keyboard input, or touchscreen gestures. Providing user authentication and
authorization mechanisms.
-Application Layer: The application layer, also known as the logic layer, contains
the core business logic and application functionality of the system. Its principal
functions include: Implementing business rules and logic to process and manipulate
data. Managing application workflows and orchestration of business processes.
Handling application-specific functionality, such as data validation, calculations,
and business rules enforcement. Integrating with external systems and services,
such as databases, APIs, or third-party services. Implementing security measures to
protect sensitive data and ensure compliance with regulations.
-Data Layer: The data layer, also known as the persistence layer, is responsible for
managing and storing data used by the system. Its principal functions include:
Storing and retrieving data from a persistent storage mechanism, such as databases,
file systems, or cloud storage services. Ensuring data integrity, consistency, and
reliability through mechanisms such as transactions, concurrency control, and data
validation. Implementing data access logic and query processing to retrieve and
manipulate data efficiently. Managing data caching and optimization strategies to
improve performance. Implementing data security measures to protect data at rest
and in transit.
-Infrastructure Layer: The infrastructure layer, also known as the foundation layer,
provides the underlying hardware and software infrastructure required to support
the operation of the information system. Its principal functions include:
Provisioning and managing computing resources, such as servers, storage,
networking equipment, and cloud infrastructure. Installing and configuring
operating systems, middleware, runtime environments, and other system software
components. Monitoring system performance, availability, and resource utilization.
Managing system scalability, fault tolerance, and disaster recovery mechanisms.
Implementing security measures at the infrastructure level, such as firewalls,
intrusion detection systems, and encryption.