Project Information
2D1363 Software Engineering
NOTE: All teams will be
working on the same project.
The course project will be
the design and implementation of a program called SPREADSMART – A Deductive
Spreadsheet. In class, you will be given
the following two items:
1.
An actual recent
Request for Proposals (RFP) from the Defense Advanced Research Projects Agency
(DARPA – the folks that brought you the ARPANET which later came to be known as
the Internet).
2.
A complete
proposal for constructing the system described in the RFP.
Your job will be to:
1.
Perform a
requirements analysis.
2.
Do a design based
on your requirements analysis.
3.
Produce and carry
out an implementation plan.
4.
Produce and carry
out a test plan.
Note
that this work will extend over periods 2, 3 and 4.
Your
work will be based on the proposal that I have supplied, but you do not need to
follow it exactly – feel free to make your own variations. In fact, if you have better ideas on how to
build a Deductive Spreadsheet than those presented in the proposal, by all
means follow them. This is a difficult
problem and I expect that most of you will not be familiar with the subject
area. That is why I have provided a
completed proposal as a guide.
You
will be required to complete and hand in the following documents:
1.
Project Analysis and Development Plan (PADP)
2.
Design Document (DD)
3.
Implementation Schedule – Format
Specification
4.
Test Plan (TP)
5.
Project
Postmortem
These documents must be produced
according to the templates/guidance provided (follow the links).
In
order to give you an idea of how to fill in the templates for items 1 and 2, I have
included samples for a Monopoly type game project. This should give you a good idea of what I
expect from you. These sample documents
are pdf files and can be found at:
1.
Sample Project Analysis and Development Plan
If
these documents seem intimidating to you, that is because they are!! Software Engineering is hard work. But don’t worry – you can do it! I have complete confidence in you all.
Teamwork:
You
will work on this project as part of a team (approximately 4 persons) to which
you will be assigned. I expect each team
to meet at least once a week. At your
first meeting, you will need to decide on who is going to be team leader. I also suggest that you select an alternate
team leader in case the actual team leader can’t fulfill his or her
responsibilities due, for example, to illness.
I expect you to decide on how you are going to function as a team. I will provide some advice on how to do this
at the lectures. The team leader will be
responsible for filing the weekly progress
reports that are required as well as the required documentation described
above. This position will rotate during
the course of the project. The first
team leader will be responsible for the 4 reports that are due during period 2.
Here
is the schedule of project events for period 2:
10/29: Register with the RES system for the course.
11/1: Receive team assignments.
11/8: File Progress Report 1
11/15: File Progress Report 2
11/22: File Progress Report 3
11/29: File Progress Report 4
12/20: File Project Analysis and Development Plan
Here is the schedule of major project events for periods 3 and 4
(subject to change with 1 weeks notice)
Week
3 (17/1 - 21/1): PADP review meetings.
31/1: PADP rewrites due.
21/2: DD due.
Week
9 (28/2 - 4/3): DD review meetings.
14/3: DD rewrite due.
14/3: IS due.
Week
14 (4/4 - 8/4): IS review meetings.
18/4: TP due.
Week
17 (25/4 - 29/4): TP review meetings.
9/5: TP rewrite due.
Week
20 (16/5 - 20/5): Final Project Due
27/5: Project Postmortem
Progress reports will be due
on the following days:
17/1, 24/1, 31/1, 7/2, 14/2, 21/2, 28/2, 7/3, 4/4, 11/4,
18/4, 25/4, 2/5, 9/5.
Each of the reviews will be
held on an individual group basis and will last roughly 20 minutes. Attendance at the review meeting is mandatory
for all team members unless an individual team member has obtained a prior
exception from me at least 3 days before the meeting. You will be able to sign up for a time on
signup sheets outside of Rand’s/Inge’s office (you will sign up with the person
to whom you normally send your progress reports). I will announce when the signup sheets are
available for each review. The purpose
of each review is to go over with you the documents that you will hand in and
notify you of any suggested/required changes.
The document rewrites will be due on the days shown (2400 as usual).
Meetings will be scheduled
during the week specified on an individual group basis (also by means of signup
sheet) for the final project presentation.
We will expect you to be prepared to answer questions and demonstrate
your code on any of the test cases that you have specified in the TP. No additional written documentation will be
required at the presentation.
The Project Postmortem is a 2
or 3 page document that sums up your experiences on the project. It is a chance for you to look back on your
work and experience on the project and do a little self evaluation. It should include a description of the things
you did wrong, the things you did right, and the lessons you have learned.