Ask Question, Ask an Expert


Ask Programming Language Expert

I. Assessment Requirements


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.


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 prepare 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

Programming Language, Programming

  • Category:- Programming Language
  • Reference No.:- M91504

Have any Question? 

Related Questions in Programming Language

Write a program to test for the case of a math equation

Write a program to test for the case of a math equation entered via the keyboard using the SWITCH-CASE operator. Types of equations to test for: x + y  x / y   x * y and x - y. The program is to ask for the following: 1. ...

Part a-1 what arguments can you make for the idea of a

Part A- 1. What arguments can you make for the idea of a single programming language for all programming domains? It would be ideal to have a single programming language for all 2. What arguments can you make against the ...

This assignment introduces you to the perl language and cgi

This assignment introduces you to the Perl language and CGI programming. You will use your scripting and html skills to build a Perl program that will gather user input to then generate a personal webpage. This program w ...

Your problem is as followswrite a program that will ask the

Your problem is as follows: Write a program that will ask the user to enter 4 quiz scores for 3 students.  You will need to fine the lowest quiz grade and drop it out when you calculate the average. You will need to disp ...

Assignmentyou will write a program that acts like a simple

Assignment You will write a program that acts like a simple calculator for binary numbers. You should read in a string of input that has the format: number operator number. Each of the numbers should be presented in two' ...

1 implement dfs by using prolog2 implement bfs by using

1. Implement DFS by using PROLOG. 2. Implement BFS by using PROLOG. 3.  Solve the problem of Question 3 in Assignment 1 by using your PROLOG programs of DFS and BFS, respectively. Question 3 from Assignment 1 to Solve wi ...

Cp1404cp5632 2016 sp22252 assignment 1 - shopping list

CP1404/CP5632 2016 SP2/22/52 Assignment 1 - Shopping List 1.0 Task: You are to plan and then code a console-based program in Python 3, as described in the following information and sample output. This assignment will hel ...

Shell programmingyou have created the directory structure

Shell Programming You have created the directory structure and some base files to be used by the Web server and Web site. For the Web site to be created in a production environment, you need to package your commands in a ...

Engineering programmingi need this now please accurate

Engineering programming I need this now please accurate answers and must be high rated Problem #1 Write a program that asks the user to input the number of miles and convert the miles to kilometers, and then print the ou ...

1 construct a markov algorithm that will reverse the order

1) Construct a Markov Algorithm that will reverse the order of an input string that consists of zero or more upper case letters. ABCDE should become EDCBA, AB should become BA, A should stay A, and A should stay A. NOTE: ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

A cola-dispensing machine is set to dispense 9 ounces of

A cola-dispensing machine is set to dispense 9 ounces of cola per cup, with a standard deviation of 1.0 ounce. The manuf

What is marketingbullwhat is marketing think back to your

What is Marketing? • "What is marketing"? Think back to your impressions before you started this class versus how you

Question -your client david smith runs a small it

QUESTION - Your client, David Smith runs a small IT consulting business specialising in computer software and techno

Inspection of a random sample of 22 aircraft showed that 15

Inspection of a random sample of 22 aircraft showed that 15 needed repairs to fix a wiring problem that might compromise

Effective hrmquestionhow can an effective hrm system help

Effective HRM Question How can an effective HRM system help facilitate the achievement of an organization's strate