Gwybodaeth Modiwlau

Module Identifier
SEM5640
Module Title
Developing Advanced Internet-Based Applications
Academic Year
2013/2014
Co-ordinator
Semester
Semester 2
Pre-Requisite
Only available to MEng students
Other Staff

Course Delivery

Delivery Type Delivery length / details
Lecture 40 hours
Seminars / Tutorials 20 hours
 

Assessment

Assessment Type Assessment length / details Proportion
Semester Assessment Group Programming project  including group report (approximately 8,000-10,000 words. Represents 200 hours work.  75%
Semester Exam 2 Hours   Written exam  25%
Supplementary Assessment Resit failed examination and/or resubmission of failed/nonsubmitted coursework components or ones of equivalent value. (May involve resitting group project). 
Supplementary Exam 2 Hours   supplementary exam  25%

Learning Outcomes

On successful completion of this module students should be able to:

Analyse a complex software engineering problem.

Within a group design and implement an original solution to the problem.

Test and critically evaluate their solution.

Critically assess the relative merits of various software development methodologies within the context of the given problem and nature of the project team.

Working in a group, apply the chosen software development methodology to solve the given problem.

Critically explain the relative merits of alternative server-side technologies.

Demonstrate a critical appreciation of design issues encountered when developing multi-tier, distributed applications.

Aims

Students will learn about enterprise design patterns, platform interoperability and the development of distributed applications. What is learned is then applied within a group project.

Brief description

This module builds on SE31520 examining further the development processes, techniques and technologies for constructing Internet-based, distributed software systems. Particular emphasis is placed on studying and applying enterprise design patterns. Students, working in small groups, will build, using a modern software engineering methodology, a distributed application that employs the technologies and concepts taught in this and previous modules.

Content

Lectures
1. Introduction to module. Provides a road-map to the module, with a brief overview of main concepts and how they interrelate.

2. Construction technologies. Examination of technical solutions for building enterprise applications as provided by enterprise Java and .NET for building distributed applications. These include support for server-side MVC, e.g. JavaServer Faces and ASP.NET MVC; business objects, e.g. Enterprise JavaBeans; object to relational mapping, e.g. MS LINQ, Java Persistence API; messaging systems, e.g. Java Messaging Service; interoperability, e.g. SOAP-based web services.

3. Design issues. A number of enterprise application design patterns will be reviewed within the context of technologies discussed in 2. Building multi-tier applications requires developers to know more than just technologies, they must also know and use design techniques suited to their development. Students will learn about reusable enterprise design patterns, and in particular those used for the development of distributed, multi-tier applications.

4. Wider issues. Examination of current issues that are related to 2 and 3, e.g. scalability; approaches to testing and deployment; the use of cloud computing.

Group project
1. Group Project Tutorials. Students will be required to undertake a group project where materials taught in this and earlier modules will be applied to build a distributed application. Students will be required to choose, justify and follow an appropriate software development methodology.
Tutorials will be undertaken throughout the project to set out the content of the project, and the terms on which it will be developed and assessed. Such tutorials will be undertaken where students are able to complete their project with the help and advice of teaching staff.

2. Written Material. Various written material giving guidance on carrying out the project, assessment issues, and the project submission is provided by the Department.

Module Skills

Skills Type Skills details
Application of Number
Communication Students will practice communication skills during the tutorials and group assignment.
Improving own Learning and Performance The assessed coursework requires students to develop their understanding of issues associated with the module.
Information Technology Inherent in subject.
Personal Development and Career planning Gives students the flavour of life as a professional software engineer.
Problem solving Deciding on an appropriate design when developing a software engineering application.
Research skills Students will be required to acquire further knowledge from books and on-line sources.
Subject Specific Skills Enterprise Java, .Net adn SOAP-based Web Services (or equivalent).
Team work This is a group project so team work is important.

Reading List

Recommended Text
Fowler, Martin (c2003.) Patterns of enterprise application architecture Addison-Wesley Primo search Hohpe, Gregor. (c2004.) Enterprise integration patterns :designing, building, and deploying messaging solutions Addison-Wesley Primo search Eric Jendrock, Ricardo Cervera-Navarro, Ian Evans, Kim Haase, William Markito, Chinmayee Srivathsa The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Oracle
Supplementary Text
Burke, Bill. (2006.) Enterprise JavaBeans 3.0 5th ed. O'Reilly Primo search
Recommended Consultation
Alur, Deepak. (c2003.) Core J2EE patterns :best practices and design strategies 2nd ed. Prentice Hall PTR Primo search Chappell, David (c2002.) Understanding .NET :a tutorial and analysis Addison Wesley Primo search Esposito, Dino (c2006.) Programming Microsoft ASP.NET 2.0 applications :advanced topics Microsoft Press Primo search Esposito, Dino (c2006.) Programming Microsoft ASP.NET 2.0 core reference 2005 ed. Microsoft Press Primo search Esposito, Dino (2008.) Programming Microsoft ASP.Net 3.5 (Pro-Developer) Microsoft Press Primo search Hansen, Mark D. (2007.) SOA using Java Web services Prentice Hall Primo search Lowy, Juval. (c2007.) Programming WCF services 1st ed. O'Reilly Primo search Monson-Haefel, Richard. (c2004.) J2EE Web services A bit out of date now Addison-Wesley Primo search Papazoglou, M.P. (2008.) Web services :principles and technology Pearson Prentice Hall Primo search Richardson, Leonard (c2007.) RESTful web services O'Reilly Primo search Microsoft Windows Communication Foundation http://msdn.microsoft.com/en-us/library/dd560536.aspx Oracle Corporation NetBeans Java EE & Java Web Learning Trail https://netbeans.org/kb/trails/java-ee.html The Hillside Group Patterns Catalog http://www.hillside.net/patterns/patterns-catalog
Consult For Futher Information
Microsoft Microsoft Developer Network http://msdn.microsoft.com/en-us/ Oracle Corporation NetBeans. Documentation, Training & Support https://netbeans.org/kb/ All NetBeans Documentation

Notes

This module is at CQFW Level 7