lectures.alex.balgavy.eu

Lecture notes from university.
git clone git://git.alex.balgavy.eu/lectures.alex.balgavy.eu.git
Log | Files | Refs | Submodules

_index.md (3934B)


      1 +++
      2 title = 'Software Design'
      3 +++
      4 # Software Design
      5 [Here](software-design.apkg) is my [Anki](https://apps.ankiweb.net) deck that I'm using to prepare for the exam.
      6 
      7 - [Software abstraction & modeling](software-abstraction-modeling)
      8     - [Models](software-abstraction-modeling#models)
      9 - [Software development process](software-development-process)
     10     - [Waterfall development process](software-development-process#waterfall-development-process)
     11     - [Agile development process](software-development-process#agile-development-process)
     12 - [Requirements engineering with UML](requirements-engineering)
     13     - [What is UML?](requirements-engineering#what-is-uml)
     14     - [Requirements engineering](requirements-engineering#requirements-engineering)
     15         - [Natural language specification](requirements-engineering#natural-language-specification)
     16         - [Use case diagrams](requirements-engineering#use-case-diagrams)
     17     - [Summary of notation](requirements-engineering#summary-of-notation)
     18 - [Structure modeling with UML](structure-modeling)
     19     - [Class](structure-modeling#class)
     20         - [Attribute syntax](structure-modeling#attribute-syntax)
     21         - [Operation syntax](structure-modeling#operation-syntax)
     22         - [Class variable and class operation](structure-modeling#class-variable-and-class-operation)
     23     - [Relationships](structure-modeling#relationships)
     24         - [Binary association](structure-modeling#binary-association)
     25         - [n-ary association](structure-modeling#n-ary-association)
     26         - [Association class](structure-modeling#association-class)
     27         - [Aggregation](structure-modeling#aggregation)
     28             - [Shared aggregation](structure-modeling#shared-aggregation)
     29             - [Composition](structure-modeling#composition)
     30         - [Generalization](structure-modeling#generalization)
     31     - [Creating a class diagram](structure-modeling#creating-a-class-diagram)
     32 - [Object-oriented design patterns in UML](oo-design-patterns#object-oriented-design-patterns-in-uml)
     33     - [Creational](oo-design-patterns#creational)
     34         - [Singleton](oo-design-patterns#singleton)
     35         - [Factory method](oo-design-patterns#factory-method)
     36     - [Structural](oo-design-patterns#structural)
     37         - [Adapter](oo-design-patterns#adapter)
     38     - [Behavioral](oo-design-patterns#behavioral)
     39         - [Observer](oo-design-patterns#observer)
     40         - [Chain of responsibility](oo-design-patterns#chain-of-responsibility)
     41 - [Modeling behavior with UML State Machines](modeling-behavior-state-machines#modeling-behavior-with-uml-state-machines)
     42     - [Introduction](modeling-behavior-state-machines#introduction)
     43     - [States](modeling-behavior-state-machines#states)
     44     - [Transitions](modeling-behavior-state-machines#transitions)
     45     - [Types of events](modeling-behavior-state-machines#types-of-events)
     46     - [Types of states](modeling-behavior-state-machines#types-of-states)
     47     - [Entry and exit points](modeling-behavior-state-machines#entry-and-exit-points)
     48 - [Sequence Diagrams](sequence-diagrams#sequence-diagrams)
     49     - [Introduction](sequence-diagrams#introduction)
     50     - [Basics](sequence-diagrams#basics)
     51         - [Interactions, interaction partners](sequence-diagrams#interactions-interaction-partners)
     52         - [Messages](sequence-diagrams#messages)
     53     - [Combined fragments](sequence-diagrams#combined-fragments)
     54         - [Branches & loops](sequence-diagrams#branches-loops)
     55         - [Concurrency and order](sequence-diagrams#concurrency-and-order)
     56         - [Filters and assertions](sequence-diagrams#filters-and-assertions)
     57     - [Further language elements](sequence-diagrams#further-language-elements)
     58 - [Philosophy of Software Design](philosophy-of-software-design#philosophy-of-software-design)
     59     - [Summary of Design Principles](philosophy-of-software-design#summary-of-design-principles)
     60     - [Summary of red flags](philosophy-of-software-design#summary-of-red-flags)