User:LukeRobinson/Design study

From CSSEMediaWiki
Jump to: navigation, search

Contents

Project

Introduction

I am doing my assignment on my Honors project, which is a program to visualize network data. So far, I have already created quite a bit of the program, although it is not finished.

Background

The goal of the project is to display network logs in a simple way so the people with little training can get an understanding of whats happening in the network. We want to help people both identify possible threats and better understand the normal flow of network usage. The network logs I am using come from a small network Bob Ward takes care of here in Christchurch, he has given us access to anonymized logs, I currently have just over one month of logs, which amount to a few hundred megabytes. Here is an example network packet log:

Time protocol size source ip source port destination ip destination port packet type
1269687620.676725 IP 48 192.168.100.6 4212 192.168.83.37 9101 TCP
1269687625.489346 IP 48 192.168.100.6 4213 192.168.110.12 9100 TCP
1269687632.684662 IP 328 192.168.109.26 68 192.168.99.1 67 UDP

So basically the program needs to read data from the log files, parse the packet records, and present them to the user by why of the graph as desired.


Design Study

Requirements

There are two major requirements that this program must meet. The first is speed, because the user will need to interact with the interface, this means that it cannot lag while reading or parsing the large log files.

The second is extensibility, the program needs to be extensible in three different ways.

Constraints

Initial Design

UML Diagram

This UML class diagram on 16/7/10, it is the beginning state of the project. I will make changes to it an update this page as I go.

StartingUML.png

Description of Classes

Design Critique

As seen in the initial UML diagram, I have used poor naming style.


Final Design

Design Improvements

The first improvement, a very minor one, is to rename classes so that they all start with uppercase letters.

Files

Installation

Personal tools