Java代写 | COMP2741/8714 Assignment 1: GUI Implementation and Testing

Submission Date
Important Information
COMP2741/8714: Application Development Assignment 1: GUI Implementation and Testing
YouTube Trender
Midnight, Wednesday, Week 14
You do NOT need a YouTube/Google account to complete and achieve a high mark for this assignment. You will only be required to read YouTube video data from a file.
You can do this assignment in pairs. You must let me know whom you are pairing with so that you can access a single code repository and so that you can be assessed, because only one submission is required.
The assignment is worth 25% of the overall topic mark. The 25% is broken down into three phases as discussed below.
Specification
The assignment is to build upon the command line application of Assignment 1 which was to read YouTube video data and process the data contained within them. This assignment will develop a graphical user interface to allow users to interact with YouTubeVideo data model and its functionality. As a reminder:
YouTube is a global video-sharing website headquartered in San Bruno, California, United States. The site allows users to upload, view, rate, share, and comment on videos. 1 Available content includes video clips, TV clips, music videos, movie trailers, and other content such as video blogging, short original videos, and educational videos. User can also add a title and description to the videos and by examining the contents of and detecting which words appear frequently across titles and descriptions we can detect “trending topics.” See below for more information on YouTube and the YouTube Data API that generate the list of videos used in this assignment:
YouTube: https://www.youtube.com/yt/about/en-GB/
Wikipedia on Youtube: https://en.wikipedia.org/wiki/YouTube
YouTube Data API: https://developers.google.com/youtube/v3/getting-started
YouTube Data API for listing videos: https://developers.google.com/youtube/v3/docs/videos/list
It is your job to develop a command line application that can detect the YouTube Trending Topics.
1 https://en.wikipedia.org/wiki/YouTube
COMP2741/8741 Page 1 of 9 Copyright Flinders University 2019

Assignment Phases Overview
The assignment is broken down into three phases:
1. JUnit Test and display YouTubeVideo, Parser, and Exception classes
2. JUnit Test and display Sorting of YouTubeVideo objects by different features
3. JUnit Test and display the indexing of YouTubeVideo, aka “Trending Topics”
Each phase will have marks allocated as follows: • 50% JUnit Testing
[20%] [20%] [20%]
• 50% Graphical User Interface Development
You must also submit a document that describes what you have done and any extra features that you
have built for your application. This document, a PDF file, will be submitted via FLO
• Application Description Document [15%] Extension work (see below) [10%]
At the end of each phase, you should commit it to repository with the comment “Phase X” where X is the phase number 1, 2, or 3.
• Correct use of the repository [15%]
You will need to submit to the assignment submission box on FLO the revision number of your final commit for the assignment and the Application Description Document. See further below for more details.
Your code submission will be the contents of your repository.
Graphical User Interface Development
Below are example GUI development that you should aim for (at a minimum) for each phase of the assignment. You are supplied with a basic GUI from the repository code, but it is not connected to the underlying YouTube data model. It is your job to connect the data model to the user interface and then develop the user interface further through the different phases.
COMP2741/8741 Page 2 of 9 Copyright Flinders University 2019

Figure 1. Example of Phase 1 GUI.
COMP2741/8741 Page 3 of 9 Copyright Flinders University 2019

Figure 2. Example of Phase 2 GUI with YouTubeVideo sorting.
COMP2741/8741 Page 4 of 9 Copyright Flinders University 2019

JUnit Testing
Figure 3. Example GUI for Phase 3 with YouTubeVideo indexing.
Create JUnit tests to verify that your code functions correctly for any input that you deem to be necessary for thorough and comprehensive testing. There is a starting Junit test for the YouTubeVideoParser class, but you need to finish it off and create unit tests for the other model classes (including video, parsing, exception, sorting and indexing). You are provided with data files and the expected output that can be used in your unit tests. The tests will test the classes that you have been provided that represent the Videos and other pieces of data (e.g. words in the index, comparators, lists) and the functionality associated with them (sorting, find most used word, getting the title of a Video).
You are provided with a set of JSON files as part of the skeleton code in the “data” directory.
The testing outlined in this document is given as a guide.
You have been supplied with several JSON files as part of the skeleton code that contain different examples of the type of data contained in YouTube JSON files. The table below describes each file and the number of records contained within them
COMP2741/8741 Page 5 of 9 Copyright Flinders University 2019

File name
Description
No. Videos
youtubedata.json
A single video items in video query (mock data)
1
youtubedata_15_50.json
50 video items from a query from category 15
50
youtubedata_loremipsum.json
10 mock video items with useful descriptions and titles
10
youtudedata_indextest.json
A single video item for testing indexing
1
youtubedata_singleitem.json
A single video item not in a list
1
youtubedata_malformed.json
A single video items in video query (mock data), but with an error
1
The file “youtubedata_malformed.json” has one video item in a list but contains an error. This file is useful for test the detection of errors in your parser. For example, it may throw an exception indicating a problem with the provided .json file.
The file “youtubedata_singleitem.json” contains that data for a single video but not in a list. This is suitable for testing a class that represent video item data. The data is a JSONObject (enclosed between “{“ and “}”).
The “youtudedata_indextest.json” contains a fake title and description for testing your indexing. There should be 1 “ONE”, 2 “TWO”’s, 3 “THREE”’s, four “FOUR”’s, and five “FIVE”’s.
Along with the .json files are corresponding “_info.txt” files available on FLO. These files contain information about the video contained in the .json file and can be used to provide info for your testing (e.g. the number of videos). That is, given the .json file you should expect your program to be able to provide the information contained in the “_info.txt” file.
The sorting and word counts in the “_info.txt” files closely follow the algorithm in the assignment1 specification.
Note that:
• The word count includes repeats of the word in the text of one message
o e.g. text:“aaa aaa” => count for “aaa” is 2
Application description document [up to 10%]
You should write a brief document to describe the features of your application. It is to be submitted through FLO as a PDF file. You can include text from this document and but it is not a copy of your Javadoc.
This document can be thought of as an informal user guide and can include screen shots of the code and its output. You can describe the demonstration and test code. If it is not submitted, then you will receive 0 marks for this component. It will be difficult to achieve a HD without this document.
COMP2741/8741 Page 6 of 9 Copyright Flinders University 2019

HOW TO
A skeleton NetBeans project is provided to get you started. To get the project you need to checkout the project from a Subversion (SVN) repository that is hosted on the CSEM servers. You will have your own directory on a shared repository. The repository location is:
https://topicsvn.flinders.edu.au/svn-repos/COMP2741/<FAN>
Where the <FAN> is your university FAN without the brackets. To access the repository you need to enter you university FAN and password. You can browse the repository using an internet browser. However, it is expected that you will use NetBeans to access the repository (as in Figure 4 and Figure 5) for checking out and performing updates and commits. This is accessible both on and off campus and it is expected that you will commit often to the repository.
Figure 4. Accessing the subversion checkout menu option in NetBeans
Figure 5. Details for checking out subversion repository. Here the username is “brow9999”, but you would use your own University FAN.
If you are working in a pair you will need to let Trent know so that access can be given to your partner’s repository. Please see additional documentation on FLO. You will only need to access one repository to complete the assignment (see additional documentation on FLO).
You can then commit and update from the repository as you see fit (e.g. at the end of each phase). The markers will also have access to this repository for assessment purposes.
COMP2741/8741 Page 7 of 9 Copyright Flinders University 2019

How To: Get a High Distinction
Completing all the tasks outlined in the phases will probably result in a mark in the range CR-DN. To achieve a HD, “The student would normally have attained an in-depth knowledge of and have consistently demonstrated a high level of proficiency…with original and creative thinking.2″ Thus, you need to complete the minimum and also extend beyond that. Areas where this can be achieved in this assignment are
• more comprehensive unit testing
• better graphical user interface design (showing the videos!).
• more extensive YouTubeVideo class design (e.g. incorporate other JSON elements)
• sorting by more features
• searching your YouTubeVideo list
• different ways to index the title/descriptions (e.g. phrases (> 1 word), stop word removal,
sentiment)
• better cleaning of the words used in the index (e.g. make “twinkle” and “twinkle,” the same)
• temporal analysis of trending topics
These additional features must to be outlined in your Application Description Document so that they can be assessed. You need not do all the above examples to gain a HD, they are just different options.
Your assignment must still pass the required unit tests.
2 See section 10.1.2 from http://www.flinders.edu.au/ppmanual/student/assessment-policy.cfm
COMP2741/8741 Page 8 of 9 Copyright Flinders University 2019

HOW TO submit the code and revision number
On your final commit to the repository you need to take note of what the revision number is. You can see this in the versioning window in NetBeans or do a “Subversion->Search History” and see what the final commit revision number is. Once you have that you can submit your assignment and enter the final revision number along with your PDF to the assignment submission box on FLO. The final revision number goes into the Online text entry, in the figure below the revision number is 1234
Figure 6. Example revision number submission on FLO.
COMP2741/8741 Page 9 of 9 Copyright Flinders University 2019


程序代写代做C/C++/JAVA/安卓/PYTHON/留学生/PHP/APP开发/MATLAB


本网站支持淘宝 支付宝 微信支付  paypal等等交易。如果不放心可以用淘宝交易!

E-mail: [email protected]  微信:dmxyzl003


如果您使用手机请先保存二维码,微信识别。如果用电脑,直接掏出手机果断扫描。

发表评论