1.0 Culminating Task Final Programming Assignment
1.0 Culminating Task Final Programming Assignment
An additional requirement of this culminating activity is that your group finds a client who is willing to
meet with a representative from your group and act as a project client or end user. Numerous people
may agree to work with you in this regard. For example, your project client could be a teacher
(elementary or secondary) or an approved client from the surrounding school community
(businessperson, parent, etc.).
A brief informal interview will take place between a representative from your group and the person
you have selected as a client for your group. This interview should occur after your group has had
time to discuss ideas and decide upon a program that they wish to create. The purpose of the
information interview is to share your group’s ideas with the client and receive feedback. Be sure to
ask your client for suggestions related to how such a program should work, and what features they
would like to see included in the finished product.
Program Requirements:
1. Produce a modular program that is divided among multiple files and classes.
2. Design user-friendly input-output forms.
3. Use appropriate data types (int, String, long).
4. Use conditional control structures (if-statement, switch statement).
5. Use loop structures (for, while).
6. Use built-in methods and properties.
7. Create and use custom methods.
8. Use at least one form of array (one-dimensional, two-dimensional, data objects).
9. Perform searching as required.
10. Perform sorting as required.
11. Use recursion (only if necessary, as not all projects will require recursion).
12. Read from and write to an external file (e.g. input and store user data or other needed data).
13. Encapsulate the final program to include an intro screen, program itself, and an exit screen
using the JOptionPane function.
14. Add an enhancement (graphics, animation, etc.).
15. Use white space and indenting to improve readability of code.
16. Use internal comments to explain clearly the program code.
Program Ideas:
You are to meet with your client and discuss what could be made. Some possible ideas would be, an
inventory program, graphing calculator, soundboard, or physics graphs.
Additional Requirements
Assessment of this project will take into consideration both the process and the final product.
a. Discussions;
b. Scope document;
c. Feasibility study;
d. User guide;
e. Software application (the program);
f. Reflection report.
To help you manage your time, this project will be divided into the five stages of the software
development lifecycle.
During each stage, you will be asked to complete the following activities and submit the following
components:
1. Produce code for your application based on the planning completed in the previous phase.
2. Record problems encountered and changes made from your initial plans in a project log.
3. Create a user guide.
4. Hand in the user guide.
5. Hand in an error-free, user/programmer friendly software application.
Definitions
User: The person who will use the software to perform tasks.
Stakeholder: Is anyone who has an interest (or stake) in the software completion.
Project Manager: Is the software engineer who plans and guides the software project.
Systems Analyst: Is the software engineer who talks to stakeholders and users and writes software
requirements. He/she then designs technical solutions and algorithms.
Programmer: Is the software engineer who writes the program code.
Computer Graphic Artist: Are the designers who prepare sketches and layouts to illustrate their
vision of a graphic design. They often use specialized computer software to help create elements and
to program animated graphics.
Technical Writer: Is the person who creates project proposals, instructions, training materials,
technical reports, online documentation, help systems, web pages, multimedia presentations, and
sales promotion materials.
Tester: Is the software engineer who verifies that the software meets its requirements and behaves
as anticipated.
Software Scope Document
It is during the analysis stage of the Software Development Life Cycle that a software scope
document is developed.
Problem Statement
a. Project Background;
b. Stakeholders;
c. Users;
d. Risks;
e. Assumptions.
a. Vision Statement;
b. List of Features;
c. Scope of Phased Release (Optional);
d. Features that will not be developed.
Project Background
This section contains a summary of the problem that the project will solve. It should provide a brief
history of the problem, and an explanation of how the organization justified the decision to build
software to address it.
Stakeholders
This is a list of stakeholders. Each stakeholder may be referred to by name or by role (VP, senior
manager, etc.) The needs of each stakeholder are described in a few sentences.
Users
The is a list of the users. As with the stakeholders, each user can be referred to either by name or by
role (home website user, support rep, etc.).
Risks
This section lists an potential risks to the project. It might include external factors that could affect the
project, as well as internal issues or problems that could cause project delays.
Assumptions
This is the list of assumptions that the stakeholders, users, or project team have made. These
assumptions often relate to the amount of time that a programmer expects to complete tasks.
Vision Statement
The goal of the vision statement is to describe the purpose of the project. This should be a compelling
reason – a solid justification for spending time, money, and resources on the project.
List of Features
This section contains a list of features. A feature fulfills specific need by providing a service or
capability. Each feature should be listed in a separate bullet point. It should be given a name,
followed by a description.
Sometimes software projects are released in phases: a version of the software with some subset of
the features is released first, and a newer, more complete version is released later. This section
describes the plan for a phased release, if that approach is to be taken.
Features are often left out of a project on purpose. When a feature is explicitly left out of the software,
it should be added to this section to tell the reader that a decision was made to exclude it. For
example, one way to handle an unrealistic deadline is by removing one or more features from the
software, in which case the removed features should be moved into this section.
Points for discussion with your group should include the following:
Your name and the group to which you are working with.
How you have found the course up to this point.
Tell a little bit about yourself, including what you see as your strengths.
What role would you prefer to take in this project group (project manager, systems analyst,
programmer, graphics designer, or technical writer)?
Would you like to volunteer to be the project manager?
Do you have any ideas for a program that you would like to create for this project?
Do you know anyone who may be willing to act as a contact person/advisor for the project?
Do you have any ideas for resources that you feel may help your group prepare for the
project?
Do you have any concerns or questions related to the assignment?
Finally, your scope document needs to be a word-processed document no more than 300 words, to
be completed and submitted by the project manager in consultation with the team members and your
contact person.
Your final programming assignment is very simple: you must find a client and create a program based
upon their needs and specifications. The goal is to create a .jar (Java Archive) file or perhaps an
Applet that the user can access easily (as in NOT through jGrasp) whenever they want. Your client
will be a teacher and you must ask them what kind of program you can write for them. Since they may
not know your abilities and/or the abilities of Java you will have to guide them as to the functionality of
the program. You will also produce a user's guide for your client.
Once you have agreed upon a program you must create a proposal specification. The terms of this
specification are explained below.
As in previous years, there will be several check points along the way to keep you on track.
When creating this program, you must display your Java programming skills, it is expected that your
program will contain all of the following: decisions, loops, arrays, methods and somewhat advanced
logic skills. Depending on the application you may employ files, frames, sorting, and/or recursion.
First, create a subfolder in your ICS folder called ISU[3 let] to hold all files related to your project. This
folder will be put into your Assignment To Submit folder when the Final Programming Assignment is
due.
Your proposal spec is a document that spells out the details of the program and the implementation
schedule. In simpler terms, what will be done and when. You may decide, with your client, to
implement a prototype version before implementing the final project.
So you must include a detailed description of the program. This includes the basic functionality, extra
features that would ideally be added and the order in which they will be attempted.
Your proposal spec is essentially a contract stating that this is what you will do for your client and this
is when it will be done. In our case, the when is pretty easy, but the what must be quite detailed.
Your spec must include a spot for your signature, guaranteeing the work and the time line and the
client's signature, agreeing to the terms.
Submit the signed document to Mr. Hapon and keep a Word document called
CulmProposalSpec[3let] in your Culminating Task folder.
Checkpoint 2: Pseudocode & IPO Chart - Due: Monday May 13, 2024
You must submit the Pseudocode and IPO Chart for your program. This will help you get focused and
started on the program. It will help you layout the logic and flow of your program.
The Pseudocode and IPO Chart should be a Word document called ISUPseudo[3let]. You should
print it and submit a hard copy to Mr. Hapon and you should place the file in your ISU subfolder.
Final Checkpoint (but not the end): Code Delivery: Friday June 14, 2024
Today is the day you deliver the application to your client. You must install the application on the
computer of your client's choosing and you must deliver the user's guide. You must also have them
sign a delivery receipt. Your delivery receipt must state that the client agrees that the terms of the
proposal spec have been met. That is, you have created the program that you planned to create and
all the features and functionality is present, you have installed the application and delivered the user
guide. Again there must be space for your signature and the client's signature, agreeing that all terms
have been met.
Submit the signed document to Mr. Hapon and keep a Word document called
ISUDeliveryReceipt[3let] in your ISU folder.
The exact date of your presentation and the presentation order to be determined by random draw and
linked to this page.
There will be 8 presentations scheduled per day. We need to get everyone presented by the
beginning of exams. Therefore people scheduled to present on a certain day MUST be ready to
present one day earlier.