University of Surrey - Guildford

Registry > Module Catalogue
View Module List by A.O.U. and Level  Alphabetical Module Code List  Alphabetical Module Title List  Alphabetical Old Short Name List  View Menu 
2010/1 Module Catalogue
Module Provider: Computing Short Name: COM3011
Level: HE3 Module Co-ordinator: MOSCHOYIANNIS S Dr (Computing)
Number of credits: 15 Number of ECTS credits: 7.5
Module Availability

SPRING  Semester

Assessment Pattern

Unit(s) of Assessment



Weighting Towards Module Mark( %)





2 hour written unseen examination comprising questions on modelling techniques and problem-solving questions






Coursework (individual):



Students will need to demonstrate their understanding of the modelling approach to software development. The coursework will focus on the creation of appropriate models that capture business processes and generating models using UML at both architectural and behavioural levels. Students will be required to draw the corresponding diagrams in a standard notation (e.g. using NetBeans, MagicDraw) and produce integrated models which are suitable for code engineering.



Students will need to document their design decisions and demonstrate good practice in modelling. A practical understanding of the modelling tools and how (skeleton) code can be generated will also be required.



The above tasks will address the following learning outcomes:



 Model key aspects of distributed and enterprise systems in an integrated and logical manner.



 Produce models that demonstrate good modelling practice and are suitable for code engineering.



 Demonstrate a critical and practical understanding to the state-of-the-art in enterprise and distributed systems development.



Feedback will be provided following the submission of the coursework and in time for the comments to be taken on board before the written examination.








Qualifying Condition(s) 



A weighted aggregate of 40% is required to pass the module.



Module Overview

Enterprise software development presents challenges of sheer scale and complexity that continue to accelerate at a terrific pace. Businesses are becoming increasingly adaptive and are calling for software that is more and more flexible and needs to be produced in a timely fashion.



The course offers a streamlined set of modelling techniques based on Unified Modeling Language (UML) and uses a serviced-based architecture that provides an overall design philosophy for reusable software that addresses the needs of the business; not the technology. It covers the various model-driven techniques that underlie current trends in software development projects in the enterprise domain, from business requirements capturing to operational models, to expressing constraints on models, to object-oriented models for code generatio
COM1001 Web Publishing , COM1012 Systems Analysis and Design, COM2002 Databases and Information Modelling, COM2003 Object-Oriented Software Engineering, or good programming skills
Module Aims

The course aims to introduce the use of the model-driven architecture in developing software systems for the enterprise domain and advocate current trends that involve the use of meta-modelling in software development for enterprise and large-scale web applications.



We will focus on the latest standard techniques that are used in creating models that capture business requirements, using business process models (BPMN, SBVR) and execution languages (BPEL). The course will include the design of UML models at the architectural and behavioural level, and will stress good modelling practice. We will also cover ways of expressing constraints and restricting to a subset of UML features and constructs that result in executable UML models. Students will come to appreciate the use of executable UML models for service composition (e.g. WSDL) and produce a set of integrated models that are suitable for code engineering.



The course will highlight current trends that involve the use of modelling in software development for the enterprise and large-scale web applications, and identify potential pitfalls in current practice. It will enable students to reflect, critically and in-depth, on relevant aspects of the state-of-the art of both the practice and theory of distributed and enterprise systems development.
Learning Outcomes

By the end of the course the students will be able to:





1.       model key aspects of distributed and enterprise systems in an integrated and logical manner



2.       produce models that demonstrate good practice in systems modelling, using a variety of standard modelling languages (BPEL, SBVR, UML, xUML, middleware)



3.       understand the modelling approach to developing large-scale solutions and how it facilitates code engineering



4.       assess the use of models and meta-models in systems development



5.       develop critical awareness and practical understanding of the state-of-the-art in enterprise and distributed systems development (including from a service-oriented and Web 2.0 perspective)



Module Content

The course is divided into the following areas:



·         basic architectural concerns in software development in the enterprise context



·         understanding of the role of modelling in software development within the enterprise context



·         overview of the model-driven architecture approach (MDA)



·         business processes modelling and requirements capturing



·         standard techniques and tool support for creating execution workflows from business requirements



·         creating UML models, using service descriptions



·         good modelling practice, and what features to avoid



·         restricting to an executable subset of UML modelling constructs



·         practical understanding and critical evaluation of models



Methods of Teaching/Learning

There are 11 teaching weeks in the Autumn Semester and 1 revision lecture after the Christmas vacation.





During the teaching weeks there will be:



  • 2 hour lecture per week (with total of 22 hours for 11 weeks)


·         10 hours of supervised lab classes (2 hour per week, starting Week 4, ending week 8)





Lab sessions will involve the use of the modelling approach to software development. We will cover business process modelling with BPMN, BPEL and the creation of UML models for the required software development, aiming to demonstrate the use of models in code engineering. Exercises will also form part of the lectures and solutions to exercises will be discussed.



Selected Texts/Journals

There is not one core text which can be recommended that will cover the whole course. The following are suggestions for reading.





Recommended Resources :



Andy Carter (2007). The New Language of Business, SOA & Web 2.0. IBM Press.



Mellor, Stephen J.; Balcer, Marc (2002). Executable UML: A foundation for model-driven architecture. Addison Wesley. ISBN 0-201-74804-5.



Manuel Laguna, Johan Marklund (2004). Business Process Modeling, Simulation, and Design. Pearson/Prentice Hall, 2004.





Background Reading :



Raistrick, Chris; Francis, Paul; Wright, John; Carter, Colin; Wilkie, Ian (2004). Model driven architecture with Executable UML. Cambridge University Press. ISBN 0-521-53771-1



Alan Monnox. Rapid J2EE Development: An Adaptive Foundation for Enterprise Applications, hp invent, Pearson Education Inc, 2005.
Last Updated
Semester change AUG 2010 jg
10 august 09 jg