$30
SEG2105. Introduction to Software Engineering
Laboratory 1
Group work and partners: In this lab, and all other labs that involve
programming, you will work in groups of two. If you have not previously arranged
to work with someone in your lab section, then you will have to find someone
immediately. If there are an odd number of students, the TA may permit an
individual to work alone for now. No groups of 3 will be permitted.
Only one submission per group.
Seating: In the early labs, each group will use one computer, although you will
need an extra computer when you are doing later labs involving client-server
work.
Saving work and accounts: Your TA will give you any needed help regarding
setting up your account. Before you leave the lab each day, make sure you
have saved your work.
Using Eclipse: You will be using Eclipse in this lab. Instructions on how to get
started in the lab can be found here.
Exercises to do: Work on the following exercises from the textbook. You must
hand in only one copy of answers per group. Make sure the names and student
numbers of both partners are clearly indicated. You must work on these
questions during the lab and then finish off the work on your own time.
1. Before coming to the lab you were asked to read and understand Section
2.9 of the textbook, starting on page 57. If you have not done this, take
five minutes now to do it.
2. To start this lab, download the code for the PointCP example available
at http://www.site.uottawa.ca/school/research/lloseng/supportMaterial
/source/.
Compile the code and run it.
3. By modifying the original version, implement design 3 and design 5).
When you hand in the lab, you will hand in the code you have written.
4. Modify the PointCPTest class to allow you to test the designs you have
developed. Do a thorough series of tests to ensure your classes and
interface work properly. You will hand in the code, and also a printout of
the output generated by your tests.
5. Hand in your answers to exercises E26 (table of what you think will be the
advantages and disadvantages of each design), and E28-E30 (performance
analysis, comparing all three designs you have implemented instead of
Design 1 with Design 5 as the book says). To do this evaluation, for each
design create random instances and then call each method many
thousands of times, and then find the elapsed time in milliseconds for the
fixed number of iterations. Make sure that your program runs each time
for about 10 seconds so you get a good measure of performance. Test each
method separately. Run each version several times to ensure that your
results are consistent and use the median result as your definitive result,
plus give the maximum and minimum
6. Hand in a description of how you did the tests, sample outputs from
running the tests, the table and a discussion of the results.