Beruflich Dokumente
Kultur Dokumente
Harshul Jain (B09012), Pranav Kapoor (B09022), Amanjot Kaur (B09005) 2009 batch Indian Institute of Technolgoy Mandi 14/5/2012
Change record: Issue 1. Date 14/05/2012 Sections chaged All Reason Initial
CONTENTS
CONTENTS
Contents
1 Preamble
1.1 1.2 1.3 1.4 Project Overview Software Overview Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3 3 3 3
Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 4
4 5 7 7
4 Appendix 5 References
8 8
PREAMBLE
1 Preamble
1.1 Project Overview
Project aims at providing a Grade management system to Faculty, Students and Teaching Assistants. This project takes the advantage of SNMP protocol. The motive behind this project is to understand the Access control provided by V3 of SNMP and how SNMP can be used to manage data. In addition to these this project also helped in understanding Application Programing Interface and how API can be created for building applications.
1.2
Software Overview
The software is divided into 4 parts. They are 1. API 2. Net-SNMP 3. SNMP Server 4. Database
Conguration changes were done in SNMP Server and Mysql is used for storing data which is connected to SNMP Server through Perl.
1.3
Purpose
This document is intended for Developers who want to use this API either to build an application for grade management, people are looking for a way to use SNMP for managing their data. It explains the software design and software architecture.
1.4
Requirements
The software takes leverage of the following softwares: 1. Net-SNMP 2. MySQL 3. Perl 4. Python The software is divided into 3 block which can function on 3 dierent machines. They are: 1. Net-SNMP Client
DESIGN
3 Design
The software is designed as a client-server architecture. which work as client server/clientserver. There are 3 blocks
3.1
Modular Decomposition
Give the break-up of your software into logical modules, accompanied by a gure. Show control ow with broken lines, data ow with solid lines.
3.2
Implementation
DESIGN
3.2
Implementation
Following technologies were used for creating the project 1. Net-SNMP (5.7.1) 2. Python (2.7) 3. Perl () 4. MySQL (5.5)
3.2
Implementation
DESIGN
3.2
Implementation
DESIGN
3.2.1
Class Diagram
3.2.2
OID
Following conventions were used for creating the OIDs. BaseOid : 1.3.6.1.4.1.8072.9999.9999 1. Courses: (a) BaseOid.0 > List of all courses (b) BaseOid.0.X >Details of a course where X is a course Id (c) BaseOid.0.X.1 >Course Name (d) BaseOid.0.X.2 > List of students enrolled in this course 2. Student: (a) BaseOid.1> List of all students (b) BaseOid.1.Y.1>Name of course where Y is the student ID. (c) BaseOid.1.Y.X>Marks in course X where Y is student ID.
REFERENCES
4 Appendix
grading/
__init__.py : Used for dening folder a package and also for dening important variables instructor.py : This is the base class for Faculty, Admin, and Ta. This provides functionality for accessing data. faculty.py : This denes Faculty class, gives required functionality admin.py : Denes Admin class for doing administrative tasks like creating courses, students, faculty, Tas. ta.py course.py : Models a course. Can be used for accessing the list of all the courses and getting their details. student.py : grades. nSnmpClient.py : It acts as an interface between rest of the classes and Net-SNMP utilities. Models a Student, provides functionality for viewing
5 References
1. manpage snmpvacm, http://docs.oracle.com/cd/E19253-01/816-5166/snmpvacm1m/index.html, 10-5-2012 2. man pages, http://www.net-snmp.org/docs/man/, 13-5-2012 3. Subramanian,M., Network Management: Principles and Practice, Ch7. 4. Python documentation, The Python Software Foundation, 14-5-2012.