0% found this document useful (0 votes)
4 views10 pages

Software Architecture Design - L02

The lecture provides an overview of software architecture, emphasizing its importance in structuring software systems effectively. It outlines key factors that software architects must consider, such as user needs and system functionality, while highlighting the advantages of a well-defined architecture, including increased productivity and ease of change. Additionally, it identifies stakeholders involved in the software architecture process, including developers, project managers, clients, and end users.

Uploaded by

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

Software Architecture Design - L02

The lecture provides an overview of software architecture, emphasizing its importance in structuring software systems effectively. It outlines key factors that software architects must consider, such as user needs and system functionality, while highlighting the advantages of a well-defined architecture, including increased productivity and ease of change. Additionally, it identifies stakeholders involved in the software architecture process, including developers, project managers, clients, and end users.

Uploaded by

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

Software Architecture & Design

Lecture 02: Architecture Overview and Process

Syeda Sumbul Hossain


Lesson Objectives
• To learn what Software architecture is.
• To identify the factors need to be considered
• To understand why we need Software
architecture
• To find out the advantages of Software
architecture
• To know who would care about the software
architecture
Lesson Outcomes
• End of this lesson students will
– get an overview of software architecture
– know what factors the software architect will take
into consideration.
– know the importance of software architecture
– get idea who are the stakeholders
What is software architecture?
• Software architecture is all about how a software
system is constructed at the highest level.
• Software architecture is the fundamental design of
the entire software system. It defines
– What elements are included in the system?
– What function each element has?
– How each element relates to one another?
– In short, it is the big picture or overall structure of the
whole system, how everything works together.
Factors need to be considered
• Software architecture is tied to many practical concerns
e.g. the structure of development team, the needs of the
business, development cycle, and the intent of the
software itself.
• To form its architecture, the software architect will take
many factors into consideration.
– What will the system be used for?
– Who will be using the system?
– What qualities matter most to them?
– Where will the system run?
– The architect will plan the structure of the system to
meet needs like these.
Why do we need software architecture?

• Having proper software architecture is important


especially for a large software system.
• Having a clear design of the overall system as a
starting point helps to provide a solid basis for
developers to follow.
• Each developer will then know
– what needs to be implemented
– how things relate to meet the desired needs
efficiently.
Advantages of Software Architecture
• Higher productivity for software team
– Software development becomes more effective because
there is a defined structure in place for coordinating work,
implementing individual features, or grounding discussions
on potential issues.
• Ease to make changes
– With a clear architecture, it is easier to know where key
responsibilities of the system reside and where to make
changes to address new requirements or fix failures.
• Achieve quality
– With a well-designed structure using principles like
separation of concerns, the system becomes easier to
maintain, reuse and adapt.
Software Architecture- Stakeholders

• Stakeholders are people who will either be


using the system or benefiting from it in some
way.
• The software architecture is very important to
people such as the software developers, the
project managers, clients and end users.
Software Architecture-Stakeholders(cont.)
• Developers: It makes development easier by providing a
strong direction and organization on what needs to be done.
• Project managers: It gives useful information to identify
possible risks and manage the project successfully. It also
helps to understand tasks dependencies, impacts of change
and coordinate work assignments.
• Clients: It helps to make the big decisions about the system
like it's funding.
• End Users: They may not directly care about how the
software actually works, but they will care that it works well
for them.
Thanks

You might also like