November 1, 2004
Requested by: Mr. Ken Swarner
System
Administrator
Siena
College
Computer
Science Department
Prepared by: Jim DeSario, Team Leader
Ryan Fischer, Webmaster
Mike Sebast, System Administrator
Justin Waterman, Librarian
Jon Baker, Public Relations
Mark Mossman, Consultant
Presentation Information: 5 November 2004
8:15 AM
Roger Bacon 328
Section 1: Product Overview and Summary.................................................................... 2
Section 2: Development, Operating and Maintenance Environments................................ 2
Section 3: External Interfaces and Data Flows................................................................ 3
Section 4: Functional Requirements.............................................................................. 12
Section 5: Performance Requirements.......................................................................... 13
Section 6: Exception Handling...................................................................................... 13
Section 7: Early Subsets and Implementation Priorities.................................................. 13
Section 8: Foreseeable Modifications and Enhancements.............................................. 14
Section 9: Acceptance Criteria..................................................................................... 14
Section 10: Testing Requirements................................................................................... 16
Section 11: Design Hints and Guidelines......................................................................... 16
Section 12: Sources of Information................................................................................. 17
Section 13: Glossary of Terms....................................................................................... 17
Section 14: Gantt Charts................................................................................................ 18
The Internet has become a widely used source for all kinds of information. Information is constantly being accessed and copied across multiple networks. Students enrolled in the Computer Science program at Siena College need to know how the packets work and what information is contained in these packets. Our Client, Ken Swarner, has requested the enhancing of a web-based system, that has already been developed, that will display the information contained in individual TCP/IP packets, which can be uploaded by the user, and interpret the individual bits into a format that students can easily understand.
The purpose of the TCP/IP Packet Descriptor is for Mr. Ken Swarner to be able to use the program to produce a colorful and intuitive graphical user interface that can be used as an educational / instructional tool to investigate (by depicting) the contents of an Ethernet packet containing a variety of protocol data units (PDUs) within the TCP/IP protocol suite, on a web based system.
Section 2: Development, Operating and Maintenance Environments
The TCP/IP Packet Descriptor’s improvements will be with our client, Mr. Kenneth Swarner. The system will be enhanced on the Siena College Software Engineering workstations. The Descriptor will require the user to upload a session of packets that the program should display. The User will then choose which file to be opened. The Descriptor will then display and describe the packet in full color detail. The Descriptor will require little maintenance.
Section 3: External
Interfaces and Data Flows
Prototypes:
This
This is the hierarchical protocol tree, which is the first screen that appears. Each button on the screen will produce a description in the bottom box. This example shows what would be displayed if the IPv6 button were selected. To move on to the next step a protocol must be selected from which a drop down menu will appear within which the user may select an Ethereal packet session.
This is an example of what a selection of “http” would look like. The files come from default Ethereal session directory which will be pre-set.
Next to the tree are the TCP/IP 5-layer model and the OSI 7-layer model. The two models are placed side-by-side with the tree to compare the two models and where each PDU resides within both models.
After a file is selected the user will be asked to choose from a list of packets.
Although the above picture is just to convey the format of the screen, the packet selection box will only show the packets of the chosen protocol.
If the user would like to choose a different protocol, they may click on the choose protocol button which brings them back to the beginning screen.
The “team logos and links to web pages” history box allows the user to link to past groups work on this program through their web sites.
Once the user selects the desired packet, they will click on the view packet button which brings them to the display packet screen.
The IP Frame is an example of the IP PDU display, without subsequent information being displayed.
The Ethernet Frame will not contain any information until the PDU is selected. The contents will display the information about the packet selected.
After a field is clicked within the Frame, detailed information will be displayed about it in the information box on the left of the screen.
The “Choose Packet” button allows the user at any time to go back to the previous screen and select a different packet according to the protocol.
The “Choose Protocol” button allows the user at any time to start the program from the begninning.
The “Information Display” area is reserved for any extra information that is determined at a later time to be necessary. For now this area will remain blank.
The following prototypes are examples of what will be displayed if the HTTP, IP, and FTP was selected from the choose protocol screen. Also included will be IP, TCP, HTTP, SSH, SMTP, TELNET, ICMP, and ARP protocols.
Data Flow Diagrams
Section 4: Function Requirements
The TCP/IP Packet Descriptor interface will be a web-based system that will describe a packet that can be dynamically uploaded. The different portions of the packet will be displayed and labeled in a diagram. The information in each portion of the packet will be displayed in binary, octal, and hexadecimal form. The program will display each field of a packet and give information about each field. The program will be able to handle different amounts of packets, each at varying lengths.
Section 5: Performance Requirements
The TCP/IP Packet Descriptor will be able run on Windows, Macintosh, and Red Hat Linux platforms.
The TCP/IP Packet Descriptor will be accessible through Microsoft Internet Explorer 6.0, Mozilla Firefox, Netscape Navigator 7.1 and Safari, which is the Macintosh Internet Browser.
The TCP/IP Packet Descriptor will be designed to be viewable at 1024 by 768 screen resolution. It will be viewed easily on a computer monitor, and a classroom projector.
Section 6:
Exception Handling
The TCP/IP Packet Descriptor’s options will all be provided by the system itself, therefore the user will not be able to choose invalid options. This will be verified by our team through extensive testing.
Section 7:
Early Subsets and
Implementation Priorities
The most important priorities of the system are:
o Being a web-based program
o Accessible by all of the most common browsers
o Accessible by all of the most common operating systems
o Being able to load multiple data session
o Being able to select any packet off of the data session
o Fit the entire GUI on no more than 3 screens and without the use of pop-ups
o Easily adaptable for future development
o Viewable at 1024 by 768 screen resolution
o Easily adaptable for future development
Section 8:
Foreseeable Modifications and Enhancements
Future Development may be implementing a method for choosing between different IP versions. If different types of packets are created, they should be inputted into the system. If newer versions of web browsers are created, the program should be able to run in them.
Section 9:
Acceptance Criteria
The system will have three major screens:
The first screen, the Protocol Selection screen, is the first screen the user is faced with at the start of the program. Additionally, this screen can be accessed from the Information Display Screen by using the “Choose Protocol” button or from the Packet Selection Screen using the “Choose Protocol” button. The major features of this screen are:
The second screen is the Packet Selection screen. This screen can be accessed from either a
“Choose Packet” button from the Information Display Screen or the selection of
a protocol and file from the Protocol Selection Screen. The major features of this screen are:
The third screen is the Information Display Screen, whose main function is to display the contents of a packet in a meaningful, easy to understand way. This screen is reached when a packet is selected in the Packet Selection Screen. The major features of this screen are:
o A
“Choose Packet” button that will take the user to the Packet Selection
Screen. The data file and protocol that
were previously chosen will be reflected in the screen.
o A
“Choose Protocol” button that will take the user to the Protocol Selection
Screen. At this point, no information
about previous selections of protocols and data files will be remembered.
o A
Field Display Zone of the homepage will display field specific information for
the various PDUs. When a field is
selected, that field will be highlighted, and a picture of that field, with the
contained data and bit positions, will be displayed. Additionally, information about the selected field will also be
displayed in the information box.
o A
Radix Selection Zone, that will contain a method for selecting which radix that
the information within the protocol will be displayed in. It can be displayed
in binary, which is the default, octal, decimal, hexadecimal, and 8-bit ASCII. This information will be displayed in the
information box.
o An information box that will display the contents of the Packet Field selected, or the Radix Field selected.
Section 10: Testing
Requirements
The system will be tested with multiple files and packets to see if all functional operations will are correct. There will be a testing protocol, provided by the client, which will display the functions and their capabilities. Each team member will be responsible for testing different aspects of the system. The data entered into each protocol data unit will be verified by the client.
Section 11: Design Hints and Guidelines
The PDU descriptor will assume that the user will select a packet session from a default directory where Ethereal files are stored. The program will not allow for the user to capture their own packets. The display will be 1024x768, and will be easily viewable using projection monitors for use in classrooms. The projector in Roger Bacon room 328 will be used for testing. At a later date there will be a sit down with the client to look at and choose colors for the display.
Section 12: Sources of Information
Most of the information for this section was obtained from
meetings with our client, Ken Swarner. Other sources of information include
Dr. Lederman’s class lectures, the Software Engineering class textbook Software
Engineering: A Practitioner’s Approach by Roger S. Pressman, as well as previous
Software Engineering teams’ projects, located at: http://www.cs.siena.edu/~lederman/csis410/csis410.html
Section 13: Glossary of Terms
Gantt Chart - A chart that depicts progress in relation to time, often used in planning and tracking a project.
GUI - (Graphical user interface) An interface, in which the user interacts with the program. The TCP/IP Packet Descriptor uses text boxes and buttons to allow easy access of information by use of a mouse.
HTML – (Hypertext markup language) A markup language used to structure text and multimedia documents and to set up hypertext links between documents, used extensively on the World Wide Web.
Internet - An interconnected system of networks that connects computers around the world via the TCP/IP protocol.
Linear Sequential Model / Classic Waterfall Model – A systematic, sequential approach to software development that begins at the system level and progresses through analysis, design, coding, testing, and support.
Macromedia Dreamweaver MX 2004 - Website development environment.
(http://www.macromedia.com)
Network - A group of
interconnected computers capable of exchanging information. A network can be as
few as several personal computers on a LAN or as large as the Internet, a
worldwide network of computers.
Open Systems Interconnection
Reference Model - A model of network architecture and a suite of protocols
(a protocol stack) to implement it, developed by the International Organization
for Standardization (ISO) in 1978 as a framework for international standards in
heterogeneous computer network architecture.
PDU- (Protocol Data Unit) Information that is delivered as a unit among peer entities of a network that may contain control information, address information, and/or data.
PHP – (PHP:
Hypertext Preprocessor ) A server-side embedded scripting language. The
PHP commands, which are embedded in the web page's HTML, are executed on the
web server to generate dynamic HTML pages.
Software - Written programs, procedures or rules and associated documentation pertaining to the operation of a computer system and that are stored in read/write memory.
TCP/IP – (Transmission Control Protocol / Internet Protocol) The suite of communications protocols used to connect hosts on the Internet. TCP/IP uses several protocols, the two main ones being TCP and IP. TCP/IP is built into the UNIX operating system and is used by the Internet, making it the primary standard for transmitting data over networks.
Section 14: Gantt Chart
(Current Semester)