You will develop a moderate-sized Java program in order to demonstrate your understanding of topics from weeks 1 to 7. You are provided a detailed set of functional requirements which describe the...

You will develop a moderate-sized Java program in order to demonstrate your understanding of topics from weeks 1 to 7. You are provided a detailed set of functional requirements which describe the behaviour that must be exhibited by the program you create. In addition to the various functional requirements are a few other requirements that specify suggested implementation approach to be taken. These are all detailed in the remainder of the assignment. Make sure you read it all carefully before you commence, so you understand what needs to be achieved. Finally, there are a range of suggested Tasks to be completed (see next page). In terms of marking, only half the marks pertain to the correct behaviour according to the functional requirements, the other half of the marks are for appropriate approaches to coding (to assess your progress towards demonstrating attainment of the skills encompassed by the learning objectives of the course). If you have any questions about any of the requirements, please ask your teacher through their preferred means of communication. This is an individual assignment. The work must be your own work. The staff may submit your work to specialised plagiarism-checking software that specifically compares Java programs, to identify potential collusion between students. You may be asked to attend an interview with the marker to explain portions of the code before the assessment mark is finalised.


Assignment 2 Task Specification [ITECH2306] ITECH2306 – Assignment 2 Task Specification (2021-07) Page 1 of 9 ITECH2306 Agile Coding Assessment task: Assignment 2 Advertising Agency quote-management system Overview You will develop a moderate-sized Java program in order to demonstrate your understanding of topics from weeks 1 to 7. You are provided a detailed set of functional requirements which describe the behaviour that must be exhibited by the program you create. In addition to the various functional requirements are a few other requirements that specify suggested implementation approach to be taken. These are all detailed in the remainder of the assignment. Make sure you read it all carefully before you commence, so you understand what needs to be achieved. Finally, there are a range of suggested Tasks to be completed (see next page). In terms of marking, only half the marks pertain to the correct behaviour according to the functional requirements, the other half of the marks are for appropriate approaches to coding (to assess your progress towards demonstrating attainment of the skills encompassed by the learning objectives of the course). If you have any questions about any of the requirements, please ask your teacher through their preferred means of communication. This is an individual assignment. The work must be your own work. The staff may submit your work to specialised plagiarism-checking software that specifically compares Java programs, to identify potential collusion between students. You may be asked to attend an interview with the marker to explain portions of the code before the assessment mark is finalised. Timelines and Expectations Percentage Value of Task: 20% Due Date: Sunday 16th May at 11:59pm (end of Week 8) Cut-off Date: Wednesday 26th May – after this date, you would get 0% Minimum time expectation: 8 hours Maximum time expectation: 24 hours Learning Outcomes Assessed The following course learning outcomes are assessed to some degree, by completing this assessment: S1. Develop object-oriented programs involving several interacting classes. S2. Develop, compile and debug code using an appropriate IDE S3. Manage multiple versions of source code used to create separate software releases. S4. Select appropriate ways to represent data and collections of data. S5. Incorporate pre-written classes, including those from an API, into software solutions. A1. Design, develop, test, debug and release programs from supplied program specifications. In particular, this assignment is focused on assessing your attainment of a range of the learning objectives of weeks 1 through 7 of the course, with an emphasis on the later weeks. For more detail on how you are marked, refer to the section at the back of this Task Specification document. ITECH2306 – Assignment 2 Task Specification (2021-S1) Page 2 of 9 Tasks to be completed The following is a description of the tasks you may want to complete to address the needs of this assignment: 1. Read through the entire assignment task description (all 9 pages) to understand what the program needs to achieve and how you will be assessed. 2. Perform a textual analysis to identify potential classes (look for nouns), potential methods (look for verbs or actions), potential fields/data (look for nouns again). 3. Develop an initial class diagram to organise your thoughts. (This is not marked.) 4. Accept the GitHub Classroom assignment by clicking the link in Moodle (underneath the link you clicked to obtain this document) to create your repository, and then clone/link it into your IDE as you have done in the lab classes. 5. Start coding, by taking one functional requirement to start with. Identify the tests that you might need to check/prove that it is addressed and correct, and develop code to address it. Once that functional requirement is fully addressed/working and tested, commit the code to the repository (you can commit more frequently if you wish), then take another functional requirement and repeat the process. Keep the supplementary document up to date as you go along. 6. Submit the completed work. Assessment Details Overview An advertising agency wants a program which allows them to create and manage quotes for their customers. Customers are any other business or organisation that wants to promote a product, service or event that they might be offering. For example, a supermarket might want to promote special discounts each week. A school might want to promote that it is having an open-day for parents to come and visit the school to consider sending their children to it in the future. Context/Background Information When an organisation decides that it wants to promote a product, service, or event, it may look to advertising agencies to “get the message out” by an advertising campaign in a way that has impact, across various media such as television, radio, Spotify (an app focused on music/audio), newspaper/print, web and other mobile apps. Such an organisation is called a client of the advertising agency. The advertising agency is a company which employs a range of people with skills at preparing promotions for these various types of media. When an organisation comes to it asking for a quote, the advertising agency will make judgements about how long tasks will take, how soon the advertising campaign needs to be ready to become ‘activated’ (actually appearing/being rostered in the media), how long the campaign is to last for, and how the advertising agency might be able to fit in the work for this client in comparison to other clients. They will calculate costs of this work, and the additional cost of placing the campaign into the various media channels, and from this information determine a ‘cost’ to the client. They tell this to the client in the form of a “quote for services”. The client can compare quotes received by different agencies and decide which one to accept and continue with. If the client decides to go ahead with the advertising campaign with that advertising agency, the agency requires an up-front payment of some portion of the quoted total cost to begin the work. Once the preparation work is complete, they present the work to the client for their approval to actually go ahead and ‘place’ the ads into the selected media channels. Some of these channels must be fully paid before placement can occur; others allow for spreading the payment across separate weeks – in any case, the first payment must occur before the placement can begin, and with campaigns that run for multiple weeks, each week’s payment must be made before the week begins. The program you are to write should be capable of obtaining information about a potential advertising campaign for various clients, and from that generate a quote. The quotes are stored (in memory), and as payments are made, the amount owing is decreased, and the total earned from that campaign is increased. The program should be able to report summary information about all campaigns, as explained further in the various functional requirements listed later. ITECH2306 – Assignment 2 Task Specification (2021-S1) Page 3 of 9 Functional Requirements The following are the Functional Requirements (FR) that the program must achieve. FR-1: The program must be a text-console menu-based system As we have not yet learned about making GUI programs in Java, you are to make a program that operates through the console (using System.out for output, and Scanner for input). The program needs to allow the user flexibility in what actions they perform, and so you should be designing the user interaction to make use of menus, that is, you display to the user a list of the actions that they can perform as a numbered list, and the user selects the desired action by entering the corresponding number. Some actions available in the top-level menu may lead into a period of being in a sub-menu which has a task-specific set of actions that could be done – if so, there needs to be a way to ‘exit’ back to the main/top- level menu. FR-2: Allow the user to create a quote for a new advertising campaign for a client Each new advertising campaign job from a client (or potential client, if they’ve never used the agency before), needs to begin by setting up the quote. A quote has two parts: The cost of preparing the campaign (e.g. artwork, soundwork, videos), and the cost of running the campaign (also called ‘placement’ of the campaign). Further details on the way in which costs are worked out for the various different target media channels is explained in other Functional Requirements. Note: You are not expected to cater for multiple different types of campaigns in the one quote. (e.g. If a client wants to have both a radio advertising campaign and a television advertising campaign, these can be considered as separate campaign jobs). But you are allowed to try this if you feel confident. FR-3: Allow quoting for radio and Spotify advertising campaigns This type of ad campaign relies solely on audio. The cost of preparing a campaign for these media channels is $20 per 15 seconds. For example, perhaps the school wanting to advertise its “open day” event, wants 3 different 30-second ads created and will select 2 to actually run. Each ad will be for 30 seconds and feature different wording (two will be for a general message about the school having the open day and giving general information about the school, the third will be saying specific events that are occurring during the open day). As the agency is preparing 3 ads, the cost of preparation work is $120. (3 x (2 x $20)). As another example, a home furniture shop may want a campaign to advertise its Spring Clearance sale, and it wants one 15-second ad and another 30-second ad that gives greater detail. The cost of this would be: ($20) + (2 x $20) which is $60. To actually run the ads once the preparation work is completed, the following rules apply for ads placed on radio:  The client must nominate how many radio stations they want it to be played on during business- hours (Mon-Fri from 8am until 6pm), and how many weeks they want (minimum of 1 week – any consecutive 7 day period). For each radio station, it will cost $70 for each week.  The client must
Nov 23, 2021
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here