->Homepage
->Schedule
->Courses
-->CS182
-->CS183
-->Tentative Schedule
-->Objectives
-->Quiz 1
-->Lab 1
-->Lab 2
-->Lab 3
-->Lab 4
-->CS285
->Course Policies
->Electronic Submission
->Documentation Standards
->Old Exams
->C++ Examples
->MSVC++ Info
->Software
->Support Forum
->Unix Info
->Nature Photos

[Home]
[Rich][Home][Rich]
[Author]
CS183 -- Lab 3: Web Log Analyzer

Winter 2003-2004

Objectives Addressed
  • Understand the rationale for object-oriented design and programming.
  • Understand data abstraction and abstract data types.
  • Be familiar with UML class notation and use cases.
  • Be able to design and implement simple C++ classes and class libraries.
  • Be able to design small software systems using classification and use cases.
  • Be able to document the design and implementation of small software systems.
Overview

The purpose of this assignment is to develop an httpd log file analysis program.

Problem Statement

In groups of two, you are to develop a software application that will analyze a set of httpd log files (with perhaps only one file in the set) and generate a report with relevant statistics. The report may be in plain text, XML, and/or HTML format.

Additional log files are available for use with your program: 03OctPhotos.zip, 03OctUnix.zip, 03DecPhotos.zip, and 03DecUnix.zip.

Constraints

Each pair should select one implementation of the Histogram from the ones implemented by the team members as a starting point. You may modify the class as you see fit. You may make use of the LogEntry class; however, you may not modify it.

You may not use any global data objects (at file scope).

Design (due end of week 5 lab)

Note: Submit the lab 3 report template with only the "Features" and "Design Documentation" sections completed. When you submit your final report, you can fill in the remaining sections of the report and make any modifications necessary to the already submitted portion. There should be only one submission per group.

Each pair must decide what features their software will implement and make a proposal by the end of the first lab period. It may be useful to look at the following sites to get some ideas: Analog, Webalizer, AwStats, SuperStats, and WebStat.

Your design must consist of an annotated UML class diagram (see my useful software page for a tool to draw UML diagrams (video on using it)) expressing your high level design, a verbal description of how your objects/functions will interact, and at least one use case for your software application.

Interim Activity Logs (due 11:00pm, the day prior to week 6 and 7 labs)

You should submit an activity log to indicate your activity and progress on this assignment during the first two weeks of the assignment. Please submit one log per team.

Lab report (due 11:00pm, the day prior to week 8 lab)

Here is a template file to use as a starting point for this report.

The lab report should consist of the following:

  • Your design documentation. (You may include images (in .png format) of scans of hand drawn UML diagrams and sequence diagrams if needed.)
  • Your reaction to this assignment -- convince your instructor that you were thinking while working on this assignment... potential discussion topics include: what you learned, how well you did or didn't work as a pair, things that you could have done differently in your design to simplify your coding, suggestions for how the assignment could be improved, etc...
  • Your individual activity logs and a summary of your activity logs indicating how much time you spent on the assignment. Please follow the time log format given in the template file. In particular, you should record the date and time for each block of time you work on the project. Please report the time in the following categories:
    • Designing
    • Coding
    • Debugging (before you think it's working)
    • Testing (after you think it's working)
    • Writing report
    • Other
  • The documented source code for your program. Do not include the files in LogEntry.zip or 03NovPhotos.zip.

As with any report you submit, correct spelling and grammar are required. In addition, your report should be submitted electronically following the Electronic submission guidelines. (You may wish to consult the XML help video and/or sample report before submitting your report.) Be sure to keep copies of all your files, in case something gets lost.

If you have any questions, consult your instructor.

Acknowledgment

This laboratory was developed by Dr. Chris Taylor.

Last Updated: Friday, 16-Jan-2004 12:50:49 CST