Learning Outcomes
To familiarize students with methodologies for discovering and analyzing user and system requirements, as well as for selecting the optimal system architectures and for defining specifications for small, medium and large-scale software projects.
By the end of the course students are expected to:
a) Identify the various types of software requirements
b) Control the phases of the requirements engineering process
c) Study the available system models
d) Decide on the appropriate software architecture with respect to the given project.
e) Decide on all the system design facets, including subsystem decomposition, access control, and boundary condition identification.
f) Decide on specific design patterns and specify the corresponding interfaces between subsystems
Course Content (Syllabus)
This course begins with an introduction to the technology of software engineering and continues with the review of available practices for identifying and organizing software requirements, emphasizing on the analysis of user and system aspects. It then provides an analysis of the various design methodologies for the respective system architectures, while it introduces the student with issues related to advanced Software Engineering (SE) deployment strategies.
Topics covered within the context of the course:
• Introduction to Software Engineering principles
• Software Engineering models
• User requirements – Use case/Activity modeling
• Software requirements – Class/Sequence modeling
• Software specifications – Software architectures
• Design patterns
• Software project management
• Software documentation
• Software validation and evolution
Keywords
User requirements, System specifications, Software architecture, Project management
Course Bibliography (Eudoxus)
1. «Τεχνολογία Λογισμικού» (7η έκδοση), Συγγραφέας: R. Pressman, Εκδόσεις: Α. ΤΖΙΟΛΑ & ΥΙΟΙ Α.Ε., 2011, ISBN: 978-960-418-330-2, ΚΩΔ.ΕΥΔ.: 18548873 (ελληνική μετάφραση)
2. «Βασικές αρχές τεχνολογίας λογισμικού» (8η έκδοση), Συγγραφέας: Ian Sommerville,
Εκδόσεις: Κλειδάριθμος, 2009, ISBN: 978-960-461-220-8, ΚΩΔ.ΕΥΔ.: 13625 (ελληνική μετάφραση)
Additional bibliography for study
Τίτλος Συγγράμματος:: «Βασικές αρχές τεχνολογίας λογισμικού» (8η έκδοση)
Συγγραφέας: Ian Sommerville
Εκδόσεις: Κλειδάριθμος, 2009, ΘΕΣ/ΝΙΚΗ
ISBN: 978-960-461-220-8
ΚΩΔ.ΕΥΔ.: 13625
Τίτλος Συγγράμματος:: «Αντικειμενοστρεφής Ανάπτυξη Λογισμικού με την UML»
Συγγραφέας: Β. Γερογιάννης, Γ. Κακαρόντζας, Α. Καμέας, Γ. Σταμέλος και Π. Φιτσιλής
Εκδόσεις: Κλειδάριθμος, 2006, ΘΕΣ/ΝΙΚΗ
ISBN: 960-209-913-5
ΚΩΔ.ΕΥΔ.: 13597