SummaryThis semester we will do the same project as last years
class. It didn't work out so well then, so we will take a different
approach this year. The basic project description is below.
The customer wants a generic web framework to make lists of locations
along with user commentary available on the web. For example one persom
might use this system to display information about used-book stores
while another might use it to track resteraunts.
More complete requirements description.
This system needs to run on the web without fancy client side
requirements (typical cross-platform client requirements like java and
other data concerning the establishments in some sort of
retrievable storage. The user should be able to view the entire list on
the web as html. The user should also be able to download the entire
list as either text, postscipt or pdf for offline viewing. The system
should also be tied in to one of the free online mapping programs
(google, frapper maps or something entirely different). When using the
mapping feature, the locations of the establishments should be
available visually (using 'pins' or some other technique. There should
be a way of clicking on a pin and seeing (more) information about the
establishment. Ideally, there should also be a mechanism to
select a subset of locations for printing or download by clicking on
Users should be able to update the list of locations and
establishments. There should be a mechanism for the user to submit data
(a record) about an establishment and its location via the site. There
should be a flag to either allow this data to be automatically be added
to the visible data or for it to be quaranteened till a moderator can
vett it. Finally there should be a mechanism to allow users to comment
on existing entries. A moderator should be allowed to remove
Your group assignments have been made,
If there is someone unable to work in the groups as assigned for
personal or scheduling reasons, let me know immediately since there
is limited time and I had to make some of the assignments randomly.
Your assignment is to meet with a
representative of the client (that would be your instructor) and
begin developing a set of requirements documents. The meetings will
probably take about a half hour. Please bring any questions you have
about the project with you and I will answer them at that time. I
will also be available by email, but more irregularly at other time.
Your documents will include:
A short domain Aalysis document
(1-3 pages as needed including the sections discussed in class,
some may be empty if they are not applicable)
A requirements document which
contains short, clear, objectively testable requirements for at
least the following types of requirements:
what the system should do
Constraints on the design to meet
specified levels of quality
Constraints on the environment and
technology of the system
A series of use cases describing
likely interactions between users and administrators of your
product and the product itself. You should have at least 5, but as
many as needed to make a good analysis of the project.
Your group should try to make an
appointment in the following sets of time which I will try to keep
available for this class in the next week till the groups have all
Monday: 11am-12:30pm. 3:15-5pm
Your group should make an
appointment with me by 4pm on Friday.
the first draft of this document
will be due Thursday Feb 7th by 4:30pm, feel free to slip
it under my door.
Design Assignment:It is now time to begin designing your
software solution to the problem. Read chapter 9 (which we are seeing
in the lecture this week) and understand it. Then start designing the
software. Your group will need to make a number of design decisions.
Keep track of the major decisions and the reasons for them.
Your design assignment should include the following parts in the first draft:
UML class diagram showing all of the classes in your solution including
the instance variables and methods in those classes and the
relationships between the classes.
- For the first draft we can omit the component diagrams.
- An accompanying document that summarizes what the methods are supposed to do and what the instance variables model/represent.
- A document describing the major design decisions made and the reasons for those decisions.
- An informal document that shows how each of the functional requirements will be implemented and in what class(es) and method(s).
your design you should look to increase cohesion and reduce coupling as
discussed in class and in chapter 9. Discuss briefly what your group
did to reduce coupling and to increase cohesion in your design in a
section of your documentation. You have relatively free reign, but when
picking a language for implementation, you need to make sure that you
choose one that is/can be object oriented.
The first draft is due on March 5th (Wednesday) In class.
Now it is time to start on the part of the project that you all know well: Implementation.
beginning implementation, I've selected 2 of the 5 designs that were
submitted last week. These designs were chosen partly on their clarity,
but also partly on my ability to cover some of the required
technologies in class. You are to read the two documents and comment on
one of them (if your document is one of the ones included you will
comment on the other one. Your comments should include:
may send this to me by email so long as it is sent by Wednesday April
9th at noon.You may also turn in your assesment to me on paper at the beginning of class on Wednesday. You will be graded on the thoroughness of your assesment. No late assignments will be accepted.
- What additional information you would need to know to implement this design.
- What do you view the chances of success in implementing this design
- Which of the two would you perfer to implement and why?
recieving this information I will make a final decision on the design
to be implemented and post assignments later that day. Your group will
recieve more information about logging in and doing assignments on