Uncle Sam’s America

Project Plan

Project ID: Ongo8c

Client:

Ames Community Schools

Faculty Advisors:

Dr. John Lamont

Professor Ralph Patterson

CprE/EE 492 Team Members:

Laura Longoria, EE / Li-Wei Low, CprE

CprE/EE 491 Team Members:

David Schwenker, CprE / Robert Sailer, EE

10 February 2004

Ongo8c Project PlanCprE/EE 491Revision 2.0

Table of Contents

TABLE OF CONTENTS…………………………………………………………..….. ..ii

LISTS OF FIGURES……………………………………………………………...…….iv

LIST OF TABLES…………………………………………………………………...…..v

LIST OF DEFINITIONS………………………………………………….…..………...iv

Introduction

Abstract

Acknowledgements

Problem Statement

General Problem Statement

General Solution-Approach Statement

Operating Environment

Intended Users and Uses

Intended Users

Intended Uses

Assumptions and Limitations

Assumptions

Limitations

Expected End-Product

Proposed Approach and Statement of Work

Proposed Approach

Functional Requirements

Constraint Considerations

Technology Considerations

Technical Approach Considerations

Testing Requirements Considerations

Security Considerations

Intellectual Property Considerations

Commercialization Considerations

Possible Risks and Risk Management

Proposed Milestones and Evaluation Criteria

Project Tracking Procedures

Statement of Work

Estimated Resources and Schedule

Estimated Resource Requirements

Personnel Effort Requirements

Other Required Resources

Financial Requirements

Schedule

Conclusion

Project Team Information

Client Information

Faculty Advisor Information

Team Member Information

Summary

References

List of Figures

Figure 1: Client-Server Relationship

Figure 2: Database Framework

Figure 3: Degrees of Testing

Figure 4: Schedule

1

Ongo8c Project PlanCprE/EE 491Revision 2.0

List of Tables

Table 1: List of Acronyms and Definitions

Table 2: Milestones and Current Status

Table 3: Estimated Personnel Effort (Hours)

Table 4: Other Required Resources

Table 5: Estimated Financial Budget

List of Definitions

The following table will help define technical and project-specific terms used throughout this document.

Table 1: List of Acronyms and Definitions

Acronym
/
Definition
ACS / Ames Community Schools
Apache / A software product that serves web pages to clients requesting them. Apache can be used in conjunction with PHP in order to produce dynamic web pages that are built and delivered to the requesting client on the fly
GUI / Graphical user interface—what the user sees and interacts with while using the software
HTML / Hyper Text Markup Language—the language used to describe the formatting and presentation of a web page
LAMP / A development environment utilizing Linux, Apache, MySQL, and PHP
Linux / An open-source operating system that is optimized for use as a web application server
MySQL / An open-source implementation of an SQL server
PC-compatible / Personal computers that run a Microsoft Windows operating system
PHP / Pseudo-acronym for Hypertext Preprocessor. A computer language that enables Apache web server to dynamically generate HTML documents
SQL / Structured Query Language—a language used to retrieve information from SQL-compliant databases
USA / Uncle Sam’s America

1

Ongo8c Project PlanCprE/EE 491Revision 2.0

Introduction

This section will introduce the background information behind Uncle Sam’s America and includes the problem statement, operating environment, intended users and uses, assumptions and limitations, and expected end product description.

Abstract

Ames Community Schools (ACS) has been concerned with the performance of their students’ problem solving abilities on a nationally standardized exam. While ACS traditionally scores in the 90+% on traditional math skills, results from the problem-solving section were around 40+%. The purpose of the Ongo08 project is to provide software that supplements classroom learning, particularly in the areas of mathematics and geography while stressing the improvement of problem-solving skills. To this end, a web application is being produced. The final product will allow students to solve problems and allow teachers to view the results. By utilizing the software to extend classroom learning, the students of ACS will be better prepared for standardized tests, ultimately resulting in higher test scores.

Page 1

Ongo8c Project PlanCprE/EE 491Revision 2.0

Acknowledgements

Thanks to faculty advisors Dr. John Lamont and Professor Ralph Patterson for their past and continued guidance throughout this project. Also thanks to the CprE/EE 492 team members for their invaluable help and advice. Lastly, thanks go to the project client, the teachers of the AmesCommunitySchool District, for their guidance toward the final product.

Problem Statement

This section includes both a general problem statement and the general solution-approach statement that will respectively provide a general overview of the problem and the approach that will be used to solve the problem.

General Problem Statement

The project objective is to develop software for third through sixth grade students to learn more about United States geography using a computer-based environment. In order for students to properly operate the software, it has to be user-friendly and highly interactive. It shall provide up-to-date geographical information, such as population, land area, state flag, state song, natural resources, religions, and manufactured products for each state. Thus, it will receive this information from a database. The software shall include exercises for practice and performance examinations. It will also have to be user-friendly for teachers and instructors who will be operating the system, assisting the students, and conducting the examinations.

Internet-based teaching software will provide children in upper elementary school the opportunity to learn core subjects while exercising computer skills. The software system shall provide lessons to students and privileged access to teachers and administrators with which they can monitor student progress and customize lessons. It will have an interface where students can click on states to learn more about them and will provide exercises for the students to practice learning about different states while at the same time developing their mathematical skills through comparison of state statistics.

A software framework capable of managing user accounts, allowing teachers to customize their lessons, and maintaining information about each student's performance shall support the application. The system as a whole will make access and maintenance of lessons easy for teachers, and the feedback provided from the system will assist teachers in evaluating student performance. This function will be provided with the help of ongo08d, the framework team.

General Solution-Approach Statement

A server or main computer shall store the software and database. The database shall contain the information for United States geography, practice exercises, questions for performance examinations, and student results. Each student will operate from their own computer, called a client, where they will learn about U. S. geography and apply what they have learned to solve problems. The server shall talk to the clients via the Internet. This relationship is shown in Figure 1. Based on the information provided by the client, the server shall generate a customized web page for that particular client. This way, each student can work at his/her own pace.

Figure 1: Client-Server Relationship

The software solution shall utilize dynamic web pages written using Hypertext Preprocessor (PHP), Structured Query Language (SQL), and Hyper-Text Markup Language (HTML).

Operating Environment

Uncle Sam's America (USA) shall exist and run on LAMP (Linux-Apache-MySQL-PHP) architecture. The web application code will be written in PHP, which runs as a module to the popular and powerful Apache web server. The software will use MySQL as its database backend and run on the Linux operating system. This structure will provide a powerful open-standards environment for the web applications.

USA will need to function on both PC-compatible and Macintosh-compatible machines. This limitation can be bypassed by using platform-independent HTML. The central server will need to be running Linux and must be capable of making many computations simultaneously. If adopted by all ACS elementary schools, USA must have the hardware to support a large number of simultaneous clients (students).

Intended Users and Uses

This section identifies the intended users and uses of USA and characteristics of each.

Intended Users

The intended users of USA are students in grades 3-6 as well as teachers presenting the software to the students. Other users include the schoolcomputer administrators, and also parents who will be aiding the learning process from home.

Intended Uses

The main purpose of this software is to enable students to learn U.S. geography more easily using a computer-based environment. The primary use of USA will take place in computer labs in the elementary schools. The teacher will have introduced the topic before the approximately twenty or more students in a single class are allowed to explore the topic further on the computer.

A secondary use of USA will be in the homes of the students, perhaps even as part of a homework assignment. This use allows the parents to have an interactive role in their child's education.

Other uses include the following:

  • Managing user information.
  • Reviewing the results of the students' activities.
  • Collaborating work between the teacher and the computer administrator to add/modify/delete problems and their interactive components.

Assumptions and Limitations

This section provides information about the project assumptions (engineering inferences) and limitations (physical limits imposed by the client or technology).

Assumptions

Non-technical assumptions include the following:

  • There will be adequate supervision with computer experience to assist the students when they are operating the system.
  • This software shall be a supplement to classroom instruction as not all families have Internet access in their homes.
  • The students have been exposed to U.S. geography topics prior to their initial use.

Technical assumptions include the following:

  • All client computers are connected to the Internet.
  • Clients have Internet Explorer 5.0 or Netscape 5.0, or later versions.
  • Final builds of the application will be hosted on a computer managed by the Department of Electrical and Computer Engineering.
  • The team will have access to a development environment on a separate machine from the production environment.
  • The USA application will have write-access to the server.
  • The application will have a developed PHP framework to support a set of Internet educational activities.
Limitations

Challenges and limitations to development include the following:

  • Primary students may not have much prior experience using computers. The client software must be easy to understand and use.
  • Younger students may not know how to type. USA should provide a means for feedback appropriate to their age level.
  • Computers are not really interactive. They only respond to pre-defined commands. The commands available to students must make the computer appear alive. For example, when asked for a hint, the computer should supply one it has not supplied before, up to a maximum of three.
  • Team members must learn and become comfortable with PHP and MySQL in order to be compatible with the entire Ongo8 project team.

Other technical limitations include:

  • Internet connection and Internet bandwidth.
  • Computer/processor speed of the client machines.
  • MySQL database is not an enterprise database solution; so advanced features such as sub queries will not be possible.

Expected End-Product

At project completion, the end product will be a web application that allows teachers to supplement classroom learning of U.S. geography. Students will be able to log in and use any of the application. They will be able to learn about geography and solve problems based on that topic. Teachers will be able to access student statistics in order to gauge student performance. Teachers will also be able to add to the applications by creating additional problems for students to solve.

At semester completion, the end product will be a web application that contains a map of the United States of America wherein each state will be a link to an information page about that state. There will also be a function to compare the states to each other in given categories, and a quiz page. This semester main concern, however, will be the comparisons page.

A web solution allows the pages of generated HTML to be viewed on any platform. Teachers will be able to compare information obtained from all participating students. These students do not necessarily need to be in the same classroom with the teacher. Because this solution is web-based, students will have the opportunity to work on math problemsassociated with geography at home with their parents. This flexibility can indirectly have a large effect on parental involvement with the education process.

Page 1

Ongo8c Project PlanCprE/EE 491Revision 2.0

Proposed Approach and Statement of Work

This section includes both the proposed approach and a statement of work meant to help insure project success.

Proposed Approach

The proposed approach includes the following eleven components: functional requirements, constraint considerations, technology considerations, technical approach considerations, testing requirements considerations, security considerations, intellectual property considerations, commercialization considerations, possible risks and risk management, project proposed milestones and evaluation criteria, and project tracking procedures.

Functional Requirements

The following functional requirements apply to the USA software package:

  • The program should be accessible to students via the Internet..
  • The program should allow the student to choose a state using an easily navigable map of the United States.
  • The program should display information on a chosen state of interest upon request.
  • The program should integrate mathematics problem solving in meaningful ways.
  • The program should store results in a database as shown in Figure 2 of each student for teachers to retrieve and review.
  • The program should be compatible with the framework program.

Figure 2: Database Framework

The user table will hold the username, password, permission settings, etc for anyone that has official access to the USA web site. Users without official access to the web site may still use the program under a general user name. No record keeping will take place in this case. The permission settings are set to allow restrictions to users, such as not allowing students to edit/create problems, and letting teachers view class and individual statistics. The problems table will store the problems that will be used for the students to solve. The statistics table stores the results of problems per student.

Constraint Considerations

The following design constraints apply to all aspects of the project:

  • The program will be web-based to allow for multiple platform use (PC as well as Macintosh).
  • The program must be easy for third to sixth grade students to understand and operate.
  • Basic help instructions must be available to provide for those users that do not know how to operate computers.
Technology Considerations

The technology to use for this project is largely mandated based on the imposed requirements and limitations. The application must be accessible to computers in the Ames Community Schools system over the Internet, which mandates the use of HTML to be sent from the server to the client machines.

For server technology, the use of PHP and MySQL is required because of the architecture of the machine that the software will run on. Other technologies such as ASP.NET and SQL Server 2000 cannot be used because the machine is not a Microsoft server.

Technical Approach Considerations

Software design will be done using PHP/MySQL as the base language. The project will have a number of components, including database design and population, HTML design, graphic design, and application code design.

Team members will be assigned for each component of the project and will primarily be responsible for the completion of that component of the project. The team leader may decide to assign other duties to team members beyond their area of expertise, but primarily each team member will do most of his or her work in one or two areas of specialization.

Testing Requirements Considerations

Quality assurance is not only important; it is an integral step of the software development process. In order to assure quality in the software products, testing will be performed according to the degrees of the testing pyramid, as shown in Figure 3 below.

Figure 3: Degrees of Testing

This project follows the testing pyramid as follows:

  • As development progresses, individual team members will test small chunks of code as they write them. This step is shown at the bottom of the pyramid as development or unit testing.
  • Next, builds of the product shall be created and installed onto the target system and tested for installation failures.
  • The next step is “good path” or “positive” functional testing. In this step of the pyramid, the tester exposes the application to expected inputs and verifies that the expected outputs are achieved. This includes such things as clicking a link and making sure that the appropriate page is displayed.
  • The fourth step in the testing pyramid is diagnostic testing, which is commonly referred to as boundary or negative testing. In this approach, unexpected inputs are applied to the application (such as entering character data in a field that expects numbers) to make sure that the application can recover gracefully from such errors.
  • The next step of the testing pyramid does not really apply to this project. Stress testing involves engaging the server in a multitude of requests to verify that it can keep up with a high load. Because the project has a relatively small user base (ACS), this should not be an issue. This step would become increasingly necessary if large-scale commercialization were to be seriously considered.
  • The last step of the testing pyramid is usability testing, which involves a high-level walkthrough of the application to see if there are areas that could be improved from a usability standpoint.

The testing methodology will include a test plan where members will test other members’ components. Better testing is accomplished if an independent person tests the software that he or she was not involved in creating. A metaphor for this statement is an audit firm that independently verifies the accounting practices of a corporation. Only by employing an independent test group can excellent quality be assured.