COMP285

Computer Aided Software Development

Aims

​​To introduce students to a range of techniques and tools used in modern, large-scale industrial software development.

​To describe how the development and deployment of high quality, robust products is supported through software develpment tools.

Syllabus

1

  • Introduction and general methodological questions (2 lectures)
  • Eclipse and Java (3 lectures)
  • Eclipse and JUnit (3 lectures)
  • More on Testing and JUnit (3 lectures)
  • Introducing Ant (4 lectures)
  • Ant: Datatypes and Properties (5 lectures)
  • Ant, Testing and JUnit (3 lectures)
  • Ant: Capturing JUnit test results (3 lectures)
  • Ant: Nested Builds (1 lecture)
  • Eclipse and Ant (3 lectures)

Recommended Texts

Essential reading:

  • E. Hatcher and S. Loughran: Java Development with Ant. Manning Publications (most recent edition) or
  • S. Loughran and E. Hatcher: Ant in Action. Manning Publications (most recent edition).
  • D. Gallardo, E. Burnette and R. McGovern: Eclipse in action : a guide for Java developers. Manning Publications (most recent edition).
  • P. Tahchiev, F. Leme, V. Massol and G. Gregory: JUnit in Action. Manning Publications (second or most recent edition).
Further reading:
  • R. Hightower and N. Lesiecki: Java Tools for Extreme Programming. Wiley (most recent edition).
  • K. Beck: Test Driven Development. Addison-Wesley (most recent edition).

Learning Outcomes

Perform software development tasks using the techniques of Automated Testing, Continuous Integration and Test Driven Programming

Use Ant, JUnit and Eclipse both individually and jointly as tools for Automated Testing, Continuous Integration and Test Driven Programming

Learning Strategy

Lecture

Practical

Formal Lectures: In a typical week, students will be expected to attend three lectures for the duration of the module. These lectures will be shared with the module COMP220 Software Development Tools.

Practical Sessions: In a typical week, students will be expected to work for one hour in a supervised computer laboratory practical session under the guidance of demonstrators.

Private Study: In a typical week students will be expected to devote three hours to unsupervised time to private study. Private study will provide time for reflection and consideration of lecture and practical material and completion of those aspects of the assessments tasks that do not involve supervised computer laboratory work.

Assessment: Two assessment tasks will be carried out to consolidate the information presented in the lectures and to provide practical experience of designing and realising a problem task with demonstrating the use of software development tools. The assessment tasks will either be lab-based tests or assignments, as appropriate.