In this chapter, the results of initial investigations and analysis carried out in order to determine the requirements that which is needed of the system by its future users, is outlined. Firstly, we take a look at the initial background research and its findings in relation to the topic. Secondly, this chapter then goes on to discuss the methodology and development tools chosen to develop the application. Finally, the requirements specification of the system is outlined including the user's requirements - both functional and non-functional - that have been the guide in the development of the system.
2.1 Background Research and Analysis
As part of the initial stages of the project, investigations were carried out into the background of the topic area of web based applications since the application that has been developed is in itself a web-based database application as well as into the possible expectations and needs that users would require of such a system. Besides research in various pieces of literature and the internet, informal interviews were also carried out with users of similar known system, in order to get a better understanding of what users of such a system would come to expect as part of developing a requirements specification.
2.1.1 Background Research Findings
Within the last decade, the rapid evolution of the internet has opened the door for organisations to take advantage of its benefits as a means to improve their operating efficiency, lower cost and ultimately give themselves a competitive advantage over their competitors. Web based applications are increasingly being used to handle tasks done by traditional applications such as data storage and transaction applications. With regard to data storage, ****}
Being web-based, web applications have significant benefits over their traditional counterparts but with being web based also come many challenges for developers due mainly to their dynamic nature. This is due to "rapidly changing technologies, frequent changes of user requirements, and dynamic aspects of the software technologies" (Wu & Offutt). In development of these applications, developers must ensure that they are very reliable, exhibit very high usability as well as security (Wu & Offutt). In comparison to their traditional software counterparts, web applications must be developed to be available at all times; they must be maintainable given the rapid evolution of technology and most importantly, as they are based on the internet, they must be highly scalable to facilitate a global market and "ready to grow in terms of servers, services, and customers very quickly". (Wu & Offutt)
Web-based database applications, being web apps themselves, are no exception. The web as a platform for database systems according to Connelly & Begg (2005) can deliver innovative solutions for both inter- and intra- company business operations but also has its disadvantages.
Advantages and Disadvantages of Web Databases according to Connelly & Begg(2005)
They are easy to develop, as HTML upon which they are based is easy to learn and use.
Cross Platform support:
Being web-based, they are not confined to any particular OS platform as they are accessible via web browsers.
With HTML being a standard on all browsers, HTML documents can be read from any machine in the world.
The internet is currently an unreliable and slow communication medium. At times servers can be down and a message may be delayed to be sent. Also at peak time when its is significantly slow.
Security is of great concern especially when the organisation makes its databases accessible on the web.
Limited Functionality of HTML:
Some highly interactive database applications may not be converted easily to web based applications, while still providing the same user friendliness.
2.1.2. Problem Analysis
Based on observations from the daily operations of the MIS department with regard to problem tracking, the basic operations can be summarized as shown in the rich picture below*******}
2.1.3. Interview Analysis
During the investigation carried out, informal interviews were carried out with individuals who interact with similar systems to the one proposed. The questions used in these interviews can be found in Appendix A. Both individuals who were interviewed use web-based help desk applications that are installed on their respective company's network as an application accessible via web browsers. See figure 1 below for a screenshot of one these applications.
Unicenter ServicePlus - A web based help desk application used by one of the technicians interviewed.
While these users describes these
2.2 Development Methodology
Selection of the most appropriate methodology for development is important for the success of the project. This is due to the fact that using an inappropriate methodology can lead to issues such as cost overruns as a result of poor project management, project incompletion or the development of the wrong functionality to incorrect specifications. The methodology selected for the development of the system would be the Systems Development Life Cycle (SDLC). This methodology was selected because it is one of the most stable methodologies with minimum risk. Also, the development approach to be used would be that of the Waterfall Life Cycle model which is ideal for inexperienced developers. (Weaver 2004) It was also selected due to its simplicity.
The system was modelled with the use of ER Diagrams as well as Use Case diagrams. Use case diagrams were used as they are one of the best modelling tools that give an idea on how the system will operate in relation to how the users would interact with it. It also gives a clear idea of who the users of the system would be and the various views.
2.3 Development Tools
Crucial to the development of the application, is the selection of the right programming tools. As such, since the application is a web-based database solution, it was necessary to select the software tool that could be best used as the foundation for the web-based database. The database tools considered were MySQL, MS Access and Oracle Database 10g Express. The table below shows a comparison between these three:-
In the end, the database tool selected was Oracle Database 10g Express Edition which was chosen because of its ease to use and learn. Another plus to this application is its web readiness which makes it easy to host online, a crucial requirement for the application once completed. The downside******}
2.4 Requirement Specification
The system was developed to support 3 levels of users, namely:
According to Weaver(2004), Functional requirements are those that define in some detail what the system needs to do. The functional requirements from the users point of view are as follows:
The General user or Employee should be able to:-
Register and Login using Username and Password Authentication
Add a problem
View Solved Problems
Change and Update personal information
The Technical Support Manager should be able to:-
Login using Username and Password Authentication
View and reply to Problems
Assign Problems to Technicians
Add, Update or Delete System Users
View solve problems and add remarks
Add or Update Supplier information
View Technician details
Review Resource History
Reset User Passwords
View jobs Done
The Technician should be able to:-
Register and Login using Username and Password Authentication
Search and View Problems Assigned
View Jobs done
View Work Queue
Add, Append, Delete Job History
Record Work done
Update personal information
Other Functional Requirements include:-
This is the lifeline of the system and is therefore one of the most important aspects of the system. The data that the system would use are:-
Resources (allocated Hardware and Software) and their unique information such as its serial number, date of purchase, supplier, license details (for software resources), current location (a room number) and the resource type (e.g. "Hewlett Packard T540 Imaging Package", or "Microsoft Windows XP Professional 2002 Service Pack 1").
Problems reported by Employees
Information recorded once a job is complete by a technician.
This includes the processing of problems reported by Employees, and the allocation of jobs to Technicians based on the problems by the Technical Support Manager.
According to Weaver (2004), the user interface of a system should be: -
Made for the User
According to Weaver(2004), non-functional requirements describe the performance and constraints that the system should meet. The non-functional requirements are:
Usability: - The user interface must be consistent and user friendly while ensuring maximum efficiency while users navigate through the application.
Availability: - the system must be available at all times during working hours.
Access: - Users would be restricted according to their user type or level. Users will require a Username and Password to access the system.
Capacity: - the system must be capable of holding large volumes of data, specifically complaints as well as solutions.