How is the project going to be graded?
Your project will be graded based on the implementation, as well as
your report. You will be asked to perform a demo to one of the two TAs
to verify the correctness of the implementation. A working program will
be worth 40% of the total project grade. Please see instruction below on how to
sign up for demos. In addition, you need to submit the following five documents
(four in hard copy and one in electronic copy; to be turned in to the
Professor during his office hours on April 15):
-
Design Document (35%) (8~10 pages)
This document should provide the details of your design. It should
include at least the following items:
-
Feature lists: please describe all the implemented features. Descriptions
on extensions should be more detailed than the basic features. (8%)
-
References: references you used for your project, especially those on the
extensions. (3%)
-
Process structure: how your program is structured with respect
to processes, threads, etc. How do you support multiple clients? (5%)
-
Data structures & Algorithms: data structures used in your program.
Please describe any special algorithm you created if there is any (10%).
-
OS dependency: anything special in your program that depends on the use
of a particular OS or software. (2%)
-
Functional decomposition (C) or object relationship (C++):describe the functions of main building blocks of your program.
(Flow charts and/or class diagrams are preferred). (5%)
-
Limitations and bugs: any known limitations or bugs in your program. Provide
suggestions on how to solve them. (2%)
-
User Document (10%) (2~5 pages)
This document should be like typical "README" files, i.e. it should
cover at least the following areas:
-
Highlights of implemented features (1%)
-
Any special functions and restrictions of your implementation (1%)
-
How to set up your web server completely, i.e. how to compile & install,
environment variables, command line arguments, (5%)
-
Any special requirement on the environment in which your server will be
run (1%)
-
Any special issues that would impact the security of the server (2%)
(like what sort of file permissions, directory restrictionns, etc)
-
Performance Document (15%) (3~5 pages)
This document should provide measurements on the performance of your
server. It is recommended that you include at least the following items:
-
Performance of your server in terms of the following three metrics:
-
memory usage
-
maximum number of simultaneous clients that it can handle
-
average throughput of the server when large files are transferred
-
If possible, please provide statistics of your results (i.e. mean, std,
measurement error, etc.). Results given in the forms of graphs or charts
will be given more favorable considerations. (5%)
-
Explain how you obtained the above results, especially if you used any
benchmarking software or tools. (5%)
-
Software metrics:
please provide the amount of time you spent in reading references,
actual coding and testing of the programs.
Your source code should be well commented (so that TAs can give you
partial credit in case some features do not work). Please print your source
code double-sided in two-column format.
All these documents should be clearly written at a technical level that
is readable by your fellow CS students. Please combine them in a single
report and submit it during Prof. Fall's office hour on Thursday, April
15 (10:30~12:00, 741 Soda). Each group submits one copy ONLY.
-
Electronic copy of source code
Please compress the source code into a tar file whose name is the
sum of the SID numbers of all members in your group. Please remember this
number and don't give it out to others; it will be used in your demo. Then
send an email with this compressed file as an attachment to the TA who
you have signed up with for the demo. If you have signed up with Wilson, please
send the email ee122-tb@cory.eecs ; if you have signed up with Linhai, please send
the email to ee122-ta@cory.eecs .
Do this by 5pm on 4/15/99.
Demos
- How to sign up for demos
- A sign-up sheet will be posted on the door of 179 M Cory. Please select
one of the available slots (Each group choose one ONLY!) on the sheet.
On the day of demo, please make every effort to show up in time.
- Show up 5 (or more) minutes before your demo time at Soda 273/275
- You will be asked to compile and run your server for the TAs.
- Demos will take about 15 minutes.