Analyzing designing and developing a small software system


I. Assessment Requirements

Aim

The aim of this Assignment is to demonstrate knowledge about the analysis, design and development of a small software system.

You are required to produce an executable software solution to the specification and a short report documenting the development.

These two parts are detailed below

Software Solution

Your report should be a compressed folder (.zip) or a Linux archive (.gz) of the complete project, including all source code that you have written. When the files are extracted, the project should compile and run.

Report

The development must be documented in a short report.

II. Assessment Scenario/Problem

TAD - a utility that?s a little like touch

You must design, implement and test an OO class hierarchy to manipulate the filenames, timeStamps and EXIF data of JPG files. Your software should process an „edits? file which will describe a series of filenames and changes that should be applied to those files.

The simplest change/action is a Touch, which will change the „last modified? timestamp to the current system time; further BasicEdit changes might be Rename, Copy, Move or touch to a particular date/time. Advanced edits (ExifEdit?) will involve writing EXIF data to the JPG file; at this stage, only GPS location data (latitude, longitude & sometimes elevation) will be specified, but better designs will be easily extended.

The „edits? file will be a text file, either csv with a fixed format or XML which will be more flexible and extensible.
Your solution should read & parse the „edits? file and create corresponding objects; these must be managed with a collection of base-class pointers (or references) to dynamically allocated objects. The edits should be applied to the appropriate JPG files; this process should be logged (or at least reported).

The behaviour of the application may be controlled through a configuration file, which might specify such things a:

i) log details-level, format, path

ii) whether to take backups + paths

iii) batch or interactive mode

iv) auto-rename

v) touch - should take an optional parameter that is the date/time to set the file time setup to:ex: touch(2012-12-06 12:15:00 pm)

Use of libraries

It is expected that you will use an EXIF manipulation library (lab exercises will support this).

You can choose to integrate and use an XML library or to write your own functions – both approaches are broadly equal in difficulty and available credit.

It is NOT necessary to provide tools to create the „edits? file. SOFT40141: Software Engineering 2

III. Object-oriented Programming Assignment

The strands of the development that will form the framework of the assessment are:

i) class design – it is expected that inheritance will be used;

ii) The file manipulation, including parsing

iii) The manipulation of the object of your class hierarchy, using base class pointers;

iv) The quality and clarity of the code and report

Request for Solution File

Ask an Expert for Answer!!
Programming Languages: Analyzing designing and developing a small software system
Reference No:- TGS01504

Expected delivery within 24 Hours