Software Design Notes

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 17

Software Design Notes

Chapter 1 : Introduction to design patterns

● Design Pattern represents a recurring solution to a particular problem


Chapter 2,3 : Creational Design Patterns

● Factory Method

● Abstract Factory

● Singleton
● Builder

● Prototype

Chapter 4,5 : Structural Design Patterns


● Decorator

● Adapter
● Flyweight

● Proxy

Chapter 6 : Behavioral Design Patterns


● Iterator

● Chain of Responsibility
● Intepretor

● Command
● Strategy

● Observer

Chapter 7 : Nature and Role of the Design Process


● Model of the design process

● Designer is to specify the best solution to a problem and produce a


description of how this is to be organized.


Chapter 8 : Software Design Process

● Factors that impact software development - Complexity, Conformity,


Changeability, Invisibility
● General model of the software design process

● Major phases of the software design process


● Design Methods

● Transformational model of design activity

Chapter 9 : Communicating a design solution


● Abstraction = features of problems , design objects and the
relationship between the two
● Representation, like design ideas, can be expressed in different
levels of abstraction
● Representation as a viewpoint

● A software design model needs to capture the static (solution


orientated) and dynamic (system orientated) aspects of software

Chapter 10 : Structured System Analysis and Design

● Structured Chart describes the functions of the sub-programs and the


runtime invocations that links them
● From SSA to Structured Design


Chapter 11 : Jackson system development (JSD)
● Top Level JSD

● 2 Diagrammatical description - Entity-Structure Diagram and System


Specification Diagram
● For System Specification Diagram, there is 2 basic mechanism for
interposes communication which is
● Data flow stream - Messages are passed asynchronously Using
pipeline mechanism
● State Vector - Describes the local state of a process

● JSD can have both data stream and state vector, Inversion can only
be done on data stream
● No real analogue in JSP
● JSD have backtracking - Helps handles unexpected events such as
premature end
Chapter 12 : Architecture and frameworks

● Software architecture is its high level design , which enables software


engineers to gain understanding
● Steps to derive software’s architecture

● Goals for software architecture - Correctness, Sufficiency and


Flexibility
● Standard software architecture - Data Flow, Independent
components, Virtual machine, Repositories, Layered
● Layered Architecture in OO form

● Framework is a collection of software artifacts that is usable by


several different applications
● Goal of framework - Manage persistence, Identify service, Pooling
and Security
● Framework Development - 2 Strategy which is
● Bottom up - start with classes in class model and look for
generalizations
● Topdown - Start with libraries and look for opportunities to use

You might also like