Suggested Course Project: Its a Profs Life
Code base: cv.zip
Note: I have given you partially annonomized data. You need to further annonomize it. There will be a significant penalty to any group who's web site/application contains any reference to me or data traceable to me.
Week 1: Analysis: The Users Problem and the As Is State
The Users Problem
- Interview the user.
- What is the big pitcure problem the user is trying to solve?
- Good, Better, Best Analysis
- What are the key user tasks? Draw a process diagram.
The Existing Application
- What does the existing application do? Make a list of the key processes supported by the software.
- Create a set use case senarios.
- What are the key user tasks supported by the existing application? Draw a process diagram.
- What does the existing application require to be installed in the environment? Create a list.
The Existing Codebase
- What is the main call graph? (Hint: Start from cv.bat)
- What is the database schema?
- Which tables are arctual used? What parts of documents are "hand coded"?
- What is the assumed directory structure?
- How are errors handled?
Week 2: Analysis 2: The Abstraction and Figuring Out What Matters
- Meeting notes (ARC)
- Intro to the Cloud
- Group work: ARC to review task 2
- TA1: Review group pages, results of Task 1, create group listing page.
- TA2: Assist groups in getting system running
- ARC: Client for task 2.
Task 2: Analysis
- Create an abstract description of the problem.
- Get a handle on scale of data
- Generalize the requirements
- Find analogies to existing systems
- Looking for software that solves part of the problem
- Looking for data sources
- Make an initial set of
- Design goals
- Design principals
Task 3: Analysis 3: Thinking about Technical Approaches
- Get a local copy of the original code base working
- Exploring technical approaches
- Data storage?
- Integration with other applications?
- HTML Generation?
- Latex Generation?
- Storage of PDFs
- Web Site Management?
- What "technology proving" prototypes are required? Create a List.
- Create an initial Paper Prototype.