Software Plan
Requested
by: Dr. Darren Lim
Assistant Professor
Department of Computer Science
Dr.
Manimoy Paul
Assistant Professor
Department
of Quantitative Business Analysis
International Online Survey
(IOS)
Bad Robot Enterprises
Prepared
by: Paul Borchers
Ryan May
Ryan Rose
Vito Urbano
September 21, 2007
International
Online Survey
Software
Plan
Table of
Contents
1.1
Problem Definition . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2
System Justification . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3
Goals for the System and Project . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4
Constraints on the System and on the Project . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 2
1.5
Functions to be Provided . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 3
1.6
User Characteristics . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.7
Development/Operating/Maintenance Environments . . . .
. . . . . . . . . . . . . . . . . 3
1.8
Solution Strategy . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.9 System Acceptance Criteria . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 4
1.10
Sources of Information . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1
Project Management & Development Model (Waterfall Model). . . . . . . . . .
. . . 5
2.2
Team Structure . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3
Preliminary Staffing and Resource Requirements . . . .
. . . . . . . . . . . . . . . . . . . . 7
2.4
Preliminary Development Schedule . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 7
2.5
Project
Monitoring and Control Mechanism . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 7
2.6
Tools and Techniques to Be Used . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.7
Programming Languages . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.8
Testing Requirements . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.9
Supporting Documents Required . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 8
2.10
Manner of Demonstration and Delivery . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
8
2.11
Sources of Information . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Appendix A: Team Resumes . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 10
Appendix
B: Glossary of Terms . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 18
System
Definition
1.1 Problem
Definition
Dr. Lim and Dr. Paul have informed us
that they are looking for a program that will give them the ability to create,
edit, and distribute surveys completely through the internet. This means that our program will have to be
web based. Our program will be something
similar to the web service called Survey Monkey. Survey Monkey is a subscription-based program
meant for massive amounts of user input from surveys. It allows any user to sign up and take any survey
that they want to. Our program will
instead let teachers choose what students will be able to take a survey. Students will only be allowed to take the
surveys that they have been given permission to take and no others. All results will be sent to the teacher and
the results will be confidential.
1.2 System
Justification
The purpose of our survey program will
be to provide features similar to those of Survey Monkey but free of
charge. Dr. Lim and Dr. Paul want a
program that will make use of the ever-growing Internet community and use that
community to gather vital data from people all over the world.
1.3 Goals
for the System and Project
The goal of our project is to develop
and implement web-based software that will make distributing surveys and
collecting results more straightforward and effortless.
1.4
Constraints on the System and on the Project
Our first and most important constraint
is that our program must be web-based. Another constraint is that the project
must be compatible with Mozilla Firefox, IE, Netscape Navigator, and Safari web
browsers. There must also be some way for the administrators to manage the
surveys and check for any inappropriate material. The administrator must check for any
obscenities and foul language in the surveys.
Finally there must be access to a database to store all the created
surveys and user data.
1.5
Functions to be Provided
·
An online database to store the
profiles of the student, teachers, and administrators.
·
Online forms for the student, teachers,
and administrators to use for registration and updating personal information
and surveys.
·
Organized, simple, and structured
fields for information collection from the users and teachers to create/update
profiles.
·
Secure login system for all students
and teachers to manage personal information and surveys.
·
Compatibility with major browsers, such
as Mozilla Firefox, IE, Netscape Navigator, and Safari.
·
Teachers’ ability to add and edit
surveys and view results.
·
Administrator ability to view, edit,
and delete all surveys and have access to any user or teacher account.
·
Students' ability to take surveys that
they have been granted permission by a teacher to take.
1.6 User
Characteristics
There will be three different types of
users that will utilize this web-based program. The first user will be the administrators
who will have complete access to all survey and user information. The second
user will be the teachers who will have permission to add users and surveys.
They will also be able to edit their own surveys. The final type of user is the
student. The student will only have the ability to take surveys they have been
granted permission to take and edit their personal information.
1.7
Development/Operating/Maintenance Environments
The system will be developed on the
Siena College Software Engineering workstations. These workstations are a Dell
Dimension 4550 with Windows XP and an Apple iMac with OS X. The operation of
this system will be accessible from any computer system with Internet access,
though only approved users will be issued login identification and passwords by
an administrator and/or teacher. The maintenance of this system will be
determined at a future date.
1.8
Solution Strategy
The
project team will use the Linear Sequential Model (also known as the Classic
Waterfall Model) to develop the product requested by our client. The
Linear Sequential Model involves the following major activities:
·
Project Definition – The project team
will meet with the clients and decide what the problem is that needs to be solved.
·
Analysis and Requirements – The project
team will meet with our clients and document the requirements of the new
system.
·
Design of the Solution – The project
team will translate the system requirements into software requirements.
·
Code and Test the Solution – The
project team will translate the software requirements into a programming
language. As time passes, the program will continuously be checked to meet the
requirements of the clients. This will take place in the Spring 2008 semester.
·
Install and Maintain - This step
involves the actual installation of the software product. Documentation that will assist the client in
using and maintaining the system will be provided in the Spring 2008 Semester.
1.9
System Acceptance Criteria
The
web-based system will allow for a number of online activities including, but
not limited to the following:
1.
Users to register with the system.
2.
Users to create and update their
personal information.
3.
Users to access only surveys that they
are granted permission to take.
4.
Secure login to surveys.
5.
Teachers to create, edit, and
distribute their own surveys.
6.
Teachers to view survey results.
1.10 Sources of
Information
The
major source of information for this project resulted from meetings with our
clients Dr. Darren Lim and Dr. Manimoy Paul. Other sources of information
include Software Engineering lecture by Dr. Tim Lederman, previous Software
Engineering teams’ projects and our text Software Engineering: A Practitioner’s
Approach by Roger S. Pressman.
Project Plan
2.1
Project Management & Development Model
(Waterfall Model)
Software Plan
Defines the problem and establishes
goals and requirements to help explain how the problem will be solved.
Requirements Specification
Involves
all life-cycle activities devoted to identification of user requirements,
analysis of the requirements to derive additional requirements, documentation
of the requirements as a specification, and validation of the documented
requirements against user needs, as well as processes that support these
activities (DoD).
Preliminary Design
The process of defining the software
architecture, components, modules, interfaces and data for a software system to
satisfy specified requirements (IEEE).
Detailed Design
The process of refining and
expanding the preliminary design of a system or component to the extent that the design is
sufficiently complete to be implemented (IEEE). This is a complete design, which
includes finalized database designs, user designs, and complete steps or storyboards.
Acceptance Test
Formal testing conducted to
determine whether or not a system satisfies its acceptance criteria and to
enable the customer to determine whether or not to accept the system (IEEE).
This is where the software is demonstrated and shows that the software meets
all functional and non-functional requirements.
2.2 Team
Structure
Bad Robot Enterprises is comprised of
the following members:
Name
E-mail
Phone Number
Borchers,
Paul pm15borc@siena.edu (845) 416-4662
May,
Ryan
r15may@siena.edu (518) 577-8555
Rose, Ryan rc26rose@siena.edu (518) 470-2831
Urbano, Vito
va23urba@siena.edu
(518) 372-7306
Bad Robot is organized as follows for the International
Online Survey which can be accessed through the Siena College Computer Science
website:
Borchers, Paul - Team
Leader
May, Ryan - Webmaster
Rose, Ryan - System
Administrator
Urbano, Vito -
Librarian
The team structure is a democracy with the Team Leader
making the final decision on any conflict that could not be decided upon by
majority vote.
The roles for each member are defined as follows:
Team Leader organizes team meetings and
decides the workload for each member of the team.
Webmaster Creates and maintains
the project web page.
Librarian is responsible for
compilation and organization of documentation related to project work.
Systems Administrator is responsible
for installing software and making sure the development workstations are
working correctly.
2.3
Preliminary Staffing and Resource Requirements
For our website, we will be using a
combination of programs such as Macromedia Dreamweaver, image editing software
Macromedia Fireworks, and Microsoft Project.
We will be using web languages such as PHP, XHTML, and XML. The hardware
that we will use to develop is a Dell Dimension 4550 and an Apple iMac. The
staff we will be working with is our client, Dr. Darren Lim of the Siena
College Computer Science Department, as well as Dr. Manimoy Paul of the
Quantitative Business Analysis Department.
2.4
Preliminary Development Schedule
2.5
Project Monitoring and Control
Mechanism
Our team will meet each week to discuss what we have accomplished and the next steps that we will take. We will use our meetings with our clients to confirm that we are following the exact requirements specified by our clients. The system will be thoroughly tested throughout its development on multiple platforms to ensure the best possible outcome for all users. In the event the project team or the clients determine that the system is off-track, the project team will take the necessary steps to correct the situation.
2.6
Tools and Techniques to Be Used
Computers with the various programs
including but not limited to Macromedia Dreamweaver, Microsoft Project,
Microsoft Office, Adobe Photoshop, and Macromedia Fireworks. Our team will be
using PHP, HTML, and CSS to design the team website and complete the
project. We will be using techniques learned in Software Engineering and
other computer science classes to accomplish our goals.
2.7
Programming Languages
Bad Robot Enterprises will be using the same languages for our survey project and our team website. These languages include HTML, XHTML, JavaScript, PHP, CSS, and MySQL.
2.8
Testing Requirements
Throughout the creation of our project, there will be extensive testing of all of our material. Members of our team as well as other students will do the testing for this project. The client will receive the results of the tests and will be asked to be involved in the testing process.
2.9
Supporting Documents Required
The supporting documents will be provided to our client by the following dates:
1. Project Plan - September 21, 2007
2. Software Requirements Specifications - October 22, 2007
3. Preliminary Design - November 26, 2007
2.10
Manner of Demonstration and
Delivery
The presentations will take place on the following dates. The purpose of the presentations is to inform our client of the progress that we have made through the semester. They also aim to validate our team’s understanding of the clients’ specified requirements for the project:
1. Project Plan - September 21,
2007
2. Presentation of Project Plan –
September 21, 2007
3. Software Requirements
Specifications - October 22, 2007
4. Specifications Presentation
– October 24/26, 2007
5. Preliminary Design -
November 26, 2007
6. Preliminary Design
Presentation – November 28/30, 2007
2.11
Sources of Information
The major source of information for
this project resulted from meetings with our clients Dr. Darren Lim and Dr.
Manimoy Paul. Other sources of information include Software Engineering lecture
by Dr. Tim Lederman, previous Software Engineering teams’ projects and our text
Software Engineering: A Practitioner’s Approach by Roger S. Pressman.
Appendices
Appendix
A: Team Résumés
Paul Borchers
|
Phone:
(845) 229-2679 Email: pm15borc@siena.edu |
Objective
To find a job in the field of Computer Science that will challenge and intrigue me; special interest in software design and development.
Education
B.S in Computer Science, May 2008
· GPA: 3.45/4.00
· Dean’s List (GPA 3.5 to 3.89) - Fall 2005, Spring 2006
· President's List (GPA 3.9 to 4.0) – Spring 2007
· Presidential Scholarship
· Computer Science Club Officer
Computer and Software
Skills
·
Intro to CS and Java
·
Data Structures
·
Object Oriented Programming
·
Assembly Language and Computer Architecture
·
Analysis of Algorithms
·
Advances Programming Techniques
·
Artificial Intelligence
·
Web Design
·
Operating Systems
·
Computer Graphics
·
Multimedia Development
·
Software Engineering
Work Experience
Internship
at Dutchess
·
Assisted in the ghosting and networking of
computers at the
·
Helped in the preparation of a state mandated
audit of computer hardware in the
·
Worked at the
· Responded to requests for assistance for computer related problems from BOCES personnel.
Independent
Study at
§
Worked under professor Dr. Scott Hunter
§
Worked on an open source assembly language CPU
simulator called CPUSim. It is a
simulator that allows someone to create a CPU, including micro-instructions,
op-codes, ram, registers, and do pipelining.
§
Programmed for the compiler to make it accept a wider
range of assembly language syntaxes.
Main goal was to make the program capable of handling Intel’s assembly
language. The coding was done in Java.
§
The areas that I worked on were the text parser,
separators between operands, optional operands, variable names, prefixes, GUI
micro-instruction counters window, pipelining, and ability to branch.
Ryan J. May
r15may@siena.edu
Present Address: Permanent
Address:
(518) 577-8555 (Cell)
OBJECTIVE
To obtain a career in the field of Computer Science that will utilize my web development skills.
EDUCATION
Bachelor of Science in Computer Science, Minor in Mathematics, May 2008
RELEVANT
EXPERIANCE
Help Desk/Web Programmer Intern, Capital Communications Federal Credit
Union,
·
Assisted in maintaining the IS office’s internal
network
·
Developed and maintained the Passageways Portal
Headquarters page
·
Modified and
enhanced preexisting applications written in C#.NET
·
Developed additions to the Passageways Portal in
C#.NET
ADDITIONAL
EXPERIENCE
Mail Processor, Post Office,
·
Operated flat sorting machinery
·
Operated automatic letter sorting machinery
·
Performed manual letter sorting duties
Mail Handler, Post Office,
·
Loaded, unloaded, and moved bulk mail
·
Manually sorted bulk mail
·
Prepared mail for automated sorting
COLLEGE ACTIVITIES
· Member, Intramural Basketball, Fall 2004- Present
· Member, Intramural Volleyball, Fall 2004- Present
· Co-President, Table Tennis Club, Fall 2005-Fall 2006
COMPUTER SKILLS
Experience
with HTML, PHP, ASP.NET, CSS, MySQL, SQL, Javascript,
and Flash
Experience
in Java, C++, C#, Microsoft Visual Basic, and Assembly
Microsoft
Word, Excel, PowerPoint, Internet
Ryan Rose
9 Pine Hill
Cell Phone: (518) 470-2831
rc26rose@siena.edu
Objective
Find a professional position that will utilize my abilities and skills.
Education
B.S. in Computer Science – September 2004 to May 2009 (3/4 time)
Relevant Course of Study
Computer Science: Software Engineering, Analysis of Algorithms, Object-Oriented Design & Programming, Operating Systems, Computer Architecture and Assembly Language, Data Structures, Introduction to Computer Science, Introduction to Programming Languages.
Computer Skills
Experience with Java, Visual
Basic, C++, BlueJ, DOME, UNIX, Microsoft Office (Word, Excel, PowerPoint,
etc.), Microsoft Office Project, Windows
98/NT/2000/XP
Work Experience
Sales Associate, Stewart’s Shop,
· Responsible for cash checks, gas well checks, and making bank deposits.
· Experienced in opening and closing the store.
· Working knowledge of store computer system.
Painter’s Assistant/Groundskeeper,
· Assisted professional painters in prepping classrooms to be painted (taping, laying/taping drop cloths, repairing walls/floors).
· Painted walls and ceilings.
·
General maintenance on
Computer Science Department Worker,
· Helped professors with miscellaneous duties within department.
· Assisted in keeping the computer labs in working order.
Team Lead (Section Manager), Target,
· Organized three separate departments after previous managers left.
· Trained many fellow Team Leads and regular team members in Target policy and processes.
· Collaborated with vendors to create optimal sales displays and to ensure all products were represented.
· Maintained a pleasant, efficient working environment while completing all duties in a timely fashion.
Track Security, Saratoga Race Track, Saratoga Springs NY, 1999 – 2002 (Summers)
· Responsible for supervision of other security members, traffic control, and horse crossings.
· Reported to my commanding officers on a daily basis.
· Created safe environment for patrons of the track.
Sales Associate, Cumberland Farms, Halfmoon NY, 2001 – 2002
· Accountable for store closing including preparation for the next day, stocking shelves, etc.
· Cashier, food preparation, and processing deliveries.
Interests
Computers, politics, criminal law, baseball, golf, music, and movies.
Vito A. Urbano
Email: va23urba@siena.edu
Present
Address:
Permanent Address:
Siena
College, SPOB 2704 1306 Putnam Road 515 Loudon Road Schenectady,
NY 12306
Loudonville,
NY 12211
(518) 372-7306
(518)
782-6552
OBJECTIVE
To obtain a position in the software
engineering field that will help me gain experience and develop my computer
science skills.
EDUCATION
Siena College,
Loudonville,
NY
B.S. in Computer Science, May 2008
COMPUTER SKILLS
Microsoft Office, Java Programming Language,
Assembly Language, Adobe Photoshop; Basic knowledge of: Microsoft Visual Basic,
Oracle, MySQL
EXPERIENCE
Librarian, Software Engineering Project, Siena
College
-
Member of a 4 person team working with faculty on the
International Online Survey software in a two semester course
-
Organized documentation and recorded notes in all meetings
-
Followed principles of Software Engineering to provide
documentation in the creation of a system for our client
ADDITIONAL EXPERIENCE
Electrician, Urbano Electric, Schenectady,
NY, 2001-Present
Store Clerk, CVS, Schenectady, NY, 2004
Cashier, BJ’s
Wholesale Club, Schenectady, NY, 2002
ACTIVITIES
Coach, Rotterdam
U-14 Boys Soccer, 2006-Present
Volunteer, NY
Special Olympics Breakfast With Champions, 2007
Member, Siena
College Men’s Soccer, 2004-Present
Appendix
B: Glossary of Terms
CSS – Cascading Style Sheets – These are used to describe a specific style for a web page or set of pages, a website.
Database - A collection of data arranged for ease and speed of search and retrieval.
Gantt Chart - A chart that depicts progress of jobs in relation to time. It is often used in planning and tracking a project.
Internet - A vast computer network linking smaller computer networks worldwide. The Internet includes commercial, educational, governmental, and other networks, all of which use the same set of communications protocols.
IE – Internet Explorer – Microsoft based program used for browsing the Internet.
MySQL – A Multithreaded, multi-user Relational Database Management System.
PHP – Hypertext Preprocessor – An open source (free) programming language that is used for dynamic pages and is a high-level scripting language.
Profiles – User created accounts that will be customizable according to each specific person.
XHTML – Extensible HyperText Markup Language – has same capabilities of HTML but is more restricted to allow for conformity among multiple platforms.