1. 1 | P a g e
SOFTWARE
REQUIREMENT
SPECIFICATION
ON
LAN
Messenger
(Jet Messenger v1.0)
2. 2 | P a g e
INDEX
S.No. Topic
1 Introduction
2 Project Perspective
Interface requirements
3 Planning Activities
Project Estimation
Cost Estimation
4 Model Adopted
Iterative Waterfall Model
5 Scheduling
3. 3 | P a g e
6 Integration of Problem Statement
Necessity of Solving problem
7 Requirement Gathering And Analysis
Functional Requirements
Non–Functional Requirements
Constraints
8 Design Phase (How?)
Database Used
Attributes
9 Data Flow Diagram
10 Coding and Testing
Introduction
Jet Messenger v1.0 is a peer to peer LAN messenger which needs no
dedicated server for connections and messaging.
6. 6 | P a g e
Project Perspective:
No need of Internet connection: Existing system requires Internet
connection; whereas in the proposed systemonly Intranet connection i.e.
only a LAN connection is required. This system is useful for those who can
not afford to have an Internet connection. For example: schools, colleges,
small companies, etc.
Conference possible on LAN: Usually on LANs connections conferencing is
not possible. The proposedsystemallows the LAN users to create and
participate in conference. This makes communications possible among
number of LAN users simultaneously.
o Interface:
simple, easy to handle and self-explanatory.
once opened, user will easily come into the flow with the application and
easily uses all interfaces properly.
Menu Panel Active Users Message Logs panel.
o Hardware Interface:
Minimum requirements will be as follows:
MHz’s
7. 7 | P a g e
o SoftwareInterface:
Sublime is a text editor and sourcecodeeditor and provides an
environment for developing HTML, jsp, JavaScript many other editing
purposes.
C# and editing done in Visual Studio
Mac).
o Constraints:
the application does not by any means open the web browser. If user
wishes to open the web browser he must open it externally.
The system need to be permanent connected with internet
8. 8 | P a g e
Planning activities
TeamOrganization
9. 9 | P a g e
o Estimationtechniqueadopted(Historical survey of
similarproject)
When the existing system was studied, it was found having some problems,
existing system was very time consuming and was not very efficient.
The drawback of the existing system has resulted in to the development of
new system, which is very user friendly and effective. Existing system was also
very low in performance.
There was no private chatting option available.
Client can connect with the server with the only IP Address.
Cost Estimation ofproject
COCOMO Model
Short for Constructive CostModel, a method for evaluating and/or estimating the
costof software development. There are three levels in the COCOMO hierarchy:
Basic COCOMO:computes software development effort and costas a
function of program size expressed in estimated DSIs. There are three modes
within Basic COCOMO:
o Organic Mode: Development projects typically are uncomplicated and
involve small experienced teams. The planned software is not
considered innovative and requires a relatively small amount of DSIs
(typically under 50,000).
o Semidetached Mode: Development projects typically are more
complicated than in Organic Mode and involve teams of people with
mixed levels of experience. The software requires no more than
10. 10 | P a g e
300,000 DSIs. The project has characteristics of bothprojects for
Organic Mode and projects for Embedded Mode.
o Embedded Mode: Development projects must fit into a rigid set of
requirements because the software is to be embedded in a strongly
joined complex of hardware, software, regulations and operating
procedures.
Intermediate COCOMO:an extension of the Basic model that computes
software development effort by adding a set of "costdrivers," that will
determine the effort and duration of the project, such as assessments of
personnel and hardware.
Detailed COCOMO:an extension of the Intermediate model that adds effort
multipliers for each phase of the project to determine the costdrivers impact
on each step.
11. 11 | P a g e
o Modeladopted
IterativeWaterfallDevelopment
12. 12 | P a g e
This approachcarries less risk than a traditional Waterfall approachbut is still far
more risky and less efficient than a more Agile approaches. The focus is on
delivering a sprint of work as opposedto a series of valuable/shippable features.
The most commonly occurring issue in this type of scenario (in my experience) is
bottle necking. Forexample, you deliver loads of codea little bit behind schedule
(?) and you leave it until the last minute to test everything. One issue takes longer
than expected to resolve, you miss your sprint deadline and you deliver nothing.
Another common symptom of this type of approachis over-commitment. It’s
really difficult to estimate the total effort associated with a particular User
Story/Feature when approaching delivery in this phased way. You’re more or less
forced to estimate each phase separately (e.g. estimate development separately to
testing in this instance) – this doesn’twork as the phases are not separate, they’re
totally intertwined. Forexample, if you find an issue with the test, you must return
to development. The whole team must remain focused on delivering the end goal,
not the separate phases. It’s also worth noting that velocity and burn downs are far
less (if at all) useful in this type of environment – you don’tbenefit from early-
warning-signs as you don’tfind out whether you’re on track until the end of the
sprint.
o Scheduling
13. 13 | P a g e
You’ve selected an appropriate process model.
You’ve identified the software engineering tasks that have to be performed.
You estimated the amount of work and the number of people, you know the
deadline, and you’ve even considered the risks.
Now it’s time to connectthe dots. That is, you have to create a network of
software engineering tasks that will enable you to get the job done on time.
Once the network is created, you have to assign responsibility for each task,
make sure it gets done, and adapt the network as risks becomereality.
Gantt chart:
14. 14 | P a g e
Integrating the problem statement
15. 15 | P a g e
o Necessitiesofsolving theproblem
Communication becomes easy and efficient.
By installing the messenger program for each staff in the company, the
instant messaging system composesa centralized contact list which will get
rid of the friends, families, only for staff internal use.
Through the LAN messenger, send plain text message without any length
limit, you can even change the font style which makes your message easier
to ready, or highlight the special word which you needs to emphasis.
What’s more, the LAN messenger allows one user send a message to
multiple contacts at the same time, this is useful when you need to discuss an
issue with users from different departments and let them reply to follow the
same thread.
Be informed if there was any urgent issue happen.
Not only the system administrator can send broadcastmessage throughout
the company in case there was an urgent alert or some important
notifications needs to be posted to all
The user with the specified permissions can also send broadcastmessage to
selected users or the members in a branch.
Communication becomes secure.
Different to other public messengers, the conversation and other data
transferred through the instant messaging network will be strongly
encrypted.
16. 16 | P a g e
Virus and other spam information will be filtered to ensure a pure business-
related communication environment.
Communication becomes reliable. The receiver will be alerted when there
was a new incoming message, what’s more, the sender can be informed
when the receiver has opened message, in this way to makes sure the
important information has been delivered. Meanwhile the sent and received
message can be stored centrally, so the system administrator can audit the
full history message.
Share files from PC to PC become easy.
In a long time you may rely on the Net send command line provided by
Microsoft, unfortunately it is not available since Windows Vista and
Windows 7. With a LAN messenger, transfer files or even folders are easy,
and you will enjoy a high-speed for file transition than ever before.
17. 17 | P a g e
Requirement gathering and analysis
o Gatheringand presenting
Functionalrequirements
Functional requirements describe what the system should do?
.Non-Functional requirements
Non-functional requirements describe how the system works?
Constraints
Deadlines are not software requirements; they are project constraints.
When attempting to be the first to market with a new concept, deadlines may be set
in stone rather than simply imposed arbitrarily. Another project-type constraint is
the budget or venture capital dollars available to be used toward the development of the
product. The amount of staff that can be hired to work on product development is also a
constraint. These three examples are project constraints that have a direct impact on how the
project is planned and tracked and on what can be developed by a specific point in time. When
project-type constraints emerge, a negotiation process begins for what can feasibly be delivered
for any given product.
Project constraints are important requirements to capture. As with functional and product
constraints, project constraints also evolve through the different perspectives. Although the
Internet program has one budget for resources, dollars, and time, each community is allocated its
portion of the pot.
The project constraints are also important for other phases of development aside from
requirements. Different choices can be made on hardware and network configurations based on
the budget, staff, and time allocated to them. The project constraints impact those decisions.
18. 18 | P a g e
Design Phase
o Databaseused
Table Name = Active user
ID NAME
Foreign Key = ID Reference Message Log Table
Primary Key = ID
Table Name =Message log
ID IP Address MESSAGE TIME
19. 19 | P a g e
Primary Key = {ID, IP}
Foreign Key=IP Reference Subnet Table
Table Name- Subnet IPs
DATA DICTIONARY
ActiveUser:String
String { } x * LIST OF SUBNET IPS WHERE ‘X’ IS NO OF IPS IN THE
LIST*
Shortlisted_ip { } y * LIST OF SHORTLISTED IPS*
{ } a = [0, 1] * ASSIGNING USER STATUS *
{ } b = [0, 1] * CHECKING CHAT ROOM STATUS *
IP ADDRESS MAC ADDRESS PORT ADDRESS
20. 20 | P a g e
Message: “Input String “
Result: “Output String”
o DataFlow Diagram(DFD)
23. 23 | P a g e
Coding and Testing
Dim Server As New TcpListener(IPAddress.Any, 50000)
//To hear multiple connections we use tcp listener
Server.Start() //start listening for connections
Dim client As TcpClient = Server.AcceptTcpClient
//accept incoming connections
While True
Dim client As TcpClient = Server.AcceptTcpClient
Dim T As New Thread(AddressOf StartChatForm)
T.Start(client)
End While
//tcpclient() instances handled to another thread
Dim client As New TcpClient()
client.Connect(ConnectTo, 50000)
//to complete connection