Course Overview
|
Course Synopsis
|
This course focuses on understanding the different interrelationships between requirements and design aspects of Software development. The aim is to comprehend and classify different higher-level architectural patterns and their interrelationship to patterns with respect to efficient Software Design techniques. Problem solving of designing the software design as per specific requirements will be discussed with adequacy of a specific architectural pattern for a certain problem. Discussion on design metaphors, components, contracts with their relationship to system design to develop the software design document. Utilization of a modeling language (e.g. UML) to document a system design as per standard procedures along with know how to and be able to validate if a specific implementation is compliant with the intended architecture.
|
Course Learning Outcomes
|
Upon successful completion of this course, students should be able to:
- Understand different interrelationships between requirements and design aspects of Software development.
- Comprehend and classify different higher-level architectural patterns and their interrelationship to patterns with respect to efficient Software Design techniques
- Explain the notion of design patterns and describe a subset of patterns.
- Use patterns to solve real-world problems
- Interpret and construct UML models of software.
|
Course Calendar
|
1
|
Introduction: Software Processes
|
2
|
Software Processes (Agile Methods)
|
Academic paper
4
|
Rational Unified Process (RUP)
|
5
|
Introduction to Software Design
|
6
|
Software Design Components
|
7
|
Internal Abstraction : Modularization
|
Assignment 01
9
|
Software Design Components (Criteria)
|
10
|
Software Design Components (Criteria)-1
|
11
|
Software Design Components (Techniques )
|
12
|
Software Design Components (Techniques )-1
|
13
|
Software Design Components (Techniques )-2
|
Assignment 02
14
|
Open / Close Principle
|
15
|
Unified Modelling Language (UML)
|
17
|
Relationships between Classes (Association )
|
18
|
Relationships between Classes ( Aggregation )
|
19
|
Relationships between Classes (Composition)
|
20
|
Relationships between Classes (Generalization)
|
22
|
Categories of UML Diagrams
|
24
|
Categories of UML Diagrams-1
|
Midterm Exams
Course viva
26
|
Panel Discussion on Scenario
|
27
|
Motivation for Design Pattern
|
28
|
Categories of Design Patterns
|
29
|
Defination of Factory Method
|
30
|
Singleton Design Pattern
|
Presentation
31
|
Problem Statement of Singleton Example
|
32
|
Category of Performing Cloning
|
33
|
Builder Design Pattern
|
34
|
Structural Design Patterns
|
36
|
Composite Design Pattern
|
37
|
Flyweight Design Pattern
|
39
|
Category 3: Behavioral Patterns
|
40
|
Observer Design Pattern
|
41
|
Template Design Pattern
|
42
|
Memento or Souvenir Design Pattern
|
43
|
Command Design Pattern
|
44
|
Architectural Design Patterns
|
Finalterm Exams
|
|
|