Specification Document
Team iLeaf (Sunli Guo, Ye Niu)
CS690 Master Project, Department of Computer Science, USF
Sponsored by TeaLeaf Solution
1
2009 Fall
Table of Contents
1.Introduction 3
Project Overview 3
2.Goals 4
3.Project Design 5
Develop Environment 5
Development methodology 5
Product Workflow 6
Phase 1: 6
Phase 2: 7
Requirement 7
-Test sample requirement: 7
-Documentation requirement: 7
-Management Application requirement: 8
4.Deliverables and Timeline 8
Week 1 (Ends September 6th) 8
Week 2 (Ends September 13th) 8
Week 3 (Ends September 20th) 8
Week 4 (Ends September 27th) 9
Week 5 (Ends October 4th) 9
Week 6 (Ends October 11th) 9
Week 7 (Ends October 18th) 9
Week 8 (Ends October 25th) 9
Week 9 (Ends November 1st) 9
Week 10 (Ends November 8th) 10
Week 11 (Ends November 15th) 10
Week 12 (Ends November 22nd) 10
Week 13 (Ends November 29th) 10
Week 14 (Ends December 6th) 10
Week 15 (Ends December 13th) 10
2 Project Requirements Document
1.Introduction
Project Overview
Tealeaf is well known for its powerful end-user experience monitor tool products.
It empowers the companies to see their customers’ actual online experiences,
analyze their motivations and ultimately gain insight as to why abandonment or
other site actions occur. The web application management solution captures
every user session, detects application failures in real time, alerts operations staff
to these problems immediately, and correlates the problems to the end users
instantly. Therefore, it can increase application reliability, accelerate problem
solution, and lower overall cost of application ownership.
Currently, Tealeaf’s product captures and records users’ visit and actions on a
browser-level base, which means it is still on a workstation platform. To enable
Tealeaf's solution work on mobile devices will be the next step.
Due to mobile devices’ special features like small fixed screen and mobile
network service. Traditional web browser based web sites would not work
properly on these mobile devices. Therefore, companies like amazon.com
develops dedicated application to provide better user experience on mobile
devices. Users can use an Amazon app on iphone to access user’s Amazon
online account and make purchases directly.
Since there is no user activities data transporting between apps and server,
unlike browser’s session, a framework providing such functions is necessary for
expanding tealeaf’s services on mobile devices like iPhone. Our team project is
to develop a library for these iphone applications. With the original Tealeaf’s
solution idea, this library will be able to capture the user actions and events of
this application on iphone, record and then be able to replay them.
Project Requirements Document 3
2.Goals
- Provide libraries, which capture and reproduce user activities and
responding application events.
- The libraries will not affect original user experience in any matters. This
means new libraries will provide the same interface as the original libraries
in iPhone development SDK. iPhone developers will be able to only
slightly change their code to utilize the libraries without changing the
behavior of their applications.
- Design a protocol for capturing and reproducing all target activities and
events data
- The libraries will have an interface to set/get captured data in designed
protocol
- Develop a Mac-based management application for saving and replaying
captured user activities and application events.
- The management application will be able to browser all captured data and
specifically interpret selected ones using designed protocol
- The management application will be able to invoke iPhone simulator as
activities/events replay environment
- Provide sample applications that can illustrate all functionalities as testing
tool and also examples in documentation
- Apply similar architecture to tealeaf’s current software, provide easy-
operating interfaces for possible integration
- Provide full documentation
4 Project Requirements Document
3.Project Design
Develop Environment
We will develop our library and do testing basically on iphone SDK environment.
iPhone and iPod touch are sophisticated devices that combine the revolutionary
multi-touch interface with powerful features, such as email and instant-
messaging capability, a full-featured browser. With the advent of the iPhone SDK,
these powerful features are extended to include significant developer
opportunities. In addition to creating web content for user on iPhone OS-based
devices, developers can use the iPhone SDK to create native applications people
can store and use on their device.
iPhone SDK basically includes the Xcode IDE, iPhone simulator, and a suite of
additional tools for developing applications for iPhone and iTouch.
Development methodology
We will use agile development as development method, so that we can focus on
the demand of sponsor and react quickly when changes occur during the project.
All deliverables will be assigned a difficulty index. We will use the difficulty index
to evaluate team workload in each lightweight development circle. As a result, we
will be able to track development progress more precisely, and hence improve
efficiency.
Project Requirements Document 5
Product Workflow
Here’s the original iPhone application design:
Users can trigger the events on an iPhone application by touching the iPhone
screen. Then the UI event will be sent to iPhone Operating System.
Currently we initially have two phases in our project plan.
Phase 1:
At the first phase, we will use our library to capture the UI event the iPhone OS
send back to user, the UI event will be recorded and save into database or other
format like XML. Then the UI event will be reproduced to send to user again.
6 Project Requirements Document
Phase 2:
At phase 2, the events and actions will be loaded from XML or database. Then
they will be replayed on the monitor, with both events details and the regarding
actual event show on the iPhone simulator.
Requirement
-Test sample requirement:
The test samples should include as many user activities as possible. Test
samples should also be able to invoke as many UI events as possible. In addition,
test samples will be able to communicate with a server on the network. Thus a
lightweight test-oriented website/server shall be implemented as well.
-Documentation requirement:
Documentation should be as complete as possible. Since we are applying agile
development method, documents shall not be fixed. As development progressing,
documents should track all changes of sponsor’s demand and responding
Project Requirements Document 7
design/implementation changes. Moreover, a manual for developer, who will
likely to develop using the libraries of this project, should be provided.
-Management Application requirement:
The User Interface of management application shall keep the style of other
tealeaf product with similar functionality. The architecture of tealeaf’s similar
product should be referenced so that similar interfaces will be implemented. This
will make future integration more convenient.
4.Deliverables and Timeline
Deliverables are scheduled within Timeline. Since we apply agile
development method, our development described in the Timeline
contains lightweight processes including: design, implementation, test
and documentation.
Week 1 (Ends September 6th)
- Project decision;
- Meeting project sponsor;
Week 2 (Ends September 13th)
Deliverable: Draft of Specification document
- Investigating project;
- Development environment construction;
- Website construction;
Week 3 (Ends September 20th)
Deliverable: iPhone applications utilize as many user interface object and invoke
as many UI events
- Test samples development;
- Design adjustment;
- Development Circle 1 sponsor meeting;
8 Project Requirements Document
Week 4 (Ends September 27th)
Deliverable: Specification document; Libraries partially take over user activities
and UI events
- Libraries development (mimic original lib behavior);
- Protocol design;
Week 5 (Ends October 4th)
Deliverable: Libraries completely take over user activities and UI events
- Libraries development (mimic original lib behavior);
- Protocol adjustment;
- Midterm presentation dry run;
- Development Circle 2 sponsor meeting;
Week 6 (Ends October 11th)
Deliverable: Libraries interface capturing user activities and UI events under
designed protocol
- Libraries development (interface);
- Midterm presentation preparation
Week 7 (Ends October 18th)
Deliverable: Libraries interface reproducing user activities and UI events under
designed protocol
- Libraries development (interface);
- Midterm presentation;
- Development Circle 3 sponsor meeting;
Week 8 (Ends October 25th)
Deliverable: Mac-based management application capable of browsing and
interpret data under designed protocol
- Management application development;
- User Interface design;
Week 9 (Ends November 1st)
Deliverable: Mac-based management application capable of invoking iPhone
simulator as replay environment
- Management application development;
- Development Circle 4 sponsor meeting;
Project Requirements Document 9
Week 10 (Ends November 8th)
Deliverable: Test plan
- Test plan and Testing;
- Discuss possible extension with sponsor;
- Libraries extension development (network functions);
Week 11 (Ends November 15th)
Deliverable: Development Documents
- Extension development;
- Documents summarization;
- Development Circle 5 sponsor meeting;
Week 12 (Ends November 22nd)
Deliverable: Development Documents; Extension I
- Extension I development;
- Documents refinement;
Week 13 (Ends November 29th)
Deliverable: Development Documents; Extension II; Final presentation draft
- Extension II development;
- Final presentation dry run;
- Development Circle 6 sponsor meeting;
Week 14 (Ends December 6th)
Deliverable: Final presentation
- Final presentation;
Week 15 (Ends December 13th)
- Project review;
10 Project Requirements Document