|Assessment Type||Assessment length / details||Proportion|
|Semester Assessment||2 Hours written exam||50%|
|Semester Assessment||1 programming assignment (60 hours)||50%|
|Supplementary Assessment||Supplementary examination will take the same form, under the terms of the Department's policy.||100%|
On successful completion of this module students should be able to:
1. demonstrate the ability to reuse design expertise through the application of software design patterns in the context of designing distributed applications
2. build a substantial, multi-tier distributed application
3. critically explain the relative merits of alternative server-side technologies
4. demonstrate a critical appreciation of design issues encountered when developing multi-tier, distributed applications
This module forms a core part of the new Internet and Distributed Systems (Advanced) MSc. This module builds on COM5820 looking more in-depth at technological solutions and design issues associated with building multi-tier applications.
This module examines development processes, techniques and technologies for constructing Internet-based, distributed software systems. The majority of modern applications are now distributed. Students will learn about the nature of such applications, and techniques and technologies for constructing them.
2. Distribution and issues. Discusses distribution challenges, and technologies and techniques for addressing them. Compares and contrasts the options, such as Java EE and .NET.
3. Construction technologies. In this section students will learn how to build multi-tier Internet/intranet applications. Organizations are increasingly making their systems accessible over the Internet, or internally across organizational intranets. Access is often from web browser clients and increasingly from other web applications (web service oriented architectures). Typically, these applications comprise a client tier, server-side web tier, business logic tier and enterprise information system tier. Students will learn how to use two major technologies that can be used to develop such applications, namely Java EE and .NET.
4. Designing multi-tier applications, the use of design patterns. 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 design patterns, and in particular those used for the development of distributed, multi-tier applications.
|Skills Type||Skills details|
|Application of Number||No|
|Improving own Learning and Performance||The assessed coursework requires students to develop their understanding of issues associated with the module|
|Information Technology||Entire content of module|
|Personal Development and Career planning||No|
|Problem solving||The assignment addresses challenging issues concerned with developing Internet-based, multi-tier applications|
|Research skills||On-line web exploration and synthesis and application of relevant materials is required both by the assignment and the examination|
|Subject Specific Skills||See learning outcomes|
Reading ListConsult For Futher Information
Eric Gamma et al (1995) Design patterns: elements of reusable object-oriented software Addison-Wesley Primo search Floyd Marinescu (2002) EJB Design Patterns John Wiley & Sons Primo search John Crupi (2001) Core J2EE patterns Prentice Hall Primo search John Hunt (2002) A Guide to C# and Object-Orientation Springer-Verlag Primo search John Hunt, Chris Loftus. (March 2003) Guide to J2EE: Enterprise Java Springer-Verlag Primo search Ken Auer et al (2002) Extreme Programming Applied Addison Wesley Primo search Marc Fleury (2002) The Official JBoss Development and Administration Guide Sams Primo search Mark Grand (2002) Patterns in Java: a catalog of reusable design patterns illustrated with UML, Volume 1 John Wiley & Sons Primo search Martin Fowler (2000) Refactoring Addison-Wesley Primo search Scott Ambler (2002) Agile modeling Wiley Primo search
This module is at CQFW Level 7