U.C. Berkeley Calendar Network Specification version 1.0

Allison Bloodworth


Table of Contents

1. Introduction
1.1. Purpose
1.2. Document Conventions
1.3. Intended Audience & Reading Suggestions
1.4. Product Scope
1.4.1. Goal
1.4.2. Requirements
1.4.3. Objectives
1.5. References
2. Overall Description
2.1. Product Perspective
2.2. Product Functions
2.3. User Classes & Characteristics
2.4. Operating Environment
2.5. Design & Implementation Constraints
2.6. Assumptions & Dependencies
3. External Interfaces
3.1. User Interfaces
3.2. Hardware Interfaces
3.3. Software Interfaces
3.4. Communications Interfaces
4. Non-Functional Requirements
4.1. Reliability/Availability
4.2. Performance/Speed of the User Experience
4.3. Security
4.4. Scalability
4.5. Maintainability
4.6. Usability
5. System Architecture
6. Data Objects & Operations (Model & Controller)
6.1. Event
6.1.1. Properties
6.1.2. Methods
6.2. Accounts
6.2.1. Properties
6.3. Users
6.3.1. Properties
6.4. Permissions
6.4.1. Properties
6.5. Subscriptions
6.5.1. Properties
6.5.2. Methods
7. Functional Description
7.1. Calendar & Event Management Application
7.1.1. Event Manager
7.1.2. Format Calendar
7.1.3. Help Screens
7.2. Live Calendar
7.2.1. Calendar with Horizontal Navigation
7.2.2. Calendar with Vertical Navigation
7.2.3. Event Details Screen
8. Database Description
8.1. ER Diagram
8.2. SQL Statements
9. User Scenarios/Test Cases
9.1. Scenario 1
9.2. Scenario 2
9.3. Scenario 3
10. Implementation Recommendations
10.1. Programming Language/Software Recommendations
10.1.1. Apache Web Server
10.1.2. PHP
10.1.3. Database
10.1.4. XSLT Processor
10.2. Hardware Recommendations
10.3. Coding Style Guidelines
10.3.1. Comments
10.3.2. Function Declarations
10.3.3. Compound Statements
10.3.4. Naming
10.3.5. Constants
10.3.6. Variables
10.3.7. Long Lines
10.3.8. Expressions
10.3.9. Idioms
10.4. Efficient Database Queries
11. Back-up & Recovery Guidelines
12. Maintenance & Support Plan
13. Cost Estimate
14. Development, Testing & Launch Timeframe
15. Future of the Project
Appendix A. The Event Model
Appendix B. Calendar Styles
Appendix C. BCN_DB.sql
Appendix D. Cost Estimates