原文连接:http://durchblickapp.wordpress.com/2010/03/07/week-2-project-planning/
Week 2: Project Planning
March 7, 2010
Software Requirements Specification
My mentor and me agreed not to overdo the project management since the project team consists of one person and instead focusing on the technical challenges. However I’ll write a SRS as defined by the IEEE basically consisting of the content of these blog posts. I’ll tailor out a lot and hope to learn about this international widely used format.
![](http://hi.csdn.net/attachment/201107/27/0_13117749701iEG.gif)
Table of contents of the Software Requirement Specification.
Customer Requirements
This project likely won’t end in a end-user product and therefore customer requirements would only be specified during the project or in the following project when needed.
Functional Requirements
Only in the scope of this project given by the following use cases:
- Get camera frames. (mandatory)
- Detect faces. (mandatory)
- Recognize faces. (mandatory)
- Do all this in realtime. (optional)
- Displaying Data (Nicely) (optional)
A fellow student asked me where the data comes from. The data needed for a scenario like in the mockup with the displayed tag cloud basically needs two types of data.
- Photos to run the face recognizion against (i.e. identify a person) and
- data of this person to display.
Both could be a complex request to a service with a lot of business logic. In the simplest case I’ll run the face detection against some static photos read in from the app bundle and display the file name. A cool feature would be to go through the photos of the people in the address book of the phone and display their name and/or some other properties like the e-mail address. I’ve worked with the address book Application Programming Interface (API) before and hope to have the time in the end to integrate such a feature. Thanks to Sebastian Steiner for bringing this up.
What Could Be Done Further Towards the Vision?
- improved application structure, better concurrency, optimizing
- entering data
- storing data
- profiles
- webservice
- caching data
Maybe after this project?
SWOT Analysis
Strengths: internal conditions that are helpful to achieving the goal:
- Knowledge of the iPhone platform.
- Support in OpenGL and OpenCV from the CPVR group.
Weaknesses: internal conditions that are harmful to achieving the goal:
- Dealing with the iPhone as a closed platform.
- Little support in the iPhone platform by the CPVR group.
- Dealing with performance and memory on a mobile device.
- It’s a complex task in a complex environment.
- Development on my single personal device.
Opportunities: external conditions that are helpful to achieving the goal:
- Easier development because Apple opens up the SDK.
- It gets attention because it’s a visionary topic.
- The folks from the CPVR group want to push it further, gain more knowledge in the iPhone platform and I can continue the work somehow.
Threats: external conditions that are harmful to achieving the goal:
- Problems with code signing/deployment to the phone due to issues with Apple’s infrastructure.
Work and Time Plan
Planned work packages for the 16 weeks:
- Idea and Kickoff; Kickoff Meeting #1 on 26 Feb
- Project Planning
- Project Setup
- Ways to Get to iPhone’s Camera Frames
- Ways to Get to iPhone’s Camera Frames (Continued); SRS Draft Milestone Meeting #2 on 26 Mar
- OpenCV Meets the iPhone
- Face Detection
- Face Recognition
- OpenCV Performance; OpenCV Milestone Meeting #3 on 30 Apr
- Displaying Data
- Displaying Data Nicely With OpenGL ES 2.0
- Displaying Data Nicely With OpenGL ES 2.0 (Continued)
- Buffer Week; Product Prototype Milestone Meeting #4 on 28 May
- Feature Freeze, Hardening, Cleanup
- Documentation Writing
- Presentation Preparing
The meetings are always coupled to a goal/milestone. The plan can change if unsolvable problems occur.
A work package should always be “released” by publishing the according blog post on Sunday.
![](http://hi.csdn.net/attachment/201107/27/0_1311775041Z8JT.gif)
Planned work packages for the 16 weeks with meetings.
This handmade diagram took me ages to make, so enjoy! :)
Artifacts
- Software Requirements Specification (LaTeX)
- Project Report (LaTeX)
- Presentation Handout (Keynote)
- Code (Git repository)