0% found this document useful (0 votes)
12 views4 pages

Comprehensive Summary Architectural Design CSC577

The document provides an overview of architectural design in software engineering, emphasizing its role in bridging requirements and software design through various architectural styles and decision-making processes. It discusses motivations for software architecture, key activities, and the impact of architecture on system attributes such as performance and maintainability. Additionally, it covers different architectural models, patterns, and terminologies, highlighting the importance of modularity and stakeholder communication.

Uploaded by

2023268792
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views4 pages

Comprehensive Summary Architectural Design CSC577

The document provides an overview of architectural design in software engineering, emphasizing its role in bridging requirements and software design through various architectural styles and decision-making processes. It discusses motivations for software architecture, key activities, and the impact of architecture on system attributes such as performance and maintainability. Additionally, it covers different architectural models, patterns, and terminologies, highlighting the importance of modularity and stakeholder communication.

Uploaded by

2023268792
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Comprehensive Summary: Architectural Design (CSC577)

Slide 1: Introduction to Architectural Design


This lecture introduces the concept of architectural design in
software engineering. It sets out to explain its importance, the
design decisions involved, various architectural styles
(organization, decomposition, control), and the use of
reference architectures.
Slide 2: Remember This?
Architectural design bridges the requirements and software
design. It decomposes large systems into related sub-systems
and establishes control and communication frameworks. The
output is a complete software architecture that supports
stakeholder communication, analysis, and reuse.
Slide 3: Motivations for Software Architecture
Architecture is driven by both organizational (stakeholder
communication, system context, work allocation) and technical
(reuse, system analysis, partitioning, maintainability)
motivations. These ensure the system meets its goals
efficiently.
Slides 4-5: Architectural Design Decisions
Design decisions involve choosing architectural templates,
hardware distribution, architectural styles, control strategies,
documentation methods, structural decomposition, and
ensuring non-functional requirements are addressed. It is a
creative process guided by decision-making.
Slides 6-7: System Architecture Affects...
Architecture affects performance (localizing critical ops),
security (layered defenses), safety (isolating safety features),
availability (redundancy), and maintainability (modular
design). Trade-offs may arise between these attributes.
Slide 8: Why?
Illustrates that different architecture exists for the same
functionality because of various influencing factors like
environment, cost, or stakeholder preferences.
Slide 9: Architectural Design Activities
Key interleaved activities include modular decomposition
(splitting into modules), system structuring (interacting sub-
systems), and control modeling (establishing control
relationships).
Slide 10: The First Step...
The initial architectural phase focuses on decomposing the
system into sub-systems. This is abstract but useful for
communication and planning.
Slide 11: Architectural Styles
Architectural styles include structural (repository, client-
server, layered), control (centralised, event-driven), and
domain-specific models (object-oriented, dataflow).
Slides 12-13: Repository Model
All sub-systems share a central repository. Pros: data sharing,
central management. Cons: agreement on data model, difficult
evolution, inefficient distribution.
Slides 14-15: Client-Server Model
Divides the system into clients and servers. Pros: simple
distribution, low cost. Cons: inconsistent data models,
redundant management, no central registry.
Slide 16: Layered Model
Organizes systems into layers, each providing services to the
layer above. Independent and easier to maintain or update.
Slides 17-18: Centralized Control
Includes Call-Return (sequential control from a main program)
and Manager (central controller coordinates concurrent
systems).
Slides 19-20: Event-Driven Systems
Broadcast model uses event handlers to notify components.
Interrupt-driven model uses asynchronous triggers routed to
specific handlers.
Slide 21: Domain-Specific Architectures
Includes modular decomposition using object models
(encapsulated data and operations) and data-flow models
(functional transformations).
Slides 22-23: Data-Flow Model
Also known as pipe-and-filter. Data flows through independent
transformations. Pros: reusable, easy to understand and
extend. Cons: needs shared data format, not suited for events.
Slide 24: Same Application, Different Architecture
Demonstrates how the same system (invoice/payment) can be
built using object-oriented or data-flow architectures.
Slide 25: Architecture Patterns
Patterns offer reusable, tested design solutions. They explain
where applicable and their pros/cons. Can be described
graphically or in tables.
Slide 26: MVC Pattern
Model-View-Controller separates data (Model), interface
(View), and logic (Controller) to improve modularity and
maintainability.
Slide 27: Ruby on Rails MVC
MVC in action using Ruby on Rails: browser requests go to the
controller, interact with the model, and return views to the
user.
Slide 28: Terminologies
Clarifies differences between architectural styles (structure),
architectural patterns (solutions), and design
patterns/frameworks (code-level practices).
Slides 29-30: Key Points
Architecture defines system structure. Models include
organization (e.g., layered), decomposition (e.g., object/data-
flow), and control (e.g., event-driven). Reference architectures
aid comparison.

You might also like