network manager in c#

21
Project Specification Form NETWORK MANAGER Project Title NETWORK MANAGER (Based on network monitoring and bandwidth management) Brief description on project background. (.i.e. problem context, rationale, description of problem area, nature of challenge). What is the situation? (Problem Context) Internet is the key to success of any companies or organization. Internet generally suffers the problem of traffic congestion and slows down because of increase in numbers of IP’s as the users increase. End users will naturally consume as much bandwidth as they can. In fact, they are constantly encouraged to do so by sites with ever more bandwidth-eating content and applications. Networking protocols inherently facilitate this consumption with windowing protocols that attempt to increase packet rates to the maximum extent possible. It has often been remarked that bandwidth consumption is like a gas, it increases to fill the maximum available space. This causes invariable share of bandwidth and many users did not get the required bandwidth whenever required. If any company is facing this problem then it affects the company’s credibility. Generally companies waste down their time in knowing that what users are doing

Upload: anuj-gupta

Post on 01-Dec-2015

219 views

Category:

Documents


3 download

DESCRIPTION

c# project synopsys

TRANSCRIPT

Page 1: Network Manager in c#

Project Specification Form NETWORK MANAGER

Project Title

NETWORK MANAGER (Based on network monitoring and bandwidth management)

Brief description on project background. (.i.e. problem context, rationale, description of

problem area, nature of challenge).

What is the situation? (Problem Context)

Internet is the key to success of any companies or organization. Internet generally suffers the

problem of traffic congestion and slows down because of increase in numbers of IP’s as the

users increase. End users will naturally consume as much bandwidth as they can. In fact, they

are constantly encouraged to do so by sites with ever more bandwidth-eating content and

applications. Networking protocols inherently facilitate this consumption with windowing

protocols that attempt to increase packet rates to the maximum extent possible. It has often

been remarked that bandwidth consumption is like a gas, it increases to fill the maximum

available space. This causes invariable share of bandwidth and many users did not get the

required bandwidth whenever required. If any company is facing this problem then it affects

the company’s credibility. Generally companies waste down their time in knowing that what

users are doing with the internet connections and services and try to find out the reason for

invariable usage of bandwidth. Companies are facing problem in handling the incoming

bandwidth which they are providing to the users. They have to monitor various things. There

is no such perfect solution available for this problem because it is very costly affair to

monitor each and every aspect of the network and managing the bandwidth according to it.

Why do we need this project? (Rationale)

The need for network monitoring corresponds to the size of the network. Small networks with

few users might be easily managed without it. A large network with many users is more

difficult to monitor. Unlike a small network where administrators might be able to visually

inspect each network users regularly, large networks requires the use of network monitoring

to make it possible to track all network users from a single computer. Thus, these

technologies become more useful and more essential as networks expand. Since almost all

Page 2: Network Manager in c#

Project Specification Form NETWORK MANAGER

network links are shared by multiple users and applications, the available bandwidth must be

shared. Bandwidth management tools enable us to manage how the bandwidth is shared. If a

network link is continuously congested, the link must be upgraded to provide greater

capacity. In many cases, however, the average load on a link is within the link capacity, and

the link is only congested temporarily. Temporary congestion is sometimes predictable; for

example, there are typically peaks in network use at particular time of the day or following a

particular event. Other causes of temporary congestion, such as the transferring a large file,

are not predictable. So to manage all these things there must be some solution to monitor the

whole network and manage the incoming bandwidth. NETWORK MANAGER will allow to

back the control of internet connection by prioritizing the limited bandwidth capacity based

on the requirement and the service needed such that all the users will have the required

bandwidth whenever needed.

“NETWORK MANAGER” will be a nice software for network monitoring and bandwidth

management. There are many features NETWORK MANAGER will provide that you will

not find in other network monitoring or bandwidth management software.

Tangible benefits

1. Cost saving:-Generally the software’s which are available in the market for network

monitoring and bandwidth management are very costly as compared to “NETWORK

MANAGER” which will be available at very low cost as compared to other available

software.

2. Multifunctional: - “NETWORK MANAGER” will offer many functionalities

which will not be available in other software’s, online reporting are some examples.

3. Choice: - “NETWORK MANAGER” will provide many choices such that making

pool sharing or not, allowing specific ports to the user which is only required.

4. Control: - The network administrator will have full control on managing each user

and control the incoming bandwidth after being log in.

5. Individual reporting:- the network administrator will be able to view many reports

to monitor the usage of each user and see the bandwidth usage of the network at

different section.

Page 3: Network Manager in c#

Project Specification Form NETWORK MANAGER

Intangible benefits

1. User satisfaction-user will certainly feel better if they will able get the required

bandwidth whenever needed and the network administrator will also be able to track

down everything.

2. Back up usage:- the administrator will have the backup of the bandwidth usage and

all the reports .

3. User-friendly envoirment:- the administrator will have very user-friendly

envoirment in terms of functionalities and will be very flexible for usage.

Description of problem area

One of the major concerns related to network monitoring and bandwidth management is

the security. There are different software’s available in the market but no one is providing

the complete security. The problem is faced to implement the various access and

bandwidth policy in one software and concerning about the security in terms of access

rights. The second problem area lies behind the online reporting of the various types of

reports that network administrator will need in order to track the network and see the

usage of incoming bandwidth at the various section of the network. Managing the

bandwidth by keeping in mind the various policies in order to fulfill all the needs of

network administrator is really a tuff task.

Nature of Challenge

In terms of Domain Analysis

My domain is Networking, So, every system that are based upon Networking domain

faces a major challenge, that is the security of the system. So that the main challenge

that I am going to furnish is the security problem. There are various organization

using network monitoring and bandwidth management software and their access

rights of users depend upon the the policy of company. Managing large no of users for

security purpose is really a challenging task.

In terms of Features

There are many features in the project which is a real challenge to implement.

Page 4: Network Manager in c#

Project Specification Form NETWORK MANAGER

1. Pool management for different section or a group of user.

2. Giving different type of bandwidth speed to different user.

3. online report generating of the bandwidth usage

The other major problem is gaining mastery in networking which is my domain is

a very wide topic and extracting the important area for my usage.

Brief description of project objectives. (.i.e. scope of proposal and deliverables)

“NETWORK MANAGER” is software that will help to manage a wide network. It will allow

the network administrator to manage the whole network and manage and distribute the

incoming bandwidth to the available user based upon the requirement and the policy of the

organization using it. It will manage the various aspect of network such as time period of

access of a particular group or user, data transfer limit of users, and to manage the upload and

download speed of a particular user.

The core features

1. Dividing the users into various section or groups and dividing bandwidth according to

it.

2. time period of access for a particular group or user

3. data transfer limit for particular group or user

4. connecting or disconnecting user

5. report generation for network administrator to view usage in the network

Enhanced features

1. Managing data transfer speed for particular group or user.

2. blocking sites

3. generating reports for every user usage

Special feature:

1. Managing the all the bandwidth management policy along with network monitoring

2. Online report generation for network administrator.

Scope of the Project.

Page 5: Network Manager in c#

Project Specification Form NETWORK MANAGER

“NETWORK MANAGER” is a software that will enable the network administrator to

monitor the network such as the user accessed sites, the usage of each user etc . It will also

help in managing the incoming bandwidth by implementing the various bandwidth

management policy. The users will get the advantage of getting divided in various section or

groups so that the user that will require high bandwidth will be in different group and those

who required less bandwidth will be in different group. In order to see that there is no

overtime usage of internet the users will allotted the time period in which they can access

internet services. There will be limit in the data transfer done by the particular user. Data

transfer speed can be provided depending upon the usage of the user. Those who will require

more speed can get the full bandwidth usage. The network administrator will be able to

connect or disconnect a particular user. He can block sites which he want the user not to

access. he can generate various reports according to the above scenarios in order to monitor

the whole network.

Limiting the project scope

1. System cannot specify the different ports for different purposei.e port management

cannot be done.

2. No sever management function for the given system.

Brief description of the resources needed by the proposal. (.i.e. hardware, software,

access to information / expertise, user involvement etc.)

Hardware Required

400 MHz processor.

512 MB RAM.

Pentium iv cpu

80 GB hard disk.

Ethernet Card.

A corporate LAN or Internet

Software Required:

Page 6: Network Manager in c#

Project Specification Form NETWORK MANAGER

Programming language: c# and asp.net

Software required: visual stdio.net2005

Programming tool: visual paradigm

Operating system: windows

Database:sql server

Access to information

I will take care of the privacy of the users who will use my system.the privacy will be in

terms of hiding the user details from the users each user will be given his own id and

password and all the details of the user will be available to the network administrator only.

Since the main user of my system will be network administrator he will be able to access all

details of the user .

 “NETWORK MANAGER” will use the personal details provided in the following areas.

For registering a user

For fraud prevention purpose

Academic research being carried out and other information, techniques being learnt.

 (i.e. what are the names of books you are going to read / data sets you are going to use)

The idea of this project struck on my mind when I observed the whole scenario of network

access problems in my college. There are various policies in college and the students are

restricted to various sites and also the use of internet service by teachers, students and other

staff members are different. So I thought of making software that can monitor the use of

particular user and manage the incoming bandwidth. Then I came to know that this is the

Page 7: Network Manager in c#

Project Specification Form NETWORK MANAGER

problem which is faced by many companies and the cost which they are paying to manage it

is very high and also there are no proper software available which solves all the problems

faced by it. Then. I interviewed Mr. Praveen saini who is the network administrator of our

college. He said me that college is using this type software but it’s costing in lakhs. The

second thing which I came to know was still it was not meeting all the requirements of

network monitoring and bandwidth management. So I decided to make software for this.

Then I start searching the different ways in which this network monitoring and bandwidth

management can be done . I tried to find out the key features that will be required for it. Then

I tried to search out the different ways and the policies which I can apply in order to manage

the incoming bandwidth . then I searched about the things which the network administrator

will need to monitor.then I thought the reports to be developed for the network administrator .

The research part is one of the most challenging module in my project because though many

kind of similar software’s are there existing in present day, but developing network

monitoring and bandwidth management software along with the many unique and different

features would be challenging .Therefore source of information would play a vital role in

developing this endevour.Internet would be one of the main source of information along with

many books, journals, magazines and piece of guidance and suggestions from experts and

professionals . Since my project covers mainly three areas networking, NET technology

and database browsing websites would give me innumerable information on respective topics

and reading books would also give me the desired information.

Books

1. Technical knowledge

Beginning C# 2005 Wrox publications

Black book of C#

Complete reference of C#

2. Networking knowledge

Data and computer communications by William Stallings.

Data communications and networking by Forouzan.

Local area network by Kieser.

3. Software engineering

Software project management in practice by Pankaj Jalote

Page 8: Network Manager in c#

Project Specification Form NETWORK MANAGER

Websites

1. www.java2s.com

2. www.csharp-station.com

3. www.c-sharpcorner.com

4. www.google.com (to find link to other related websites)

5. www.ciscopress.com

6. www.aspnetpro.com

7. www.bookware.com

Brief description of the development plan for the proposed project. (i.e. which software

methodology and why, the major areas of functions to be developed and the order in

which developed).

Software Methodology

A methodology is composed of one of the software development models used in conjunction

with one or more techniques, i.e., methodology = model + technique(s). The techniques of

prototyping, object-oriented are ways to implement different models.its the process how to

navigate through each phase of software process model.

There are many software methodologies available:-

1. spiral model:- The spiral model is a software development methodology which

combines both design and prototyping elements in software development stages, in

an effort to combine advantages of both top down and bottom up concepts It is also

known as the spiral lifecycle model, is a systems development method (SDM) used in

information technology (IT). The spiral model is intended for large, expensive, and

complicated projects.

Page 9: Network Manager in c#

Project Specification Form NETWORK MANAGER

2. prototyping model:-in this model a throwaway prototype is built to help understand

the requirements .this prototype is based on currently known requirements.

Development of prtotype gives client actual feel of system .

3. Waterfall model-The waterfall lifecycle is the natural way of managing the

development something innovative and complex. The project proceeds according to

clearly defined phases; a preceding phase must be completed before the next starts;

phase completion is judged by the outcome of the phase matching the requirements

defined by the previous phase

But I will be using is rational unified process(RUP)

Rational unified process is the is software development process which provides a very

disciplined approach to assign task and responsibilities within development organization.

There are many key features of it:-

1. 1.it supports an iterative approach to development that addresses the highest risk

items at every stage in the life cycle significantly reducing the projects risk profile.

2. The Rational Unified Process use the notions of use case and scenarios proscribed

in the process has proven to be an excellent. way to capture functional

requirements and to ensure that these drive the design, implementation and testing of

software, making it more likely that the final system fulfills the end user needs. They

provide coherent and traceable threads through both the development and the

delivered system

3. The Rational Unified Process provides systematic approach to defining an

architecture using new and existing components

Page 10: Network Manager in c#

Project Specification Form NETWORK MANAGER

4. The process shows you how to visually model software to capture the structure and

behavior of architectures and components. Visual abstractions help you communicate

different aspects of your software; see how the elements of the system fit together;

make sure that the building blocks are consistent with your code; maintain

consistency between a design and its implementation; and promote unambiguous

communication. The industry standard Unified Modeling Language (UML), created

by Rational Software, is the foundation for successful visual modeling.

5. Rational Unified Process assists you in the planning, design, implementation,

execution, and evaluation of these test types. Quality assessment is built into the

process, in all activities, involving all participants, using objective measurements and

criteria, and not treated as an afterthought or a separate activity performed by a

separate group.

6. The process describes how to control, track and monitor changes to enable successful

iterative development. It also guides you in how to establish secure workspaces for

each developer by providing isolation from changes made in other workspaces

The major areas of functions to be developed and the order in which developed

Stage 1: Inception phase

Tasks: Iteration 1: project proposal and planning

- Identifying the Project

- PPF discussion with supervisor

- Online submission of PPF

- Finalize project title with the supervisor

Tasks: Iteration 2: project specification

Page 11: Network Manager in c#

Project Specification Form NETWORK MANAGER

- Research on specification of the project

- Identify project task

-identify the project scope

- Limit project scope

- Identify Resources

- Identify techniques to be learn

- selecting the software methodology to be followed

- Prepare PSF

- Prepare Development Plan

- Prepare Test Plan

- Submit PSF

- WBS

- Prepare Gantt chart

Stage 2: Elaboration phase

Tasks: Iteration 1: research based on the system reqirement

- Primary research

- Research on the functionalities of the “NETWORK MANAGER”

- getting all the use reqirment

- deciding the modules of “NETWORK MANAGER”

Tasks: Iteration 2: Analysis of the system

- Analyze user requirement

-Analyze the primary research

- UML diagrams

- Screen Design

Tasks: Iteration 3: Technical Research

-Finalize the language and learn

Page 12: Network Manager in c#

Project Specification Form NETWORK MANAGER

- domain related research on particular language

- learning the technical skills

Stage 3: Construction phase

Tasks: Iteration1: Interface Design

-create interface design of “NETWORK MANAGER”

- Documenting the system

Tasks: Iteration 2: “NETWORK MANAGER” Modules

- Analyze the system

- Finalizing the module interface

- Implement the module

- Document the module

Stage 4: Transition phase

Tasks: Iteration 1: System Testing

-module wise testing

- Integrate all the modules

- Prepare a test plan

- Find the target users

- Testing and debugging the full system

Tasks: Iteration 2: Documentation

- system documentation

Tasks: Iteration 3: finishing touch up

Page 13: Network Manager in c#

Project Specification Form NETWORK MANAGER

.Brief description of the evaluation and test plan for the proposed project.

(I.e. what is the success criteria and how will be evaluated & implementation

will be tested, indicate the estimated size of the demonstration/test database)

Evaluation of the success criteria

The project will be successful if

a. It manages to achieve the most features mentioned in core as well as advanced

features so that it can be more efficient.

b. If it manages to save time of network administrator in monitoring the network

and manage the incoming bandwidth.

c. Use networking concepts to the best to make it work efficiently.

1. Learnability- how easily the user will able to learn to use the system.

2. Robustness- The degree to which a system or component can still function in the

presence of partial failures or other adverse, invalid, or abnormal conditions

3. User Friendliness-My target users should be comfortable in understanding the

interface and functions of “NETWORK MANAGER”

4. flexibility:-system will be flexible in terms of more features and functionality.

Page 14: Network Manager in c#

Project Specification Form NETWORK MANAGER

5. scalability:- the ability the enhance the software in near future as per requirement.

6. security:-system would be secure as each user will given their own ID and

PASSWORD so that network administrator can see who all are on network.

Test plan strategy

A good test plan and strategy is needed when we want to make a very efficient and

reliable system. there are different testing tools available for different technology

platform which will influence the test plan and execution done. I will be doing various

type of testing of my system throughout from starting. Testing will start from unit testing

and move towards the integration of the whole system. I will be doing following type of

testing.

1. Component testing (unit testing)- I will divide my whole system in unit

module in terms of the features and functionalities and then I will test each unit

individually. This will ensure about that my each features are completed and

logically correct.

2. Integration testing (system testing)- then I will combine all the units and

perform integration testing to see that all the design objective are met or not.

3. Interface testing;- I will perform interface testing to ensure that the

application is operating efficiently with all interface system.

4. security testing:-I will perform this testing to ensure that application system

control and all the features are functional or not

5. Performance testing:- I will perform performance testing to ensure that the

system is performing according to the user expectation .

6. Beta testing: - I will perform beta testing to ensure that the system are meeting

the functional requirement or not . it will also help in detecting system fault ,

failures and defects.