Yearbook Application Development in Flex

Scope of Proposal

This proposal covers the quote for performing Study, Design, Development and Testing of Yearbook Website using FLEX, C# DotNet and MSSQL . The Application will be accessed by Client Admin and their Users.

This document covers the proposed technology architecture for developing Yearbook website using Flex. It also includes the team responsibilities, requirement change procedures and the effort required to complete this project.

Scope of Project

The scope of the project is to develop Yearbook Website which will allow the users to login, design and build the yearbook using the templates / image library available in the yearbook application online, move around the pages and finally publish the yearbook. The administrator’s responsibility include approving the registered users, emailing the credentials to the registered users and printing the yearbook. The reason for developing the Yearbook Website using Flex and the features of both Flex and the proposed Yearbook website is given below.

Rich Internet Applications (RIA’s) are becoming an important differentiator in the area of web today. This makes the application to reach the users fast and provide greater level of success and high level satisfaction in users based interactions. To build RIAs there are different technologies that can be used today, But “Adobe Flex” is the right tool for many web developers. The major features of Adobe Flex are

• Adobe Flex is a collection of technologies released by Adobe Systems for the development and deployment of cross platform rich Internet applications
• Flex is Open source software.
• The Adobe Flash Player, upon which Flex applications run, is already installed on about a billion computers worldwide
• Applications developed using Flex assures Rich User Experience through insightful interaction with the application and presenting information in a visually rich interface
• The highly evolved client environment of Flex permits the applications to process huge number of information at client-end without any noticeable change in performance of the applications
• improved reliability, availability, scalability and security

The developed yearbook application will have the functionalities listed below

• The Site will be very fast
• The Site will be user friendly with Rich look. The tools provided in the GUI will be really simple and straightforward. The user will be able to work within a single window.
• The user will be able to drag and drop images, use bottom controls and live preview for configuring yearbook.
• Users can login to the site and Register for using the yearbook application.
• Administrator will approve the registered users and send an email with login credentials to the user.
• Using the provided username and password the user can login and access the yearbook application
• The yearbook application will have unlimited number of pages.
• User can use the templates available in the yearbook application
• The yearbook will have an online image library. These images can be used by the users while designing the year book.
• The users can customize the borders/frames in the yearbook pages.
• The users can Move around the pages and rearrange the page numbers.
• The users can publish the yearbook
• The published yearbook can be printed by the administrator in 300 dpi. If required, it can also be exported as pdf and emailed to the users.
• The users will be able to Save, modify and republish their yearbooks
• Portrait and Landscape Layout (Will be available only if requested)
• Animate during Flip (Will be available only if requested)
• Inserting Videos in the year book (Will be available only if requested.)

The website would be designed and developed using Flex, C# Asp.Net and Microsoft SQL Server 2008 as back end.

Features
The features and functionalities of the developed yearbook website are listed below.

Homepage
The Homepage lists the features of the Yearbook Application and will have a link to register for using the yearbook application.

Registration
 The link to load the Registration page will be present in the home page
 When the user clicks on the Register Link this page will be loaded and displayed to the user
 This page will be used to capture required information from the user and update in the database.
 After successful registration, it will be notified to the administrator.
 The user will receive an email from the administrator (should this be automated) with username and password

Login Process
This section lists the features of the Login process.

 Login Page
This is the first page in the application.
Users can log into the application using the username and password provided by the admin.

 Forgot Password
This is a link in the login page
When the user clicks on forgot password link, a forgot password page will be displayed to accept the users email address.
The email address will be verified in the systems database and if it is correct then the password will be emailed to the user.

 Change Password
This is a link in the login page
When the user clicks on the change password link, a change password page will be displayed to the user.
In this page, the user name, current password and new password will be obtained as input and verified in the system database.
If the provided username and password is correct then the password will be changed in the system database.

Dashboard
 After the successful login, this page will be displayed to the user
 The Toolbar will be displayed in this page.
 Using this page the users can perform any required operations.

User Management Process
 The Yearbook application, by default, will have two types of roles. They are
 Administrator – These users will have all the rights. The major role of the admin is to approve the registered users, send credentials in email and print the published yearbook.
 General Users – These users are approved by the administrators. These users are regular site users.

Admin Module
 In this module the administrator can
 Review the list of registered users and email the credentials to the users
 Activate / deactivate users
 Manage Database
 Manage the site content (if required)
 Print the Published yearbook

Tool Bar
 The tool bar will have icons for options that the user uses frequently.

YearBook Creation Process
 The Yearbook Creation process involves
 Preparing book pages with Templates
 Defining Borders / Frames
 Define the Contents Alignment
 Inserting Images (Either from online image gallery or from local machine)
 Moving around Pages
 Publishing and
 Printing

Architecture

System Architecture

The architecture is divided into 2 layers basically, like Client layer and Server layer.

Client Layer:
This layer would be used by the website end users. It will basically be a thin client layer built using Flex and HTML, and its primary aim would be to present the data to the user and get the input..

Server/Database Layer:
This layer will be a typical Web server layer running IIS server that can run pages. It will have the application pages hosted in it. The POS pages will be run by the web server engine and the HTML results would be rendered to the client. This layer can hold the database (Microsoft SQL Server) as well. If required, the database can be hosted in a separate server machine.

Tools and Technologies
The following are the tools and technologies that will be used in the development of this application.

Operating System 32 Bit Windows  Server 2003
Languages C#.Net, HTML, CSS, AJAX
Database Microsoft SQL Server 2008
Source Repository Visual Source Safe
Tools Visual Studio 2008
Framework Dot Net 3.5
RIA Adobe Flex with SDK 2.5

Development Methodology
The Yearbook Website would be designed and developed using the following methodology which includes 4 phases.

Phase 1 – System Study
• During this phase, a detailed study would be done on the requirement and database design will be finalized.

Phase 2 – Layout Design, HTML and CSS Creation
• During this phase, the web designer will prepare 3 Sample layouts for the website, which would consist of home page and inner page options.

Deliverable : 3 UI Layout options in JPG Format

Phase 3 – Development and Unit testing
• The development phase will commence on approval of the Design Phase. Unit testing of the system will be carried out in this phase after development.
• On agreed intervals the team would conduct online review sessions with the client to demonstrate to progress of tasks.
• A temporary staging server would be setup for the client to review the progress. This server will be updated on regular intervals.

Phase 4 – System and functional testing
• On completion of the unit testing for the individual modules, Functional, System and Integration testing will be done to verify the proper flow of required data from one module to the other

Deliverable : Tested Website and source code

Assumptions
We assume that Client will,

1. Provide us technical guidance wherever applicable to understand the current system.
2. Approve the DB Design, UI Layouts and Design on time, so that the website can be completed on time.
3. Coordinate between the end client and inexpensivecoders to ensure that the client requirements are met (in case an End Client is involved).
4. Provide Test data (if required) for testing of the application on completion of the development.

Intellectual Property
All personnel engaged in this client sensitive project are to execute the non-disclosure and intellectual property agreement, which will prevent misuse of company proprietary information as well as client proprietary information. A general vigil on the activities of the employee is also maintained to ensure that there is no threat to the agreements.

Project Responsibilities
inexpensivecoders’s Responsibilities
The roles and responsibilities of all resources involved and shown in the above diagram in the proposed team are mentioned below. This clarity will lead to better understanding and communication between the two organizations and enable better relationship management. The following are roles and responsibilities of different resources that will be working as part of this project.

Role Responsibilities
Project Leader
 Providing primary contact for the engagement at offshore.
 Managing and directing the development team including setting priorities, coordinating, and the reporting of the off-shore activities
 Ensuring that the members of project team, understand the Project requirements
 Planning and co-ordination of tasks.
 Assigning work to team.
 Attends development and design walk through
 Monitoring progress of work
 Ensuring the project delivery schedule and quality standards are met
 Providing daily, weekly and monthly reports on project status
 Discussing the project status on regular basis to the Client representative.

Web Designer
 Provide 3 Sample layouts for the website, which would consist of home page and inner page options.
 Co-ordinate with the Development team to ensure that XHTML and CSS Standards are met.

Development Team
 Coding
 Code Review
 Unit Testing
 Delivering the software to the onsite team.

Test Team
(Testing Engineers)
 Test and ensure that the Website is as per the Functional Specification document provided by the Client.

Client Responsibilities
Client has to identify and appoint a resource at their end that would be the Project Coordinator and a single point of contact during the engagement. Following are the responsibilities expected from Client:

• Provide acceptance test criteria.
• Provide Test Data (if required).

Change Control Procedure
Any change in the functionalities or requirements or any change in the scope of the Systems Requirements Specification made after the approval and freezing of the Client requirements, will have to be done through the Change Control Procedure of inexpensivecoders, which is detailed below:

• The client will submit a Customer Complaint Form in writing for any change that is required.
• The change will be evaluated for Technical, Commercial and Schedule implications by inexpensivecoders and submitted to the client.
• The client will approve the same in writing, in a token of acceptance of all implications.

The Approval shall be done within a reasonable time frame (not later than 5 working days) so that the idle time of the resources is minimized.

Joint Reviews / Technical Reviews
Client and inexpensivecoders shall review the progress of work in any of the following ways:

• Joint discussions.
• Submission of progress reports periodically to the client by inexpensivecoders as per Client request.
• The reviews shall be conducted
 For verification of acceptance results;
 For technical clarification / deliverables;
 To ensure client’s requirements (as agreed to) are met.
• The results of the reviews shall be documented.

Review Mechanism
• Online Meetings:
Online meetings will be conducted using online meeting tools like
 GoToMeeting
 WebEx
 Skype

• Staging Server:
 inexpensivecoders will host the application under development in a Stage Server.
 This Server will be an External IP Host.
 This Server will be available 24 X 7, for Client Representative to monitor the progress.

Communication Mechanism
inexpensivecoders will keep updating the project status to its clients through weekly reports and statuses. This report will have the activities performed by the project team, milestones achieved, and activities planned for next week. Apart from these, teleconferences and IM with project team can be arranged for updating project status and discuss any other issue that might come up, if  Client  desires so.

inexpensivecoders recommends the following communication methods during this engagement.

Information Type Mode Monitoring Frequency Participants in communication Supporting Tool (if any)
Progress/Status Mail / IM Once per week  Client  Rep

inexpensivecoders PL

Progress Report
Timesheets Email Once per Month inexpensivecoders PL Timesheet
Issue management Tele Conference / IM On Need basis  Client  Rep

inexpensivecoders PL

Requests for clarification Email / IM On Need basis  Client  Rep

inexpensivecoders PL

Deliverables Appropriate method to be agreed at time.  Client  Rep

inexpensivecoders PL

Appropriate tools to be agreed at time (CD, FTP, etc)

Project Effort, Pricing and Commercial Terms

Project Effort

S. No. Phase Man Hours
1     Study, Requirement Analysis and Database Design
2     Layout Design, HTML and CSS Creation
3     Design Development (HTML Files)
4     Development and Unit Testing
5     System and Functional Testing
6     Project Management & Communication
Total (in Man Hours)

The estimated effort for analysis, design, development, testing and implementation of the Yearbook Website works out to                                             . The billing would be done on the actual time spent on the project.

We can assure you that our time estimates will not vary more than 10% unless there is a vast change in the requirement.

Timeline

Phase Man Hours No. Of Resources Working days
1     Study, Requirement Analysis and Database Design
2     Layout Design, HTML and CSS Creation
3     Design Development (HTML Files)
4    Development and Unit Testing
5    System and Functional Testing
6    Project Management & Communication – (TL)
Total (in Man Hours)

Pricing
We propose a Time and Material Model (T & M) for the development of this project. We can assure you that our time estimates will not vary more than 10% unless there is a vast change in the requirement.

The following are the hourly rates

# Resource Phases Allocation Rate
1 Project Leader Requirement Review and

Project Management

Need Basis
2 Programmer Development & Unit Testing Fulltime (40Hrs/week)
3 Tester System and Functional Testing Need Basis
4 Web Designer UI and HTML/CSS design Need Basis

Based on the rate chart and the estimated project effort, the pricing would work out to USD  .

Note:

  1. We will allocate 2 Developers on a fulltime basis 40 hrs per week on your project.
  2. Monthly Timesheets will be sent to you giving details of time logged by all resources and the work done.
  3. Invoice will be raised on approved time sheets.

Kindly note that billing will be done based on the actual number of hours spent and only on the Approved time sheets.

Deliverables

The following are the list of deliverables that will be provided inexpensivecoders:

# Phase Deliverable Days / Weeks
1  Study, Requirement Analysis and Database Design Database Design Document  

5 Days from start of project

2  Layout Design, HTML and CSS Creation 3 UI Layout options in JPG Format  

15 Days from start of project

3  Design HTML Design 15 Days from approval of Layout Design.
4 System and functional testing Tested Website and source code After the Fixes on the UAT Approval.

Note:
a) During the course of development, based on the agreed time intervals, the inexpensivecoders and Client representatives will conduct periodic reviews and could have interim deliveries as and when needed.
b) The Time Frame for the development is arrived by assuming we deploy 1 resources for development, 1 resource for testing, 1 for web designing and 1 for project management.