Software Engineering

Semester:
8ο
Course Type:
Elective Specialization courses (ΠΜ-E)
Track:
-
Code:
ΥΣ09
ECTS:
6
TEACHING HOURS per week
Theory:
3
Seminar:
1
Laboratory:
-
Specializations
Foundations of Computer Science (Ε1):
-
Data and Knowledge Management (Ε2):
-
Software (Ε3):
B Βασικό
Hardware and Architecture (Ε4):
-
Communications and Networking (Ε5):
-
Signal and Information Processing (Ε6):
-
Related Courses
Course Content

The course offers an introduction to the field of Software Engineering, highlighting the various software design, quality and management issues that occur during the development of large software projects, while presenting the current state of the art in addressing these issues. Specifically, the course covers software life-cycle phases and their management methodologies, focusing on (a) the agile methodology in general and Scrum in particular, (b) the DevOps methodology and specifically the issues underlying version control, build automation and test automation. The course also deals with software design and architecture, discussing analysis and modeling of requirements, object-oriented design and architectural patterns, emphasizing the architectural choices that arise from the CAP theorem. Finally, the course also presents the latest techniques used in the development of Web-based user interfaces.

LITERATURE AND STUDY MATERIALS - READING LIST
  • Software Engineering: Theory and Practice, 2nd Edition, PFLEEGER, Kleidarithmos publishing (in Greek)
  • Software Engineering, 8th Edition, SOMMERVILLE, Kleidarithmos publishing (in Greek)
  • Software Engineering, 8th Edition, PRESSMAN, Tziola publishing (in Greek)
     

The course also offers an extended reading list available at its website.