Teaching GuideTerm Faculty of Computer Science |
Grao en Enxeñaría Informática |
Subjects |
Software Design |
Contents |
|
|
|
Identifying Data | 2017/18 | |||||||||||||
Subject | Software Design | Code | 614G01015 | |||||||||||
Study programme |
|
|||||||||||||
Descriptors | Cycle | Period | Year | Type | Credits | |||||||||
Graduate | 1st four-month period |
Second | Obligatoria | 6 | ||||||||||
|
Topic | Sub-topic |
1. Introduction | • Software design • Object-oriented design |
2. Basic Elements of Object Orientation | • Classes and objects • Object identity • Object state • Object behavior |
3. Basic Characteristics of Object Orientation | • Abstraction and encapsulation • Modularity • Hierarchy • Polimorphism • Typing • Dynamic binding |
4. Unified Modeling Language (UML) | • Introduction • Basic elements of UML • Static design: Class diagrams • Dynamic design: Interaction diagrams • Other diagrams |
5. Design Principles | • Quality in design • SOLID principles • Types of inheritance |
6. Design Patterns | • Introduction to design patterns • Elementary patterns • Designs adaptable to changes • Loosely coupled designs • Patterns and collections of objects • Other patterns and principles |
Practice | • Introduction to Java and NetBeans • Software tests • Exceptions management • Use of a source code repository |
|