FIT3077 Lecture 1: What is Software Architecture Notes
What is Software Architecture
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
Architecture is:
●High-level design
●Overall structure of the system
●Structure of the components of a program of system, their interrelaonships, and the
principles and guidelines governing their design and evoluon over me
●Components and connectors
Key Features:
●Externally visible
●Architecture defines how elements relate to each other
○Elements: objects, processes, libraries, databases, a whole product
●Elements should be paroned into public and private parts
●Every compung system with soware has a soware architecture
Object-Oriented Analysis 1
Unified Modeling Language (UML)
●A notaon
●Meta-model: definion of the notaon and the rules governing relaonship between its
components
●Tools of UML
○Use cases
○Class diagrams
○Interacon diagrams
○Package Diagrams
○State Diagrams
○Acvity Diagram
○Deployment Diagrams
Rational Unified Process (RUP)
Soware Development PRocess suitable for users of UML
Inception
●Establish business raonale
●Scope of the project
●Obtain commitment from sponsor
Elaboration
●Detailed requirements
●High-level analysis (what?) and design (how?)
●What are you actually going to build?
●How are you going to build it?