This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
"Communicate rather than complicate. The most valuable piece of advice heard both in the corporate and common world today. People are struggling towards excellence, but they arrive at new ideas and progressive concepts every second that has to be discussed and improved to the organisational structure. In order to catalyse the communicative aspects and there by the professional quality, the project on networking leading to an environment that provide local area communication effectively has been considered. A DSDM methodology is used for developing the system. Developing areas were divided into certain modules in order to achieve the goal at the earliest. Authorised access followed by text chat that spreads the idea in less than a second along with the voice chat that helps in bringing out the deepest shade of conceptual view and more over textual chat log gives life to the project".
In the fast growing and busy world where time limits relationship, comes the need of different modes of communication. Communication is an area where text and voice are of paramount importance. Need of communicating faster and more effectively is a difficult task in the case of a text chat whereas Voice conveys ideas better than words. Using voice chat is easier to negotiate and reach an agreement on situation or an issue than by text chat. The importance of both text and voice for communication is considered in this project.
Working in a busy environment and a need to communicate with others in the office, or even with colleagues in another building will be so difficult. But with the use of a Local Area Network (LAN) messenger we can easily communicate with others, share ideas and can easily come to a conclusion. A LAN messenger can be used as a powerful communication tool in communicating within an organisation where a small or large group of users are connected each other under the same local network.
The process in communicating can be of different types, according to the nature and the purpose. The project enables the users to convey information or ideas to other users by the means of text chat or voice chat. It also records the information send by the users within the conversation through the text chat and thus always a chat history can be used for further references.
Providing a wide area with the facility for making the life easier and secure, resulted in selecting this topic as my project and the different developing stages of the entire project is discussed in various chapters in this report.
2. Literature Research and Review:
General means of communication, such as verbal directions, phone conversations and sending e-mail, are far from perfection when it comes to delivering short messages to communicate each other in a busy environment. The "Instant messaging is an interpersonal technology in which users are able to communicate with each other in one on one synchronous conversation" [C.A. Lin and D.A. Atkin (2007)]. One of the key factors of successful business procedure is well-thought staff communication system. Excellent management knows that each minute of work time spent ineffectively means profit loss. Thus building fast and convenient personnel communication environment is so important these days. Introducing a LAN messenger can be useful in making communication easier and reliable.
The first LAN messenger for windows is win popup; it also sends messages from one windows computer to another within the LAN. It supports two modes of operation, one with the server and one without. WinPopup uses SMB/NetBIOS protocol and was intended to receive and send short text messages. Where as in UNIX, command talk enables the user to talk directly with another user.
A LAN is a group of interconnected computers that can share data among one another. A LAN connection can also be used to establish a means of communication within a network. Transmitting data from one point to another within a relatively small area in a LAN network can be considered as the process of a LAN messenger. According to the present situations internet based instant messenger are available with more facilities and choices but all of these seems to rely on third parties and thus makes the system unreliable to certain extent. Without using an internet connection, the need for communication can be established by the use of a LAN messenger. LAN messenger can be used to communicate between users within the network by sending text messages and even making a voice call to other users to make communication easier.
In order to setup a LAN connection between the systems, a Hub or a Switch can be used as a medium. Hub or Switch can be used as an effective medium and a central point for connecting multiple computers within a network. All the computers which are to be connected should be on the same workgroup. Connecting each computer to the ports on the hub or switch using the Ethernet cable and running through the network setup can establish a LAN.
In the recent years it has been seen that more and more people are using instant messengers as a medium for online communication over the internet. But this may also result in the spreading malicious codes across the network.. Thus the use of an instant messenger cannot be considered as a medium of communication within an organisation. Because in case of any malicious attack through any of the instant messengers through internet can affect the whole network of the organisation and can result in loss of data or even more. Once if it gets infected by any of the virus then it will spread to a significant portion of the network.
The communication data within two or more users in an organisation is valuable in an organisational point of view. Thus the use of a LAN messenger can also be considered as an effective tool. By using a LAN messenger there is no chance of leaking the data outside the network. But in the case of an instant messenger over an internet, there is more chance in leaking the data outside the organisation. Within a LAN network, only the designated users will be able to use this facility and can be controlled by the administrator by providing privileges to the system. Thus inappropriate use of the system can be avoided in an organisation.
The use of a LAN messenger can reduce the cost of communication within an organisation. Since the LAN messenger works within a LAN, the cost of implementing the system will be comparatively lower than using a third party instant messenger over internet.
2.1 Human-Computer Interaction (HCI):
According to Grudin (1993), "User interface, or human computer interface, is an evolving concept." The human computer interface is defined differently on different purposes. It is a kind of layer in between the human and the computer through which the humans can interact or communicate. Interaction between users and computers occurs at the user interface which includes both software and hardware. The Association for Computing Machinery defines human-computer interaction as "a discipline concerned with the design, evaluation and implementation of interactive computing systems for human use and with the study of major phenomena surrounding them."
As stated by Preece and colleagues, "Human-Computer Interaction is about designing computer systems that support people so that they can carry out their activities productively and safely "[Preece et al., 1994]. The basic goal of HCI is to improve the interactions between users and computers by making computer more usable and friendly to the needs of the user. HCI is concerned with the methodologies and processes for designing interfaces, methods for implementing and also the techniques for evaluating and comparing interfaces.
Software engineering is the practice of using selected procedure techniques to advance in the quality of a software development.This is based on the statements, subject to continuous debates and supported by long term experience, that a methodical approach to software development results in fewer defects and therefore, eventually provides shorter delivery times and better value.
A methodology can be simply defined as a set of procedure that one follows from the beginning to the completion of the software development process. The nature of the methodology is dependent on a number of factors, including the software development environment, the organization's practices, the nature or type of the software being developed, the requirements of the users, the qualification and training of the software development team, the available hardware and software resources, the availability of existing design modules, and even the budget and the time schedule.
2.2.1 Rapid Application development (RAD):
Rapid application development (RAD) is a software development methodology that focuses on building applications in a very short amount of time; traditionally with compromises in usability, features and/or execution speed. According to Glassey, M (1999), "Rapid Application development was developed as an alternative development methodology to traditional sequential methods of application development". The Rapid Application Development methodology was developed to respond to the need to deliver systems very fast. The RAD method has a task list and a work breakdown structure that is designed for speed. RAD projects are considered as risky and commonly the first task in this methodology is probably to decide whether the specific project is certainly suitable for a RAD approach. Speed and quality are the primary advantages of Rapid application development, while potentially reduced scalability and feature sets are the disadvantages.
2.2.2 Dynamic Systems Development Method (DSDM):
DSDM technique was developed in the United Kingdom in the 1990's by the DSDM consortium, which are one of the experts in the field of software engineering .DSDM is an extension of RAD and it mainly focuses on the information systems project which are characterised by fixed schedules and budgets. Some of the most common failures of information systems projects are mainly concentrated by the DSDM approach. Exceeding the budget of the project, missing the deadlines and lack of user involvement are some of the main areas focused by the DSDM approach.
2.2.3 Waterfall Methodology:
Waterfall methodology is a software development process that is broken up into a sequence of distinct stages with each stage existing as an autonomous phase with respect to all subsequent stages. All stages of the process have a distinct beginning and an end. By the end of a stage the consecutive stage begins and keeps on continuing the stages until it reaches a completion. Each stage of the waterfall model has to be completed before moving to the next stage or phase of the process. Thus there can be difficulties in the development process and even to adjust to the changes in the project requirements.
The waterfall methodology mainly focuses on the process and the documentation. The documentation is mainly considered as a means of communication. According to the waterfall methodology the project can be managed by a predefined project plan. Proper planning of the development stages is one of the key things to be noticed while following a waterfall methodology for developing a system. One of the advantages of the waterfall process is that it allows for departmentalization and administrative control. A schedule is normally set with deadlines for each stage of progress and a product can proceed through the development process. In practice, waterfall development often falls short of expectations as it does not hold the unavoidable changes and revisions that become essential with most projects. Once an application is in the testing stage, it is very difficult to go back and change that was not thought of in the concept stage.
2.3 Technology Used:
In order to develop an application or a system, different technologies can be used. There are different kinds of technologies available from which any of them can be selected in developing an application. But selecting the most appropriate one can result in success in developing the system. It can only be selected by understanding the need of the project. Some of the technologies used in developing the system are described below:
2.3.1 Visual Basic .NET
Visual Basic .NET (VB.NET) is an object oriented computer programming language that can be viewed as an evolution of Microsoft's Visual Basic (VB) which is implemented on the Microsoft .Net Framework. The .NET platform is web-centric. The VB.NET language was developed to allow .NET programmers to create very large, powerful, high-quality web applications quickly and easily.
Visual Basic was designed to be easily learned and used by beginner programmers. The language not only allows programmers to create simple GUI applications, but can also develop complex applications. Programming in VB is a combination of visually arranging components or controls on a form, specifying attributes and actions of those components, and writing additional lines of code for more functionality. Since default attributes and actions are defined for the components, a simple program can be created without the programmer having to write many lines of code.
2.3.2 SQL Server 2000:
Microsoft SQL Server 2000 is a full-featured relational database management system (RDBMS) that offers a mixture of administrative tools to relieve the burdens of database development, maintenance and the administration. It is one of the ample data platforms that provide secure and consistent storage for both relational and structured data, enabling one to build and administer high performance data applications. Enterprise Manager is the main administrative console for SQL Server installations. It provides a graphical "birds-eye" view of all of the SQL Server installations on the network.
There are two ways to create database devices. The first way is to write SQL queries using system procedure to create the devices. The second way is to create these devices using the SQL enterprise manager. Microsoft developed the SQL enterprise manager as a GUI front end to make it easier for the SQL administrators to maintain a database. When storing data in SQL server, these data are stored in tables. Tables in turn are stored in databases. Finally databases are stored in database devices. A database device is the allocation of the disk space for use by a database and its contents.
SQL Server 2000 supports the rapid development of enterprise-class business applications that can give your company a critical competitive advantage, benchmarked for scalability, speed and performance. SQL Server 2000 is a fully enterprise class data base product providing core support for Extensible Mark-up language (xml) and internet queries.
Testing is the process of executing a program with the intent of finding any errors. Testing is vital to the success of the system. Without proper testing, hide errors will surface after sometime of use and perhaps irreversible damage has been done to valuable data. A series of tests like responsiveness, its value, stress and security are performed before the system is ready for user acceptance testing. System testing follows the logical conclusion that is all the part of the system are tested and found to be working properly under all kinds of situations, and then the system is achieving its goal of processing the data perfectly according to user rules and requirements.
2.4.1 Types of testing:
There are different types of system testing procedures that are followed in the final stages of system development. They are the following:
18.104.22.168 Unit Testing
Unit testing focuses verification effort on the smallest unit of software designs the module. To check whether each module in the software works properly so that it gives desired outputs to the given inputs. All Validations and conditions are tested in the module level in the unit test. Control paths are tested to ensure the information properly flows into, and out of the program unit under test. Boundary condition is tested to ensure that the modules operate at boundaries. All independent paths through the control structure ensure that all statements in a module have been executed at least once.
22.214.171.124 Integration testing
The major concerns of integration testing are developing an incremental strategy that will limit the complexity of entire actions among components as they are added to the system. Though each program works individually, they should work after linking them together. This is also referred to as Interfacing. Data may be lost across interface and one module can have an adverse effect on another. In the testing, the programs are constructed and tested in small segments.
126.96.36.199 System Testing
When a system is developed, it is hoped that it performs properly. In practice, however, some errors always occur. The main purpose of testing an information system is to find the errors and correct them. A successful test is one, which finds an error.
The main objectives of system testing are
- To ensure during operation the system will perform as per specification.
- To make sure that the system meets user's requirements during operation.
- To verify that the controls incorporated in the system function as intended.
- To see that when correct inputs are fed to the system the outputs are correct.
- To make sure that during operation, incorrect input and output will be deleted.
The scope of a system test should include both manual operations and computerized. Operations system testing is a comprehensive evaluation of the programs, manual procedures, computer operations and controls. System testing is the process of checking if the developed system is working according to the original objectives and requirements. All testing needs to be conducted in accordance to the test conditions specified earlier.
188.8.131.52 Black Box Testing
This testing method focuses on the functional requirements of the software. It attempts to find out the error of the following categories such as incorrect and missing functions, interface error, error in data structure, performance error and initialization and termination errors.
184.108.40.206 White Box Testing
White box testing is performed based on the facts of how the system is implemented. White box testing includes analyzing data flow, control flow, information flow, coding practices, and error handling within the system, to test the intended and unintended software behaviour. It is performed to validate whether code implementation follows proposed design, to validate implemented security functionality, and to reveal exploitable vulnerabilities.
220.127.116.11 .Data Validation Testing
Data validation is done to see whether the corresponding entries made in the tables are correct. Proper validations are done in case of insertion and updating of tables. If any such case arises, then proper error messages or warning, if any, has to be displayed.
18.104.22.168 Password Testing
The login process is tested with some separate login trials. Password is mainly meant for security. Incorrect will be screened. Also already created passwords won't be allowed to use again.
22.214.171.124 Test Data
The system analyst will provide the test data, specially designed to show that the system will operate successfully in all its aspects and produce expected results under expected conditions. Preparation of test data and the checking of results should be carried out in conjunction with the appropriate users and operational departments. Also the extent to which the system should be tested must be planned.
126.96.36.199 Acceptance Testing
An acceptance test has the objective of selling the user on the validity and reliability of the system. It verifies that the system procedures operate to system specification and that the integrity of vital data is maintained.
3. Analysis and Specification:
3.1 System Analysis:
The activities that are involved predominantly in the early stages of development are non algorithmic, long and iterative. It also involves considerable informality and uncertainty. Thus different tasks of system analysis can be used to characterise many of these and provide a perfect structure to different tasks to be established within the project.
System analysis is the process of gathering and interpreting facts, diagnosing problems and using the information to recommended improvements on the system. It is an important phase of any development process. System analysis is a problem solving activity that requires intensive communication between the system users and system developers. The system is studied in detail and analyzed. The system is viewed as a whole and the input to the system are identified and the outputs from the organizations are traced to the various processes. According to this system, the important phases were the development of the text and voice chat with the users within a specific network. Different ways of providing excellent communication possibilities for the people working within an organisation were studied in detail.
Risk analysis is a process considered to remove or reduce the risks which threaten from attaining project objectives. The risk analysis process is sub divided into qualitative and quantitative analysis that focuses on identification and subjective analysis of the risk and an objective assessment of the risk respectively. According to the system developed, one of the main risk factor was providing the users a faster system to convey their messages to other users within the network and avoiding delay in receiving the messages at receiver end. Since in a working environment, passing important information quickly and easily is one of the main objectives. The loss of data is another major issue that can be faced within a network. Since the system works within a LAN network, the loss of data can be prevented. No other users outside the network will be able to access the system or use the service to send false data through the network. This means that the system is much more secure than other third party services providing such facilities to send data over the internet. Some of the other major risk factors that would have been affected the system was cost of implementing the system and also the time estimates for each task to be completed.
Understanding the needs of the system is a major task. The requirement analysis is on identifying what is needed from the system. There are two major activities in this stage. They are problem understanding or analysis and requirement specification in problem analysis; the analyst has to understand the problem and its circumstance. Such analysis in general requires a thorough understanding of the existing system, the parts of which must be automated. The requirement analysis gives a clear idea of what can be expected from the developed system. Since the system runs on a LAN network, the cost would have been high. But in large organisations the computer systems are connected by a LAN network, thus no other specific connections are not necessary for establishing a LAN messenger. Thus the cost of networking computer system for a LAN messenger can be avoided and thus reducing the cost. Since the messenger system also provides a Voice chat facility for the users, a headset and microphone is essential to pass the information and listen to what other user reply. The system is economically feasible, as the organization possesses the hardware and software resources required for the functioning of the system. Any additional resources, if required, can also be easily acquired.
The system operation is the longest phase in the development life cycle of a system. So, operational feasibility is given much importance. A thorough training is not necessary for the users and all they are expected to know in order to operate the system is the basic net surfing knowledge. The system is also having a user friendly interface which can be easily understood by the users.
The system specification is one of the essential areas of developing a system. It states how the work should be executed in order to ensure that it meets the assumptions made for developing the entire system. Each project in general requires its own project specification. The specification includes both software specification for the development of the entire system and also the hardware specification which is essential to run the application. The software and hardware specification used in developing a LAN messenger is given below.
3.2.1 SOFTWARE SPECIFICATION:
Front end : VB.Net
Back end : SQL SERVER
Operating system : Windows
IDE : Visual Studio
3.2.2 MICROSOFT WINDOWS:
Any windows based operating system (such as Windows 98, Windows 2000, Windows XP, Windows Vista, and Windows 7) can be used to operate the software. Windows 7 Professional is used as a platform for this project. This operating system is one of the latest products from Microsoft, which is more reliable and can run many of the windows productivity programs in windows XP mode. It takes automatic backups and can also connect to networks effortlessly which is more secure.
3.2.3 HARDWARE SPECIFICATION:
Processor : Pentium IV OR Above
Primary Memory : 256 MB RAM
Storage : 20 GB Hard Disk
Display : VGA Colour Monitor
Key Board : Windows compatible
Mouse : Windows compatible
Headphone with Microphone
Design is a creative process: a good design is a key to effective system. It may be defined as the process of applying various techniques and principles for the purpose of defining a device, a process or a system in sufficient detail to permit its physical realization. Software design sits at the technical kernel of the software engineering process and is applied regardless of the development paradigm that is used.
Preliminary design is concerned with the transformation of requirements into data and software architecture. In system design high-end decision are taken regarding the basic system architecture, platforms and tool to be used. In order to develop a system, we have to plan the development stages of the system through which the final system can be achieved.
DSDM software development methodology is used in the development of this system. The DSDM framework consists of different sequential phases. The development technique used in this project is described below. According to DSDM, during the design phase the functional and non functional requirements which are required to be in the tested system are identified. And based on the identifications an implementation strategy is involved. The requirements needed are prioritised using the MoSCoW approach.
4.1 MoSCoW prioritisation
This technique were first developed by Dai Clegg of oracle UK consulting as part of a RAD approach, He subsequently donated the rights to the Dynamic Systems Development Method (DSDM) Consortium.
The MoSCoW technique is commonly used as a simple advance to prioritizing requirements in Time boxing environments. To be successful, projects need to be appropriately prioritised for both the requirements and the main project objectives. Once there is a clear set of requirements it is important to ensure they are prioritised. This helps each person to understand which the most essential requirements within the project are.
4.1.1 Prioritisation Categories:
MoSCoW as a prioritisation method is used to decide which requirements must be implemented first and which must come later or will not be implemented at all. All requirements (functional and non-functional) are classified within one of the following four sections:
188.8.131.52 Must Have:
The requirement is necessary for overall development of the system. Key stakeholder needs will not be satisfied if this requirement is not delivered within the time period and the time box will be considered to have failed.
184.108.40.206 Should Have:
This is an important requirement but if it is not delivered within the existing time box, there is an acceptable workaround until it is delivered during the consequent time box.
220.127.116.11 Could Have:
This is a 'nice to have' requirement; we have estimated that it is possible to deliver this in the given time but will be one of the requirements de-scoped if we have underestimated.
18.104.22.168 Won't Have:
The full name of this category is 'Would like to have but Won't Have during this time box. Requirements in this category will not be delivered within the time box that the prioritisation applies to.
The first three categories are similar to any other prioritisation categories. It is 'Won't Have' that distinguishes MoSCoW from the others. It is essential that a project or a time box does not contain 100% must Haves, so that teams can deliver on time by dropping out lower priority requirements if problems arise. The project team should aim to deliver as many 'should' requirements as possible.
The system design transforms a logical representation of what a given system is required to be in the physical specification. Design starts with the system requirement specification and converts it to a physical reality during the development. The user interface will be designed as the beginning stage of the design, further developing the later stages of the design.
4.2 User Interface:
The user interface is developed with a preliminary design. It is a means by which the people interact with the system. Thus a user interface must be a source for users to input the data as well as to get the output. . Input design is the process of converting user-oriented inputs to a computer-based format. Input data are collected and organized into groups of similar data. In the case of a LAN messenger, it is used to convey messages from one user to other and the user interface is designed to suit the needs of the users.
It includes a login screen for the users to login to the system. When the user inputs the login details and if it is approved by the system after verifying the user details then they are given access to the system. This is shown in figure (1) below. If the user details are not verified then a warning message is shown to the user to check the login details entered into the system to gain access. This is shown in figure () in appendix 2. Once the user is given access to the system, then the user is taken to a new window of the system which is the main screen from where the user can make further decisions.
The main screen [Figure (2)] is designed in such a way that the users can identify the users within the network easily and can also obtain the information about the user current status such as whether the user is available or not available to perform a conversation between them. The details of users within the network are grouped accordingly and sorted alphabetically to identify the users easily. Since the system is mainly focusing to implement in an organisation, it is designed to group the users into certain groups with a tree like structure which includes Administrator, Payroll, HR (Human resources), etc.
In order to start the conversation by means of a text chat or a voice call, the user can select available user from the list and make a choice to start the conversation. The text chat window is shown on figure (3). The system also provides a facility to save the text chat data into the computer disk space. Thus a log of chat details can be used for any further references in the future.
The user logout is also included in this system, thus the user can logout of the system whenever they wish to and thus changes the current status of the particular user.
The preliminary design of the system is included in Appendix 1 and complete screen shot of the system developed is given in Appendix 2.
The user login details and also the IP address of the systems in which the user login are stored in the database created. This database acts as the backend. While the user login to the system the corresponding status message of the user also gets changes and is displayed on the main screen on the developed system. Thus by clicking on the user name gives the login information of the user such as, User name, department and login status, where all these fields are stored on the database. The figure (4) below shows the design of the data base table and figure (5) show how the data are stored in the database.
A data flow shows the flow of information from its source to its destination. Data flow is represented by a line with arrow head showing the direction of flow, information always flow to or from a process and may be written, verbal or electronic. Each data flow may be referenced by the processes or data stores at its head and tail, or by a description of its comments.
Data store is a holding place for information within the system. It is represented by an open ended narrow rectangle. Data stores may be long term file such as sales, ledgers, or may be short term accumulations: for example batches of documents that are waiting to be processed. Each data store should be given a reference followed by an arbitrary number.
A level 0 DFD (Data Flow Diagram) also called a fundamental system model represents the entire software elements as single bible with input and output indicated by incoming outgoing arrows respectively. Additional process and information flow parts are represented in the next level, i.e. Level 1 DFD.
System implementation is the final phase i.e., putting the utility into action. Implementation is the state in the project where theoretical design turned into working system. The most crucial stage is achieving a new successful system and giving confidence in new system that it will work efficiently and effectively. The system is implemented only after through checking is done. It involves careful planning, investigation of the current system and constraints on implementation, design of methods to achieve.
Implementation is the stage of the project where the theoretical design is turn into a working system. The implementation stage is a system project in its own right. It involves careful planning, investigation of the current system and constraints on implementation, design of methods to achieve the change over and the evolution method. Once the planning has been completed the major effort is to ensure that the programs in the system are working properly. At the same time concentrate on training user staff.
Implementation phase is an important one in which the source code put into the operation. Before implementing the software careful documentation is necessary. Implementation should provide with well defined software requirements, design specifications. The major milestone for project implementation is successful integration of software components in the functioning system. During the implementation the configuration management and quality assurance of requirements design specification and source code are performed.
Different areas of implementation and the implementation technique used are discussed below:
5.1 User Login in:
The login data needed for the users to login to the system is stored in the database used. In this project SQL server 2000 is used as the database to store the data. The user name and password can be created by the administrator of the particular organisation in which the system is implemented and is shared to the users within the network. This data is stored in the server system. Each user will be having a unique user name and password by which the users can login to the system.
5.2 User within the network:
After logging into the system, the user is taken to the main screen of the system. On the main screen the user can view all the other existing users within the network. Each time the user login to the system the IP address of the corresponding user is stored within the database. The command given below is used to get the IP address of the user when he login to the system over the network.
By using the get method the specified IP address of the host will be returned and the specified host name will be returned by Dns.GetHostName() method.
5.3 Text Chat:
The text chat is the process of sending a text message to other user logged in the network. This will allow the users to communicate within the network by sending text messages though the LAN network using the system.
In order to implement this process a Socket Programming methodology is being used.
A socket is one of the most fundamental technologies of computer networking. Sockets allow applications to communicate using standard mechanisms built into network hardware and operating systems. Sockets are bidirectional, i.e. either side of the connection is capable of both sending and receiving data.
Under the TCP/IP protocol it provides two different protocols for data exchange. In the case of text chatting, the TCP (Transmission control Protocol) is used. In TCP socket programming there is a clear dissimilarity between the server process and the client process. The server process starts on a well known port (which the clients are aware of) and listens for incoming connection requests. The client process starts on any port and issues a connection request. There is a range of reserved ports which ranges from 0 to 1024 which are used for web servers or mail servers. But any of the port above 1024 is free to be used. For the text chat between the users, port number 4545 is being used. Thus when a user attempts to chat with anyone on the network while he sends the message, the message is send to the server and then send to the corresponding client.
5.4 Voice Chat:
Voice chat is one of the modern means of communication. It can be used to deliver messages in more detail and easily. Thus means of communication between users within the network can be improved. The voice chat is also implemented using the socket programming methodology.
For voice chat, port 1450 is been used for the communication between two systems. According to text chat, it is only sending the text using the socket. But in this case the voice is send as a wave buffer. The wave buffer contains a specific wave header which is also created in order to send the data from one port to the other. This header is used to send data as a buffer. While sending the data from one user to the other, the data is encoded and decoded at the respective ends. ALaw encoding and decoding is used for this purpose. ALaw encoding is used in order to convert a 13 bit audio sample data to an 8 bit data. Whereas the decoding converts 8 bit data back to 13 bit sample audio at the receiving end. Thus the audio data is received from the sender to the receiver simultaneously.
5.5 Text chat Log:
Yet to be done
5.6 User Logout:
Once after the use of the system, the users can logout easily in order to make it more secure. By clicking on the logout button on the main screen of the system the user can easily logout. This is done by sending a delete request to the server. On receiving this request, the server will delete the entry corresponding to that particular user from the online users list. Simultaneously the client program stops. Thus no other user can use this system in order to make any further conversation without valid user name and password. Thus unauthorised access can be avoided within the organisation.
System testing is aimed at ensuring the system works accurately before live operation commences. Testing is vital to the system. System testing makes a logical assumption that if all parts of the system are correct, the goal will be successfully achieved. The candidate system is subjected to a verity of tests: Online Response, Volume, Stress Recovery & Security and Usable tests. A series of testing are performed for the proposed system before the system is ready for user acceptance testing. Nothing is complete without testing, as it is vital success of the system. Some of the testing methodologies performed within this application are discussed below:
6.1 Password Testing
The user login is tested by entering different user names and password. Thus entering a non valid password could prevent any unauthorised access and thus providing more security for the system. The user login data is stored in the database and this test proved that no other user name or passwords entered other than provided to specific users can access the system.
6.2 Data validation Testing:
This test is done in order to check the entries made in the tables are correct. The process was carried out and in the case of entering incorrect data into the fields shown error messages and thus indicating them to the user. Both correct and incorrect data was used to verify the process of the system and ensuring the testing technique.
6.3 Black Box testing:
Since the testing methodology focuses on the functional requirements of the system, the test was performed. Errors on missing or incorrect functions, error in data structure, as well as the errors in initiation and termination of the system were also included while undergoing this testing.
6.4 White Box testing:
White box testing requires access to the source code. Though white box testing can be performed any time in the life cycle after the code is developed, it is a good practice to perform white box testing during the unit testing phase. In this system, white box testing has been successfully handled. The test data was given to each and every module in all respects and got the desired output. Each module has been tested found working properly.
The results of various test undergone within the developed system is shown on Appendix 3.
7. Critical Evaluation:
According to the project to develop a LAN messenger, the system was developed by adding features such as text chat, voice chat and text chat recording. These features seem to be assuring the users to make life easier and secure. Even though at the end project it provides all these features to the users, a critical evaluation is performed about the product and process through which the project went through and these are discussed below.
While undergoing the project, both the technical and feasible methods of implementing the system were considered. The system includes both text and voice chat facility which are the means of communication that can be implemented within an organisation. Voice chat can be used as a faster and easier means of communication with other user. It helps to share more ideas through direct conversation other than a normal text chat. Text chat may take more time to enter the message into the system which is later send to the other end. Since the system is mainly developed to implement in an organisation where time is equal to wealth, spending too much time in conversations may affect the overall status of the organisation. The application also includes a text chat log saving process in which any of the conversations made between the users are saved as a file on the primary disk space of the system on which the application is running. This can be used as a further reference in case of any misbehaviour from the users. But a group chat facility is not used in this system which is one of the drawbacks of this system. Group chat can be used to have a group discussion between several users within an organisation. Only a system administrator will be able to add new contacts to the system. Thus the users won't be able to add new users or create a group within the system. In case of adding a new user to the system, the details of the user have to be added to the system by the administrator. Thus adding the user details to the database gives him the permission to access the system. The user name and password is also issued by the administrator, thus the user won't be able to make changes in his/her account without the permission of the administrator.
The cost of implementing the system is comparatively cheaper than using a third party internet service as a messenger device. Establishing a LAN network within an organisation to implement a LAN messenger is costlier. But normally in a large organisation where computers takes the operations in hand, a LAN network might be already established in order to connect them each other to send data or even share data. Thus no special LAN network is needed to implement a LAN messenger. For a LAN messenger other than basic specification a headphone with a microphone is required and only then a voice chat can be performed with other users.
The literature search and review started on the initial stages of the project and also carried out during the later phase of the project which helped in writing the report. The data collected during the literature search and review were classified under the contents needed for the report and any excess data was removed. A comparison between the existing and the proposed system was done in order to develop a LAN messenger.
The HCI of the system was designed in order to make it simpler and easier to the normal users. The simpler the system is, and then it will be easier to implement the system. Thus any cost for providing training to the users can be avoided and also makes the system cost effective. Thus in order to make the design simpler, more time was spend on designing the system.
By using the MoSCoW prioritisation methodology it helped in prioritising the different stages of the system and thus making the developing stage more easily. Since the methodology was used, the most essential and the least essential need of the system to be developed was able to understand and was able to concentrate on the most essential ones which was a key to success in this project.
The stages of development of the project were planned with an initial Gantt chart. The estimated time periods to complete the development stages were calculated. But during the development stages, some variations were made on the Gantt chart. Even though the initial report, literature review, system requirements and Design of the system were completed within the time period, the stages of developing the system including the coding of the entire system was delayed than expected. Certain changes in the coding for text and voice chat were made while undergoing the project. Confusion in presenting a simulated system or a fully working system connected through a LAN network resulted in a delay for the coding of the system. Later a research made in connecting system within a LAN network helped in undergoing with the project, deciding to connect it through a LAN network. The delay in coding of the system also resulted in the testing and further process of the system.
Thus by developing a LAN messenger, it helped in understanding and undergoing the process in developing a system. All of the objectives which was discussed during the initial stages of the developing the system was able to complete thus resulting in the success of the system.
Technological advancement combined with human effort is a key ingredient of any developmental activity. This project is one such effort to tactfully link the community and help them stay connective within a local area with privileged and authenticate access. Time takes to run from desk to desk and building to building carrying information has been reduced from minutes and hours to micro seconds, with the upcoming of this project. One of the greatest challenges the most organisation face is that they would come to stand still of the internet goes down. This has been overcome, as it works in a very cost effective local area network, thereby turning on the workspace.
All the users have the authentication policy are provided with a very user friendly environment where they can have text or voice chat at their will. At times texting speed and such typing skill will be a bothering factor which could be encountered to voice chat. The textual chat log is a document for future reference. Grouping facilities were a particular set of users can be categorised under one group such as, client, manager etc that could provide additional identity for the users for accelerated services. A simulative communicative tool has been projected at its best to this project with some future enhancements to be made.