University of Surrey - Guildford
Registry
  
 

  
 
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 Code: COM1018 Module Title: SOFTWARE ENGINEERING
Module Provider: Computing Short Name: COM1018
Level: HE1 Module Co-ordinator: TREHARNE H Dr (Computing)
Number of credits: 10 Number of ECTS credits: 5
 
Module Availability
Spring Semester 2011
Assessment Pattern

Unit(s) of Assessment

 

Weighting Towards Module Mark( %)

 

Diagnostic Test (individual)

 

During some of the compulsory lab sessions, diagnostic tests will be used to test your knowledge of the concepts covered to date.  These tests will be used to provide individual support.  Tests will take place unannounced during random lab sessions to also encourage attendance.

 

To address the following learning outcomes:

 

Identify the different stages of the systems development lifecycle

 

Compare common software engineering techniques used within the lifecycle

 

10%

 

Coursework (individual)

 

To demonstrate your ability to create well designed, implemented and tested software, you will develop an application from a requirements specification.  The development will be done in stages so that you can experience each part of the lifecycle, broadly these will encompass the defining a requirements specification, a design, and the implementation with testing.

 

To address the following learning outcomes:

 

Apply key approaches to the specification, design, implementation and testing of software

 

Apply basic design patterns in object-oriented design.

 

90%

 

Qualifying Condition(s) 

 

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

 

 

Module Overview

This module will provide an introduction to the principles of software engineering.  This will include an overview of the systems development lifecycle, agile methods and common approaches employed to develop software.  This will include aspects on requirements specification, design, implementation and testing.  Particular attention will be paid to the design of software, with the introduction of best practice guidelines, such as design patterns.  Throughout the module, software engineering methods will be put into practice, and Java programming skills will be consolidated.

Prerequisites/Co-requisites
COM1017
Module Aims

The aim of this module is to introduce students to software engineering and the systems development lifecycle.  Common approaches to software engineering will be experienced so that students can put development into a professional context.

Learning Outcomes

By the end of the module, students should be able to:

 

·          Identify the different stages of the systems development lifecycle

 

·          Compare common software engineering techniques used within the lifecycle

 

·          Apply key approaches to the specification, design, implementation and testing of software

 

Apply basic design patterns in object-oriented design.

Module Content

Module Content

 

The module is divided into the following areas:

 

·          Introduction

 

·          Systems development lifecycle

 

o         Waterfall and V development models

 

o         Agile software development

 

o         Rapid application development

 

o         Test-driven development

 

·          Requirements

 

o         Capturing requirements

 

o         Formal software specification

 

·          Design

 

o         Overview

 

o         Noun-phrase analysis

 

o         Roles, responsibilities and collaborations

 

o         Introducing design patterns, such as:

 

§          Singleton

 

§          Decorator

 

§          Iterator

 

§          Observer

 

§          Compound patterns

 

·          Implementation

 

o         Coding standards

 

o         Documentation

 

o         Configuration management

 

·          Testing

 

o         Objectives

 

o         Testing stages

 

o         Testing types

 

Methods of Teaching/Learning

40 contact hours in weeks 1-10, consisting of:

 

·          2 hours of lectures or tutorials per week

 

·          2 hours of compulsory labs per week, to support taught materials and the assignments

 

This module is also supported by a 1 hour drop-in surgery each week.

Selected Texts/Journals

 

Essential Reading :

 

Vliet, H. van (2008).  Software Engineering: Principles and Practice.  3rd Edition.  Chichester : UK.:  John Wiley & Sons, Ltd.

 

 

Recommended Reading :

 

Dennis, A., Wixom, B.H., Roth, R.M. (2010).  Systems Analysis and Design.  4th Edition.  Hoboken , NJ.:  John Wiley & Sons, Ltd.

 

 

Wirfs-Brock, R. & McKean, A. (2003).  Object Design: Roles, Responsibilities, and Collaborations.  Boston, MA : Addison-Wesley, Pearson Education, Inc.

 

 

Bruegge, B. & Dutoit, A.H. (2010).  Object-oriented Software Engineering using UML, Patterns and Java.  3rd Edition.  Upper Saddle River , NJ.: Pearson Education, Inc.

 

 

Freeman, E., Freeman, E., Sierra, K. & Bates, B. (2004).  Head First Design Patterns.  Sebastopol, CA :  O’Reilly Media, Inc.

 

 

Vermeulen, A. et al (2000).  The Elements of Java Style.  Cambridge, UK.: Cambridge University Press.

 

 

Barker, J. (2005).  Beginning Java Objects: From Concepts to Code. 2nd Edition.  Berkeley, CA.: Apress.

 

 

Background Reading and Other Sources:

 

Barnes, D. & Kölling, M. (2009).  Objects First with Java: A Practical Introduction using BlueJ.  4th Edition.  Upper Saddle River , NJ.: Pearson Education, Inc.

 

 

Liguori, R. & Liguori, P. (2008).  Java Pocket Guide.  Sebastopol , CA.: O’Reilly Media, Inc.

 

 

Flanagan, D. (2005).  Java in a Nutshell.  5th Edition.  Sebastopol , CA.: O’Reilly Media, Inc.

 

 

Bates, K. & Bates, B. (2005).  Head First Java.  Sebastopol, CA :  O’Reilly Media, Inc.

Last Updated

AUG 2010 JG UPDATED 8/12/10 Due to issues eVision