ORSS SOFTWARE PROJECT PLAN
The Online Resource Scheduling System is a Web-based scheduling system. It is designed for colleges, universities, and schools . The purpose of this system is to provide an online service for the faculty to reserve any type of resource such as computer systems, VCRs, projectors, and videotapes. This scheduling system can accept the requestors' orders, make a schedule for the orders, and do some critical checks. It will enable faculty members to make their orders at anytime and from anyplace. The system will be able to create new orders and update old orders.
Configuration Identification: ORSS-01.
General Requirements
The following general requirements were specified for our project titled ORSS:
Multiple users will be using the product simultaneously and from many different locations. The only requirement is access to the Internet.
Security
This project will be uploaded to a server and this server will be exposed to the outside world, so we need to research and develop security protection. We will need to know how to configure a firewall and how to restrict access to only "authorized users." We will need to know how to deal with load balance if the number of visits to the site is very large at one time.
Database
We will need to know how to maintain the database in order to make it more efficient, and what type of database we should use. We will also have a link to the faculty database to verify the users.
This portion of the document provides cost, effort, and time estimates for the project using two estimation techniques: Process-Based and Lines of Code (COCOMO II model).
We obtained the following data according to "2001 Computer Industry Salary Survey" from EDP Staffing Service Inc. for Northeast area.
Job Function : Web Developer (Java/ASP)
Job Function : Sr. Database Analyst/Admin.
Low is the salary paid at the 25th percentile of all respondents in this data set; median is the 50th percentile; high is the 75th percentile. Data: 2001 Computer Industry Salary Survey (EDP Staffing Service Inc.) http://www.edpstaffing.com/salary.html
We estimate labor cost per month for two Web programmers and one database analyst using the low salary level. (The low salary level is used due to the slowdown in the U.S. economy.) Note that 15 percent overhead is added in the average labor cost per month.
$(((79,500/12)*2 + (78,100/12)*1)/3) * 1.15 $7,500
Note |
Members ' roles will be discussed in Section 5.0: Project Team Organization. |
Two estimation techniques have been used to generate two independent results for higher accuracy.
Figure A1: COCOMO II Model
2.2.1 Process-Based Estimation
The process is divided into smaller tasks , for process-based estimation purposes (see Table A1). We estimated, in person-months, the effort required to perform each task. We defined the following software functions:
Activity/Task |
|||||||||
---|---|---|---|---|---|---|---|---|---|
Function |
Cust. Comm. |
Planning |
Risk Analysis |
Engineering |
Construction Release |
Cust. Eval. |
Totals |
||
Analysis |
Design |
Code |
Test |
||||||
UI |
0.50 |
0.20 |
0.05 |
0.10 |
0.30 |
0.50 |
0.80 |
0.10 |
2.55 |
DB |
” |
0.30 |
0.10 |
0.20 |
0.30 |
0.20 |
0.20 |
” |
1.30 |
RG |
0.20 |
0.20 |
0.02 |
0.05 |
0.40 |
0.40 |
0.10 |
0.05 |
1.42 |
BF |
0.20 |
0.10 |
0.02 |
0.10 |
0.10 |
0.30 |
0.10 |
0.05 |
0.97 |
PI |
0.02 |
0.10 |
0.05 |
0.20 |
0.10 |
0.30 |
0.50 |
” |
1.27 |
Total |
0.92 |
0.90 |
0.24 |
0.65 |
1.20 |
1.70 |
1.70 |
0.20 |
7.51 |
% Effort |
12.25 |
11.98 |
3.20 |
8.66 |
15.98 |
22.64 |
22.64 |
2.66 |
100.0 |
Based on the historical data we obtained, the estimated effort is approximately 7.5 person-months, and the estimated project cost is $7500 — 7.5 = $56,250 .
2.2.2 LOC-Based Estimation
The estimates in Table A2 are based on "best-effort" estimation from previous programming experiences and existing software size .
Functions |
Estimated LOC |
|
---|---|---|
User interface |
UI |
1000 |
Database management |
DB |
500 |
Report generation |
RG |
500 |
Bug fixing |
BF |
500 |
Program integration |
PI |
200 |
Total estimated lines of codes |
2700 |
The estimates for LOC are plugged into the COCOMO II formula for effort and duration estimation. The basic COCOMO II model is used in Table A3.
Project Name ORSS |
|||||
---|---|---|---|---|---|
Total Size 2700 |
|||||
Total Effort 8.764317 |
|||||
Overall |
Schedule (%) |
Schedule (Months) |
Effort (%) |
Effort |
Staff |
Plans and requirements |
16.23 |
1.187959 |
7.00 |
0.6135 |
0.516434 |
Product design |
24.12 |
1.764864 |
17.00 |
1.4899 |
0.84422 |
Programming |
55.53 |
4.063943 |
63.65 |
5.5785 |
1.372679 |
Integration and test |
20.35 |
1.489218 |
19.35 |
1.6959 |
1.138782 |
Results in Table A3 indicate that the total effort is 8.8 person-months to finish the project. Because we have three team members, we will finish the project in approximately three months . Based on that calculation, the estimated project cost will be $7500 — 3 — 3 = $67,500 .
2.3.1 People
This project requires two Web developers and one database analyst in order to be finished in time. The developers must have adequate experience in Web design and have knowledge of HTML, JavaScript, Photoshop, ASP (VB Script), and Access. Experience in how to set up a Web server is preferred. The database analyst should be able to analyze, design, and maintain an efficient and secure database. The candidates must also have good personal communication skills.
2.3.2 Minimal Hardware Requirements
Development
Three IBM PC or compatibles with the following configurations:
User Server-Side
IBM PC or compatible with the following configurations:
User Client-Side
IBM PC or compatible with the following configurations:
2.3.3 Minimal Software Requirements
Development
User Server-Side
User Client-Side
This project will be uploaded to a server and this server will be exposed to the outside world, so we need to develop security protection. We will need to configure a firewall and restrict access to only "authorized users" through the linked faculty database. We will have to know how to deal with load balance if the number of visits to the site is very large at one time.
We will need to know how to maintain the database in order to make it more efficient, what type of database we should use, who should have the responsibility to maintain it, and who should be the administrator. Proper training of the aforementioned personnel is very important so that the database and the system contain accurate information.
The software project manager must maintain a track record of the efforts and schedules of the team. They must anticipate any "unwelcome" events that might occur during the development or maintenance stages and establish plans to avoid these events or minimize their consequences.
It is the responsibility of everyone on the project team with the regular input of the customer to assess potential risks throughout the project. Communication among everyone involved is very important to the success of the project. In this way, it is possible to mitigate and eliminate possible risks before they occur. This is known as a proactive approach or strategy for risk management.
This section describes the risks that may occur during this project.
3.3.1 Description of Risks
The risk table provides a simple technique to view and analyze the risks associated with the project. The risks were listed and then categorized using the description of risks listed in section 3.3.1. The probability of each risk was then estimated and its impact on the development process was then assessed. A key to the impact values and categories appears at the end of the table.
Probability and Impact for Risk
Table A4 is the sorted version of Table A3 by probability and impact.
Risks |
Category |
Probability (%) |
Impact |
Customer will change or modify requirements |
PS |
70 |
2 |
Lack of sophistication of end users |
CU |
60 |
3 |
Users will not attend training |
CU |
50 |
2 |
Delivery deadline will be tightened |
BU |
50 |
2 |
End users resist system |
BU |
40 |
3 |
Server may not be able to handle larger number of users simultaneously |
PS |
30 |
1 |
Technology will not meet expectations |
TE |
30 |
1 |
Larger number of users than planned |
PS |
30 |
3 |
Lack of training of end users |
CU |
30 |
3 |
Inexperienced project team |
ST |
20 |
2 |
System (security and firewall) will be hacked |
BU |
15 |
2 |
Impact values: |
|||
1 - catastrophic |
|||
2 - critical |
|||
3 - marginal |
|||
4 - negligible |
|||
Category abbreviations: |
|||
BU - business impact risk |
|||
CU - customer characteristics risk |
|||
PS - process definition risk |
|||
ST - staff size and experience risk |
|||
TE - technology risk |
|||
The above table was sorted first by probability and then by impact value. |
Following is the master schedule and deliverables planned for each stage of the project development life cycle, and their respective planned completion dates.
Table A5 lists deliverables and milestones.
Activities |
Deliverable |
From Date |
To Date |
Milestone |
---|---|---|---|---|
Meetings |
Weekly meetings |
02/04/02 |
05/07/02 |
05/07/02 |
Requirements |
Assess functional requirements |
02/18/02 |
02/22/02 |
03/01/02 |
Demonstrate system |
02/19/02 |
02/27/02 |
||
Evaluation of testing needs |
02/25/02 |
02/27/02 |
||
Assess nonfunctional requirements |
02/18/02 |
02/27/02 |
||
Final requirements specification |
02/27/02 |
03/01/02 |
||
Documentation |
Quality assurance plan |
02/04/02 |
02/06/02 |
05/03/02 |
Project plan |
02/07/02 |
02/15/02 |
||
Requirements document |
02/18/02 |
03/01/02 |
||
Design document |
03/04/02 |
03/15/02 |
||
User guide |
04/30/02 |
05/02/02 |
||
Final project notebook |
04/29/02 |
05/03/02 |
||
Maintenance plan |
04/29/02 |
05/03/02 |
||
Programmer training |
Web design training |
03/01/02 |
03/07/02 |
03/12/02 |
Database design training |
03/08/02 |
03/12/02 |
||
Preliminary design |
Brainstorming |
03/13/02 |
03/14/02 |
03/20/02 |
Architectural layout |
03/15/02 |
03/20/02 |
||
Detailed design |
Design user interface |
03/21/02 |
04/01/02 |
04/01/02 |
Database design |
03/21/02 |
04/01/02 |
||
Coding |
Build database |
04/02/02 |
04/04/02 |
04/19/02 |
User interface of campus version |
04/05/02 |
04/19/02 |
||
User interface of in-house version |
04/05/02 |
04/19/02 |
||
Integration testing |
In-house testing |
04/22/02 |
04/26/02 |
04/26/02 |
Necessary modifications |
04/23/02 |
04/26/02 |
||
Post-test |
On-campus testing |
04/29/02 |
05/03/02 |
05/03/02 |
Necessary modifications |
04/30/02 |
05/03/02 |
||
Modification |
"Clean-up" and finalized for delivery, additional "perks" |
05/06/02 |
05/07/02 |
05/07/02 |
Faculty training |
In-house training |
05/08/02 |
05/08/02 |
05/10/02 |
Campus training |
05/09/02 |
05/10/02 |
Figure A2 shows a work breakdown structure.
The structure of the team and the roles of the team members are defined in this section. The project team organization is divided into four parts . First is the conceptual planning phase. Second is the software design and development part. The third section is editing/master testing and maintenance. The final phase of the project is training and user documentation.
Figure A2a: Work Breakdown Structure
Figure A2b: Work Breakdown Structure (cont'd)
We separate part of the team project by following the responsibilities of the team members and dividing the functions of the system.
Conceptual Planning
Software Design and Development
Editing/Master Testing and Maintenance
Training and User Documentation
This organization of the project team allows the project planner to know the area of responsibility for each team member and all of the functions of the team project.
Preface