Software engineering project(srs)!!

23
SOFTWARE REQUIREMENT SPECIFICATION ON LAN Messenger (Jet Messenger v1.0) 1 | P a g e

Transcript of Software engineering project(srs)!!

Page 1: Software engineering project(srs)!!

SOFTWAREREQUIREMENTSPECIFICATION

ONLAN

Messenger(Jet Messenger v1.0)

INDEX S.No. Topic

1 | P a g e

Page 2: Software engineering project(srs)!!

1 Introduction 2 Project Perspective

Interface requirements 3 Planning Activities

Project Estimation Cost Estimation

4 Model Adopted Iterative Waterfall Model

5 Scheduling 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

Introduction2 | P a g e

Page 3: Software engineering project(srs)!!

Jet Messenger v1.0 is a peer to peer LAN messenger which needs no dedicated server for connections and messaging.

Working on Visual Studio

3 | P a g e

Page 4: Software engineering project(srs)!!

Project Perspective:

No need of Internet connection: Existing system requires Internet connection; whereas in the proposed system only Intranet connection i.e. only a LAN connection is required. This system is useful for those who can

4 | P a g e

Page 5: Software engineering project(srs)!!

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 proposed system allows the LAN users to create and participate in conference. This makes communications possible among

number of LAN users simultaneously.

o Interface:

This application interacts with the user through G.U.I. The interface is 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.

However the basic interface available in our application is Menu Panel Active Users panel Message Logs panel.

o Hardware Interface:

Minimum requirements will be as follows: 128 MB RAM required. Processor with speed of 500 MHz’s Internet or LAN connection.

o Software Interface:

5 | P a g e

Page 6: Software engineering project(srs)!!

Sublime is a text editor and source code editor and provides an environment for developing HTML, jsp, JavaScript many other editing purposes.

Coding done in C# and editing done in Visual Studio

Operating system (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

6 | P a g e

Page 7: Software engineering project(srs)!!

Planning activities o Team Organization

Client Analyst Designer Programmer Tester

Democratic Style

7 | P a g e

Page 8: Software engineering project(srs)!!

o Estimation technique adopted (Historical survey of similar project)

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 of project

COCOMO ModelShort for Constructive Cost Model, a method for evaluating and/or estimating the cost of software development. There are three levels in the COCOMO hierarchy:

Basic COCOMO: computes software development effort and cost as 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 300,000 DSIs. The project has characteristics of both projects 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

8 | P a g e

Page 9: Software engineering project(srs)!!

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 "cost drivers," 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 cost drivers impact on each step.

9 | P a g e

Page 10: Software engineering project(srs)!!

o Model adopted

Iterative Waterfall DevelopmentThis approach carries less risk than a traditional Waterfall approach but is still far more risky and less efficient than a more Agile approaches. The focus is on delivering a sprint of work as opposed to a series of valuable/shippable features. The most commonly occurring issue in this type of scenario (in my experience) is bottle necking. For example, you deliver loads of code a 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 approach is 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’t work as the phases are not separate, they’re totally intertwined. For example, 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’t benefit from early-warning-signs as you don’t find out whether you’re on track until the end of the sprint.

10 | P a g e

Page 11: Software engineering project(srs)!!

o Scheduling

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 connect the 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 become reality.

Gantt chart:11 | P a g e

Page 12: Software engineering project(srs)!!

Integrating the problem statement 12 | P a g e

Page 13: Software engineering project(srs)!!

o Necessities of solving the problem Communication becomes easy and efficient.

By installing the messenger program for each staff in the company, the instant messaging system composes a 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 broadcast message 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 broadcast message 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.

Virus and other spam information will be filtered to ensure a pure business-related communication environment.

13 | P a g e

Page 14: Software engineering project(srs)!!

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.

Requirement gathering and analysis

o Gathering and presenting

14 | P a g e

Page 15: Software engineering project(srs)!!

Functional requirements 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.

Design Phase

o Database used

15 | P a g e

Page 16: Software engineering project(srs)!!

Table Name = Active user

ID NAME

Foreign Key = ID Reference Message Log TablePrimary Key = ID

Table Name = Message log

ID IP Address MESSAGE TIME

Primary Key = {ID, IP}Foreign Key=IP Reference Subnet Table

Table Name- Subnet IPs

IP ADDRESS MAC ADDRESS PORT ADDRESS

16 | P a g e

Page 17: Software engineering project(srs)!!

DATA DICTIONARY

Active User: 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 *

Message: “Input String “Result: “Output String”

o Data Flow Diagram (DFD)

17 | P a g e

Page 18: Software engineering project(srs)!!

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 TrueDim client As TcpClient = Server.AcceptTcpClientDim T As New Thread(AddressOf StartChatForm)T.Start(client)

18 | P a g e

Page 19: Software engineering project(srs)!!

End While //tcpclient() instances handled to another thread

Dim client As New TcpClient()client.Connect(ConnectTo, 50000) //to complete connection

19 | P a g e