Smart Internet Café SOFTWARE DESIGN SPECIFICATION
Project Title
: Smart Internet Café
Team Code
: RHS051195
Project Guide
: Dr. M.V.Srinath
Co-Guide
: Prof.S.Kandhan
Group Coordinator : Anoop.K.S Document Title
: SDS
Version
: 1.0
Prepared for
: March 15th 2006.
Authors
: Anoop.K.S, M.A.Harikrishnan, N.S.Jeyendran, R.Pattabiraman, M.Naveen.
TABLE OF CONTENTS 1. Introduction 1.1 Purpose 1.2 Document Conventions 1.3 Scope of the Development Project 1.4 Definitions, Acronyms, and Abbreviations 1.5 References 1.5.1 Related articles 1.5.2 List of books pertaining to project.
2. System Architecture Description: 2.1 Overview of Modules 2.2 Structure and Relationships 2.3 User Interface Issues
3. Detailed Description of Components 3.1 Server Module 3.1.1 Authentication Module 3.1.2
Networking Monitoring Module
3.1.3 Account Status Module 3.2 Client Module: 3.2.1
Login Module
3.2.2
Session Module
4. Reuse and relationship to other products:
5. Design Decisions and Tradeoffs
6: Pseudo Code for Components
7: Appendices
1. Introduction 1.1 Purpose of this document The purpose for which this Software Design Specification (SDS) is being documented is to making Linux in College Internet Laboratories or Internet cafes. This specification will be useful for the clients to ensure all specifications and design requirements are conducive as mentioned by the software engineer to design the system. 1.2 Document Conventions Main Section Titles Font: Arial
Face: Bold
Size: 12
Face: Bold + Italic
Size: 12
Face: Normal
Size: 12
Sub Section Titles Font: Times New Roman Other Text Explanations Font: Times New Roman
1.3 Scope of the development project Objective : To develop a application for managing Internet café over Linux. Goal : To provide secured, reliable management for Internet Cafes and College Internet Laboratories. Description : It acts as a Firewall, Router Box, and Proxy Server.
1.4 Definitions, Acronyms, and Abbreviations The Acronyms used in these Documentations are •
SIC –Smart Internet Café
•
PAM – Pluggable Authentication Module
•
OS – Operating System
1.5 References Nil
2. System Architecture Description 2.1 Overview of Modules The modules are classified into two categories: i) Server Module ii) Client Module The Server Module falls into three categories: •
Authentication Module
•
Networking Monitoring Module
•
Account Status Module
The Client Module falls into two categories: •
Login Module
•
Session Module
2.2 Structure and Relationships The Structure and Relationships for our Project are in this Use-case Diagram.
Browsing Internet
Server Tracking
View Account Client
Server Display details
2.3 User Interface Issues The users of our Project are College Network Administrator, Students, Professors, Staffs and Non Teaching staffs.
INTERNET CONNECTION
SIC Client 1
Server SIC Client 2 (SIC SERVER RUNNING)
SIC Client 1
3. Detailed Description of Components: The components are classified into two modules, •
Server Module
•
Client Module
3.1 Server Module
3.1.1 Authentication Module: Type
A core module that defines the part of the processing control of a server.
Purpose
Authenticating the users who are all invoking the server.
Function
Getting the requests from the users and perform the function according to them.
Subordinates The various subordinates in this module are, 1. PAM module. 2. Maintaining the user information. Dependencies It correlates with Network Monitoring module and Account Status module. Interfaces
This module has two different interfaces as follows: • User interface:- This interface is used to maintain data about the users in the system. • Client Interface: - This interface is the indirect interface between the users and the machine.
Resources
The Module Uses all the Resources as allocated by Operating System.
Processing
This Module Depends on the subordinate Module. -- NOT APPLICABLE --
Data 3.1.2 Network Monitoring Module: Type
This module defines the status of the clients.
Purpose
The primary concern is to know about the Network status.
Function
Scans the Network parameters (ie. Packets sent / recived, Bandwidth).
Subordinates The various subordinates in this module are, 1. Processing the IP Chains. 2. Maintaining the Network information. Dependencies It correlates with Authentication module and Account Status module. Interfaces
This module has different interfaces as follows: User interface:- This interface is used to communicate with the system.
Resources
The Module Uses all the Resources as allocated by Network Admin.
Processing
This Module Depends on the subordinate Module.
Data
The data used in this module are the IP address and other network variables, corresponding ports for the client machines to which the packets are required to be forwarded.
3.1.3 Account Status Module: Type
This module defines the Account status of the clients.
Purpose
The main goal is to know about the Account status.
Function
Disclosing the Account statistics according to their usage of the resources.
Subordinates The various subordinates in this module are, 1. Account details. 2. Browsed Session details. Dependencies It correlates with Authentication module and Monitoring Module. Interfaces
This module has interfaces as said in the above Component: User interface:- This interface is used to communicate with the users.
Resources
The Module Uses all the Resources as allocated by OS.
Processing
This Module Process Depends on the subordinate Module.
Data
The data used in this module are the activation date, duration, Opening balance etc.
3.2 Client Module:
3.2.1 Login Module: Type
This module defines the Login status of the clients.
Purpose
The main goal is to know about the Login status.
Function
To access the Internet by authorization.
Subordinates The various subordinates in this module are, 1. Session id. 2. Browsed Session details. Dependencies It correlates with User feedback module and Session Module. Interfaces
This module has interfaces as said in the above Component: User interface:- This interface in the form of label and textboxes.
Resources
Normal Resources such as keyboard and mouse.
Processing
This Module Process Depends on the subordinate Module.
Data
The data used in this module are the Login name and password etc.
3.2.2 Session Module: Purpose
The main goal is to view the Session status that users have browsed.
Function
To know about the Status.
Subordinates The various subordinates in this module are, 1. Opening Balance. 2. Browsing Session. Dependencies This module has interfaces with User account Module and Network Monitoring Module. Processing Data
This Module Processed on the subordinate Module. -- Not Applicable--
4. Reuse and Relationships to other products
The Third Party Softwares such as Report and Graph Generation etc. are used in our project. 5. Design decisions and tradeoffs The Decisions that we have taken during design are •
User Satisfaction.
•
Server Stability.
•
Capturing Hackers.
6. Pseudocode for components A sample code for connecting User Interface with Database (MySQL) Server using JDBC. import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; // Notice, do not import com.mysql.jdbc.* // or you will have problems! public class LoadDriver { public static void main(String[] args) { try { // The newInstance() call is a work around for some // broken Java implementations Class.forName("com.mysql.jdbc.Driver").newInstance(); } catch (Exception ex) { // handle the error }
} 7. Appendices -- NOT APPLICABLE --