Software Plan

 

Requested by: 

 

Mr. Ken Swarner

System Administrator

Siena College

Computer Science Department

 

Dr. Tim Lederman

Professor

Siena College

Computer Science Department

 

 

RAEMS

Remote Access Environmental Monitoring System

 

 

 

 

EIN Systems

Environmental Intelligence Network Systems

 

 

Prepared by:

 

Ybelka Brito                          

   Michael Devanandan               

Joseph Halvey                                                     

Michael Jakubowski              

Vernell Mitchell                     

Anthony Ruotolo                    

 

 

September 20, 2005


RAEMS

Remote Access Environmental Monitoring System

 

Table of Contents

 

 

Problem Definition:

 

Section 1: Problem definition                                                                                                  1

Section 2: System Justification                                                                                                1

Section 3: Goal for the system and on the project                                                                   1

Section 4: Constraints on the System and on the Project                                                         1

Section 5: Functions to be Provided (Hardware and Software/People)                                    2

Section 6: User Characteristics                                                                                               2

Section 7: Development/Operating/Maintenance Environments                                                2

Section 8: Solution Strategy                                                                                                   3

Section 9: Priorities of System Feature                                                                                   3

Section 10: System Acceptance Criteria                                                                                 3

Section 11: Sources of Information                                                                                         3

 

Project Plan:

                                                                                                                                            

Section 1: Life-Cycle Model: Linear Sequential (Classic Waterfall) Model                              4

Section 2: Organizational Structure                                                                                         5

Section 3: Preliminary Staffing and Resource Requirements                                                     6

Section 4: Preliminary Development Schedule                                                                         6

Section 5: Project Monitoring and Control Mechanisms                                                          6

Section 6: Tools and Techniques to be Used                                                                          6

Section 7: Programming and Scripting Languages                                                                   6

Section 8: Testing Requirements                                                                                             6

Section 9: Supporting Documents Required                                                                            7

Section 10: Manner of Demonstration and Delivery                                                                7

Section 11:  Sources of Information                                                                                        7

 

Appendix:

 

Section 1: Gantt Chart                                                                                                           8

Section 2: Team Resumes                                                                                                9-14

Section 3: Glossary of Terms                                                                                                15

           


1.1:  Problem definition

 

In today’s society home monitoring devices are becoming more and more of a necessity for a variety of reasons, from basic home security, to optimal room conditions for sensitive electronic equipment.  Our client, Mr. Ken Swarner, has requested that we develop a system which will allow people to set up environmental-monitoring devices in their homes and businesses as well as allow them to view the output of these devices from any web browser on the internet.

 

Table of Contents

1.2:   System Justification

        

The purpose of our software is to help system administrators and homeowners feel more secure when away from their office or home.  The Remote Access Environmental Monitoring System (RAEMS) will allow a user to remotely check the status of a monitored area via a webpage.  This will result in less stress for users, and faster response to critical emergencies.

 

 Table of Contents

1.3:   Goal for the system and on the project

 

The Goal for our project is to create an environmental-monitoring system which will allow people to monitor different aspects of their home and/or business from a remote location from the web. This will allow Mr. Swarner to check and regulate the temperature in his office in order to protect his computer equipment. His partner, Dr. Lederman, has also requested a water sensor gauge for the purpose of monitoring and water which may enter his basement at an undesirable time. A webcam was also mentioned.

 

The goal for our team is to learn about and gain experience in the field of software engineering. We also expect to correct software engineering techniques in a group setting to help solve our client’s problem. 

 
Table of Contents


1.4:   Constraints on the System and on the Project

 

Our monitoring system needs to be secure, using the HTTPS standard. We must also discover a way for the program to work with IP changes as some clients may not have static IP’s.  The program itself is required to be built on a Linux server, while the website must run on an Apache web server.  We must not use any ActiveX, an the system must work on both Windows and Macintosh Operating systems, with the possibility of also running on the Linux system.


Table of Contents

1.5:   Functions to be Provided (Hardware and Software/People)

 

·        A central server database to hold information on user accounts, including IP addresses of computers connected to monitoring devices and types of devices connected.  This will allow registered users to communicate with and monitor compatible devices from almost anywhere with an internet connection and the required viewing software.

 

·        An Apache Web Server to host a webpage, accessible to users, that allows communication with the central database and the active monitoring devices of the users.  Information that would normally be available directly from the device will also be available via the web.

 

·        Webpages on the server will work with the Firefox and Internet Explorer browsers.

 

·        Client software will be made to communicate directly with the monitoring devices, and send information gathered to the central server.  The client software will work on major operating systems such as Windows and Linux.

 

·        Devices supported will include a thermometer and a water sensor.

 

·        A security system to prevent unauthorized access to another user’s information and devices.  Both the server software and the client software will be secure.


 
Table of Contents

1.6:   User Characteristics

 

There will be a number of different types of users.  One kind of user will be people in charge of the well being of server rooms and other similar important setups.  They will expect detailed information from the system.  Another type of user will be a normal homeowner.  They will want the system to be user friendly.  The system will require users to have an active connection to the internet for their monitoring devices, as well as access to the internet when they wish to check on the status of their monitored areas.

Table of Contents

 

1.7:   Development/Operating/Maintenance Environments

 

The Environmental monitoring system will be created on the Siena College Software Engineering workstations. Users will be able to set up their home or business systems, As well as gain access to the web site  and monitor the various devices from any computer with internet capabilities. The usage of this system will be accessible with any computer system with Internet capabilities.  The maintenance of this system will be determined later on.


Table of Contents


1.8:   Solution Strategy

 

Our team will utilize the Linear Sequential Model (also know as the Classic Waterfall Model) to actualize the system requested by our clients. The Linear Sequential Model is made up of the following levels:

 

·        Problem Definition: In this beginning level the team will identify and define the problem that needs to be addressed.

·        Analysis and Requirements: The team will meet with the respected client to gather all information necessary and required to find a solution to the problem projected.

·        Preliminary Design: The team will convert the given system requirements into useable software requirements.

·        Coding and Testing: The team will translate the known software requirements into machine friendly code. The code will be tested with different cases to make sure it is able to correct errors. This stage will take place in Spring 2006.

·        Project Approval: For this final level the team will in fact install the finalized software product. Documents with relevant assistance and maintenance of the system will be provided to the clients in Spring 2006.

 
Table of Contents

 

1.9:   Priorities of System Feature

 

The most important system feature is maintaining security over the database and the information sent to the database from the user.  To ensure this, we will assign passwords to the users who register.  We will also use HTTPS using the SSL protocol to protect the users’ passwords over the internet.  Portability, the ability to use the system from a variety of places, is also of high importance.  The purpose of a web-based system is to provide a user-friendly GUI that is completely functional.

 
Table of Contents

 

1.10: System Acceptance Criteria

 

The web-based system will allow for a number of on-line activities, including at a minimum:

 

1)      Users to register their compatible monitoring devices.

2)      Devices to communicate with the server and send information.

3)      The user to access only the parts of the database pertaining to their devices.

4)      The user to access the database from anywhere that has the internet and the correct browser.


 
Table of Contents

1.11: Sources of Information

 

The majority of project information was acquired from meetings with our client, Mr. Ken Swarner. 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.

 
Table of Contents


2.1: Life-Cycle Model: Linear Sequential (Classic Waterfall) Model

 

Software Plan

This item defines the problem that needs to be solved. It also allows for our organization to develop and implement a plan to solve the problem.

 

Analysis

Before a software package can be launched we must fully understand the purpose of the software; the interface (the design of the product that the consumers must be able to interact with as much ease as possible), as well as the desired behavior (how the product is to be used by consumers), performance (the results of the product). These areas need to be documented thoroughly and reviewed by our clients and organization.

 

Preliminary Design

This is the beginning process of designing the code to build the software product.  Various functions and classes are described.

 

Detailed Design

The entire skeleton of the code is produced and prepared for testing.

 

Development & Testing

The code design is implemented and compiled to discover any errors and bugs that need to be corrected. The software will not be produced until it meets all of the desired results formulated before testing began. Once the software passed this rigorous testing process the software will be presented to our client(s) for their approval.

 

Acceptance Test

 

 
Acceptance Test

The software is brought to our clients to ensure that our product has met all of their desired design, behavior, and functions. If our software does not meet their needs it will be brought back for re-evaluation.




Table of Contents

2.2:   Organizational Structure

 

Environmental Intelligence Network (EIN Systems) is comprised of the following members:

 

Name                                    E-mail Address                               Phone Number

Ybelka Brito                          syb8052@siena.edu                       646.236.8611

Michael Devanandan             smd2621@siena.edu                      518.377.2467

Joseph Halvey                       sjh7299@siena.edu                        914.474.4167

Michael Jakubowski              smj2080@siena.edu                       518.522.2212

Vernell Mitchell                     svm3084@siena.edu                     518.542.7246

Anthony Ruotolo                   ap15ruot@siena.edu                       518.495.3198

 

EIN Systems is organized as follows for the Environmental-Monitoring Project:

 

Michael Devanandan – Team Leader and System Administrator

Anthony Ruotolo – Team Coordinator

Ybelka Brito – Librarian

Vernell Mitchell – Webmaster

Michael Jakubowski – Project Engineer

Joseph Halvey – Software Developer

 

The team structure of EIN Systems is democratic. Decisions will be decided by the majority vote.

 

The work assignment for each member is as follows:

 

Team Leader – Organizes meetings and interviews for the team as well as for the client, guide the team throughout the semester.

 

System Administrator – Maintains the team’s user’s accounts and is responsible for software administration.

 

Team Coordinator – Makes sure every team member is doing their individual projects

 

Librarian – Maintains all documentation and records of team members and meetings.

 

Webmaster – Creates and maintains the project web page.

 

Project Engineer – Responsible for research and development of each aspect of the project.

 

Software Developer – Responsible for analyzing the problem presented, deciding what type of software is needed to implement the solution of the project.


2.3:   Preliminary Staffing and Resource Requirements

 

The software resources needed for this project are a database management system such as Oracle or MySQL as well as a web design page editor such as Dreamweaver of Fireworks. Our primary sources are those directly involved with this project. Also our client Dr. Ken Swarner is a major source as well as Dr. Tim Lederman, our Software Engineering professor.

 
Table of Contents

 

2.4:   Preliminary Development Schedule

 

Refer to Gantt chart in the appendix of this document as well as the proposed development schedule in Sec. 3.1


 
Table of Contents

2.5:   Project Monitoring and Control Mechanisms

 

All team members have responsibilities and tasks to prepare according to a weekly schedule maintained by the Team Leader.  Weekly meetings are scheduled with client to further acquire necessary information, as well as report progress toward milestones.  Strict adherence to the development schedule will help to assure progress is made toward the clients’ desired projections.  Periodic presentations and team meetings will help provide feedback about our project to ensure that development is proceeding successfully.


 
Table of Contents

2.6    Tools and Techniques to be Used

 

EIN will make use of a wide variety or hardware and software.  On the clients end we will provide for all popular Operating Systems including Windows, MAC OS, and Linux.  We will use the Apache Web Server to design a website with a functional GUI which will be accessible through web browsers including Internet Explorer, Netscape Navigator, and Firefox.

 
Table of Contents

2.7    Programming and Scripting Languages

 

The project will require the integration of several programming languages including PHP, HTML, Java, C++, and Perl.


Table of Contents

2.8    Testing Requirements

 

Testing will be performed during development by group members, with results reported to our client for study and feedback, as well as their participation in the testing process.  Each aspect of the project will be rigorously tested by multiple members to ensure that no mistakes are overlooked.  Final product testing will be subject to the specifications of our client and it must compatible with all major software and Operating Systems.

 
Table of Contents


2.9:      Supporting Documents Required

 

The following supporting documents will be given to our clients on the dates provided:

 

1)      The Project Definition/Project Plan – September 20, 2005

2)      The Software Requirements Specifications – October 24, 2005

3)      The Preliminary Design – November 28, 2005

 

Additional supporting documentation on the Detailed Design will be contributed to the client in the spring of 2006.

 
Table of Contents

2.10: Manner of Demonstration and Delivery

 

Through out the development of this project we will give various presentations. These presentations will be made up of, but are not limited to speeches, handouts, demonstrations and PowerPoint slides. Our intention through these presentations is to describe the accomplishments we have made up to that point and to make sure that the client’s goals and necessities are being met. Dates of presentations to the client and delivery of documents are as follows:

 

1)      The Project Definition/Project Plan Document – September 20, 2005

2)      The Project Definition/Project Plan Presentation – September 23, 2005

3)      The Software Requirements Specifications Document – October 24, 2005

4)      Software Requirements Specifications Presentation – October 26, 2005

5)      The Preliminary Design Document – November 28, 2005

6)      The Preliminary Design Presentation – December 02, 2005

 
Table of Contents

2.11: Sources of Information

 

The majority of project information was acquired from meetings with our client, Mr. Ken Swarner. 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.


3.1: Gantt Chart        

Table of Contents

 

       Ybelka F. Brito

Present Address                                                                                                                  Permanent Address

Siena College, SPOB 3289                                                                                                   35 Marcy Place 4H

515 Loudon Road                                                                                                                 Bronx, NY 10452

Loudonville, NY 12211                                                                                                        (718) 537-2158

(646) 236-8611                                                                                                                       yb0984@yahoo.com

syb8052@siena.edu

 

OBJECTIVE

                A challenging position in the field of computer science.

 EDUCATION

                Siena College, Loudonville, NY

                B.S. in Computer Science, B.A. in French, Minor in Mathematics and Spanish; May 2006

Study Abroad: Quebec, Canada, Summer 2003; Paris, France, Spring 2005

COMPUTER & LANGUAGE SKILLS

Computers

  • Programming in C/C++, Java, HTML, MIPS Assembly Language, Scheme, SQL
  • Proficient in Microsoft Word, Excel, Windows & Internet

Languages:

Fluent in Spanish, Proficient in French

                                                                   RELEVANT COURSE WORK

  • Introduction to Computer Science, Procedural Design and Programming, Data Structures, Assembly Language and Computer Architecture, Object-Oriented Design and Programming, Algorithm Analysis, Data Base Management, Java for C++ Programmers, Software Engineering I
  • Discrete Structures I & II, Calculus I & II, Foundations of Math I, II & III, Linear

                Algebra

              EXPERIENCE

Intern, Institutional Planning & Research, Loudonville, NY, Fall 2005

  • Create and maintain a website from which a given database will be used by the Siena Community

Consultant, Siena College Information and Technology Services, Loudonville, NY, August 2004 – Present

  • Answer calls at I&TS Call Center to provide technical assistance to the Siena Community
  • Maintain computers and related machines such as scanners and printers
  • Provide one-on-one technical support to students

Resident Assistant, Siena College, Loudonville, NY, Fall 2003 – Present                

  • Respond to the needs of residents on residence hall
  • Manage various administrative duties including maintenance requests, incident reports, and room transfers
  • Responsible for the safety and security of the building on duty nights
  • Enforce and upholds college policies

Resident Counselor, Center for the Disabled, Albany, NY, March 2004- Present

  • Assist and promote individual consumers’ levels of independence with personal, social, recreational, and/or health related needs.
  • Instruct and promote residential consumers acquisition of skills, including basic activities of daily living, self care and household management.
  • Accompany and/or encourage residential consumers’ independence in personal business in the community, including, but not limited to, medical appointments, family visits and community based outings.

 ADDITIONAL EXPERIENCE

                Siena College Research Institute, Summer 2003

                Siena College Admissions Office, Summer 2003

                Siena College Dining Services, 2002 – 2003

ACTIVITIES

                Mentor, Siena Mentoring Program, 2003 – Present

                Member, Computer Science Club and Math Club, Siena College, 2002 – 2004

Member, Siena College Tennis Team, 2002 – 2003





 



Table of Contents



3.3:   Glossary

 

Classic Waterfall Model / Linear Sequential Model – A systematic, sequential approach to software development that begins at the system level and progresses through analysis, design, coding, testing, and support.

 

Code – The symbolic arrangement of data or instructions in a computer program or the set of such instructions.

 

C++ – A compiled object oriented programming language.

 

Database A collection of data arranged for ease and speed of search and retrieval.

 

EIN Environmental Intelligence Network – Our team name for the six software engineers who will design and implement a home environmental regulation system available over the internet.

 

Gantt Chart – A chart that depicts progress in relation to time, of ten used in planning and tracking a project.

 

GUIGraphical User Interface – An interface, which uses text box’s and buttons to allow easy access of information by a mouse or other input device.

 

HTMLHypertext-markup language – HTML is a markup language used to structure text and offers hypertext links between documents.  It is the standard of the World Wide Web.

 

HTTPSHypertext Transfer Protocol Secure – This is a more secure version of HTTP.  It is often used for credit card transactions over the web.  

 

Internet – An interconnected system of networks that connects computers around the world via the TCP/IP protocol.

 

Java – An object oriented programming language.

 

PerlA general-purpose interpreted procedural programming language developed for text manipulation and now used for a wide range of tasks including system administration, web development, network programming, GUI development, and more.

 

PHPHypertext Processor – PHP is a widely-used server-sided scripting language and can be embedded into HTML.

 

SSL Secure Socket Layer –A cryptographic protocol which provides secure communications on the internet.