Software Requirement Specification
Requested by: Mr. Ken Swarner
Systems Administrator
Computer Science Department of
TCP/IP Packet Identifier
EdgeTech Development
“Always on the
cutting edge”
edgetechdevelopment@hotmail.com
Prepared by: Matthew DeCrescente
– Team Leader
Eric Fish
Jill Foster
John Mooney
Das Nobel
Presentation
Information:
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.............................................................................. 13
Section 5: Performance Requirements.......................................................................... 13
Section 6: Exception Handling...................................................................................... 13
Section 7: Early Subsets and Implementation Priorities.................................................. 14
Section 8: Foreseeable Modifications and Enhancements.............................................. 14
Section 9: Acceptance Criteria..................................................................................... 14
Section 10: Testing Requirements................................................................................... 15
Section 11: Design Hints and Guidelines......................................................................... 16
Section 12: Cross Reference Index................................................................................ 16
Section 13: Sources of Information................................................................................. 16
Section 14: Glossary of Terms....................................................................................... 17
Section 15: 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
The purpose of the TCP/IP Packet Descriptor is to enable Mr. Ken Swarner to import Ethernet packets captured from an external program and display them in colorful and intuitive graphical user interface. The interface shows a break down of the different components in a packet. This will help Mr. Swarner troubleshoot problems that occur across the Computer Science network. Mr. Swarner, along with other instructors and students, will also use it as an educational / instructional tool to investigate 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 will be developed with our client, Mr. Ken Swarner and Dr. Lederman. EdgeTech Development will develop the system on the Siena College Software Engineering workstations. In addition, team members will develop certain modules at their own workstations. Those modules will be uploaded to the server via WinSCP. The Descriptor will then display and describe the packet in full color coordination. The Descriptor will require little maintenance. The system will be developed and commented in such a way that any future work on the system can be easily picked up by future teams to enhance the system.
Section 3: External Interfaces
and Data Flows
Prototypes:
Choose A Protocol Screen:
·
This
will be the first screen that will be shown when the user loads the program. It is a hierarchal tree of important protocols
of the TCP/IP levels, but not all. The
solid, colored protocol buttons are the protocols that the program will be able
to descript. The grayed out show other
protocols not implemented, and are not able to be clicked
·
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.
·
The
Ethernet Frame will be displayed when a user first logs onto the web site. It will not contain any information until a
PDU is selected, but the fields will still be active links, displaying
information about each field.
Choose A Session Screen:
·
At this
screen, a default captured session will be loaded that corresponds with the
protocol the user selected from the previous screen. From here, the user could either double click
on a packet or can open a different captured session from the list below.
·
Also, if
the user wishes, they can go back and choose a different protocol by clicking
the “Choose A Protocol” button at the top-left of the screen.
File Selector Window:
·
This
window that appears on the “Choose Session” screen will display the list of
files that can be used in the program.
The directory path will be visible and also hard coded, allowing users
to only access that folder, and not other folders on the system. Only people with access to that folder will
be able to add new captured sessions, but must place them in the specified
path.
·
The user
must double click on the file, which will then open on the right hand of the
screen.
Packet Selector Window:
·
This
window is where the user of the program can choose from a variety of packets to
be broken down into its own separate components. The user must double click a specified
packet, and it will automatically bring you to the display screen.
Display Screen - IP:
·
This is
the screen that automatically displays once a packet is selected. This specific IP Frame is a FTP Protocol Data
Unit (PDU) because that’s what chose at the begining. From here, the user can click any field and
an information box will display on the right, showing the contents and
information about that specific field.
Specific information about the particular packet, as well as details
about what the field’s purpose. It may
be displayed in 8-bit ASCII, or as an octal, decimal, and/or hexadecimal
number.
·
The user
can also see the TCP or FTP frames by click on the buttons above the
frame.
·
The user
can also choose a different protocol by click the corresponding button. They can also select a new session or packet,
but keep the same protocol, by selecting the corresponding button.
·
Also,
the Ethernet Packet now has information filled in.
Display Screen – TCP:
·
This is
an example of the TCP Frame. It is the
same format as the IP Frame, but with different information that corresponds to
the TCP aspect of the packet.
Display Screen - FTP:
·
This is
an example of the FTP Frame. It shows
the contents of the Request/Response field, which is the word “PASS”.
Data Flows:
Context Diagram:
Level 0:
Level 1:
.
Section 4: Function Requirements
Previously completed by Blue Technologies and Mirage Inc.
· TCP/IP Packet Descriptor interface is web-based and describes a packet.
· Portions of packet will be displayed and labeled in diagram form.
· Information in the TCP frame fields of the packet can be displayed in binary, octal or hexadecimal form.
· Displays each field of a packet and give information about each field.
· Handles different amounts of packets, each at varying lengths.
To be completed by EdgeTech Development
· Clean up the interface by eliminating recently selected protocol list and replacing it with protocol information.
· Coordinate all colors in relevant fields and each field’s appropriate detailed information.
· Allow users to select captured Ethereal sessions. Ethereal sessions will be located in a static directory chosen by client.
· List of all available packets will be present within a session.
· By selecting a packet, the information will be parsed into the previously chosen protocol.
· Screens must be full screen upon load.
· Software must be adaptable.
· Supply a button that links the user to a history EdgeTech and the TCP/IP Packet Descriptor, including Mirage Inc. and Blue Technologies websites, and the previous versions of the software.
· Allow future programmers to implement a Cyclic Redundancy Check (CRC), a dynamic directory selector, and provide a demo.
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, Netscape Navigator 7.1 / Mozilla
and Opera.
The TCP/IP Packet Descriptor will be designed
to be viewable at 1024 by 768 screen resolution on a computer monitor and
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 importable priorities of the system are:
· Being a web-based program
· Accessible by all of the most common browsers
· Accessible by all of the most common operating systems
· Viewable at 1024 by 768 screen resolution
· 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 inputting into the system. If newer versions of web browsers are created, the system should be able to run in them.
Section 9: Acceptance Criteria
The web site will contain 5 zones:
1. Protocol Selection
2. Protocol Display
3. Session Selection
4. Packet Selection
5. Field Display
The
Protocol Selection zone of the TCP/IP
Packet Descriptor will be the homepage.
Blue Technologies inc., and Mirage Inc., provided a list of
protocols. EdgeTech will expand on this
list with additional protocols chosen by the client.
· The protocol hierarchy display will be available at any time while the web site is being accessed. When the hierarchy is accessed, a picture will appear with the hierarchy and active links. Once a selection is made, the hierarchy picture will disappear.
· Within the protocol hierarchy display, a picture of the TCP/IP and Open Systems Interconnection (OSI) layers will be displayed alongside the protocol hierarchy, with an emphasis on which protocols reside within each layer.
·
Selecting a protocol will cause a picture of
that protocol, and any lower level protocols, to be displayed in the Protocol
Display Zone of the TCP/IP Packet
Descriptor.
The Protocol Display zone of the TCP/IP
Packet Descriptor will display the selected protocol, and a breakdown of the
protocol’s appropriate fields, in a colorful, informative and intuitive matter.
·
At least
two of the PDUs will be displayed at all times in this display zone; IP and
selected protocol.
·
When a
user first accesses the homepage, the Ethernet frame and IP PDU will be
displayed, without any specific data. The fields will be displayed but no data
within each field will be displayed.
·
Each PDU
picture will be broken up into its component fields. Bit and octet positions
will be shown.
·
Each
picture of each protocol will show the Request for Comments (RFC) number. The
number will be a link to a homepage containing comprehensive information about
that protocol.
·
In each
picture, field names and protocol data will be displayed.
·
Selecting
a field in one of the displayed units will cause information about that field
to be displayed in the Field Display Zone of the homepage.
The Session Selection zone of the TCP/IP
Packet Descriptor will display available sessions in a client determined
directory. At this time that directory
will be static. When a session is
chosen, the contents of that session will be displayed in the Packet Selection
zone.
The Packet Selection zone of the TCP/IP
Packet Descriptor will display a list of available packets located in the
currently selected Session. When a
packet is chosen from this list, it will be displayed in the Protocol Display
Zone.
The Field Display zone of the TCP/IP Packet
Descriptor 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.
·
Along
with the picture, information about the selected field will also be displayed.
·
There
will also be a method for changing the Radix of the field data in this zone
without changing the Radix for the whole selected PDU.
From within any of the zones, methods will be provided to allow the user to navigate directly to any of the other zones. This will be accomplished by either loading the next logical display or by providing buttons to load a specific display chosen by the user.
Section 10: Testing Requirements
Since
there is a limited number of user inputs into the system, all functional
operations will be tested. There will be
a testing protocol, provided by the client, which will display every function and its capabilities. Each team member of EdgeTech Development will
be responsible for testing different aspects of the TCP/IP Packet
Descriptor. The data entered into each
Protocol Data Unit will be verified by the client.
Section 11: Design Hints and
Guidelines
The TCP/IP Descriptor will assume that the user will have packets that will be provided to be examined and displayed, not provided by the descriptor itself. These packets will be saved in files outputted from Ethereal into a designated directory that the client specifies. The display will be 1024x768, and will be easily viewable using projection monitors for use in classrooms, the test projector will be used in Roger Bacon room 328. At a later date, EdgeTech Development will further develop each screenshot until the client is satisfied with its layout.
Section 12: Cross Reference
Index:
This section will be available once we finalize a complete set of data flow diagrams in the design phase of the project.
Section 13: Sources of
Information
Most of the information for this section was
obtained from the previous years Software Engineering teams, Blue Technologies
Incorporated and Mirage Incorporated.
Also, additional information was gained from meetings with EdgeTech
Development’s client Ken Swarner as well as Dr. Lederman. Other sources of information include Dr.
Lederman’s class lectures and the Software Engineering class textbook Software
Engineering: A Practitioner’s Approach by Roger S. Pressman. Vital sources are last years software teams
Blue Technologies Incorporated (http://www.cs.siena.edu/%7Ecsis410/2003/bluetech/)
as well as Mirage Incorporated (http://www.cs.siena.edu/%7Ecsis410/2003/mirage/).
Section 14: 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, which uses text boxes and buttons to allow easy access of information by use of a mouse or other pointing device.
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)
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.
RFC- (Request for Comments) number. A formal document from the Internet Engineering Task Force (IETF) that is the result of committee drafting and subsequent review by interested parties.
Software - Written programs or 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 15: Gantt
Chart