0% found this document useful (0 votes)
29 views

1.0 Culminating Task Final Programming Assignment

Uploaded by

davidinformant
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views

1.0 Culminating Task Final Programming Assignment

Uploaded by

davidinformant
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Final Programming Assignment

Part One – Introduction To The Culminating Assignment


The software you develop will be based upon criteria and specifications given to you by your client.
The program you create should demonstrate your ability to use established programming techniques,
appropriate data structures, a robust design (reliable and easy to update), stable algorithms, and a
friendly user interface.

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

1. Work as an effective team:


a. Discuss how to divide the workload to establish a fair division of labour;
b. Use appropriate people skills when interacting with team members;
c. Meet regularly with group members to verify that tasks are being completed (log meetings).
2. Thoroughly test the finished product (log testing procedure/test cases).
3. Present the finished product to your client and have him/her test the program.
4. Disclose any limitations of the software or any problems (bugs) the software may still contain
when released.
5. Develop a user manual (user help system) to accompany the software final product.

Assessment and Evaluation

Assessment of this project will take into consideration both the process and the final product.

Submission of work for evaluation will include the following:

a. Discussions;
b. Scope document;
c. Feasibility study;
d. User guide;
e. Software application (the program);
f. Reflection report.

Software Development Life Cycle

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:

Stage One – Analysis

1. Participate in an initial discussion with your project group to determine:


a. A fair division of labour (based on team member strengths) and assignment of roles
(project manager, systems analyst, lead programmer, graphic artist, technical writer);
b. Project ideas.
2. The systems analyst conducts an information interview with the project client to discuss
software requirements.
3. Work with the group and technical writer to produce a scope document.
4. Use the Software Development Lifecycle to guide you: AnalysisDesign and
DevelopmentImplementationTestingMaintenance
5. Submit the scope document.

Stage Two – Design and Development

1. Prepare a feasibility study which includes the following:


a. Problem definition;
b. Problem analysis;
c. End user requirements;
d. Software project plan;
e. Statement of work;
f. Algorithms (flowcharts or pseudocode)
g. Storyboards(screen layouts);
h. Resource list;
i. Work breakdown with time estimates;
j. A project schedule;
k. A risk statement;
2. Project Manager hands in the group feasibility study.

Stage Three – Implementation (Code and Document the Solution)

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.

Stage Four – Testing/Verification

1. Team members complete individual program testing.


2. The project advisor completes thorough program testing.

State Five – Maintenance

1. Review your project log.


2. Prepare a report documenting the successes and challenges you encounter while creating
your application.
3. Hand in a reflection report documenting the successes, challenges, and limitations of your
work.

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.

A typical scope document follows an outline such as this:

Problem Statement

a. Project Background;
b. Stakeholders;
c. Users;
d. Risks;
e. Assumptions.

Vision of the Solution

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.

Scope of Phased Release (Optional)

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 That Will Not Be Developed

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.

Meeting With Your Group

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.

Checkpoint 1: Proposal Specifications - Due: Monday May 6, 2024

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.

Length: 1 page, minimum but as long is required.

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.

Length: 1 page, minimum but as long a required

Checkpoint 3: Code Review: Friday June 7, 2024


At this point you must have some of your coding done. Ideally most of the core functionality would be
done and you are adding features and imporoving the GUI. You now have 4 weeks and 4 weekends
to have your finished product. You will show the teacher what you have thus far and where you plan
to go in the project. The teacher will make some suggestions.

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.

Post-Checkpoint Presentations: Ongoing: Monday June 17, 2024

The exact date of your presentation and the presentation order to be determined by random draw and
linked to this page.

In the presentation you will:

 Display the program and all of its functionality.


 Tell the class about the most difficult problem you had to overcome
during the programming.
 Discuss any functionality that you would like to add if you were to
make another version of the program.
 You will show the code and explain what each section of code does
and how the code achieves it.
 The class will be free to ask you questions about your program.

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.

You might also like