M102. Software Engineering for Web Applications

1. Course Identification

Course Title: Software Engineering for Web Applications

Semester: 1st

Weekly Hours: 3

ECTS Credits: 6

2. Learning Objectives

The purpose of this course is to delve into the various approaches used in the development of web applications. The course will provide students with the ability to choose the most appropriate and up-to-date techniques in the analysis, design, and development of high-quality web applications. Presenting and using new development methodologies, tools, and advanced programming techniques from the perspective of Software Engineering are additional goals of the course.

Upon completion of the course, students will be able to:

  • Understand and solve problems that arise in the analysis, design, and development of web applications
  • Acquire knowledge and use the most modern concepts and techniques in software technology, such as object-oriented analysis, design, and development
  • Apply the most modern and effective development methodologies, such as Extreme Programming, SCRUM, and Agile methods in general
  • Use development tools (CASE tools) and implement code development through continuous testing and code refactoring (using JUNIT in various tools)
  • Evaluate the quality of the development process and software products

3. Course Content
The topics covered include:

  • Analysis, design, and architecture of web applications
  • Object-oriented development methodologies (OO development – Unified Modelling Language – UML)
  • Development tools in software technology
  • Advanced design and development of applications (using Java)
  • Ensuring quality in web applications
  • New development methodologies, ICONIX, Extreme Programming, SCRUM, and Agile Methods in general
  • Code development guided by continuous Testing – Code Refactoring (using JUNIT in various tools)

4. Teaching Method
The education of students combines lectures, discussions, practical exercises using Software tools (CASE tools), and project work.

5. Student Evaluation Method

Student evaluation is based on the final written exam and the assignments they will deliver during the course. The presentation of the assignments is also part of the grading.

6. Equipment and Software Requirements

The equipment required for the training of students in a laboratory environment is provided by the Department of Computer Science, and the software and tools to be used are provided free of charge under open-source licenses.

7. Suggested Bibliography

  • Braude, Ε. Software Engineering: Modern Approaches, 2nd Edition, 2010, ISBN: 978-0-471-69208-9.
  • Beck, K., Extreme Programming Explained: Embrace Change, Addison Wesley, 2000.
  • Auer, K. and R. Miller, Extreme Programming Applied, Addison Wesley, 2002.
  • Schwaber, K. and M. Beedle, Agile Software Development with SCRUM, Pearson Technology Group, 2002.
  • Boehm, B., A. Egyed, J. Kwan, D. Port, A. Shah, R. Madachy, Using the Win-Win Spiral Model: A Case Study, IEEE Computer, July 1998.
Skip to content