01 September 2016

M256 - Software Development with Java (supercondensed) - Unit 1 & 2

I've been an Open University student for the last four years, cobbling together a degree in Computing. My current one is M256 - Software Development with Java, and I have an exam on it in two weeks. Summarising the entire module in blog posts seems like the thing to do for these reasons -

Anyway, here are the first two units -

Unit 1 - Introduction to software development

Object diagram

Sequence diagram

Documentation is important - They show how the software was implemented, what it does, why, and how to use it.

Comments in Java -

     * Javadoc comment (generates documentation)
     * @param aParam
     * @return aParam
     * @throws IllegalArgumentException
    public Thing getThing(ThingName aThingName) {
        // this is a standard comment
        return aThing;

A CASE (Computer-aided Software Engineering) Tool helps with software development (e.g. an IDE or programming text editor, a UML modelling tool, a testing tool, etc.)

Unit 2 - Requirements specification

Eliciting requirements - Goal is to describe each task the system must perform in plain, concise English (so that both client and developers can understand) - A description of this kind is a use case

Use case

Requirements document

Distinguishing between behavioural requirements and constraints

Acceptance tests - Aims to prove (via a test pass) to the client that the software works as specified. Acceptance tests are usually developed in parallel with the use cases. Example -

Use case - 'Display order' The system displays the products code, description and price (at the time of order) for each item on the order, with the date, order numer, and total cost

Acceptance tests - 'Display order' 1 - Test that an order is displayed correctly when there are no items on the order 2 - Test that an order is displayed correctly when there are items on the order

31 August 2016

Programmers start at zero

I started at zero too, but every day when you wake up and start your next iteration there's a new problem or a new idea to help you add a little bit to that great and mysterious data structure in your head. I seem to have reached the bit where I start a blog, so here we go.