Internet Centralized K-12 Homework

Assignment Capability

Project Plan

Senior Design May 04-06

Client: Senior Design project Ongo-08

Team Members:

Michael Bravo IIIKathryn Lamont

Lauren MarshallRichard Patrick

Faculty Advisors:

Yong GuanThomas Daniels

REPORT DISCLAIMER NOTICE

DISCLAIMER: This document was developed as a part of the requirements of an electrical and computer engineering course at Iowa State University, Ames, Iowa. This document does not constitute a professional engineering design or a professional land surveying document. Although the information is intended to be accurate, the associated students, faculty, and Iowa State University make no claims, promises, or guarantees about the accuracy, completeness, quality, or adequacy of the information. The user of this document shall ensure that any such use does not violate any laws with regard to professional licensing and certification requirements. This use includes any work resulting from this student-prepared document that is required to be under the responsible charge of a licensed engineer or surveyor. This document is copyrighted by the students who produced this document and the associated faculty advisors. No part may be reproduced without the written permission of the senior design course coordinator.

October 10, 2003

1

Table of Contents

List of Figures

List of Tables

List of Definitions

1 Introductory Materials

1.1 Abstract

1.2 Acknowledgements

1.3 Problem Statement

1.4 Operating Environment

1.5 Intended User(s) and Intended Uses

1.5.1 Intended Users

1.5.2 Intended Uses

1.6 Assumptions and Limitations

1.6.1 Initial Assumptions List

1.6.2 Initial Limitations List

1.7 Expected End Product and Deliverables

2 Proposed Approach and Statement of Work

2.1 Proposed Approach

2.1.1 Functional Requirements

2.1.2 Constraints Considerations

2.1.3 Technology Considerations

2.1.4 Technical Approach Considerations

2.1.5 Testing Requirements Considerations

2.1.6 Security Considerations

2.1.7 Safety Considerations

2.1.8 Intellectual Property Considerations

2.1.9 Commercialization Considerations

2.1.10 Possible Risks and Risk Management

2.1.11 Project Proposed Milestones and Evaluation Criteria

2.1.12 Project Tracking Procedures

2.2 Statement of Work

Task 1 - Problem Definition

Task 2 - Technology and Implementation Considerations and Selection

Task 3 - End-Product Design

Task 4 - End-Product Implementation

Task 5 - End-Product Testing

Task 6 - End-Product Documentation

Task 7 - End-Product Demonstration

Task 8 - Project Reporting

3 Estimated Resources and Schedules

3.1 Estimated Resource Requirements

3.2 Schedules

4 Closing Materials

4.1 Project Team Information

4.1.1 Client information

4.1.2 Faculty Advisor information

4.1.3 Student Team information

4.2 Closing Summary

List of Figures

Figure 1: Task Gantt Chart

Figure 2: Deliverables Gantt Chart

List of Tables

Table 1: Personal Effort Requirement

Table 2: Other Required Resources

Table 3: Original Estimated Project Costs

List of Definitions

Server – A server is a computer dedicated to hosting the web pages, databases, and other web applications.

Source Tracking Tool – A source tracking tool is a software product that allows multiple users to work simultaneously on the same code and merges code changes into one version.

User Interface – (UI) A graphical display that allows the user to easily interact with the program.

Web Application – A web application is a piece of software that runs over the internet and allows transfer of data between multiple computers.

1

1 Introductory Materials

This section describes the project to be completed. It includes an abstract, acknowledgements, and a problem statement. It also includes information about the operating environment, the intended uses and users, assumptions, limitations, and the expected end-product.

1.1 Abstract

Current school systems require that when students are absent from school, they or their parents must come into the school and talk to each teacher to get missed work. A more simple standardized method for obtaining missed assignments can be created. This problem can be solved by building a web-based application with an underlying database. When students miss classes, their teachers can post missed homework onto the website and students or parents can access this without leaving their home. The final product will include a web interface, a database to store the assignment information, log files describing individual accesses to the system, and help documentation. Help documentation will make it possible for the individual teachers to update the web page. This web-based application will standardize the way in which homework assignments will be available to absent students.

1.2 Acknowledgements

Senior Design Team Ongo-07, A Statewide, Computer-Based Educational

System

Senior Design Team Ongo-08, K-12 Teaching Application Support and Software

Dr. Thomas Daniels, Assistant Professor

Yong Guan, Assistant Professor

1.3 Problem Statement

When a student is absent from class, whether it is a single absence or an extended absence, student misses important assignments and handouts that put the student behind in class. If this absence is extended, the work can quickly pile up if the student is unaware of all assignments. There is a need for a way for students who have missed classes to access these missed assignments and handouts. This would allow students the chance to try to stay on schedule.

1.4 Operating Environment

The operating environment for this project will be a personal computer. The web application will be the teacher's and students’ main working environment. The server will be owned and maintained by Ongo07/Ongo08. The user interface will be platform independent.

1.5 Intended User(s) and Intended Uses

This section discusses the intended users and intended uses of the completed project. It discusses expected requirements of the users, and then discusses how the completed project is expected to be used.

1.5.1 Intended Users

The user of the web application will be a minimum age of 8. The user will have a minimum 3rd grade level, which would mean that the user has basic computer skills. Students with physical or mental handicaps that do not allow them to operate basic functions of a computer would need adult supervision or assistance to retrieve the online assignments.

Teachers would need a minimum of a semester of college in their respective teaching field. They would need to have computer skills that are advanced enough to allow them to be able to teach or guide students how to access the assignments. The teachers would also need to be able to enter and delete data from web page. A help document will be provided online to assist the teacher.

1.5.2 Intended Uses

The web page is intended to be used for the retrieval and posting of assignments. The web page will mainly be used by students that have missed class and to know the assignments that were assigned. The teachers will use it to view a log that will tell which students have accessed the webpage. Teachers will also post homework assignments, and they will need to be able to post downloadable worksheets in an Adobe Portable Document Format or Microsoft Word document.


1.6 Assumptions and Limitations

This section includes the basic assumptions made for the web application. It also contains the limitations of the software and operating environment.

1.6.1 Initial Assumptions List

  • User is at least 8 years of age.
  • User has the equivalent of a 3rd grade level of education.
  • Any students under age 8 or not with 3rd grade education would receive help from a qualified person.
  • User will have basic computer skills, including the ability to use a mouse.
  • Users will have computer systems that are connected to the Internet and have sufficient memory.
  • Student with mental or physical disabilities that would affect their use of the application would receive help from a qualified person.
  • Server is provided.
  • Server is secure.
  • The development server is the server that the application would run on. If the application is deployed for use by the school, the development server will continue to host the application.
  • Application is primarily for students who were absent from class.
  • Application is designed only for one school district, the Ames Community School district.
  • Teacher needs to have a minimum of a semester of college in their respective teaching field.
  • Teacher needs to have computer skills that are advanced enough to allow them to be able to teach or guide student in accessing website.
  • Teacher needs to be able to enter and delete data from web page.

1.6.2 Initial Limitations List

  • Each user can only be logged in once at any given time. (A user cannot be logged into the system from multiple machines simultaneously.)
  • A maximum of 100 users can be logged in simultaneously.
  • Application will be developed using software licensed by Iowa State University.
  • Server has been previously configured.
  • Text must be simple and concise for a 3rd grade user.
  • Hyperlinks must be no more than two levels deep.
  • Many users will have slow internet connections.
  • Development and testing will be completed in approximately four months.

1.7 Expected End Product and Deliverables

The expected end product shall be a web based application including a student/parent interface, a teacher interface, an underlying database, log file, and user help documentation. This software product will be delivered to the Senior Design Ongo-08 team in May 2004 to be used as a part of their teaching application software package. It is expected to used by teachers to post missed homework assignments for students who have been absent from class.

2 Proposed Approach and Statement of Work

This section will describe the plan of completing the project. It will include requirements, technology issues, safety and security considerations as well as milestones and a list of tasks to be completed.

2.1 Proposed Approach

This section contains information about the essential components of the project necessary for success. These include such things as testing, constraints, intellectual property, and project tracking.

2.1.1 Functional Requirements

This functional requirements section defines the functions that the website will implement.

  • Log in screen – This interface will be used to authenticate a user.
  • No more than two hyperlinks deep – This requirement is meant to keep the complexity of the website to a minimum.
  • Password protection – This is used for security for the individual user.
  • Unique user interfaces for students and teachers – This will allow a teacher to alter the website, while not allowing a student to.
  • Assignment List - The names of the students who missed class will be entered into the database so that a list of assignments can be compiled for the student. When a student logs on, the student’s classes will be viewed.

2.1.2 Constraints Considerations

This section defines the constraints that will be implemented on the website, and what considerations were taken into account.

  • Maximum log on – This requirement will not allow a user to be logged on to the server from more than one computer so the server will not be bogged down.
  • Maximum users – The server will support a maximum of 100 users.
  • Maximum memory – There will be a certain amount of memory that will be allocated for each user that logs on.
  • Maximum database size – This constraint means that the database will need to be cleaned up periodically.

2.1.3 Technology Considerations

This section discusses the technology that will be used.

  • Platforms – The platform will be developed to maximize accessibility.
  • Server – The server is supplied by Iowa State University and is a Linux server.
  • Software - The website will need to be developed on software available through Iowa State University.

2.1.4 Technical Approach Considerations

One possibility for implementing this web application is using dynamic HTML and JAVA. The database would be developed using mySQL. Another possibility would to develop the application using ASP.NET, XML, and either Visual Basic or C#. The database could be SQL or another existing database. A prototype will first be developed. Then the student/parent user interface and the teacher interface will be developed. The database will developed after most of the user interface is completed. A web-based help system will be implemented to aid the user.

2.1.5 Testing Requirements Considerations

As each piece of the application is developed, basic functionality tests will be run. After the application is implemented, extended test cases will be run. Test cases for the student/parent user interface and database will be run. Also test cases for the teacher side of the database will be run. An outline for the testing plan will be created and carried out. Many database tests will be run to assure the data is stored accurately.

2.1.6 Security Considerations

The security of the server itself has already been implemented. It will be necessary to be sure that the application is secure. Also the user’s privacy is a security issue. User password storage will have to be investigated so that the passwords are not vulnerable. The log which will have a listing of application activity will be one method of monitoring the security of the application. For younger users, the use of a password may be too complicated. Other types of authentication are being investigated.

2.1.7 Safety Considerations

Due to the fact that this product is a web based application, there are no foreseen safety considerations.

2.1.8 Intellectual Property Considerations

The client is Senior Design Team Ongo-08. Any intellectual property owned by that team is beyond the scope of this project. Members of this project team will waive ownership to Ongo-08 team upon delivery of the software.

2.1.9 Commercialization Considerations

This product will not be sold commercially. It is designed to become part of the K-12 Teaching Application Software being developed by our client. Therefore, there are no commercial considerations at this time.

2.1.10 Possible Risks and Risk Management

There are a few risks that are associated with this project. One of these risks is the loss of a team member. To avoid this, multiple members of the team will work on every task. Tasks will be shared among team members so if one were to leave the project, there would not be any significant setbacks. Another risk to the project is interpersonal relationships within the team. It is important that all team members communicate with each other in a positive manner. This problem will be avoided by team members treating one another with respect and talking through any problems or disagreements that may arise.

2.1.11 Project Proposed Milestones and Evaluation Criteria

The milestones for this project are:

  • Web Page – This is the main way for the end-users to connect to the system.
  • User Interface - This should be simple, easy to read and to navigate.
  • Database – This should be able to organize and retrieve information well
  • Log File – This should create a log of all users that connect to system.
  • Help Document – The help document should be easy to read. It should assist users in operation of the system with no outside explanations needed.
  • Testing – All parts should perform as planned, and then be tested as a whole system.

The project milestones will be evaluated on the following scale:

  • Not started - The milestone has not yet been started.
  • Partially Achieved - Some work has been started on the milestone, but the milestone is not yet completed.
  • Achieved - The milestone has been completed.
  • Exceeded - The milestone has been completed and exceeded initial expectations.

2.1.12 Project Tracking Procedures

A major need of this project is to track code. The team is currently considering the use of different code tracking tools, of which includes CVS and SourceSafe. Microsoft Project is also being considered to help track progress.

2.2 Statement of Work

The following is a list of tasks to complete in order to finish this project successfully. It includes subtasks, the approach to complete the subtask and the expect result of each subtask.

Task 1 - Problem Definition

Subtask 1a – Identify the Problem

Objective – Determine the intended direction of the project.

Approach – Meet with faculty advisors to discuss the project and goals of the project.

Result – A written problem statement and a list of project goals are created.

Subtask 1b – Identify End Users and Uses

Objective – To gain perspective on who will use the product and how the product will be used.

Approach – Discuss with faculty advisors the possible users and uses of the product.

Result – A compiled list of users and uses is completed.

Subtask 1c – Identify Other Project Constraints

Objective – Determine what the considerations must be made for the project.

Approach – Discuss with faculty advisors and client what needs to be included in the project and what limitations it has.

Result – A written list of requirements and constraints is created.

Task 2 - Technology and Implementation Considerations and Selection

Subtask 2a – Identify Possible Technologies

Objective – Gain feedback on the possible methods of implementation.

Approach – Discuss with faculty advisors the possible programming languages available that would fulfill this project’s needs.

Result – A list of potential technologies for use are ready for evaluation.

Subtask 2b – Research Potential Technologies and Select the Most Appropriate

Objective – Gain knowledge about current technological approaches.

Approach – Research each technology remembering the project constraints and removing technologies that do not meet the project needs. Choose of the remaining the most appropriate for the project.

Result – The best technology has been chosen.

Task 3 - End-Product Design

Subtask 3a – Identify Design Requirements

Objective – Determine what will be required of this product.

Approach – List the requirements that fulfill the goals and solve the problem listed in the problem statement.

Result – A requirements list was created.

Subtask 3a – Implement Prototype

Objective – Create a prototype of the end product.

Approach – Pick several critical functionalities and write basic code to implement them.

Result – A prototype has been created.

Subtask 3b – Complete the Design Process