by Dr. Durant
This lab is based on a lab developed by Dr. Welch.
Overview
The purpose of this lab is to refresh your knowledge of C++ or Java and to gain
some familiarity with the Personal
Software Process.
Activities
This is an individual lab; each student is to submit a separate
report. However, you are encouraged to discuss your work with others and
to consult with the instructor as necessary.
In this lab, you will:
- Create a small C++ or Java program using an integrated development environment
- Track your time by development phase
- Record information regarding defects found during development
- Report on your results
Detailed instructions
If you have difficulties with any part of the lab, consult the instructor
for assistance. The basic sequence is:
- Review the C++ or Java language if you are out of practice.
Ask your instructor if you have any questions.
- Review the material provided on the Personal
Software Process.
- Sketch the design for a small C++ or Java program with at least one user-defined
class. The class should have a constructor, destructor (C++ only; include a finalize
method for your Java class only if needed), copy constructor (clone method for Java class),
an assignment operator (C++ only), and other member functions. For example, you might
implement a bank account class with member functions to make deposits and
withdrawals and to print the current balance.
- Implement the program using an IDE, such as Eclipse or Visual Studio. It is recommended that you use a Windows tool (not a Linux tool) since we will be using the Windows version of Enterprise Architect, our CASE tool, later in the term.
- Submit the lab report (details below).
Lab report
The lab report should consist of the following:
- A brief description of any problems you encountered or questions you have
regarding the lab.
- Your fully documented source code. See my documentation examples.
Although these examples are done in C++, a similar level of documentation is expected for Java.
For Java, please follow the use Javadoc formatting.
For C++, it is recommended, but not required, that you use the NDOC format, but
Javadoc and doxygen are also acceptable and commonly used documentation formats for C++ code.
- Your PSP time and defect logs including a summary of the amount of time
spent in each phase and the total number of defects injected and removed
in each phase.
Submit this report to the instructor via email, zipping all your files into a single archive.