تم الحل ✓
categoryهندسة الحاسبات
schoolبكالوريوس
event_available2026-07-15
السؤال
Transcribed Image Text:
You have been asked to create a project management system for a small
structural engineering firm called "Poised". Poised does the engineering needed to
ensure the structural integrity of various buildings. They want you to create a Java
program that they can use to keep track of the many projects on which they work.
Poised stores the following information for each project that they work on:
Project number.
Project name.
• What type of building is being designed? E.g. House, apartment block or
store, etc.
The physical address for the project.
ERF number.
The total fee being charged for the project.
The total amount paid to date.
Deadline for the project.
The name, telephone number, email address and physical address of the
architect for the project.
The name, telephone number, email address and physical address of the
contractor for the project.
The name, telephone number, email address and physical address of the
customer for the project.
Poised wants to be able to use your program to do the following:
Capture information about new projects. If a project name is not provided
when the information is captured, name the project using the surname of
the customer. For example, a house being built by Mike Tyson would be
called "House Tyson" and an apartment block owned by Jared Goldman
would be called "Apartment Goldman".
• Update information about existing projects. Information may need to be
adjusted at different stages throughout the lifecycle of a project. For
example, the deadline might change after a meeting with various
stakeholders.
• Finalise existing projects. When a project is finalised, the following should
happen:
。 An invoice should be generated for the client. This invoice should
contain the customer's contact details and the total amount that the
customer must still pay. This amount is calculated by subtracting the
total amount paid to date from the total fee for the project. If the
customer has already paid the full fee, an invoice should not be
generated.
• The project should be marked as "finalised" and the completion date
should be added. All the information about the project should be
added to a text file called "Completed project".
• See a list of projects that still need to be completed.
• See a list of projects that are past the due date.
• Find and select a project by entering either the project number or project
name.
Compulsory Task
Follow these steps:
⚫ Design your program to meet the specifications given by the client.
Extend the program that you have written in previous Capstone Projects
so that this program also:
• Reads details about existing projects from a text file and uses this
information to create a list of project objects.
。 Allows a user to add new objects to this list.
• Allows a user to select and update or finalise any project on the list.
• Allows a user to see a list of projects that still need to be completed.
。 Allows a user to see a list of projects that are past the due date.
• Writes the updated details about the projects to the text file when
the program ends.
• Besides meeting the above criteria, you should also do the following:
。 Make sure that your program includes exception handling. Use
try-catch blocks wherever appropriate. This should include
ensuring that your program handles exceptions related to writing
or reading to/from text files and exceptions related to acquiring
user input.
。 Make sure that you have completely removed all errors from your
code. Take extra care to ensure that logical and runtime errors have
been detected and removed.
。 Make sure that your code has been adequately refactored.
。 Make sure that your code is adequately documented. Adhere to the
style guide found here.
• Use Javadoc to generate API documentation from documentation
comments for your program.
check_circle الجواب — حل مفصل خطوة بخطوة
hourglass_top
🔒
الحل الكامل متاح للمشتركين
اشترك في أرشيف الأسئلة لعرض هذا الحل وآلاف الحلول المفصلة خطوة بخطوة من معلمين معتمدين.