Software Development II
practices for clean software development (naming, documentation, code
organization, error handling), refactoring techniques (composing
methods, simplifying conditional & methods, moving features,
generalizations), introduction to design patterns. The course’s lab
aims at training the students in the use of integrated development
environments and refactoring tools that will be employed for the
developments of the course's project. The lab further focuses on issues
to the different phases of the project (development phase, refactoring
Learning Objectives & Expected Outcomes
study and application of best practices, patterns and refactoring
techniques that allow to avoid issues of poor software
design/implementation. The main outcomes of the course is that the
students will be capable to:
- Identify issues of poor software design/implementation.
the quality of software that suffers from issues of poor software
design/implementation by applying design patterns and refactoring
Literature and Study MaterialThe main textbooks for the course are:
- OO Design: UML, principles, patterns and rules, Α. Xatzigeorgiou, ISBN 960-209-882-1
- Program Development in Java, B. Liskov and J. Guttag, ISBN 978-960-461-063-1
- Clean Code - A Handbook of Agile Software Craftsmanship, R. C. Martin
Apart from the above textbooks you can download the course's and labs lecture notes (ppt, pdf) from the following git hub repo: github.com/zarras/mye004-slides.
- Refactoring - Improving the Design of Existing, M.Fowler
project is developed by groups of 2 students. The goal is to refactor a
given program that has been developed by other students.
- Deliverables - NEW !!! Deadline 16-12-2022
can find all the neccessary material (requirements on what to do in
this phase, source code of legacy application, deliverable template,
- For the delivery of the project use the turnin program:
- turnin deliverables@mye004 <your-project>.zip, where your-project is a zip file of your Eclipse refactored project.
!!! The Review of the projects will take place on WED 11/1,
THU 12/1, and FRI 13/1 frem 9.30, via MS TEAMS - the teams group code
is given below. Make SURE that you are on time and that you have your project ready to run
on you PC. The members of of each team can join from different
locations but preferably from the same location. The detailed schedule
- In the final exam you can bring with you an A4 cheat sheet with your personal notes.
- The lecture for the week before XMas will take place on Wed 21/12 at 10.00 - 13.00.
- For the delivery of the project you do not have to prepare a demo video of the application.
- The overall grades for September 2022 can be found here.
- To register your project group for the project of 2021-2022 , fill this form - Deadline 12/10/2022.
- Join the MS Teams group hx9xre4 of the course to receive announcements and other useful comments about the lectures and the course project!!!