Web-Based Instant Messaging
Instant messaging (IM) application has witnessed a tremendous improvement and growth in popularity as a means of internet communication since inception because of its real-time and non real-time nature. Compare to other internet communication methods such as e-mail where you have to wait for the recipient to check his or her email and sent reply, IM is instant when the recipient is online. Traditional IM applications have to be downloaded installed and configured before it can be used; besides, they are platform dependent. These constitutes serious problems for users especially those using the application in public computers such as school libraries, computer labs, and internet cafés, where most of the time the application is not installed and the user will not have administrator's right to install the application if at all he or she knows how to do that. Web-based instant messenger is the solution to these problems since it does not require any download, installation or configuration and besides it is platform independent. This project will try to implement a web-based instant messaging application.
Instant messaging (IM) is an online real-time communication between two or more people based on typed text messages, over the internet or Local Area Network (LAN) . Web-based Instant Messaging is an IM that is integrated or embedded in a web browser; it requires no application, or update download or installation.
Web-based IM has witness a tremendous growth in popularity since inception because of the advantages over a traditional IM application. Web-based IM requires no application download, updates, installation or configuration. You only require a computer that is connected to the internet with a web browser to communicate with your colleagues, friends, and relations. Secondly, web-based IM is platform independent, which means that it can be used in any operating system provided that there is a web browser and internet connection or LAN. Lastly, with web-based IM there is no firewall problem. Since the application is embedded in a web browser it uses http port so there is no need for any configuration to bypass firewall. Read more.
The users Analysis Document (URD)This chapter presents the Users Requirement Document (URD) which describes the problem from the user's point of view, a brief description of the problem domain, and complete description of the problem. Also what is expected from the system and what is not expected from the system will be highlighted.
This document is a reflection of survey carried out to gather information from users on the problems and challenges they are encountering from the current implementation of instant messaging applications, what they think about the system, how they see it and what they want from it. Questionnaire was used for the survey because of the following reasons; it is cheap to implement, do not require much effort like verbal and telephone survey, and often have standardized answers that make it easy to analyze.
Requirement Analysis Document (RAD)This chapter takes the users requirement document (URD) as the starting point and looks at the problem from the from a designer's point of view. The analysis focus on the system and software requirements needed to implement the user requirements. Also the actual details of the problem that the users may not be aware of will be identified and discussed in this chapter. Read more.
Project Design & Development
User Interface SpecificationThe previous chapter discussed and analyzed the user's requirement from the designers point of view based on the system and software requirements to implement the requirement. In this chapter the user Interface Specification (UIS) will be discussed. That is a complete description of the user interface, what it looks like, what exactly it is going to do, and how the user interacts with the system.
Object oriented Analysi/ High Level DesignThis chapter will describe the object oriented analysis (OOA) known as the high level design, which is an object oriented view of the system. A detailed description of each object is presented and documented in the data dictionary. Class diagram showing the name, attributes, and methods of each class will be discussed, and the relationships between the classes established.
Object Oriented Design/Low Level DesignThe previous chapter discussed the object oriented view of the system, and the class diagram with the name, attributes, and methods of each class, and the relationships between the classes. This chapter the Object Oriented Design takes the classes in Object Oriented Analysis a level deeper by providing algorithm description and pseudo-code for class | object methods. Read more.
ImplementationThe previous chapter discussed the low level design; inner details of the class attributes and methods, state, activity and event diagrams, and the system's algorithm. This chapter will concentrate on the implementation of the system; a brief description of installation of the computing infrastructure. The installation, setup, settings, and configuration information, list of software and hardware tools used for the implementation of the system, highlight of the challenges encountered and how it was resolved, and finally, a brief documentation of the code written or modified during the implementation. Read more.
Project Testing and Evaluation
Testing DocumentThe previous chapter discussed the implementation of the system. It described the tools- both hardware and software used; and gave a brief description of the computing infrastructure, software installation, setup and configuration. This chapter will focus on the testing document. It will present a description of how the system which was tested test beds for both user interface and detail the application aspect of the system. It finally supplies an evaluation criterion to be aware of what are actually being tested.
User's GuideIn the previous chapter the following were discussed-test documentation; the description of testing strategy, testing techniques, data collection and evaluation. This chapter will discuss the user's guide by providing a step by step description of how users will use the system. Read more.