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

Complete the below two problems each problem is a separate

Complete the below two problems. Each problem is a separate program (project). Question 1 Write a program that calculates and prints the monthly paycheck for an employee. The net pay is calculated after taking the follow ...

Pennies for pay you are hired for a job and your employer

Pennies for Pay You are hired for a job and your employer agrees to pay you each day. Your pay rate will be one penny the first day and two pennies the second day, four pennies the third day and continuing to double each ...

Assignment- object oriented programmingthis program will

Assignment- Object Oriented Programming This program will use 2 different data structures to perform the same tasks; a vector and a dynamically sized array Write a complete C++ program that will: Declare a vector of inte ...

Assignment lispoverviewthe purpose of this assignment is

ASSIGNMENT: LISP Overview The purpose of this assignment is for you to gain some experience designing and implementing LISP programs. This assignment explores only a few of the many interesting LISP features. This assign ...

Complete case programming assignment at the end of chapter

Complete Case Programming Assignment at the end of Chapter 4, page 283. Be sure to create an event planning document for each event in the program prior to writing code. Write the code that will execute the program requi ...

Assignmentjason has opened a coffee shop at the beach and

Assignment Jason has opened a coffee shop at the beach and sells coffee in three sizes: small (9oz) medium (12oz) and large (15oz). Small cost is $1.75 medium costs $1.90 and large costs $2.00. Write a menu driven progra ...

1 solve a simple payroll calculation find amount of pay

1. Solve a simple payroll calculation. Find amount of pay given hours worked and hourly rate. (pay = hourly rate * hours worked.) Run this values (hours = 30 and rate = 8.52) and with (hours = 53 and rate = 11.54). Show ...

Fundamentals functions amp arraysplease refer to

Fundamentals, Functions & Arrays Please refer to announcements for details about this exam. Make sure you fill the information below to avoid not being graded properly; Here is the grading matrix where the TA will leave ...

Programming project sorting to find anagramssee project 4

Programming Project Sorting to find anagrams See Project 4 on pg. 869 for the basic ideas of this project. We will find the longest anagrams in the words.txt provided in the Chapter 13 files on the author's website. 1. F ...

Generate code for the following three-address statements

Generate code for the following three-address statements assuming stack allocation where register SP points to the top of the stack. call p call q return call r return return

  • 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

Section onea in an atwood machine suppose two objects of

SECTION ONE (a) In an Atwood Machine, suppose two objects of unequal mass are hung vertically over a frictionless

Part 1you work in hr for a company that operates a factory

Part 1: You work in HR for a company that operates a factory manufacturing fiberglass. There are several hundred empl

Details on advanced accounting paperthis paper is intended

DETAILS ON ADVANCED ACCOUNTING PAPER This paper is intended for students to apply the theoretical knowledge around ac

Create a provider database and related reports and queries

Create a provider database and related reports and queries to capture contact information for potential PC component pro

Describe what you learned about the impact of economic

Describe what you learned about the impact of economic, social, and demographic trends affecting the US labor environmen