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 
2007/8 Module Catalogue
 Module Code: EEE2018 Module Title: SOFTWARE ANALYSIS AND DESIGN
Module Provider: Electronic Engineering Short Name: EE2.SAD Previous Short Name: EE2.SAD
Level: HE2 Module Co-ordinator: JACKSON PJ Dr (Elec Eng)
Number of credits: 10 Number of ECTS credits: 5
 
Module Delivery

Autumn

Assessment Requirements

Components of Assessment
Method(s)
Examination
2-hr unseen paper
Computer-based coursework
Two laboratory assignments completing the tasks introduced in the timetabled lab sessions, plus web-based group design activities.

Module Overview
Prerequisites/Co-requisites

Some experience of procedural computer programming, e.g., C.

Module Aims

to teach the analysis and design techniques needed for developing large software systems with a view to equipping students with the technical knowledge to manage complex software development projects.

Learning Outcomes

on completion a successful student should be able to:

  • describe and evaluate common software development processes, and identify common mistakes in software development;
  • produce and interpret design representations;
  • select the appropriate design viewpoint and representation to use;
  • evaluate the quality of a software design;
  • develop a testing strategy for a piece of software.
Module Content

PLANNING 

Development process

Software development lifecycle. Rationale for design processes and methodologies. Prototyping. Common problems and issues with software development. 

ANALYSIS

Use of representations for analysis & design

Translation between textual and graphical design representations of a system. Design viewpoints: process, data and state. Logical and physical designs.

Common design representations

Pseudo code, Data flow diagram (DFD), Entity relationship diagram (ERD), Structure chart, Jackson structure diagram (JSD), State transition diagram (STD), Unified modeling language (UML).

DESIGN

Design methods & strategies

Jackson structured programming (JSP). Structured system analysis and structured design (SSA/SD). Hierarchical object-oriented design (HOOD): polymorphism, encapsulation and inheritance. Formal methods.

Design quality

Assessing design quality: simplicity, modularity, coupling, cohesion and information hiding.

IMPLEMENTATION

Testing & quality assurance

Stages of testing: unit, integration and acceptance. Approaches: black box and white box.
Standards of quality assurance and software practice.

Methods of Teaching/Learning

Lectures (11 weeks, 2 hr/week), laboratories (two 1-hr sessions) and laboratory assignments, web-based exercises and tutorial sheets.

Selected Texts/Journals

Dennis A & Haley-Wixom B. Systems Analysis & Design: an applied approach [0-471-24100-8]. Wiley & Sons 

Budgen, D. Software Design [0-201-54403-2]. Addison-Wesley 

Sommerville, I. Software Engineering [0-201-39815-x]. Addison-Wesley 

Pressman, R.S. Software Engineering: a practitioner's approach [0-073-65578-3]. Addison-Wesley

Gamma, E. et al. Design Patterns: elements of reusable object-oriented software [0-201-63361-2]. Addison-Wesley 

Last Updated

15th August 2006