Beruflich Dokumente
Kultur Dokumente
REQUIREMENTS
SYSTEM REQUIREMENTS
5.1Functional Requirements:
Monitoring
Web Server
PC
YES
Is current time NO
is less than t
YES NO
If X>0
Attack++,
Store Syn NO
Packets YES
IF Attack!=0
Attack--
The UML class diagram also referred to as object modeling, is the main static
analysis diagram. Object modeling is the process by which the logical objects in the real
world (problem space) are represented (mapped) by the actual objects in the program.
(Logical or a mini world). These diagrams show a set of classes, interfaces, and
collaborations and their relationships. These diagrams address the static design view of a
system. This view primarily supports the functional requirements of a system – the
services the system should provide to its end users. A class diagram is a collection of static
modeling elements, such as classes and their relationships, connected as a graph to each
other and to their contents; Class diagrams do not show temporal information which is
required in dynamic modeling.
Contents
Class diagrams commonly contain the following things:
Classes
Interfaces
Collaborations
Dependency, Generalization and association relationships
JpcapCaptor JpcapSender
int: dropped_packets
int: received_packets <<create>>
getDeviceList() openDevice()
getJpcapSenderInstance openRawSacket()
() close()
getPacket() sendPacket()
openDevice()
setFilter()
openFile()
procesPacket()
<<create>>
Packet
NetworkInterface
int:caplen
NetworkInterface
byte[]:data
Address: address
DatalinkPacket:datalink
String:datalink_name
packet:EOF
String:datalink_
byte[]:header
descri ption
int:len
Byte[]:mac_address
long:sec
long:usec
equals()
Packet()
wait()
toString()
notify(0
notifyAll()
getClass()
ActiveMonitor
Int:NoOfSyns
Int:NoOfAcks
main()
DatalinkPacket
equals()
IPPacket getClass()
InetAddress:src_ip wait()
InetAddress:dst_ip notify()
short:length notifyAll()
short:offset
short:protocol
short:length
boolean:d_flog
boolean:don’t_frag
int:flow_label
int:ident EithernetPacket
boolen;r_flag
boolean_rsv_flag
byte[]:dst_mac
setIPv4Parameter() byte[]:src_mac
setIPv6Parameter() short:frametype
toString()
getDestinationsAddr
ess()
getSourceAddress()
TCPPacket
boolean:ack
long:ack_num
int:dst_port
boolean:fin
byte[]:option
boolean:syn
boolean:rst
boolean:urg
boolean:fin
boolean:psh
int:window
long:sequence
toString()
Objects:
The objects are laid out near the top of the diagram from left to right. Extending
downward from each object is a dashed line called the object’s lifeline. Along the lifeline
is narrow rectangle called an activation that represents an execution of an operation the
object carries out.
Messages:
A message can be simple, synchronous, or asynchronous. A simple message is a
transfer of control from one object to another. If an object sends a synchronous message, it
waits for an answer to that message before it proceeds with its business. If an object sends
an asynchronous message, it doesn’t wait for an answer before it proceeds. In the sequence
diagram, a simple message has a two-line arrowhead, a synchronous message has a full
arrowhead, and an asynchronous message has a half-arrowhead.
Time:
Time starts at the top and progresses toward the bottom. A message that’s closer to
the top occurs earlier in time than a message that’s closer to the bottom.
: Active
Monitor : JpcapCaptor : JpcapCaptor
Client
PC1
Asks
Generate Packets
packets
Gets
Packets
Packets
Active
Monitor
Client
PC1 OS
Packets
Packets
Web Client
Server PC2 OS
TESTING
8.1 Testing
Software testing is a critical element of software quality assurance and represents the
ultimate service of specification design and coding. The increasing visibility of software as
a system element and the attended costs associated with the software failure and motivating
forces for well planned, through testing. It is not unusual for a software development to
spend between 30 and 40 percent of total project effort in testing.
System Testing Strategies for this system integrate test case design techniques into a well
planned series of steps that result in the successful construction of this software. It also
provides a road map for the developer, the quality assurance organization and the customer,
a roadmap that describes the steps to be conducted as path of testing, when these steps are
planned and then undertaken and how much effort, time and resources will be required.
The test provisions are follows.
Testing Objectives:
The above objectives imply a dramatic change in view point. They move counter
to the commonly held view that a successful test is one in which no errors are found. Our
objective is to design tests that systematically different clauses of errors and do so with
minimum amount of time and effort.
If testing is conducted successfully, it will uncover errors in the software. As a
secondary benefit, testing demonstrates that software functions appear to be working
according to specification and that performance requirements appear to have been met. In
addition, data collected as testing is conducted provides a good indication of software.
Testing can't show the absence of defects, it can only show that software errors are present. It
is important to keep this stated in mind as testing is being conducted.
Testing principles:
Before applying methods to design effective test cases, a software engineer must understand
the basic principles that guide software testing.
Software Testing begins “in the small “and slowly progresses toward testing “in the large”.
Testing in the small focuses on a single class and the methods that are encapsulated by the
class.
In object oriented programs control flow switches from one object to another by inter-object
communication and state of the object displays an important role in invocation of methods.
Hence testing technique is to test all the methods of a class, one by one, against the set of
states that the object can take also termed as state-based testing. State-based testing is
technique to test whether or not the methods of a class interact correctly among themselves
by monitoring the data members of the class.