DESIGN this network will not be available to the

DESIGN AND IMPLEMENTATION OF AN INTRANET  CHATTING SYSTEM   BY DEMILADE OKEWALE  MATRIC NO 015/02/CSC/067BEING A FINAL YEAR PROJECT SUBMITTED TO THE DEPARTMENT OF MATHEMATICS, STATISTICS AND COMPUTER SCIENCE CALEB UNIVERSITY, IMOTA, LAGOS STATE.IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE  AWARD OF BACHELOR OF SCIENCE (B.Sc) DEGREE IN COMPUTER SCIENCE. JANUARY 2018 SupervisorProfessor Longe Mr Oshinubi ABSTRACTIn Universities a lot of time is spent by staffs and lecturers in various departments and faculty moving from one office to another in other to communicate with each other This project focuses on solving the problem by developing an application for information communication services in Nigerian universities using the CALEB UNIVERSITY IMOTA LAGOS as a case study. The chat system will be a web-based application through Intranet (I.e Local Area Network LAN). This allows the application be accesible direct to PC which have access to the local area network (LAN). The  system will be developed using open source web technologies It will include functions that will enable students, lecturers, and staff or various departments in the CALEB UNIVERSITY to communicate.     CHAPTER ONEGENERAL INTRODUCTION1.1 IntroductionAn Intranet is a network within an organisation that is only accessible to systems in that organisation. A file shared through this network will not be available to the public but private to the network. The Application Server functions through establishment of a connection with the client and maintaining the Chat Handler. The Chat Handler is responsible for handling the interactions between the various clients and the server. 1.2 Problem DefinitionThe major problems leading to the goal of creating this chat system include:l unable to access colleagues or ask questions freely without moving from one position to anotherl group work cannot be done independently with  instant message delivery to all client on the system l Message broadcast has always been a challenge  1.3 Objective Of StudyThe Objective of this project is to implement a chat application that will allow users within an Intranet network to conversant in private and public conversations. This will be achieve by following:l A design for a secure, accessible and user-friendly web based chat application for a university(CALEB UNIVERSITY IMOTA) l Development of such a system to demonstrate its functionality, using the WAMP l Run tests on the said system to assure functionality, accessibility and usability. 1.4 Research JustificationReasons  for engaging in this study are :l The need to demonstrate activity level  of employing mobile driven information systems within the universityl The need to achieve a greater degree of response among users in the web based chat application  1.5 Research MethodologyIn order to realize the objectives of this study, strategy must be employed in achieving set goals. The methodology employed in the course are :l set of requirements to be met by the applicationl Conceive and implement the design of the said system as a web appl formation of the solution using framework on course with  MVC model, CS5, a Rapid Application Development IDE for creating Websites and applications.l Release of the solution system for testingl Reporting of the findings stated above 1.6 Scope And Limitations Of The StudyIn the course of realizing this project, I shall take into account the consideration that all development and analysis regarding the project will concerning on Intranet,The scope of the work are:l The solution will focus on web based chat application onlyl  The questions delivered by the solution will be focused on  instant chat services l As conceived, the solution shall have the following modules: i. A web-based chat application for lecturers, students and other academic staff through which students can chat and interact and share ideas with comfortabilityii. A back-end application, to be used by lecturers and administrators,with motive of information management of essential information, such as suggestioniii. Authentication techqniues will be employed, which will uniquely identify usersLimitations within the system include :l nature of the school portal might affect speed of data access However, this can be eliminated with adequate cooperation from various authorities within the Universityl The time sensitivity involved with this study   1.7 Definition Of Termsl Internet application: A Web site which usually requires some form of user authentication.l Mobile device: Any device with the functionality for information management and transfer l Web: Internet which is accessible to mobile gadgets and computer systeml RAD: rapid application development, a way of programming which emphasis is placed on speed and deliveryl  User authentication: the stage within the context of an internet wherein eligible users are granted clearance to enter             CHAPTER TWO LITERATURE REVIEW AND ART2.1 IntroductionIn other to gain a proper sense of perspective regarding the subject matter of this study, it becomes necessary to understudy past works related to the subject In this chapter, the internet will be highlighted as it is a basis of on line result system and also internet applications. -The technology which is a mean of sending important information services shall be discussed-The state of technologies and applications in current use, before looking at certain academic work undertaken with a bias towards the subject matter under consideration. 2.2 The InternetThe internet is a global system of interconnected computer networks that use the standard internet protocol suit (mostly TCP/IP) to serve users worldwide. It can also be said to be a network that consist of millions of public & private of local to global scope that are linked by either wireless or wired networking technologies. It carries an extensive range of information resources and services such as the world wide web(WWW). The internet has enabled new forms of human interactions through:ü On line result systemü Instant messaging ü Social networking ü On line shopping 2.2.1 Rich Internet applications Rich internet applications are so called for two main reasons:l Rich owing to the use of diverse media and contents typesl Internet, due to the operations being predominantly based on the world wide web.RIA are in their more proper sense defined as being distinct from regular web application because they have the ability to retain some features of desktop applications   These features include :l An RIA generally requires some form of installation on the user’s local file system, thus granting it direct access to local storage l RIAs inherently retain the ability to consume and work with data between a  local file system and any necessary web servers. This is borne out of necessity – the Internet acts as a central storage for live data From the application, that can then be modify and saved.2.2.2 Adobe Integrated Runtime (AIR)The Adobe Integrated Runtime (AIR)  is a versatile runtime environment that allows existing Flash, HTML and JavaScript code to be used to construct Internet-based application 2.3  Mobile Application Platforms TodayIncreased convergence between various media forms have resulted in the mobile device evolve from its normal usefulness of transporting voice transmission. Today, mobile device have many uses , while assuming the role of a medium size personal computer (PC). This is made possible through the release of functions across these platforms: l The mobile webl Applications2.3.1 The Mobile WebThe Mobile Web defines the Internet as delivered via mobile devices, and primarily utilizes lightweight pages written in Extensible Hypertext Markup Language (XHTML) or Wireless Markup Language (WML) to deliver content to mobile devices. Many new mobile browsers are moving beyond these limitations by supporting a wider range of Web formats, including variants of HTML commonly found on the desktop Web. (Wikipedia, 2011)The mobile web holds a number of advantages:l The nature of the mobile devicel The use of already preconfigured architectures operating externally from the mobile systeml The relatively lightweight size of pages developed for the mobile Web – average 5— 25 KB.  The typical web application is based on the three-tier model, made up of 3 levels, viz(Schach, 2008):l the presentation level, which corresponds to the GUI, receiving user input and generating system outputl the business logic, which incorporates the system-based processing of the business rulesl the data access level, which establishes,maintains communication with related data sources.This model allows the modification of distinct level separately, and independent of each other, thereby promoting reuse.2.3.2 Rich Mobile applicationsRich mobile applications, also known as Smart phone applications, are GUI applications designed strictly for mobile devices, they are RIAs created for the mobile based text. Originally, it referred to applications made distinctly for devices based with operating system developed by Apple Computers .  2.3.2.1 SymbianThe Symbian mobile OS is the original Smart phone OS, with the richest history , the biggest market stocks. Currently, this OS framework is being handled by Nokia.2.3.2.2 AndroidAndroid is the world’s first completely open-source mobile OS – is a software stack for mobile devices such as mobile telephones and tablet computers developed by Goggle  and the Open Handset Alliance. It consists of a multi-tiered architecture, viz:l mobile OS based on the Linux kernell Middle ware, library and APIs written in C l App software running on an app framework Android-compatible applications are primarily written in Java code, optimized via just-in-time compilation powered by the Dalvik virtual machine, and leverage the advantages of a large community of developers and third-party sites, as well as a growing market share – as at the fourth quarter of 2010, Android was listed as the best-selling smart phone platform worldwide by Canalys (Wikipedia, 2011).2.3.2.3 Apple IosThe iOS (Wikipedia, 2011) is the mobile operating system driving the Apple range of mobile devices, among them the iPhone, iPod touch, iPad and Apple TV. The user interface of iOS is based on the concept of direct manipulation, using multi-touch gestures. Interface control elements consist of sliders, switches, and buttons. Interaction with the OS includes gestures such as swipe, tap, pinch, and reverse pinch, all of which have specific definitions within the context of the iOS operating system and its multi-touch interface. iOS is derived from Mac OS X, with which it shares the Darwin foundation, and is therefore a Unix-like operating system by nature. There are four abstraction layers, viz: l the Core OS layer, governing TCP/IP, sockets, power management, the file system, and securityl the main Services layer, moving the networking and databasel the Media stage, for media playbackl Cocoa Touch layer, which powers user interaction events and controlsThe predominant majority of OS-compatible applications are written in Objective-C3, with some elements of an application able to be written in C or C ++ using  Xcode IDE and the IOS SDK2.4 Review of related study This involves a section focuses on research as it affect mobile phones as this was the only research carried out Past research into the possibility of developing mobile-driven creative solutions for institutions was based on some advantages inherent with mobile systems, include:l The increasingly nature of mobile devices in usel The accessibility of mobile devices in contrast to desktop computersl The existence of ways for deployment,for example the mobile web, apps, and Short messaging servicel The existence of an effective feedback system, i.e the telephoneAdagunodo et al (2009) demonstrated this in their work, developing a results system as an SMS-based dependent service. This involves having the application server connect to the service provider’s SMS Centre (SMSC). It requires a constant connection to the internet as the application server does not require any physical phone/modem with a SIM card connected to it; rather it connects to a SMSC. When users send their request, it goes to the SMSC, which automatically forwards the message to the application server over the internet.On the other hand, binti Solaiman (2006) delivered a similar application as a Java-based rich app, working very much like a desktop-style application: an independent device. The cited works drew upon the advantages mentioned above to deliver their set objectives. However, this brings in the disadvantages of SMS based such as:l Difficulties in validating SMS outputsl SMS length which 160 characters l The SMS does  not ensure delivery of message this might affect the initial promise for quick servicel In the case of toll-free lines not available in such country such as Nigeria such is a new innovation , so the fee of message may be debted from userl Service operators might not have network service in some places2.4.2 Proposed Contribution The principal characteristic of the system proposed in this project centres on the use of object-oriented class libraries to handle application logic and data access. The advantage of this methodology can be termed as extensibility: with  the mode of object oriented program, the system may have many of interfaces, all of which are powered from the same body of object- code.The proposed system will  offer  high degree of presentational informative and accurate SMS based systems, though its involvement of a messaging module. This allow for accurate reporting and service for any discrepancies occurrence   CHAPTER THREESYSTEM ANALYSIS & DESIGN3.1 IntroductionSystems analysis is essentially the study of a business problem  to recommend improvements and specify business requirements for the solution. While system design is the specification or construction of a technical, computer-based solution for the business requirements highlighted at the analysis stage. The databases, programs, user interfaces, and networks requested by the information system shows the blueprints and specifications created during the system design stage.3.2 System Requirement Specification System requirements consist of the needs of the end users of a information management system. In the chat system, these correspond to the core operational stages of the system:l User authenticationl Result l Group creationl Friend requestl Error solution3.3 System Design The system design involves the technical aspects of system development, it is divided into two partsl The logical partl The physical part3.3.1 Logical part The logical part specifies the intended operation of the system, how the system will meet its desired objectives. The design scheme covers the general functions of the system  these are user authentication, result retrieval and result error detection and solution. There are specific details needed which include:l Inputl Outputl Navigation 3.3.1.1 Input In achieving correct input  for the system, many factors must be highlighted which include:l Accuracy: data has to  be correct and accurate to work l Usability: input scheme must be accessible and comprehensiblel The pre-existence of related data structures, This single has the most effect on the input3.3.1.2 OutputThe design for the various system screens 3.3.1.3 Menu Or Navigation Design The importance of this stage to the success of the application cannot be over emphasized. The factors taken into considerations are: l AccessibilityThe navigation system has to be accessible at all times to all clientsl Claritylanguage used in the navigational has to be completely understandable to all clientsThe navigational consists of two major parts: l The main menul The hyper links within each page.The main menu is composed of those links which are found on every normal application screen which are:l Home section buttonl Back section buttonl Profile section buttonl About section buttonl Logout section button3.3.1.4 Use Case Diagram A case model is predicated on the fact that all systems have a human part, in which such a system cannot possibly exist.  The use case model for the internet / Intranet Chat system is goes as follows:l Access to the system begins at the Login operation for onward verificationl Where user has not initially registered on the system, the user has do by confirming details in registration sectionl User then activates his or her account using a link sent  to Clients emaill Once account has been activated, user will have access to system 3.3.1.5 ACTIVITY DIAGRAM An activity diagram illustrates the business and operational work flows of components in a system, The activity diagram depicts the Chat as a group of processes and decision, processes succeed themselves depending on the final result of processes inside the system. 3.3.1.6 Class DiagramClass diagram is a diagram that explains the structure of system by showing classes, operations and the relationships within the classes.3.3.2 Physical DesignThe physical design shows the boundaries within the systems3.3.2.1 Program SpecificationThe program specification is a mathematical description of software or hardware, it stands due to the reason that the system efficiency is never correct in isolationThe main aspects of program specification include:l Program app logicl Data structure3.3.2.1 Application Logic Application logic is the core within the program, controlling data access, processing and presentation. A good grasp of what the solution does can be painted from this phase, and it is known that a solution is accurate only to the specification provided A sample of the pseudo-code used shown below  function login get username as user.username get password as user.password if (username and password are correct) then set session variables: username, usergroup, url, previousUrl if (access is permitted for user) then if (session.url is set) then go to session.url else go to home screen end if else go to access denied screen end if end ifend function function menu outline menu according to user.usergroupend function functionget_course_chats get result scores for student foreach (chatrequest as req) group according to chat class get grouped list get friend list return total friend list  as get_friend(is_friend))end function functionget_setting update getsettting request if (settting request is valid) if (user is admin) returnsettting string command else return “N/A”end function function logout go to prelogout screen click button if (button clicked is Yes) destroy session go to login screen else go to previous screen end ifend functionSection of the pseudocode for the chat system3.3.2.2 System ControlsSystem Controls are built into a systemfor the purpose to  maintain the integrity of a system and protect it from misuse.In this Chat system, some controls have been included:l Intending user of the system must use a valid user name and user password before access. Only registered students have access to the students part of the system and only registered administrative staff have access to the admin part of the systeml Data given by the user of the system are checked for errors checks are run to ensure that the given data are in the correct data formatl Checks are placed for actions by users that may lead to deadlock and invalid state 3.3.2.3 Layout of Table DesignDatabase is implemented in MySQL and the layout is shown below.l Registration table tableThe table maintains information on each clients who has been registered within the systemFieldData TypeDescriptionUsernameVarchar(15)usernameOldnameVarchar(45)Client oldnamePasswordVarchar(16)PasswordStatusVarchar(3)Client statusUser emailVarchar(50)Client email addressUser accessVarchar(50)Client accessTable 3.3 Client table layoutl Room tableThe room table has informations within the chat systemFieldData TypeDescriptionroomIdVarchar(15)Room ID primary keyroomNameVarchar(10)roomName for register userTopicFloatRoom topicAccessInt Access to room chat table   Table 3.4 Room table layoutl Chat tableThe chat table has chats available within the systemFieldData TypeDescriptionPostidInt(11) Auto_increment (primary key)userIdVarchar(70)Clients ID from user tablePost_dateDatePost date chat was postedPost_timeTimePost time chat was postedPost_user Varchar(100)Post client IDPost messageVarchar(100)Post messagePost colorVarchar(100)Post colorAvatarVarchar(100)Avatar for the chatTable 3.5 Chat table layoutl Schsession tableThe table has information about each chat session created within the systemFieldData TypeDescriptionsessionIDIntA unique value used to identify this session in the systemSessionnameVarchar(70)The name of the  sessionTable 3.6 session table layout  3.3.2.4Structure of Database           Figure 3.12 Database structure     REFERENCESAdagunodo, E. R., Awodele, O., & Idowu, S. (2009). “SMS User Interface Result Checking System”. Issues in Informing Science and Information Technology, vol. 6: p. 105.binti Solaiman, Z. (2006). The Development of Java-Based SMS Exam Result System In Mobile Computing Environment. Undergraduate Project Report, Universiti Teknologi Mara, Shah Alam. Available: http://eprints.ptar.uitm.edu.my/707/1/ZAINORA_SOLAMAN_06_24.pdf Schach, S. R. (2008). Object-Oriented Software Engineering. Boston: McGraw-Hill.Wikipedia (2001, October 19). Mobile Application Development. Retrieved August 10, 2011, from Wikipedia, the free encyclopedia: http://en.wikipedia.org/wiki/Mobile_application_developmentWikipedia (2001, October 19). Mobile Phone. Retrieved August 10, 2011, from Wikipedia, the free encyclopedia: http://en.wikipedia.org/wiki/Mobile_phoneWikipedia (2012, April 1). Software maintenance. Retrieved from Wikipedia, The Free Encyclopedia: http://en.wikipedia.org/wiki/Software_maintenanceBeizer, B. (1990, September 20). Software Testing Techniques (2nd ed.). New York: Van Nostrand ReinholdBinder, R. V. (1999).Testing Object-Oriented Systems: Objects, Patterns, and Tools. Addison-Wesley Professional. Hetzel, W. C. (1988). The Complete Guide to Software Testing, 2nd ed. Wellesley, Mass. : QED Information Sciences   Myers, G. J. (1979). The art of software testing,  New York : Wiley