Java Homework
CMSC 335 Project 3
Overview
In this project you will construct a Java Swing GUI that uses event handlers, listeners and incorporates
Java’s concurrency functionality and the use of threads. The following book may be useful to help you
become comfortable with Thread processes.
https://learning.oreilly.com/library/view/java-7-concurrency/9781849687881/index.html
You should focus on the first 4 chapters.
If you have previously signed up for the Safari account you don’t need to sign-up again. Just use this link:
https://learning.oreilly.com/accounts/login/?next=/library/view/temporary-access/
If you have not previously requested a Safari account follow the details on this page to sign-up for your
Safari Account:
https://libguides.umuc.edu/safari
You’ll need to sign in using your UMGC student email account. Once you sign in, you’ll have immediate
access to the content, and you’ll shortly receive an e-mail from Safari prompting you to set up a
password and complete your account creation (recommended).
Students: Your UMUC e-mail account is your username + @student.umuc.edu (example:
hsolo2@student.umuc.edu).
In addition, a zip file is included that includes several Oracle Java files that use different types of Swing
components as well as threads. I recommend going through the reading and the examples to become
familiar before attempting the final project.
Assignment Details
As a new engineer for a traffic congestion mitigation company, you have been tasked with developing a
Java Swing GUI that displays time, traffic signals and other information for traffic analysts. The final GUI
design is up to you but should include viewing ports/panels to display the following components of the
simulation:
1. Current time stamps in 1 second intervals
2. Real-time Traffic light display for three major intersections
3. X, Y positions and speed of up to 3 cars as they traverse each of the 3 intersections
Some of the details of the simulation are up to you but the following guidelines will set the guardrails:
1. The components listed above should run in separate threads.
2. Loop through the simulation with button(s) providing the ability to start, pause, stop and
continue the simulation.
https://learning.oreilly.com/library/view/java-7-concurrency/9781849687881/index.html
https://learning.oreilly.com/accounts/login/?next=/library/view/temporary-access/
https://libguides.umuc.edu/safari
mailto:hsolo2@student.umuc.edu)
3. You will need to use basic distance formulas such as distance = Speed * time. Be sure to be
consistent and define your units of measure (e.g. mile/hour, versus km/hour)
4. Assume a straight distance between each traffic light of 1000 meters.
5. Since you are traveling a straight line, you can assume Y = 0 for your X,Y positions.
6. Provide the ability to add more cars and intersections to the simulation through the GUI.
7. Don’t worry about physics. Assume cars will stop on a dime for red lights, and continue through
yellow lights and green lights.
8. Document all assumptions and limitations of your simulation.
Submission Requirements:
1. Submit all of your Java source files (each class should be in a separate .java file). These files
should be zipped and submitted with the documentation.
2. UML class diagram showing the type of the class relationships.
3. Developer’s guide describing how to compile and execute the program. The guide should
include a comprehensive test plan that includes evidence of testing each component of the
menu with screen captures and descriptions supporting each test. Documentation includes
Lessons learned.
Your compressed zip file should be submitted to the Project 3 folder in LEO no later than the due
date listed in the classroom calendar.
Grading Rubric:
Attribute Meets
Design 20 points
Designs a Java Swing GUI that uses event handlers, listeners and
incorporates Java’s concurrency functionality and the use of threads.
Functionality 40 points
Contains no coding errors.
Contains no compile warnings.
Constructs a Java Swing GUI that uses event handlers, listeners and
incorporates Java’s concurrency functionality and the use of threads
Include viewing ports/panels to display the following components of the
simulation:
1. Current time stamps in 1 second intervals
2. Real-time Traffic light display for three major intersections
3. X, Y positions and speed of up to 3 cars as they traverse each of the
3 intersections
The components run in separate threads.
Loop through the simulation with button(s) providing the ability to start,
pause, stop and continue the simulation.
Provides the ability to add more cars and intersections to the simulation
through the GUI.
Test Data 20 points
Tests the application using multiple and varied test cases.
Documentation and
submission
20 points
Source code files include header comment block, including file name, date,
author, purpose, appropriate comments within the code, appropriate
variable and function names, correct indentation.
Submission includes Java source code files, Data files used to test your
program, Configuration files used.
Documentation includes a UML class diagram showing the type of the class
relationships.
Documentation includes a user’s Guide describing of how to set up and run
your application.
Documentation includes a test plan with sample input and expected results,
test data and results and screen snapshots of some of your test cases.
Documentation includes Lessons learned.
Documents all assumptions and limitations of your simulation.
Documentation is in an acceptable format.
Document is well-organized.
The font size should be 12 point.
The page margins should be one inch.
The paragraphs should be double spaced.
All figures, tables, equations, and references should be properly labeled and
formatted using APA style.
The document should contain minimal spelling and grammatical errors.
Any submissions that do not represent work originating from the student will be submitted to the
Dean’s office and evaluated for possible academic integrity violations and sanctions.
We provide professional writing services to help you score straight A’s by submitting custom written assignments that mirror your guidelines.
Get result-oriented writing and never worry about grades anymore. We follow the highest quality standards to make sure that you get perfect assignments.
Our writers have experience in dealing with papers of every educational level. You can surely rely on the expertise of our qualified professionals.
Your deadline is our threshold for success and we take it very seriously. We make sure you receive your papers before your predefined time.
Someone from our customer support team is always here to respond to your questions. So, hit us up if you have got any ambiguity or concern.
Sit back and relax while we help you out with writing your papers. We have an ultimate policy for keeping your personal and order-related details a secret.
We assure you that your document will be thoroughly checked for plagiarism and grammatical errors as we use highly authentic and licit sources.
Still reluctant about placing an order? Our 100% Moneyback Guarantee backs you up on rare occasions where you aren’t satisfied with the writing.
You don’t have to wait for an update for hours; you can track the progress of your order any time you want. We share the status after each step.
Although you can leverage our expertise for any writing task, we have a knack for creating flawless papers for the following document types.
Although you can leverage our expertise for any writing task, we have a knack for creating flawless papers for the following document types.
From brainstorming your paper's outline to perfecting its grammar, we perform every step carefully to make your paper worthy of A grade.
Hire your preferred writer anytime. Simply specify if you want your preferred expert to write your paper and we’ll make that happen.
Get an elaborate and authentic grammar check report with your work to have the grammar goodness sealed in your document.
You can purchase this feature if you want our writers to sum up your paper in the form of a concise and well-articulated summary.
You don’t have to worry about plagiarism anymore. Get a plagiarism report to certify the uniqueness of your work.
Join us for the best experience while seeking writing assistance in your college life. A good grade is all you need to boost up your academic excellence and we are all about it.
We create perfect papers according to the guidelines.
We seamlessly edit out errors from your papers.
We thoroughly read your final draft to identify errors.
Work with ultimate peace of mind because we ensure that your academic work is our responsibility and your grades are a top concern for us!
Dedication. Quality. Commitment. Punctuality
Here is what we have achieved so far. These numbers are evidence that we go the extra mile to make your college journey successful.
We have the most intuitive and minimalistic process so that you can easily place an order. Just follow a few steps to unlock success.
We understand your guidelines first before delivering any writing service. You can discuss your writing needs and we will have them evaluated by our dedicated team.
We write your papers in a standardized way. We complete your work in such a way that it turns out to be a perfect description of your guidelines.
We promise you excellent grades and academic excellence that you always longed for. Our writers stay in touch with you via email.