1. Course Identity
Course title: Software Engineering for Web Applications
Hours per week: 3
ECTS Units: 6
2. Learning goals
The goal of the course is to offer a broad and in depth aspect of the field of Web Engineering by studying the major models for development of Web applications. The students will gain the capability in choosing between the most appropriate dominant techniques in analysis, design, and implementation of quality web systems.
Furthermore, under Software Engineering consideration, new methodologies, tools, and advanced programming techniques, will be presented and applied.
The main capabilities the students will gain through the course are the following:
- Understanding and solving problems through analysis, design, and implementation of web systems
- Learning and applying the most modern concepts and techniques in Software Engineering
- Applying the most new development methodologies, as eXtreme Programming and generally Agile methods
- Learning and applying CASE tools
- Evaluating the quality of the development process, as well as the software products
The subjects covered are:
- Analysis, design and architecture of web systems
- Object-Oriented development methodologies (OO development – Unified Modeling Language)
- New development methodologies (Unified Software Development Process, eXtreme programming and Agile methods)
- Quality assurance in web applications
- Tools for development in Software Engineering
- Advanced design and programming techniques in application development (using Java)
The course will be covered by weekly lectures, where CASE tool will be used for practical exercise. Moreover, there will be a final project requirement, where the student will implement a small size real web system.
5. Student evaluation
Student evaluation will be based on the grade of the final examination in the theory, and the grade of the final project, parts of which will be assigned during the semester.
6. Software-hardware requirements
The CASE tools and other software (mainly open source) that will be used, are available in the labs at the Information Technology department.
- Object-Oriented Software Engineering , Timothy Lethbridge, Robert Laganiere, McGraw-Hill Science, 2005
- Web Engineering: The Discipline of Systematic Development of Web Applications, Gerti Kappel, Birgit Prýýll, Siegfried Reich, Werner Retschitzegger, 2006
- 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.