Design Document V2
Total Page:16
File Type:pdf, Size:1020Kb
An Advanced Networking Outreach Activity for Kids DESIGN DOCUMENT sddec20-05 Dr. Tom Daniels Grayson Cox | UI Developer | Agile Project Manager Austin Dvorak | Network Systems Manager Ryan Newell | System Admin Spencer Parry | UI Developer Ross Thedens | Hardware Systems Manager | Meeting Secretary Team Email: [email protected] Team Website: http://sddec20-05.sd.ece.iastate.edu/ Revised: March 29, 2020 (V2) Executive Summary Development Standards & Practices Used ● Standards ○ Quality management (ISO 9001) ○ Developing information for users in an agile environment (ISO/IEC/IEEE 26515) ● Practices ○ Agile development ○ Code reviews ○ Weekly meetings ○ Rigorous testing for security and reliability Summary of Requirements ● Support mesh and dynamic ad-hoc networking capabilities ● Ability to stream data between nodes ● Easy to use and set up ● Hardware should be mobile and durable ● Can be operated without the need for an Internet connection ● Range between nodes should support a 40 foot radius (when in eye-sight) ● Nodes will consist of a single-board computer, rechargeable battery, and camera/sensors Applicable Courses from Iowa State University Curriculum ● CprE 489 - Computer Networking and Data Communications ● CprE 430 - Network Protocols and Security ● CprE 537 - Wireless Network Security ● CprE 230 - Cyber Security Fundamentals ● ComS 252 - Linux Operating System Essentials ● SE 319 - Construction of User Interfaces ● SE 329 - Software Project Management ● ComS 309 - Software Development Practices New Skills/Knowledge acquired that was not taught in courses ● Web Development with Angular/Typescript ● Ad-Hoc/Mesh Networking and Router Configurations ● Raspberry Pi Configuration SDDEC 20-05 1 Table of Contents 1. Introduction 4 1.1 Acknowledgement 4 1.2 Problem and Project Statement 4 1.3 Operational Environment 4 1.4 Requirements 5 1.5 Intended Users and Uses 5 1.6 Assumptions and Limitations 6 1.7 Expected End Product and Deliverables 6 2. Specifications and Analysis 7 2.1 Proposed Approach 7 2.2 Design Analysis 7 2.3 Development Process 7 2.4 Conceptual Sketch 9 3. Statement of Work 11 3.1 Previous Work And Literature 11 3.2 Technology Considerations 12 3.3 Task Decomposition 12 3.4 Possible Risks And Risk Management 13 3.5 Project Proposed Milestones and Evaluation Criteria 13 3.6 Project Tracking Procedures 14 3.7 Expected Results and Validation 14 4. Project Timeline, Estimated Resources, and Challenges 15 4.1 Project Timeline 15 4.2 Feasibility Assessment 19 4.3 Personnel Effort Requirements 19 4.4 Other Resource Requirements 19 4.5 Financial Requirements 20 5. Testing and Implementation 20 SDDEC 20-05 2 5.1 Interface Specifications 20 5.2 Hardware and software 20 5.3 Functional Testing 20 5.4 Non-Functional Testing 20 5.5 Process 20 5.6 Results 21 6. Closing Material 21 6.1 Conclusion 21 6.2 References 21 6.3 Appendices 21 Figures and Tables FIGURES 1: Conceptual Sketch 9 2: System Modules 10 3: Gantt Chart CprE 491 (01/19 - 04/04) 15 4: Gantt Chart CprE 491 (04/05 - 05/02) 16 5: Gantt Chart CprE 492 (08/23 - 10/24) 17 6: Gantt Chart CprE 492 (10/25 - 12/12) 18 TABLES 1: Task Estimated Time to Completion Table 19 SDDEC 20-05 3 1. Introduction 1.1 ACKNOWLEDGEMENT We would like to acknowledge our client and advisor Dr. Tom Daniels for his guidance and support on this project. 1.2 PROBLEM AND PROJECT STATEMENT Wireless networking has become a fundamental part of many people’s everyday lives. This is especially true for students across grades 4-12, who are beginning to spend hours each day on school-issued internet-connected devices. However, few students understand the technology that underpins these networks. The internet is often portrayed as an amorphous portal granting access to huge amounts of information. In reality, this information is stored on servers around the world and delivered to end users via routing protocols. By creating a teaching tool that demonstrates routing protocols, we can illustrate the challenges involved in creating a reliable wireless network, increase technology literacy, and stimulate students’ interest in computer networking careers. Our approach involves creating a teaching toolkit consisting of a set of portable wireless network nodes, a network monitor/configuration application, and a set of lesson plans. A grade school instructor with no computer networking training will be able to operate it. The nodes will automatically form an ad-hoc network with one another when powered on (and within range of one another). Network data will be provided by video cameras and various sensors on the nodes, such as temperature sensors. The data will travel the network to reach a master node which is directly connected to a network monitor application running on an instructor’s laptop. The monitor application will control which sensor/video streams are delivered to the master node and display the data received. The lessons will challenge students to transmit data across a long distance (beyond the range of a single node; from the main office to a classroom, for instance) to the network monitor application. As students add nodes into the network and position them to attain connectivity, they will observe the routing of the data (which nodes are reached) in the monitor application. They will use this information to figure out where data is unable to travel and rearrange the nodes accordingly. Ultimately, our toolkit will act as a miniature mock-up of the real internet. Students will be able to appreciate how data from a web server hops from node to node over the internet before reaching their devices. Following the activities, the instructor will discuss grade level-appropriate topics related to networking from the lesson plan with the class. For younger students, this may involve the fact that wireless signals have a limited range, while for older students it may include a discussion of the routing decisions made by the ad-hoc protocol. Our project will provide a flexible way to teach computer networking to grade school students. 1.3 OPERATIONAL ENVIRONMENT A collection of networking nodes will compose the main aspect of the system. It is expected that these nodes will be used indoors, but they should be able to operate outdoors as well. They do not SDDEC 20-05 4 need to be weatherproof, however, they will need to be durable enough to protect the internal components. There will be a graphical user interface aspect to the system, which will allow users to view sensor and video data transmitted from the nodes. This can be accessed via any web browser on a separate computer, and no internet connection should be necessary as long as there is a connection between the computer and the base node. 1.4 REQUIREMENTS Nodes will need to be powered by rechargeable batteries so that they do not require a power cord when in use. They will also connect wirelessly to other nodes. Both of these requirements ensure that nodes are mobile and can be used without the restriction of cords. Each node should support ad-hoc networking capabilities. Multiple networks should be able to coincide and stay independent of each other. Nodes should use their respective networks and safely handle interference and other network errors. To demonstrate functionality, nodes will send data across the network. Camera feed, sensor data, and control signals will need to be transmitted through nodes to their destination. The graphical user interface will display this data and give a visualization of the network. The packaging of each node will need to be durable enough to survive drops since they will be moved around quite frequently. Each node will consist of a single-board computer, a wireless network adapter, and a rechargeable battery. Some nodes will contain sensors and cameras to serve as data sources for the network. Components will be bundled together in a package that makes it intuitive to charge and easy to use and set up. Besides being wireless and easy to place, the software should also be user-friendly and intuitive to use. The instructor may not have much knowledge on computer systems so the monitoring application should be simple enough that most kids and adults can understand the interface. To aid in the ease of set up, nodes will not need to be connected to an existing network. The only network that they will use is the one they create themselves. 1.5 INTENDED USERS AND USES The project has three main types of users: students, instructors, and system administrators. The goal of the project is to educate students on how mesh networking works, therefore, the students would be the target audience. The students would not interact with the GUI as much as the instructors or teachers would, but the GUI should be user friendly enough for anyone in the three target audience groups to use. The students largely will be moving or placing the nodes in different places, and the instructors will use the GUI to interpret the data to the class. The instructors would have knowledge on how to use the nodes and the GUI so they can teach their students some of the principle lessons that these devices could teach, such as range and interference. They would know how to position the nodes to display on the GUI how different forms of interference can cause the video to buffer more or less than other forms of interference. The instructor would also use the GUI to change settings on the nodes, like grouping nodes into two separate groups. SDDEC 20-05 5 The system administrators would have access to the file system and command line of the nodes to manage updates or to diagnose problems with the nodes.