INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE

  • Slides: 15
Download presentation
INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND

INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 13 th DAAD Workshop on “Software Engineering Education and Reverse Engineering” , Bansko, Bulgaria 26 th August – 31 th August 2013

Introduction (About courses) • Undergraduate course: Software design and architecture • Postgraduate course: Architecture,

Introduction (About courses) • Undergraduate course: Software design and architecture • Postgraduate course: Architecture, design and patterns • Teacher: Nevena Ackovska • Teaching Assistant: Magdalena Kostoska • Two independent courses, different students enroll this courses – NOT ANY MORE!!!

Software design and architecture (SDA) • The course become part of the syllabus in

Software design and architecture (SDA) • The course become part of the syllabus in 2008 • Our first experience with the course – 2009 • Experience & Surveys => Improvements • Out intention: To prepare students for ADP

SDA - Topics • Introduction to software architecture, design and patterns • Design patterns

SDA - Topics • Introduction to software architecture, design and patterns • Design patterns • Factory, Prototype, Composite, Adapter, Decorator, Observer, Template Method, Strategy and finally MVC • Refactoring and refactoring patterns • Introduction to refactoring and many refactoring patterns • More about SA modularity, cohesion and examples of specific software architecture

SDA - Grading • Homework – assignments every week • One project (refactoring) •

SDA - Grading • Homework – assignments every week • One project (refactoring) • Exams (for theory and practice) • Challenges & activity • Java oriented

Architecture, design and patterns (ADP) • Course syllabus created as part of the TEMPUS

Architecture, design and patterns (ADP) • Course syllabus created as part of the TEMPUS Software Engineering studies • Lectures – inherited (Thanks to prof. Jurca & prof. Budimac) • Our first experience with the course – 2010 • The first generation - None studied design and software patterns in Undergraduate studies

ADP - Topics • Introduction to Software Architecture (SA) • Analogy with Classical Architecture

ADP - Topics • Introduction to Software Architecture (SA) • Analogy with Classical Architecture • The Deliverables of SA • Elements of SA • Analysis and Evaluation of SA • Architecture, processes, and organization • Model Driven Architecture • Design patterns • Frameworks and tools

ADP - Gradings • Homework – read, write, execute • Two projects • In

ADP - Gradings • Homework – read, write, execute • Two projects • In the begging: patterns & refactoring • Now (depending of the background knowledge): refactoring & metrics • No Exam - students prefer projects • Challenges & activity • Java and C# oriented

News • This year FCSE re-accredited the undergraduate studies, but slightly changed • The

News • This year FCSE re-accredited the undergraduate studies, but slightly changed • The course Software design and architecture – part of the curricula again, but topics are changed !!! • Reason: optimizing the number of courses and their content

SDA – New Topics • Physical model construction • Software decomposition and components •

SDA – New Topics • Physical model construction • Software decomposition and components • Design principles (correctness, robustness, flexibility…) • Refactoring • Design patterns • OO analysis and design • Design characteristics and metrics

Analysis Introduction to Software Architecture Analogy with Classical Architecture The Deliverables of SA Physical

Analysis Introduction to Software Architecture Analogy with Classical Architecture The Deliverables of SA Physical model construction OO analysis and design Elements of SA Software decomposition and components Analysis and Evaluation of SA Design principles Architecture, processes, and organization Design patterns Model Driven Architecture Refactoring Design patterns Design characteristics and metrics Frameworks and tools Refactoring Software Construction

Analysis • Lots of partial or complete topics overlaps • The new SDA course

Analysis • Lots of partial or complete topics overlaps • The new SDA course will be activated this year • What happens when this students graduate and enroll ADP in master studies? ? ? • The first students from this program are expected to graduate in 2 years (2015)

Analysis • Strategies to deal with overlaps: • Strategy 1: Let the topics overlap,

Analysis • Strategies to deal with overlaps: • Strategy 1: Let the topics overlap, in undergraduate course teach the basics (core), in master course expand the knowledge • Strategy 2: Divide the shared topics among these two courses

Conclusion • Syllabus evolve – adjusting required • Compromise with the other professors •

Conclusion • Syllabus evolve – adjusting required • Compromise with the other professors • General goal: give the students the required knowledge

Questions?

Questions?