0% found this document useful (0 votes)
19 views26 pages

Week 01 (2) - Introduction To Software Architecture

Uploaded by

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

Week 01 (2) - Introduction To Software Architecture

Uploaded by

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

CT059-3.

5-2 & Software Architecture and Testing


INTRODUCTION TO SOFTWARE
ARCHITECTURE

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 1


Topic Learning Outcomes

• At the end of this topic, you should be able to:


1. Define software architecture and alternative thoughts on software
architecture
2. Explain why it matters to stakeholder
- example: user, client, owner, investor, customer and consumer

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 2


Contents & Structure

• Defining software architecture


• Alternate thoughts on software architecture
• Why software architecture matters?
• Architecture in SDLC

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 3


Recap From Last Lesson

• None

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 4


Key terms you must be able to use

• If you have mastered this topic, you should be able to use the following
terms correctly in your assignments and exams:
 Software architecture
 Dependencies
 Human motivation
 Longevity
 Social structure

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 5


What is Computer Architecture?

• In computer engineering, computer architecture is a set of rules and


methods that describe the :-
- functionality
- organization
- implementation of computer systems
• Types of Computing Architectures :-
- Enterprise
- Network
- Hardware
- Software

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 6


Architecting a huts

To build :-
• Need less people
• Basic modeling
• Less technology
• Simple task & tools
• Example : Develop book data
store, Human resource system

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 7


Slide ‹#› (out of 14)
Architecting a high rise

To build :-
• Need expert team
• Expensive
• Sophisticated models
• New technologies
• Defined and proven process
• Example: Develop grabfood, air
asia airline and Microsoft 365

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 8


Slide ‹#› (out of 14)
What is Software Architecture?
Some Definitions

• Software architecture is the fundamental organization of a system,


embodied in its components, their relationships to each other and the
environment, and the principles governing its design and evolution
- IEEE 1471-2000

• “The software architecture of a program or computing system is the


structure or structures of the system, which comprise software
elements, the externally visible properties of those elements,
and the relationships among them.”
Software Architecture in Practice (2nd edition),
(Bass, Clements, Kazman; Addison-Wesley 2003:

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 9


Slide ‹#› (out of 14)
Computer Hardware Architecture

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 10


Network Architecture

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 11


System Architecture

N-tier arch

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 12


Software Architecture

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 13


Software Architecture

System Architecture

Software Architecture

Software Coding
Software
Design Software
Testing

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 14


Drivers of Software Architecture

Architectures are built based on:-


• Quality Attributes
• Information
• Scenarios
• Risks
• Cost
• Time (construction)
• Users

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 15


Slide ‹#› (out of 14)
Why need Software Architecture

• Business are growing, it need a framework to control its IT


infrastructure
• To maintain integrity of all the organizations IT components
• Establish common goal
• Easier future system expansion
• Easier system management / maintenance
• Improved / maximised system security
• Minimizing cost of recovery / rebuilding

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 16


Slide ‹#› (out of 14)
The goal of software architecture

• To provide the framework, tools, and perspectives to take a startup or


business from its current state to its target state.
• It is NOT the light at the end of the tunnel, but it’s more like the
structural integrity of the tunnel itself.
• helps businesses align IT goals with overall business goals
• helps businesses define and organize requirements before a
project starts
• Achieving the target state is actually a byproduct of a successful
architecture.
• Architecture are often complex and dynamic systems subject to
variability.
• Save time and money, and utilize resources more effectively
• Architecture model is always evolving
AAPP007-4-2 System Analysis and Design Introduction to Information System
Slide ‹#› (out of 14) SLIDE 17
People involved in creating Software
Architecture

• System Architect (main)


• Management
• Engineers (network, security, data, etc)
• Analyst / consultant
• Quality Assurance
• Risk and legal team
• End User

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 18


Slide ‹#› (out of 14)
When do you create Software Architecture in
Software Development Lifecycle (SDLC)?

Software Architecture
Design

https://dreamsoft4u.com/blog/7-stages-of-the-software-development-life-cycle-sdlc

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 19


Slide ‹#› (out of 14)
Architecture Design Lifecycle

Architecture Architecture Architecture


Research Design Synthesis

Architecture
Architecture Architecture
Implementatio
Maintenance Testing
n

Architecture
Evolution

https://www.sciencedirect.com/science/article/abs/pii/S0164121211001361

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 20


Slide ‹#› (out of 14)
What happens if no architecture planning?

• Organization don’t have a direction


• Scale of the system cannot be measured / maintained
• Upgrades becomes stale
• Security breach
• Incompatibles components
• Service failures
• High cost of recovery / upgrade
• Failed future business expansions / vision

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 21


Slide ‹#› (out of 14)
Architecture Facilitates

• As the blueprint for the system but also the project:


– Team structure
– Documentation organization
– Work breakdown structure
– Scheduling, planning, budgeting
– Unit testing, integration (architecture is the blueprint for
implementation )no much relationship between architecture and
testing, to make sure requirements met. Architecture played the role
in getting the system to work as expected
• Architecture establishes the communication and coordination
mechanisms among components

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 22


Slide ‹#› (out of 14)
Why Software Architecture Matters

Summary:
A great architect provides:
• Technically knowledge
• Hard to duplicate
• Sustainable competitive advantages

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 23


Slide ‹#› (out of 14)
Summary

• Defining software architecture


• Alternate thoughts on software architecture
• Why software architecture matters?

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 24


Question and Answer Session

Q&A

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 25


Slide ‹#› (out of 14)
What To Expect Next Week

In Class Preparation for Class


• Download the slide and study
• 4+1 Model
for the next chapter.

AAPP007-4-2 System Analysis and Design Introduction to Information System SLIDE 26

You might also like