Professional Documents
Culture Documents
Software Design
2019-I
©
Software Design
Introduction
Definition
Software Design
Architectural Design
Architectural Design
Software Architecture
Software Architecture
The software architecture of a software 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
• Security
• Interoperability
Quality Attributes • Performance and Scalability
• High Availability and Resilience
• Usability
Software Architecture
Models and Diagrams
Software Architecture
Models and Diagrams
Detailed Design
Detailed Design
Data
Detailed Design
Programming Paradigms
Detailed Design
Object-Oriented Programming
Functional Programming
Logic Programming
Parallel Programming
Concurrent Programming
Aspect-Oriented Programming
Push Pop
Top
Design Patterns
Detailed Design
Creational Patterns
Used to construct
Behavioral Patterns
objects such that they Used to manage
can be decoupled from Structural Patterns algorithms,
their implementing Used to form large relationships, and
system. object structures responsibilities between
between many disparate objects.
objects.
Detailed Design
Models and Diagrams
Detailed Design
Models and Diagrams
Detailed Design
Models and Diagrams
Bibliography
• [BOURQUE] P. Bourque and R. E. Fairley, SWEBOK V3.0: Guide to the Software
Engineering Body of Knowledge. 2014.
• [SEIDL] M. Seidl, M. Scholz, C. Huemer, and G. Kappel, UML @ Classroom: An
Introduction to Object-Oriented Modeling. 2015.
• [STEPHENS] R. Stephens, Beginning Software Engineering. 2015.