Software Engineering I

  • Code: 5502
  • Semester: 5th
  • Type: Scientific Field Course (SFC)
  • Category: Special Background Course (SBC)
  • Character: Compulsory (C)

Module Description

Software engineering (SE) is concerned with developing and maintaining software systems that behave reliably and efficiently, are affordable to develop and maintain, and satisfy all the requirements that customers have defined for them. It is important because of the impact of large, expensive software systems and the role of software in safety-critical applications.
Within this framework, this course is concentrating in Object Oriented technology, providing the students with the background, ability and skills to perform as professionals in systems’ development, as well as, in education and research.
Key Contents:

  • Object Oriented technology – Fundamentals
  • Unified Modeling Language
  • Rational Unified Process
  • Use Cases, Use Case Diagram
  • Use Case Point Estimation Effort
  • Software Prototyping
  • Conceptual model
  • Activity Diagram
  • System Sequence Diagram
  • Contracts
  • Sequence diagram
  • General Responsibility Assignment Patterns
  • Class Diagram, Class relationships
  • State machine Diagram
  • Package diagram
  • Component diagram
  • Deployment diagram

The evaluation is based on written exams and work presentations.

Alternative Evaluation Methods

by undertaking projects

Module Objectives

know the basics of object-oriented programming and learn the basic principles of software engineering, including how to develop large systems using UML. Covers requirements, modelling, design, architecture, and basic project management. Focuses on concepts such as reuse, quality, iterative development, and risk management. Includes many exercises, including projects based on a client-server framework. Presents UML class diagrams and state diagrams in depth. Implemented examples are in Java.
Its specific goals are:

  • To provide the students with a sound understanding of the fundamental concepts of the Object Oriented Technology
  • To facilitate the understanding of the UML notation and particularly the Object Oriented Analysis and Design with the Rational Unified Process
  • To reach the realistic application of Object Oriented development within a variety of problem domains


  • Object Oriented Software Engineering – Practical Software Development Using UML and Java, T. Lethbridge & R. Laganiere, 2010
  • Software Engineering, (in Greek), M. Giakoumakis, N. Diamantidis, Stamoulis edition, 2009
  • Applying UML and Patterns, 3rd edition, C. Larman, 2007
  • ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ, S.L. Pflegger, εκδ. Κλειδάριθμος, 2003
  • Software Engineering, 8η έκδοση, Sommerville, 2007
  • Object Oriented Analysis and Design with Applications, G. Booch, 3rd edition, 2008

Recent Announcements

4 Oct 2019
Διδασκαλία μαθημάτων από Μεταδιδάκτορες (ΕΣΠΑ)
4 Oct 2019
ΤΡΟΠΟΠΟΙΗΤΙΚΕΣ δηλώσεις μαθημάτων στο πληροφοριακό σύστημα ΠΥΘΙΑ 2019-20Χ
4 Oct 2019
Δηλώσεις τμημάτων εργαστηρίων 2019-20Χ
3 Oct 2019
3 Oct 2019
Οργάνωση Πινάκων Ανακοινώσεων
2 Oct 2019
2 Oct 2019
Θέση υποψήφιου διδάκτορα σε ερευνητικό έργο
1 Oct 2019
Μετακίνηση το Χειμερινό 2019-2020 – Δήλωση μαθημάτων στο Pithia (επείγον)
3 Oct 2019
Τελετή Υποδοχής Πρωτοετών φοιτητών/τριών 2019-20
30 Sep 2019
Track on 5G for the Industrial Internet of Things @IEEE 5G World Forum
29 Aug 2019
Ημερίδα Πρακτικής Άσκησης
10 Jun 2019
Ημερίδα “Εθνική Στρατηγική Κυβερνοασφάλειας” στο Υπουργείο Ψηφιακής Πολιτικής
14 Apr 2019
6ο Technology Forum – 15 Απριλίου 2019 (τελικό πρόγραμμα)
19 Mar 2019
6ο Technology Forum – 15 Απριλίου 2019 (εισιτήρια με μειωμένο κόστος)
19 Mar 2019
OWASP Student Chapter Συνάντηση “Introduction to Digital Forensics”
17 Dec 2018
Ομιλία του καθηγητή Man Wai Mak (Hong Kοng Polytechnic University)

Δείτε επίσης