Module Details

The information contained in this module specification was correct at the time of publication but may be subject to change, either during the session because of unforeseen circumstances, or following review of the module at the end of the session. Queries about the module should be directed to the member of staff with responsibility for the module.
Title SOFTWARE DEVELOPMENT TOOLS
Code COMP220
Coordinator Mr ST Coope
Computer Science
Sebastian.Coope@liverpool.ac.uk
Year CATS Level Semester CATS Value
Session 2017-18 Level 5 FHEQ Second Semester 15

Aims

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

  • To provide coverage of tools already being used in industrial settings.

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

  • Learning Outcomes

    Express the general ideas, advantages, and methods of using software development tools

    Use Ant, JUnit and Eclipse both individually and jointly as tools for Automated Testing, Continuous Integration and Test Driven Programming
    Solve problems related to Automated Testing, Continuous Integration and Test Driven Programming using software development tools JUnit, Ant and Eclipse.

    Syllabus

    The module will cover the following aspects of modern contemporary software engineering. Each one will be analysed in terms of its utility in software development, its implementation in a specific software tool. (Note that this list of topics is indicative only.)

    1. Introduction and general methodological questions (2 lectures)
      • EXtreme Programming Methodology
      • Automated Testing and Continuous Integration
      • Types of automated testing
      • Brief overview of some testing tools (Junit, Cactus, HttpUnit, etc.)
    2. Eclipse and Java (3 lectures)
      • General description of Eclipse
      • The Java quick tour in Eclipse
      • Creating in Eclipse a Java project, Java Class and running Java programm
      • Working with syntax errors in Eclipse Java Editor
      • Preferences and other settings
      • Code-completion/code-generation features
    3. Eclipse and JUnit (3 lectures)
      • Creating and running a JUnit test case in Eclipse
      • JUnit wizard in Eclipse
      • Running the JUnit tests in Eclipse
      • Example of test driven programming in Eclipse
    4. Introducing Ant (4 lectures)
      • Getting Started: running you first build
      • Ant and XML
      • Ant targets and tasks; target dependencies
      • Structured Build in Ant: Laying out the source direc tories and source files
      • Compiling and running Java programs ftom command line vs from inside Ant
    5. Ant: Datatypes and Properties (5 lectures)
      • Datatypes: filesets, paths, filtersets, mappers
      • Properties: property (paramenter) handling mechanism; various ways of setting and using properties; built-in properties, property files; immutability of properties
      • Mechanism of referencing to datatypes
      • Setting properties by tasks <available>, <uptodate>, <condition>
      • Setting properties from command line
      • Using properties for conditional target execution with if/unless
      • Using properties for conditional patternset inclusion/exclusion
    6. Ant: Nested Builds (1 lecture)
      • Using <ant> task for building subprojects into a bigger project
      • Passing properties to subprojects
    7. More on Testing and JUnit (3 lectures)
      • JUnit Primer
      • Invoking JUnit test runner from Ant
      • Asserting desired results
    8. Ant, Testing and JUnit (3 lectures)
      • Running a test case with setUp() and tearDown()
      • Ant''s task <junit>
      • General Ant build process related to JUnit testing
    9. Ant: Capturing JUnit test results (3 lectures)
      • Test result formatters
      • Running multiple tests under <batchtest>
      • Generating (H TML) test result reports by using <junitreport> Ant task
      • Outline of test-driven programming   
    10. Eclipse and Ant (3 lectures)
      • How  Ant works  in the framework of Eclipse
      • Creating the build directory structure
      • Separating  the source and build directories in a new or existing project
      • Ant script editor: code-completion and other useful features
      • Running Ant from inside of Eclipse
      • Importing  Existing Ant Project into Eclipse with source folders corresponding to specific output folders

    Teaching and Learning Strategies

    Lecture -

    Laboratory Work -


    Teaching Schedule

      Lectures Seminars Tutorials Lab Practicals Fieldwork Placement Other TOTAL
    Study Hours 30

        10

        40
    Timetable (if known)              
    Private Study 110
    TOTAL HOURS 150

    Assessment

    EXAM Duration Timing
    (Semester)
    % of
    final
    mark
    Resit/resubmission
    opportunity
    Penalty for late
    submission
    Notes
    Unseen Written Exam  2 1/2 hours  80  Yes  Standard UoL penalty applies  Written Exam Notes (applying to all assessments) Class test This worked is not marked anonymously. Lab based assessment This work is not marked anonymously. Written examination This CA work is not marked anonymously. Practical assessment is employed for both formative assessment and summative assessment. Students will get short formative feedback on a weekly basis from the module demonstrators during tutorial / lab sessions. More detailed summative and formative feedback will be returned following assessment of the continuously assessed (CA) work. Resit exam will replace failed CA components, the Learning Outcomes will be covered in the resit exam.  
    CONTINUOUS Duration Timing
    (Semester)
    % of
    final
    mark
    Resit/resubmission
    opportunity
    Penalty for late
    submission
    Notes
    Coursework  1 hour  10  Yes  Standard UoL penalty applies  Assessment 1 
    Practical Assessment  2 hours expected  10  Yes  Standard UoL penalty applies  Assessment 2 

    Recommended Texts

    Reading lists are managed at readinglists.liverpool.ac.uk. Click here to access the reading lists for this module.
    Explanation of Reading List: