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.
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 ratings0% 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.
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