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

Electrical engineering computer methods assignmentq1 write

Electrical Engineering Computer Methods Assignment Q1. Write a program that given the following array, reverses all array elements and then prints them. int x[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; Q2. Write a program to d ...

Assignmentthis assignment will be marked out of 100 and

Assignment This assignment will be marked out of 100 and carries 30% of the overall module weighting. Your .java files and report for this part must be uploaded to WebLearn and submitted by 3pm on Wednesday 27th April 20 ...

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' ...

Programming lab assignment set awhat to submitcomplete

Programming Lab Assignment (Set A) What to Submit Complete Problem Solving Steps 1 - 3 (check plan, data analysis, initial algorithm, and refinement algorithm) for the following programs. 1. (Name: lab1a-1.cpp) Write a p ...

Csis program homeworkwrite a program where the user will

CSIS program homework Write a program where the user will enter a number between 1 and 50 representing a state. The program should display the full name of that state. Assume the states are in alphabetical order, that is ...

The given machine description will provide the basis for

The given machine description will provide the basis for this assignment. You will create a virtual machine/operating system for the machine described below that will accept programs in the target machine language. The d ...

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

1 tic tac toein a tic tac toe game two players x and o take

1 TIC TAC TOE In a Tic Tac Toe game two players, X and O, take turns to mark the spaces in a 3X3 grid. The winner will be the player who first succeeds in placing three of his/her marks in a horizontal, vertical, or diag ...

Questioncomplete tutorial 10 case problem 2 - ridgewood

Question: Complete Tutorial 10 Case Problem 2 - Ridgewood Herald Tribune found on pages 734-736 of your textbook. Complete the entire website assignment and upload your files to your 000WebHost account. After uploading t ...

Programming assignment- implement a udp client and udp

PROGRAMMING ASSIGNMENT- Implement a UDP client and UDP server that support simple timeout-based retransmission with AIMD congestion control: -The client should send as many packets as are in its CURWIN (current window) a ...

  • 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