Home
Personal Information
Publications
Research Projects
Teaching
Open Positions






By Geek & Poke

Software Engineering

Course Description

This course focuses on issues related to software lifecycle in general and to the individual phases that constitute the software lifecycle: requirements (elicitation, analysis, documentation, quality), design (architecture and technical design, documentation, quality, architectural styles), implementation, testing (unit, integration, system testing), delivery (user training, documentation). The course’s lab aims at training the students in the use of integrated development environments that will be employed for the development of the course's project. The lab further focuses on issues related to the different phases of the project (requirements, design, implementation, testing, delivery).

Learning Objectives & Expected Outcomes

The study and application of systematic processes, methods and techniques for software design, implementation and testing. The main outcomes of the course is that the students will be capable to:
  • Elicit, analyze and specify requirements for a large scale software system. 
  • Specify the architecture of the system based on the requirements specification.
  • Design and implement the subsystems of the system’s architecture.
  • Test the system in a principled way that guarantees the quality of the result.
  • Organize the delivery of the system and the user’s training.

Literature and Study Material

The main textbooks for the course are:
  • Software Engineering - Theory & Practice, S. L. Pfleeger, ISBN 978-960-461-477-6 
  • Software Engineering, I. Sommerville, ISBN 978-960-461-220-8
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/myy803-slides.

Some examples/tutorials showing the basic structure of popular GoF pattern can be found in the following git hub repo: github.com/zarras/myy803-GoF-patterns-tutorials

Some examples/tutorials about spring, jpa and other related stuff can be found in the following git repo: github.com/zarras.

Project

The project is developed by groups of 2-3 students.
The requirements for the project, important design hints and related material (templates for release plan, release reports, etc) can be found here.
  • INSTRUCTIONS !!! for the delivery:
    • For the delivery of the source code use the turnin program:
      • turnin deliverables@myy803 <your-project>.zip, where your-project is a zip file of your Eclipse project.
      • For the delivery of the release report include a pdf of the report in the project forder.
  • To register your project group, fill this form - Deadline15/3/2025.
  • Deadline for the project: 26/5/2025 23:59.

Announcements

  • NEW!! The lecture on Mon 24/3 is canceled.

  • The 1st lab of the course will take place at I5 on Thu 20/2 at 18.00.
  • Join this year's MS-Teams with the following code c5tvh67 We will use this  team mainly for announcements and further communication.

  • The overall grades for JAN 2025 can be found here
  • The starting date of the project labs that will take place at I5 every Thu at 18.00 will be announced  soon here and via the MS Teams channel of the course.

  • In the final exam you can bring with you an A4 cheat sheet with your personal notes.

Useful Links