|Assessment Type||Assessment length / details||Proportion|
|Semester Assessment||Group Programming project Technical submission showing development during the project, together with a group report of approximately 10,000 words. Individual report of approximately 3,000 words. Group presentation of approximately 30 minutes. ||100%|
|Supplementary Assessment||Repeat year opportunity. There is no External or Supplementary Resit available for this module.||100%|
On successful completion of this module students should be able to:
1. Analyse a complex software engineering problem, taking account of wider customer context
2. Within a group design and implement an original solution to the problem.
3. Test and critically evaluate their solution.
4. Critically assess the relative merits of various software development methodologies within the context of the given problem and nature of the project team.
5. Working in a group, apply the chosen software development methodology to solve the given problem.
6. Demonstrate a critical appreciation of design issues encountered when developing distributed applications.
This module explores the development processes, techniques and technologies for constructing Internet-based, distributed software systems. Particular emphasis is placed on studying and applying design patterns and architectures. 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.
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.
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 using server-side frameworks. These include support for application structure and routing, user interfaces, business objects, relational mapping, messaging systems and interoperability.
3. Design issues. A number of enterprise application design patterns will be reviewed within the context of technologies discussed in 2. Building distributed 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 applications.
4. Wider issues. Examination of current issues that are related to 2 and 3, e.g. scalability; approaches to testing and deployment; containers and the use of cloud computing.
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.
|Skills Type||Skills details|
|Application of Number||Inherent in subject|
|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 and Web Services, containerisation (or equivalent).|
|Team work||This is a group project so team work is important.|
This module is at CQFW Level 7