| Objectives | The development of a good understanding of the software engineering field. Students will get to learn concepts used in designing complex systems, modern architectures and new approaches in modelling competitive software. |
| General thematics | 0) SWEBOK: THE ROLE OF SOFTWARE ENGINEERING WWW.SWEBOK.ORG KNOWLEDGE AREAS RELATED COURSES STEVE MCCONNELL (WWW.CONSTRUX.COM) PRAGMATIC PROGRAMMER
1) OO DESIGN - CLASSES: GRASP (LARMAN), RESPONSIBILITY-DRIVEN DESIGN - MID-LEVEL: GOF (OVERVIEW) - HIGH-LEVEL: ARCHITECTURAL STYLES (PATTERNS), SOA - OO DESIGN PRINCIPLES
2) SYSTEM DEVELOPMENT AND MAINTENANCE THE CHARACTERISTICS OF A GOOD ARCHITECTURE (RCM) AGILE MODEL-DRIVEN DEVELOPMENT ENTERPRISE APPLICATION ARCHITECTURE PATTERNS DOMAIN-DRIVEN DESIGN: CONCEPT AND PATTERNS TEST-DRIVEN DEVELOPMENT REFACTORING: CODE (R IN THE SMALL), ARCHITECTURE (R IN THE LARGE)
3) MODELING BUSINESS MODELING: BPMN UML BEHAVIORAL MODELS: STATE MACHINES, ACTIVITIES WORKFLOW PATTERNS MODEL-DRIVEN DEVELOPMENT, MODEL-DRIVEN ARCHITECTURE DOMAIN SPECIFIC LANGUAGES (DSL), FRAMEWORKS: ECLIPSE MODELING FRAMEWORK, OPEN ARCHITECTURE WARE (OAW)
|
| Seminary / Laboratory thematics | Applying software engineering best practices. Refactoring, improving the design of existing code. Automated testing Advanced design patterns |
| Teaching methods | Course slide presentations. Lecture notes and tutorials available electronically. |