What alternative approaches were considered

Assignment Help Computer Engineering
Reference no: EM131471890

Assignment

Please do the following to complete this assignment.

Purpose:

The purpose of this project is to provide non-trivial practice in the use of Java object-oriented GUI programming features to implement an object-oriented GUI design and have a bit of fun doing it.

Resources Needed:

You will need a computer system with Java 7 or greater SE edition run-time and Java Development Kit (JDK). You may optionally use a Java IDE for example NetBeans, Eclipse, etc. However application builders are not allowed.

Submitted Files:

Design and Analysis:

This is an informal essay-style single-spaced word-processed document. The file formats accepted are .odt, .doc, and .docx. The length of the document should be between 1 and 1.5 pages. The following subjects should be discussed in this order:

1. General program design. How is the program organized? What major data structures were used? How did you divide the functionality among your classes? How are commands processed? Etc.

2. What alternative approaches were considered and why were they rejected?

3. What did you learn from doing this project and what would you do differently?

Source files:

Each public class must be contained in a separate Java source file. Only one source file will have a main() method and this source will be named SongDatabase.java. Other source/class names are up to you following the guidelines specified so far in the course.

The format of the Java source must meet the general Java coding style guidelines discussed so far during the course. Pay special attention to naming guidelines, use of appropriate variable names and types, variable scope (public, private, protected, etc.), indentation, and comments. Classes and methods should be commented with JavaDoc-style comments (see below). Please use course office hours or contact the instructor directly if there are any coding style questions.

JavaDocs:

Sources should be commented using JavaDoc-style comments for classes and methods. Each class should have a short comment on what it represents and use the @author annotation. Methods should have a short (usually 1 short sentence) description of what the results are of calling it. Parameters and returns should be documented with the @param and @return annotations respectively with a short comment on each.

JavaDocs must be generated against every project Java source file. They should be generated with a -private option (to document all protection-level classes) and a -d [dir] option to place the resulting files in a javadocs directory/folder at the same level as your source files. See the JavaDocs demonstration for more details.

Submit file:

The submit file is to be a Zip file containing your design and analysis document, your Java sources, and your javadocs directory/folder. Any appropriate file name for this Zip file is acceptable.

If you know how to create a standard Java JAR file, this is also acceptable for your source code. However, make sure you include the source code in your JAR file.

Collaboration:

It is encouraged to discuss technical or small design parts of this project with your fellow students. However the resulting design and implementation must be your own. For example, it is acceptable to discuss different ways of maintaining the system state but not detailed design or implementation information on processing the purchase command. When in doubt, ask during office hours or contact your instructor.

Program Specification:

This project involves implementing a Java program that builds and manages a database of songs using a GUI-based user interface.

The application will consist of a single frame that allows a user to add, edit, or delete songs from the database. Here's a rough prototype for what the frame might look like. Yours doesn't have to look exactly like this...the prototype is provided just to help you envision the ultimate application.

1682_Application.jpg

The application shall work as follows:

1. Upon start-up, the application will read the database file. The path of the database file will be supplied by a run-time parameter. If the database file does not exist, the user will be told the database does not exist and prompted (non-GUI text prompt) asking if they want to create a new one. If the user answers positive, the application will continue with an initially empty song database. If the user answers negatively, the application will exit. An example of an appropriate start-up command is as follows:

java SongDB mySongDB.data

2. The original state of the frame shall display the combo box with the first song in the database selected or blank if using an empty song database. The Item Code, Description, Artist, Album, and Price fields for this item shall be displayed with the fields disabled (non-editable) or be blank if using an empty song database. For a non-empty song database, the Add, Edit, Delete, and Exit buttons shall be enabled, and the Accept and Cancel buttons shall be disabled. For an empty song database, only the Add and Exit buttons shall be enabled with the rest disabled.

3. To add a song, the user clicks on the Add button. This will cause the application to clear and enable the Item Code, Description, Artist, Album, and Price fields so the user can enter information for the new song. The Edit and Delete buttons are also disabled, and the Accept and Cancel buttons are enabled. When the user presses the Accept button, the new song will be added to the database and combo box. If the user presses the Cancel button, the entry transaction is canceled and the frame reverts to its original state.

4. To edit an existing song, the user shall select the song from the combo box. The information for the selected song shall then be displayed in the disabled fields. The user then presses the Edit button, which enables the Description, Artist, and Price fields. The user may not change the Item Code. The Add, Edit, and Delete buttons are disabled, and the Accept and Cancel buttons are enabled. If the user presses the Accept button, the changes are saved and the combo box is updated. If the user presses the Cancel button, the edit transaction is canceled and the frame reverts to its original state.

5. To delete an existing song, the user shall select the song from the combo box. The information for the song shall then be displayed in the disabled fields. If the user presses the Delete button, the song is deleted from the database and the combo box.

6. When the user presses the Exit button the application shall terminate. The current state of the database shall be saved in a file using the pathname supplied at program start-up (see above).

7. Data fields shall be validated to ensure they are not blank with appropriate error messages displayed. If the song is a single, the text "None" will be used for the album name. The price field shall be validated to ensure only numeric data is entered.

8. Note: The Description field is the song title.

Other Activates:

1. Create a compressed zipped folder containing your Design and Analysis document, your Java source code files, and your javadocs folder.

2. Submit your compressed zipped folder as directed by your instructor.

Reference no: EM131471890

Questions Cloud

Describe a negotiation scenario and the outcome : Consider your current or past job or an organization that was recently in the news, and describe a negotiation scenario and the outcome.
Had us bank violated the efta : What happens when an electronic fund transfer is begun at a retailer by a consumer paying for goods with a debit card?
Research local and international pieces of legislation : BSBINT401 Research international business opportunities Assessment. You are required to research local and international pieces of legislation
Identify a non-traditional software development model : Update previously completed sections based on instructor feedback. Identify a non-traditional software development model that could be used by your company.
What alternative approaches were considered : What alternative approaches were considered and why were they rejected? What did you learn from doing this project and what would you do differently?
Were the funds validly negotiated to computer : Charles Risner owned Metro Electric & Maintenance, Inc. and Computer Power and Technology, Inc., which both had checking accounts with Bank One Corp.
Development of a human resource plan : What is a human resource plan? Which enterprise environmental factors influence the development of a human resource plan?
Organisational change and development : Apply knowledge gained during lectures and develop a business change proposal - improve interaction, sharing of knowledge and information
What counts as evil or dangerous in tvs fictional worlds : Explore a literary or media anti-hero of your choice by reviewing the relevant literature, developing an argument, and providing support for your thesis.

Reviews

Write a Review

Computer Engineering Questions & Answers

  Create testing cases with cartesian

My task for this exercise is to usage Equivalence Class partitioning and Boundary Value Analysis (which means to test the input at the boundary of the equivalence class partition) to analyze the valid and invalid inputs for Microsoft WinWord or an..

  Question 1a explain the differences between the concepts of

question 1a explain the differences between the concepts of strong ai and weak aib what capabilities would a computer

  When to use and function to set multiple conditions

When to use AND function to set multiple conditions that must be met and how to use AND function to set multiple conditions that must be met?

  Prepare a gantt chart and critical path flow chart

You are going to prepare a three-course dinner for your gourmet dinner group for a party of eigh. Prepare a Gantt chart, critical path flow chart and a stove deployment chart (i.e., oven top) for your dinner party.

  Q1answer following questions in short and to the point

q.1.answer following questions in short and to the point only.a what are the strategies kernel chooses for handling

  Explain time and space complexity in details

What do you mean by performance of algorithm explain time and space complexity in details?

  What will be the values of h1 and h2

Consider two cache organizations both of them are using 32KB cache,32 bit physical address and 32B blocks. The 1st one is 2-way set associative cache, 2nd one is direct mapped cache.

  Communication among different constituents in terms of time

communication among various constituents in terms of time and place is key to project management consideration.

  Database technology and mobile computing

Database technology and Mobile computing, Database Technology and Cloud Computing

  Encode the given message using the lzw algorithm

Given an initial dictionary consisting of the letters a b r y b, encode the following message using the LZW algorithm: abbarbarraybbybbarrayarbbay.

  Make a linked list structure music

make a linked list structure Music that contains the data fields Name, Artist, Number_of_Songs, and a pointer to the list. Create the structure with 3 members and fill in data for each member. Create a function that will display() all the data for..

  Optimize a multiprogrammed batch system

Contrast the scheduling policies you might use when trying to optimize a time-sharing system with those you would use to optimize a multiprogrammed batch system.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd