Software-II Alternate Assignment for C195 (Java)

Software-II Alternate Assignment for C195 (Java)

COMPETENCIES

4025.01.05 Database and File Server Applications

 

The graduate produces database and file server applications using advanced Java programming language constructs to meet business requirements.

4025.01.06 Lambda

 

The graduate incorporates lambda expressions in application development to meet business requirements more efficiently.

4025.01.07 Collections (Streams and Filters)

 

The graduate incorporates streams and filters in application development to manipulate data more efficiently.

4025.01.08 Localization API & Date/Time API

 

The graduate applies the localization API and date/time API in application development to support end-users in various geographical regions.

4025.01.09 Advanced Exception Control

 

The graduate incorporates advanced exception control mechanisms in application development for improving user experience and application stability.

 

INTRODUCTION

Throughout your career in software design and development, you will be asked to create applications with various features and criteria based on a variety of business requirements. For this assessment, you will create your own Java application with requirements that mirror those you will encounter in a real-world job assignment.

 

The skills you will showcase in this assessment are also directly relevant to technical interview questions for future employment. This application should become a portfolio piece for you to show to future employers.

 

Several attachments and links have been included to help you complete this task. Refer to the “MySQL Virtual Access Instructions” attachment for help accessing the database for your application. Note that this database is for functional purposes only and does not include any pre-existing data. The attached “Database ERD” shows the entity relationship diagram (ERD) for this database, which you can reference as you create your application.

 

The preferred integrated development environment (IDE) for this assignment is NetBeans. Use the web link “NetBeans Installation Instructions” to install this application. If you

 

choose to use another IDE, you must export your project into NetBeans format for submission.

When you have completed this task, you must submit a zip file with all the necessary code files to compile, support, and run your application.

Note: The zip file submission must also keep the project file and folder structure intact for the NetBeans IDE.

 

SCENARIO

You are working for a software company that has been contracted by a pet spa company with offices in North America to build and develop a spa scheduling user interface application. The pet spa conducts business in two languages (English, Spanish) and has offices in New York, NY; Chicago, Illinois; Denver, Colorado; Mexico City, Mexico; and San Francisco, California. The consulting organization has provided a MySQL database that your application must pull data from. The database is used for other systems and therefore its structure cannot be modified.

 

The spa outlined specific business requirements that must be included as part of the application. From these requirements, a system analyst at your company created solution statements for you to implement in developing the application. These statements are listed in the requirements section.

 

REQUIREMENTS

 

Your submission must be your original work. No more than a combined total of 30% of the submission and no more than a 10% match to any one individual source can be directly quoted or closely paraphrased from sources, even if cited correctly. An originality report is provided when you submit your task that can be used as a guide.

 

You must use the rubric to direct the creation of your submission because it provides detailed criteria that will be used to evaluate your work. Each requirement below may be evaluated by more than one rubric aspect. The rubric aspect titles may contain hyperlinks to relevant portions of the course.

 

Please keep the following key requirements in mind:

 

1.      You must use the attached documents titled ‘MySQL_Database_*.pdf’ to 1) setup and 2) update a database according to the included instructions.

 

2.      The submission will be returned without an evaluation if the entities within the specified database are not utilized or if another unrelated database is used.

 

3.      You must use “admin” as the username and “admin” as the password to log-in.

 

A. Create a GUI form for a spa groomer to login and that accepts an ID and password. Provide an appropriate error message if the login credentials are incorrect (e.g., “The ID and Password do not match”).


 

B.     On successful login, provide a message panel with a cancel button, that lists the appointments that are scheduled in the next 60 minutes or mention that there are no appointments that meet this criterion. Determine the user’s desktop language and display this message and button label in two languages (English, Spanish).

 

C.     Provide the ability to add, update, and delete pet records in the database, including pet name, pet type (dog, cat etc.), owner’s name, pet address, and pet birthdate. The pet type and address should be linked to specific records in the pet type and address tables in the database.

 

D.    Provide the ability to add, update, and delete grooming appointments, capturing the service type (shampoo, nails, trim, etc.), cost of the appointment in USD and link to the specific pet, service type and groomer tables in the database.

 

E.     Appointments could be stored in any time zone in the database but the application must provide the ability to determine the local desktop time zone/daylight saving time and automatically and consistently adjust the display of appointment times to match the local desktop time zone wherever appointments are displayed in the application (forms, reports etc.).

 

F.      Provide the ability to pick a month from a selection list and display ALL the appointments for the selected month. Include the pet name, pet type, groomer name, service type, appointment date and time.

 

G.    Write two or more lambda expressions in the login form code to make your program more efficient. Justify the use of each lambda expression with an in-line comment just prior to the lambda expression.

 

H.    Write exception controls to prevent each of the following. You may use the same mechanism of exception control more than once, but you must incorporate at least two different mechanisms of exception control (Try/Catch, GUI controls, alert messages etc.)

 

1.  scheduling an appointment on four spa holidays for the year chosen:

a.      New Year’s Day

b.      4th of July

c.      Memorial Day (last Monday of May)

d.     Labor Day (1st Monday of September).

2.  scheduling overlapping appointments for a pet

3.  scheduling overlapping appointments for a groomer

 

4.  scheduling an appointment outside of business hours (10:00 AM – 4:00 PM local time, Tuesday through Sunday and the spa is closed on Mondays and 4 recognized spa holidays)

 

I.      Provide the ability to generate and display on demand each of the following reports:

      count of appointments by service type (shampoo, nails, trim etc.) for this year

      calculate and display the total service sales for the year by groomer


•  appointment totals by city for the current year

 

J.      Provide the ability to track reports selected by the current logged in user by recording user id, report name and timestamp in an external file titled ‘report_tracking.txt’. Each new record should be appended to the log file, if the file already exists. Create a file if none exists.

 

K.    Demonstrate professional communication in the content and presentation of your submission.

 

RUBRIC

 

 

 

A. Login Form

Not Evident

Approaching Competence

Competent

A log-in form is not created, or no

The log-in form has limited

The log-in form has functionality

code is provided.

functionality to verify the ID and

to validate the entered ID and

 

password or the error message

password. The error message

 

functionality is incomplete, or the

functionality is effective, the code

 

code contains errors or is

is complete and functions

 

incomplete.

properly.

B. Message Panel

 

 

Not Evident

Approaching Competence

Competent

A message panel is not evident on

The message panel on log-in has

The message panel on log-in

log-in or no code is provided.

limited functionality or does not

includes a cancel button and

 

contain a cancel button. The

effectively displays the expected

 

content of the message panel does

appointment content. The content

 

not reflect the appointment display

and labels are appropriately

 

expectation, or the content and

translated into two languages

 

labels are not translated into two

based on the user’s desktop

 

languages based on the user’s

setting. The code is compete and

 

desktop setting.

functions without errors.

C. Pet records

 

 

Not Evident

Approaching Competence

Competent

No code is provided to add, update

The application has limited

The application has functionality

or delete pet records.

functionality to add, update, or

to add, update, and delete pet

 

delete pet records in the database

records in the database, including

 

or does not include fields for pet

pet name, pet type, owner’s name,

 

name, pet type, owner’s name, pet

pet address, and pet birthdate; and

 

address, and pet birthdate or does

links to the pet type and address

 

not link to the pet type and address

tables. The code is complete and

 

tables. The code contains errors or

functions properly.

 

is incomplete.

 

D. Appointments

 

 

Not Evident

Approaching Competence

Competent

No code is provided to add, update

The application has limited

The application has functionality

or delete appointment records.

functionality to add, update, or

to add, update, and delete pet

 

 

 


 

delete appointment records in the

records in the database, including

 

database or capturing the service

capturing the service type, cost of

 

type, cost of the appointment in

the appointment in USD and

 

USD or linking to specific pet,

linking to specific pet, service type

 

service type and groomer records

and groomer records in relevant

 

in the relevant tables in the

tables in the database. The code is

 

database. The code contains errors

complete and functions properly.

 

or is incomplete.

 

E. Time Zone

 

 

Not Evident

Approaching Competence

Competent

No code is provided to adjust

The application has limited

The application has functionality

appointment times based on user

functionality to automatically

to automatically adjust

time zones or daylight saving

adjust appointment times based on

appointment times based on user

time.

user time zones or daylight saving

time zones and daylight saving

 

time. The code contains errors or

time. The code is complete and

 

is incomplete.

functions properly.

F. Display Appointments

 

 

Not Evident

Approaching Competence

Competent

No code is provided to select a

The application has limited

The application has functionality

month from a selection list and

functionality to pick a month from

to pick a month from a selection

display all appointments for the

a selection list or to display ALL

list and to display ALL the

selected month.

the appointments for the selected

appointments for the selected

 

month or the display does not

month and the display includes all

 

include all expected fields (pet

expected fields (the pet name, pet

 

name, pet type, groomer name,

type, groomer name, service type,

 

service type, appointment date and

appointment date and time). The

 

time). The code contains errors or

code is complete and functions

 

is incomplete.

without errors.

G. Lambda Expressions

 

 

Not Evident

Approaching Competence

Competent

The application code uses fewer

The application code includes two

The application code includes two

than two lambda expressions in

lambda expressions within the

or more appropriate lambda

the login form code, or the lambda

login form code to make the

expressions within the login form

expressions are elsewhere, or no

program more efficient, but the

code to make the program more

justification is provided.

justification of the use of each

efficient and provides a logical

 

lambda expression with in-line

justification of the use of each

 

comments is illogical or the use of

lambda expression with in-line

 

lambda expressions is not

comments. The code is complete

 

appropriate. The code contains

and functions properly.

 

errors or is incomplete.

 

H. Exception Control

 

 

Not Evident

Approaching Competence

Competent

No exception controls are created,

The application code includes

The application code includes

or no code is provided.

some exception controls but does

exception controls to prevent each

 

not prevent each of the given

of the given points and uses at

 

points or uses only 1 mechanism

least 2 different mechanisms. The


 

of exception control. The code

code is complete and functions

 

contains errors or is incomplete.

properly.

 

 

 

I. Reports

 

 

Not Evident

Approaching Competence

Competent

No code is provided to generate

The application has limited

The application has functionality

reports.

functionality to generate the given

to generate each of the given

 

reports or the code contains errors

reports. The code is complete and

 

or is incomplete.

functions properly.

J. Track Reports

 

 

Not Evident

Approaching Competence

Competent

No code is provided to track report

The application has limited

The application has functionality

activity in an external file titled

functionality to track report

to track report activity by

report_tracking.txt.

activity by recording user id,

recording user id, report name and

 

report name and timestamp in an

timestamp in an external file titled

 

external file titled

report_tracking.txt, and each new

 

report_tracking.txt or each new

record is appended to the same file

 

record creates a new file instead of

if the file already exists or a new

 

being appended to the same file if

file is created if one doesn’t exist.

 

the file already exists or a different

The code is complete and

 

file is used. The code contains

functions properly.

 

errors or is incomplete.

 

K. Professional Communication

 

 

Not Evident

Approaching Competence

Competent

Content is unstructured, is

Content is poorly organized, is

Content is poorly organized, is

disjointed, or contains pervasive

difficult to follow, or contains

difficult to follow, or contains

errors in mechanics, usage, or

errors in mechanics, usage, or

errors in mechanics, usage, or

grammar. Vocabulary or tone is

grammar that cause confusion.

grammar that cause confusion.

unprofessional or distracts from

Terminology is misused or

Terminology is misused or

the topic.

ineffective.

ineffective.

 

 

 

WEB LINKS

 

NetBeans Installation Instructions

 

SUPPORTING DOCUMENTS

 

ERD_petspa.pdf

 

MySQL_Database_Setup_Instructions.pdf

 

MySQL_Database_Update_Script.pdf

Answer Preview

You can contact us to deliver this homework quickly. Meanwhile we are working to answer all questions.

This is only a preview of the solution. Please use the purchase button to see the entire solution