Software
Plan
Requested by: Mr. James Matthews
Siena
College
Computer Science Department
Dr. Scott Vandenberg
Head of Department
Computer Science Department
Prepared by:
Paul Califano, Team Leader
T.J Hyne
Adam Pasquerella
George Reese
Mark St. Hilare
Melissa Hoffmann
October 1, 2004
System Definition:
Section 1: Problem Definition............................................................................................. 1
Section 2: System Justification............................................................................................ 1
Section 3: Goals for the System and the Project.................................................................. 1
Section 4: Constraints on the System and the Project.......................................................... 1
Section 5: Functions to be Provided (Hardware and Software/People)................................ 1
Section 6: User Characteristics........................................................................................... 2
Section 7: Development/Operating/Maintenance Environments............................................ 2
Section 8: Solution Strategy............................................................................................... 2
Section 9: Priorities of System Feature............................................................................... 2
Section 10: System Acceptance Criteria............................................................................. 2
Section 11: Sources of Information..................................................................................... 3
Project Plan:
Section 1: Life-cycle Model............................................................................................... 3
Section 2: Organizational Structure..................................................................................... 4
Section 3: Preliminary Staffing and Resource Requirements................................................. 5
Section 4: Preliminary Development Schedule..................................................................... 5
Section 5: Project Monitoring and Control Mechanisms...................................................... 5
Section 6: Tools and Techniques to be Used...................................................................... 5
Section 7: Programming Languages.................................................................................... 5
Section 8: Testing Requirements......................................................................................... 5
Section 9: Supporting Documents Required........................................................................ 6
Section 10: Manner of Demonstration and Delivery............................................................ 6
Section 11: Sources of Information..................................................................................... 6
Appendix:
Section 1: Gantt Chart (September – December)................................................................ 7
Section 2: Team Resumes ................................................................................................. 8
1.1
Problem Definition
Annually, the Siena College Computer Science Department hosts a programming contest for local High Schools. During this contest High School teams are placed in different rooms and given problems to solve and then submit to a panel of judges. The judges then determine if the solution given is correct and a message is sent back to the students stating if the solution was accepted or not. The judges keep a scoreboard of how many problems each team answered correctly, and how long it took to complete the problems. In order to allow teams to view problems from previous years as well as allowing students, team coaches, and any other individuals to view the scoreboard at anytime. Mr. James Matthews and Dr. Scott Vandenberg have requested the development of a website incorporating a scoreboard along with problems and solutions from previous years.
1.2
System Justification
The purpose of this system is to display problems and solutions from previous contests as well as a scoreboard that shows the teams in ranked order. This will allow teams competing in the contest this year, and the following years, time to prepare with previous problems. The teams will be able to submit solutions to given problems to a panel of judges. The judges will check the solutions received from the teams for correctness and then update the scoreboard. The scoreboard will be viewable by everyone, including outside viewers, and will also continually update the teams in ranked order based on number of correct solutions and time taken to complete them. This system will let individuals keep track of how teams are doing in the competition.
1.3
Goals for the System and the Project
The goal of this project is to create a web site that contains a link to a scoreboard that shows the standings of teams in the contest in ranked order based on number of problems answered correctly and amount of time to complete those problems. Along with the scoreboard will be a web site that contains previous problems and solutions.
Our team goal is to gain an understanding of the software engineering process. Our team will provide the best solution to the problems we have been presented with by our client.
1.4
Constraints on the System and the Project
The major constraint on this project is that it must be a web based system. Our client Mr. Matthews has requested that the project should be done using Java and JavaScript. The final version of this project must be completed prior to the programming contest, which takes place in early March of 2005.
1.5 Functions to be provided (Hardware and
Software/People)
· Teams will be able to submit solutions to given problems to a panel of judges.
· Scoreboard that will rank teams based on number of problems answered correctly and time needed to complete the problems.
· A web site that will allow teams, coaches and other individuals to view problems and solutions from previous years.
1.6
User Characteristics
The main users of this program will be the judges of the programming contest. All of the judges will input the number of solutions answered correctly and the time needed to complete these problems. Our program will then rank the teams accordingly. The teams, the coaches, and other individuals will use the scoreboard to view the ranking. The teams, coaches, and other individuals will use the web site to see previous problems and solutions from previous problems.
1.7
Development/Operating/Maintenance Environments
The project will be designed and created on the Siena College Software Engineering workstation. The project will be accessible through any computer connected to the Internet. The software manager will perform maintenance along with the head judge.
1.8 Solution Strategy
Our project team will follow the Linear Sequential Model(Classic Waterfall Method Model) in our development of our system. These are the following steps:
· Software Plan- The team will meet with their client to define the problem that needs to be solved. Once the client defines the problem the team will begin to make plans regarding the solution.
· Software Analysis- The team will develop the requirements for the system and the software then present them to the client.
· Preliminary Design- With the requirements from the previous step the basic design for the code is formulated.
· Detailed Design- The preliminary design is modified and the actual coding begins. This will not be until spring 2005 semester.
· Software Development & Testing- Once the program is created, it will go through rigorous testing in order to identify any errors. These errors will be debugged at this time.
· Acceptance Test- The software is installed and introduced to the client. The client is now able to use their new program.
1.9
Priorities of System Feature
The most important feature of the system will be the scoreboard refreshing and updating the ranking.
1.10
System Acceptance Criteria
The web-based system will be able to perform a number of tasks, including
· A scoreboard with the team’s ranks.
· A web site with problems and solutions from previous years.
1.11
Sources of Information
The information for this section was obtained from meetings with our client, Mr. James Matthews. Other sources of information include Dr. Lederman’s class lectures, the Software Engineering class textbook Software Engineering: A Practitioner’s Approach by Roger S. Pressman and previous Software Engineering teams’ projects.
2.1 Life Cycle
model: Linear Sequential(Classic Waterfall) Model
Software Plan- The problem is defined and a project plan is formulated.
Software Analysis- Before the software is developed an understanding of all information regarding the required function, behavior, performance and interface of the software.
Preliminary Design- The code is formulated and description of all functions and data structures are written.
Detailed Design- The entire code is developed and individual functions and subroutines are illustrated.
Software Development and Testing- The program is implemented, compiled, and tested. All bugs and errors are detected in this phase and are fixed to make the software fully functional.
Acceptance Test- Before being delivered to the client the team of software engineers test to make sure the software provides every interface and function desired.
2.2 Organizational Structure
SEG is comprised of the following members:
Name E-Mail Address Phone
Number
Paul Califano Paul.Califano@siena.edu (518) 428-6211
Thomas Hyne Thomas.Hyne@siena.edu (631) 275-1142
Adam Pasquerella Adam.Pasquerella@siena.edu (518) 727-1780
George Reese George.Reese@siena.edu (518) 225-0818
Melissa Hoffmann Melissa.Hoffmann@siena.edu (631) 871-0494
Mark St.Hilaire Mark.StHilaire@siena.edu (917) 340-2359
SEG is organized as follows for the Programming Contest Submission and Scoreboard:
Paul Califano – Team Leader
Thomas Hyne – Webmaster
Adam Pasquerella – Librarian
George Reese – System Administrator
Melissa Hoffmann – Secretary
Mark St. Hilaire – Project Manager
The team structure of SEG is Democratic Decentralized. All of the decisions made by the group will be made by majority vote. The team leader will act as a tiebreaker in the case of split decisions.
The job description for each member is as follows:
Team Leader – Organize the team meeting and interviews, assign individual project work to other team members, schedule report reviews, and assemble all information that is gathered.
Webmaster – Design, develop, and maintain the project web page.
Librarian – Responsible for all of the documentation related to the project.
System Administrator – Sets up and maintains the project workstations. Also maintains team member accounts.
Secretary – Keeps minutes at all meetings with the team, client, and any other individual persisting to the project.
Project Manager
– In charge of all implementation, compiling, and testing the program to make
sure it works correctly.
2.3 Preliminary Staffing and
Resource Requirements
Our primary resource in defining and developing the Programming Contest Submission and Scoreboard are Mr. James Matthews and Dr. Scott Vandenberg. Dr. Timoth Leaderman, our Software Engineering professor, is also a resource. The software that will be required is a web page editor (Dreamweaver), Netscape Navigator, and Internet Explorer. The hardware that will be required includes computer systems, printers, and Internet Connectivity.
2.4 Preliminary Developer Schedule
Refer to the preliminary developer schedule or Gantt chart in the Appendix of this document on page 7.
2.5 Project Monitoring and Control
Mechanisms
A weekly meeting with the client will be held to discuss the status of the project to determine if the project team is moving in the direction to meet the client’s needs. The project plan documentations and presentations will be used in order for the client to give feedback on whether the project team is meeting the client’s needs. In order to stay organized and focused, the project team will meet regularly to discuss new ideas, individual progress, and problems at hand. If the client decides the project team is off-track at any stage, necessary steps will be taken in order to resolve the problem.
2.6 Tools and Techniques to be
used.
SEG will be using the Software Engineering computers with Dreamweaver, Internet Explorer, Netscape Navigator, and Microsoft Project. The Software Engineering Techniques will provide the foundation of our plan.
2.7 Programming and Scripting
Languages
The project will use the following programming and scripting languages:
Java
JavaScript
HTML
2.8 Testing Requirements
Testing will occur periodically throughout the development of our system, including the conclusion of each step. Team members and other students will test the program along the entire process. The client will be notified of the official testing sessions, and will be encouraged to participate and view the results. The final product test will be subject to the specifications and requirements set forth by the client. The final product will be compatible to run on all major platform configurations.
2.9 Supporting Documents
Requirements
The minimal supporting documentation that will be provided to our clients as follows:
1. Problem Definition/Project Plan – This document is due to the client on September 28, 2004.
2. Software Requirements Specifications – This document is due to the client on November 1, 2004.
3.
Preliminary Design – This document is due to the client
on December 6, 2004.
The Detailed Design documentation will be provided to the client in the Spring of 2005.
2.10 Manner of Demonstration and
Delivery
The project team will give presentations throughout the development process. The presentations will include speeches, demonstrations, PowerPoint presentations, and handouts. The purpose of these presentations is to present accomplishments or progress up to that point to the client, in a formal manner. The presentations will also make sure that the requirements and goals of the client are being met. The dates of delivery and presentations are as follows:
· Problem Definition/Project Plan Documentation – September 28, 2004
· Problem Definition/Project Plan Presentation – October 1, 2004
· Software Requirements Specifications Documentation – November 1, 2004
· Software Requirements Specifications Presentation – November 3, 2004
· Preliminary Design Documentation – December 6, 2004
· Preliminary Design Presentation – December 10, 2004
2.11 Sources of Information
The information for this section
was obtained from meetings with our client, Mr. James Matthews. Other sources of information include Dr.
Lederman’s class lectures, the Software Engineering class textbook Software
Engineering: A Practitioner’s Approach by Roger S. Pressman and previous
Software Engineering teams’ projects.
A.1 Gantt Chart
Paul Califano
Paul.Califano@students.siena.edu
Present Address Permanent
Address
Siena College, SPOB 3348 22
Brookview Drive
515 Loudon Road Schenectady,
NY 12303
Loudonville, NY 12211 (518)
355-8150
(518) 428-6211
OBJECTIVE
To
obtain an internship in the field of Computer Science.
EDUCATION
Siena College, Loudonville, NY
B.S.
in Computer Science, Minor in Business, May 2005
GPA:
3.06/4.00
COMPUTER EXPERIENCE
Languages: C++, Basic, MIPS, Assembly, Scheme, HTML
Operation Systems: Unix, Windows 3.x/9x/NT/2000/ME/XP, Minix, Linix,
Citrix
Software Packages: Microsoft Office, Microsoft Visual C++, Microsoft
Visual Basic, Microsoft Visual Basic.NET 2003, Windows CE, EZ Win, OpenGL,
Macromedia Dreamweaver, Macromedia Fireworks, Mercury Interactive Monitroing
Tools (Topaz, Site Scope, Load Runner), Active PDF, Audio Vault
Database Management: Oracle 9i, Microsoft SQL server/CE
EXPERIENCE
IT
Director, 88.3fm WVCR “The Saint”, Siena College, Loudonville,
NY May 2004 – Present
·
Worked as lead on all
projects with servers in the station.
·
Administrator of Audio
Vault and consultant to the rest of the station crew.
Citrix
Administrator, Office of Children and Family Services, New York
State, Albany NY April 2004 – Present
·
Maintained and
administered 200+ Citrix servers connected to by users all over the state.
·
Active PDF and Topaz
Administrator.
Computer
Consultant, ITS, Siena College, Loudonville, NY August 2003 – August 2004
·
Worked as a computer
lab, help desk, and on-call consultant.
·
Helped implement a plan
to remove the “Blaster” virus off of Siena’s Campus Network.
Resident
Assistant, Siena College, Loudonville, NY August 2002 – December 2002
·
Built community between
residents and enforces rules and regulation set forth by Siena College Life.
Student Orientation Leader, Siena College, Loudonville, NY June – July 2002
· Developed and facilitated programs for incoming students; introduced students to Siena College.
· Attended sexual harassment, discrimination prevention, and disability awareness training.
Referee
Coordinator, Guilderland Soccer Association, Guilderland, NY September 1999 – June 2004
·
Trained new Referees and
observed and reported on each member of a 33 person staff.
VOLUNTEER EXPERIENCE/COMMUNITY SERVICE
Vice
President, Siena College Student Senate December 2003 – present
·
Discuss problems and
possible solutions of campus topics.
·
In charge of all clubs
on campus and made sure all clubs had registration forms and an approved constitution.
Traffic
Appeals Committee Member, Siena College
September 2003 – February 2004.
Intramural
Referee, Siena College January 2003 – Present
Representative, Siena
College Student Senate September 2002
– December 2002.
Head
Coach, Guilderland Soccer Association & Rotterdam
Soccer Club July 1998 – Present
Melissa Hoffmann
Present Address Permanent Address
Siena College, SPOB 3578 222 Highland Avenue
515 Loudon Road Northport, NY 11768
Loudonville, NY 12211 (631) 757-1216
Cell: (631) 871- 0494
E-mail:
melissa.hoffmann@students.siena.edu
Objective A
position in the field of computer science.
Education Siena College Loudonville, New York
Pursuing a Bachelor of Science in Computer Science
Anticipated graduation, May 2005
Minor in Business
Coursework Data Structures
▪ procedural algorithm design.
▪ implementation using data structures.
▪ using modular and structured programming techniques.
Object-Oriented Design and Programming
▪ develop expertise in an object-oriented language (C++).
▪ introduction to object-oriented methodologies.
▪ introduction to UML.
Analysis of Algorithms
▪ design and analysis of algorithms.
▪ works with data structures such as trees and graphs.
▪ sorting and searching algorithms.
Operating Systems
▪ installed, configured and used MINIX in a laboratory setting.
▪ learned the basics of how MINIX operates by studying the source code.
▪ studied the models and algorithms of multiprogramming operating systems.
▪ studied file systems, process scheduling, and memory management.
▪ introduction to the C programming language.
Employment Waitress, Northport Sweet Shop, Northport, NY
September 1997- Present
Computer Skills Programming Languages: C, C++, Assembly
Windows Software: Visual C++, Microsoft Office
Operating Systems: Windows NT/XP, UNIX
Other skills: Software installation
Thomas W. Hyne Jr.
Siena College SPOB 3588 20
Brewster Avenue
515 Loudon Road Northport, NY 11768
Loudonville, New York 12211 (631)
754-0719
Email: Thomas.Hyne@students.siena.edu (631)-275-1142
A position
in the field of computer science; special interest in Web Design.
Siena College, Loudonville,
NY
B.S. in Computer Science, Business Minor May 2005.
GPA 3.3/4.0; Deans List
COMPUTER EXPERIENCE
· Programming in C++ and
Assembly.
· Familiarity with UNIX and
Windows Operating Systems.
· Knowledge of Microsoft
Excel, PowerPoint, Word, and Internet.
Procedural
Design-Programming, Data Structures, Object-Oriented Design and Programming,
Computer
Architecture and Assembly Language, Analysis of Algorithms, Discrete Structures
I,
Discrete
Structures II, Operating Systems, Web Design.
Intellect
UK, Study
Abroad Intern; London, England; Fall 2003
· Web design using html and
java script
· Attended various government
meetings about the IT sector
· Created information
documents for IT companies about government policy
Web
Design for Study Abroad Web Site
· Created a new web site for
the Study Abroad Program
Resident
Assistant, Fall 2002
Student
Senate Fall, 2001-Spring 2002
Big Brothers/ Big Sisters, Winter 2004- Current
·Volunteered each Saturday to spend with under privileged kids
Adam Pasquerella
adam.pasquerella@students.siena.edu
Present Address
Permanent Address
Siena College, SPOB 4115 6232 Randomwood Drive
515 Loudon Road
Schenectady, NY 12303
Loudonville, NY 12211 (518) 356-1677
(518) 727-1780
OBJECTIVE
An internship in the field of Computer
Science
EDUCATION
Siena College, Loudonville, NY
B.S. in Computer
Science, Minor in Business, May 2005
COMPUTER SKILLS
Word, Excel, Power Point, Visual C++, SQL,
Scheme, HTML, Internet, Fireworks, Java
Script, Assembly Language, Perl,
EXPIRENCE
Bag Room
Assistant, Pinehaven Country Club, Schenectady, NY,
April 1999-present
·
Attended to
member’s needs.
·
Helped out
with golf tournaments.
Student Worker¸ ITS,
Siena College, Loudonville, NY, September 2001-May 2003
·
Worked as an
office assistant
·
Helped out
secretaries by running errands, filing, and other tasks
ACTIVITIES
Member, Big Brothers
Big Sisters Program,
Siena College, Loudonville,
NY, September 2003-present
·
Spent
Saturday afternoon with an 11 year-old boy
·
Went to
lunch and then took part in fun activities
·
Built a
brother-like relationship with the boy
George C. Reese II
14
Teresa Street
Latham, NY 12110
(518)
225-0818 e-mail: greese1@nycap.rr.com
OBJECTIVE
To
obtain a position in Information Technology working with network administration
and support
EXPERIENCE
INFORMATION
& TECHNOLOGY SERVICES CONSULTANT –
Siena College, Loudonville, New York
February 2002 – Present
·
Provide technical assistance to
students and faculty in personal computer set-up and use in dorms and computer
labs
·
Provide maintenance of 24 hour
computer lab by ensuring that computers are operating and that printers have
adequate supplies and printing properly
ADMINISTRATIVE AND
TECHNICAL ASSISTANT
– Industrial Tool & Die Co, Troy, NY.
June
2001 - Present
·
Set-up and maintenance of company
network and workstations
·
Purchase and install software
·
Designed and built three computer
workstations from designated component parts
·
Assisted Office Manager in
processing payroll, bill paying, shipping and other office duties
·
Manufacture and assemble
precision tools and devices
CIRCULATION
DESK ASSISTANT – Siena College, Loudonville, New York
·
Checked books in and out of
library
·
Re-stocked books
·
Provided photocopier and printer
technical assistance and maintenance
EDUCATION
Siena
College, Loudonville, NY, Computer Science - will receive B.S. in May 2005
Shaker High School, Latham, NY,
Regents Diploma, June 2001
COMPUTER
LANGUAGES
C, C++, Perl, HTML, SQL, Assembly
Language,
ACTIVITIES / MEMBERSHIPS
Member
of the Siena College Information & Technology Services Advisory Committee,
January 2004 – present
Member
of Association for Computing Machinery, March 2004 - present
Mark St-Hilaire
Siena
College/ SPOB 3866 241
East 87th Street, Apt 1
515
Loudon Road Brooklyn,
NY 11236
Loudonville, NY 12211-1462 718-451-2060
(518) 782-5879 /
mark.sthilaire@students.siena.edu
Objective:
To obtain a challenging internship in the area of
Computer Science or Business, where my relevant experiences will be of value.
Education
Siena College, Loudonville, NY
B.S. in Computer Science, May 2005
Relevant Coursework
Introduction to Computer Science, Procedural Design
and Programming, Database Management, Data Structures, Assembly Language,
Analysis of Algorithms, Communications and Networks, Object-Oriented and
Design, Pre-Calculus, Calculus I & II, and Discrete Structures I & II.
Computer Skills
Information Technology Consultant: Siena College, Information
and Technology Services (I&TS), Loudonville, NY Sept. 2002-present.
Research Intern: Information and Technology Services, Siena
College, Loudonville, NY June 2003 –February 2004.
Other Work Experience
Tutor: Tilden High School,
Brooklyn, NY.
Activities
Mentor, Higher Education Opportunity Program, Siena College Fall 2002, 2003.
Member, Computer Science Club, Siena College, Spring
2002.
Member, Black & Latino Student Union, Siena College, Spring 2002.
A.3 Glossary of
Terms
Gantt Chart - A chart that depicts progress in relation to time, often used in planning and tracking a project.
HTML - A markup language used to structure text and multimedia documents and to set up hypertext links between documents, used extensively on the World Wide Web.
Linear Sequential Model / Classic Waterfall Model – A systematic, sequential approach to software development that begins at the system level and progresses through analysis, design, coding, testing, and support.
Internet - An interconnected system of networks that connects computers around the world via the TCP/IP protocol.
Java- Programming language that our program will be built in.