Summary UCT CSC3003S Advanced Software Development ASD2 Notes
40 views 1 purchase
Course
CSC3003S
Institution
University Of Cape Town (UCT)
These notes cover the whole of ASD2 summarised, which makes up half of paper 1. The topics are architectural design, arch patterns, data (guest lecturers), application architecture, service orientated arch (SOA), ASD11, ASD12 and the additional and textbook readings. All of the notes have been merg...
💡 Architectural design: a creative process where you design a system that will
satisfy the functional and non-functional requirements of a system. The design
process for identifying the sub-systems making up a system and the framework for
sub-system control and communication is architectural design.
The OUTPUT of this architectural design process is a SOFTWARE
ARCHITECTURE.
Architectural Design:
Looking at the big picture early on in the process to decide how you will compose your
solution:
Involves Identifying major system components and their communications
Represents the link between specification and design processes.
ARCHITECTURAL DESIGN - WEEK 5 1
, Example of dividing a system into components. Example is of a robot that gets items that are coming
along on a conveyor belt and has to put them in packaging.
Architectural Abstraction
NOTE: We are looking at architecture in the SMALL, not large which would be for example
ERP and big systems.
Architecture in the small is concerned with the architecture of individual programs.
At this level, we are concerned with the way that an individual program is
decomposed into components.
Architecture in the large is concerned with the architecture of complex enterprise
systems that include other systems, programs, and program components. These
enterprise systems are distributed over different computers, which may be owned and
managed by different companies.
Software Architecture
💡 Definition of SW Architecture: The software architecture of a program or
computing system is the structure or structures of the system, which comprise
software components, the externally visible properties of those components, and
the relationships among them.
It is the set of principal design decisions about the system, the heart of the SW system.
We want to also determine the high level functional and non-functional components.
ARCHITECTURAL DESIGN - WEEK 5 2
, Well engineered SW must ALWAYS have good SW architecture and a good set of design
decisions.
Lean SW Development:
A type of Agile framework with the slogan: “See the whole”
This means we must look at the big picture!
Architectural thinking: translation from the problem domain to the solution concepts
Architecture Defined
Two Types of definitions:
1. An architecture is the set of significant decisions about the organization of a software
system, the selection of the structural elements and their interfaces by which the system is
composed, together with their behaviour and collaborations among those elements, and
how they are combined to create progressively larger subsystems.
2. This type of definition includes the EXTERNALLY visible properties of the system too,
which some (including me) don’t agree with. The software architecture of a program or
computing system is the structure or structures of the system, which comprise software
components, the externally visible properties of those components, and the relationships
among them. Details that are solely to do with internal implementation are not
architectural. We must abstract away certain details so the design is only for analysis,
decision making and risk identification.
Advantages/Use of Explicit Architecture
1. Stakeholder Communication: sell the idea, check if on track.
a. Creates a way of facilitating discussion about the design.
2. Systems Analysis: analysis of whether the system can meet its non-functional
requirements is possible.
3. Large-scale reuse: The architecture may be reusable across a range of systems.
Product-line architectures may be developed.
4. To see dependencies
5. Documenting the design: The aim here is to produce a complete system model that
shows the different components in a system, their interfaces and their connections.
ARCHITECTURAL DESIGN - WEEK 5 3
, Architectural Descriptions (ISO/IEEE/IEC International Standards)
NB to know the environment in which the system will be used, as well as the other things
it will be using like DB, end users (their technical literacy)
Architectures can also be designed with different views (ie, from the programmer
perspective, end user perspective etc)
Architecture description: artefacts to express & document architectures - In the
standards, architecture is ABSTRACT and NOT AN ARTEFACT.
System fundamental components: the elements, the relationships, the design principles
and evolution.
Different architecture communities place varying emphases:
Software architecture: focused on software components as elements and their
interconnections as a key relationship.
System architecture emphasizes sub-system structures and relationships such as
allocation.
Enterprise architecture emphasizes principles.
Architectural Design Decisions (these seem NB!)
ARCHITECTURAL DESIGN - WEEK 5 4
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller chloewalt. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $8.49. You're not tied to anything after your purchase.