Software Plan

 

 

Requested by:       Dr. Darren Lim

Assistant Professor

Department of Computer Science

Siena College

 

 

Dr. Manimoy Paul

Assistant Professor

Department of Quantitative Business Analysis

Siena College

 

 

 

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

SYSTEM DEFINITION

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

PROJECT PLAN

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

APPENDICES

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

 

 18 Guerney Drive

Hyde Park, NY 12538

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

       Siena College, Loudonville, NY

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

  • Majority of CS Courses taught with the Java Programming language
  • Also used C++, C, HTML, and PHP
  • CS Classes Taken/Registered (GPA 3.81):

·         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 County BOCES                              Summer  2007                                      Poughkeepsie, NY

·         Assisted in the ghosting and networking of computers at the Spackenkill School District. 

·         Helped in the preparation of a state mandated audit of computer hardware in the Spackenkill School District.  

·         Worked at the Dutchess County BOCES Learning Technology Center's help desk. 

·         Responded to requests for assistance for computer related problems from BOCES personnel. 

Independent Study at Siena College                                   Summer 2006                                                   Albany, NY

§         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:

Siena College, SPOB 3022                                                                                          138 Horstman Drive

515 Loudon Road                                                                                                        Scotia, NY 12302

Loudonville, NY 12211                                                                                               (518) 346-2249

(518) 577-8555 (Cell)

 

OBJECTIVE

            To obtain a career in the field of Computer Science that will utilize my web development            skills.

 

EDUCATION

            Siena College, Loudonville, NY

            Bachelor of Science in Computer Science, Minor in Mathematics, May 2008

           

 

RELEVANT EXPERIANCE

Help Desk/Web Programmer Intern, Capital Communications Federal Credit Union, Albany, NY, Summer 2007 - Present

·        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, Albany, NY, Summers 2004, 2006

·        Operated flat sorting machinery

·        Operated automatic letter sorting machinery

·        Performed manual letter sorting duties

 

Mail Handler, Post Office, Albany, NY, Summer 2005

·        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 Bend

Ballston Lake, NY 12019

Cell Phone: (518) 470-2831

rc26rose@siena.edu

 

Objective

      Find a professional position that will utilize my abilities and skills.

Education

      Siena College, Loudonville NY

      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, Ballston Lake NY, August 2006 – September 2007

·        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, North Colonie Central School District, Latham NY, Summer 2006

·        Assisted professional painters in prepping classrooms to be painted (taping, laying/taping drop cloths, repairing walls/floors).

·        Painted walls and ceilings.

·        General maintenance on North Colonie Central School District property.

     

Computer Science Department Worker, Siena College, Loudonville NY, Fall 2006

·        Helped professors with miscellaneous duties within department.

·        Assisted in keeping the computer labs in working order.

 

Team Lead (Section Manager), Target, Clifton Park NY, 2002 – 2004

·        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.