Module Overview

Software Engineering & Testing

The aim of this module is to provide learners with:- An appreciation and understanding of the software development life-cycle- An understanding of structured analysis and design techniques - An awareness of the different approaches to systems development- An appreciation of software testing and its role in software quality assurance (SQA)- Acute debugging skills through different debugging strategies

Module Code

COMP H2027

ECTS Credits

5

*Curricular information is subject to change

Beginning a Software Project

 Problem definition Software Process Models  Project Management

Requirements Analysis

 Establishing functional and non-functional requirements Data Analysis (Data Dictionary and Entity Modelling) Functional Modelling Behavioural Modelling Requirements Specification documentation

System Design

 Design Principles and Concepts Design methods Algorithm development Program Specification

Software Implementation

 Consistent mapping of design to Implementation Validation of Implementation

Software Testing

 Role of Software Testing and Quality Assurance in the SDLC Test Planning and Test Case design (building templates, performance/stress tests, testing distributed systems) Software Refactoring Test Writing and Automation including drivers and mock objects  Unit testing, Integration testing  Test Metrics Testing Tools e.g. Junit, Ant, JMeter

Debugging

 Debugging Approaches, (Brute Force, Backtracking, Cause Elimination) Using a debugging tool e.g. Eclipse IDE

Module Content & Assessment
Assessment Breakdown %
Other Assessment(s)100