This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
The aim of this chapter is to provide description of a structure of the system and the detailed design of internals of system components. It should provide a systematic way of defining the components. In other words, to identify the components that should be in the system, the specification of these components, and how they interact each other to produce the desired results. Components should be defined in sufficient detail such as inputs, outputs, functions and relationship to other components. However, the system design is builds upon the work performed during the system analysis, and results in a conversion of the functional requirements into a complete solution. This solution will be followed throughout the building, testing and implementation of the system.
System design documentation is a process of defining architecture, components, interfaces and data for the proposed system to satisfy specified requirements of the user. In the context system design, the following modeling techniques are used;
Entity relationship diagram: shows the relationship between the various entities in a database.
Data Flow diagram (context diagrams): shows the data moves through the system, and what data stores are used. In other words, illustrate the interaction between the system and outside entities. It does not define what type of data storage is used for how the data is stored.
Sequence diagram: "is used primarily to show the interactions between objects in the sequential order that those interactions occur" .
6.1 Database Design
Designing the database through data modelling in the UML and traditional ER model, which may be easier for most users to understand. In other words, the system users (stakeholder) find that visual data-modeling techniques help them to understanding the system and describe the contents of the database in more understandable. Data modeling techniques help the developer to improve the processes of developing the system.
6.1.1 ERD Model
"ERD model is to capture data requirements in a simple and meaningful way that is understandable by both the database design and the end-user ". It is very useful tool for communicating with end-user about their data requirements. At this level database designer simply describe in diagram from, the entities, attributes and relationship that occur in the system to be conceptualized, using semantics that are definable in a data dictionary (see Appendix 6.1).
Figure3: ERD diagram
The system will be implemented using above ERD, but there are complex requirements in this project, but due to time-constraint the complex requirements will not be implemented in the system (see Appendix 6.1.2).
6.1.2 Context Level (Data Flow Diagrams)
The context diagram is the most abstract data flow representation of a system. A top-level DFD shows the least amount of detail and is known as a level 0 DFD or context diagram. In other words, context diagram shows a system as a single process with inputs and outputs flowing to or from external entities. Level 1 DFD will split up that single process into systems and show more detail about the data flows and data stores. Level 2 DFD may decompose a single subsystem even further. The main purpose of these diagrams is to provide a clear representation of the system function and also provide a basic understanding of how a system a system works (see Appendix 6.3).
6.2 User Interface Design
User interface design of the proposed system should be simple and straightforward in terms of easy to use, easy to learn without any difficulties and also to eliminate the complexity. The main purpose of the user interface design is to provide simplicity to the processes and operation. The human computer interaction guidelines are considered to design of the system (see Appendix 5, HCI report). The following HCI issues will be considered during the implementation of the system.
6.2.1 Interaction Style
The interaction style between the system and the users is menu selection. (Preece, 1994) defines a menu as "a set of options displayed on the screen where the selection and execution of one (or more) of the options results in a change in the state of the interface. Unlike command-driven systems, menus have the advantage that users do not have to remember the item they want, they only need to recognize it" . The advantages of menu selection is to reduces keystrokes and easy support of error handling. For example; select lecturer name from the drop-down menu to check the availability.
Provide appropriate feedback for every action selected by user. User should be kept informed of the status and progress of a dialogue at all times. For example, when a student makes appointment with lecturer, the system should display informative feedback (confirmation of the appointment) to acknowledge the user that an appointment that has been booked in the system.
6.3 System Architecture Design
Lecturer appointment booking system is designed using a three-tier architecture consisting of a client tier (web browser), an application tier built on Apache and PHP, and a database tier running on MySQL (see Appendix 6.6). PHP is a server-side scripting language that can do things like retrieve information from a database and inset it into a web page before sending it to browser that requested it. However, in order to retrieve information from database. That's where MySQL is a relational database management system, which is good at management of large amount of information. It also makes that information really easy to access with server-side scripting languages like PHP .
The client-tier (web-browser) gets input from the user and displays the final result. For example, she/he might have requested a search lecturer's availability list using drop-down menu that interacts with the application. The application tier is made up of an Apache and web server with the web scripting language PHP. It is a communication link between the client tier and database tier. The processing at this level involves passing user's queries to the database, getting the results from the MySQL database server and sends the results back to the web browser, where the user can seen list of lecturer's availability requested.
"PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML" . PHP is perfectly suited for this project in terms of creating dynamic and interactive website and can be embedded directly in HTML code. A website that uses MySQL may include Web pages that access information from a database. In other words, MySQL commands can be incorporated into PHP code, allowing web page to be generated from database information .
Three-tier web-based Lecturer Appointment Booking System
Web-based Lecturer Appointment Booking System.
Web browser view
Create, read, update and delete information in a database.
Search lecturer availability, book, view and cancel appointment.
Figure 3: The mapping of web application in three-tier architecture is pictorially illustrated
Overall, the purpose of data modelling techniques is to describe the logic for the flow of information in the proposed system. Therefore, it is important element of system analysis and design. As a result, this document provides solution to problem and is used later during the implementation of the system. This also helps the developer to implement the system more efficient and efficient.
There are various programming languages such as developing database -driven websites can now be built with such varied scripting languages as PHP, ASP.NET, JSP and Perl, which fall into two main groups - proprietary and open-source (see Appendix6, section6.7). However, PHP is suitable for this project because it is very simple and easy to build web pages and developer able to learn quickly. There are plenty resources and support available on the Internet, which help the developer to implement the system quickly and easily. On the other hand, PHP is open source language mean freely available to developer and it can plugin with most of the database such as MySQL, dBase and Adabas D.
The main reason of using this language is to expand understanding and knowledge as developer. It also allows developer to use the knowledge that has been gained from undergraduate degree. It is simple and easy to build dynamic web pages PHP is one of the most popular web scripting languages. As a result, able to get plenty of help and support on the coding if the developer struggle during the implementation of the project through online form. This language allow the developer to build web pages rapidly, therefore PHP and MySQL is suitable for project due to time constrains.