You are on page 1of 24

DEVELOPING APPOINTMENT AND SCHEDULING MANAGER SYSTEM

BY NURHAIDA BINTI ABD SAMAD


20042197841

A THESIS SUBMITTED TO MARA UNIVERSITY OF TECHNOLOGY IN PARTIAL FULFILLMENT OF THE REQUIREMENT FOR THE DEGREE OF BACHELOR SCIENCE OF INFORMATION SYSTEM ENGINEERING

FACULTY OF INFORMATION TECHNOLOGY AND QUANTITATIVE SCIENCES MARA UNIVERSITY OF TECHNOLOGY

2006

DECLARATION

I hereby declare that this is work of my ovra and except for quotations and summaries, Hterature review, which have acknowledged.

27"^ APRIL 2006

NURHAIDA BINTI ABD SAMAD


2004219781

COPYRIGHT UiTM

APPROVAL

DEVELOPING OF APPOINTMENT AND SCHEDULING MANAGER SYSTEM

BY

NURHAIDA BINTI ABD SAMAD

This thesis was prepared under the direction of course coordinator, Pn Nor Amalina Binti Wan Hariri, and thesis supervisor, Pn Noorazida Binti Mohd Idris and Prof Madya Nursuriati Jamil, has approved it. It was submitted to the Faculty of Information Technology and Quantitative Science and was accepted in partial fulfillment of the requirements for the degree of Bachelor Information System Engineering. Approved by:

Pn Noorazida Binti Mohd Idris (Thesis Supervisor 1)

Prof Madya Nursuriati Jamil (Thesis Supervisor 2) Date: April 27, 2006

ill

COPYRIGHT UiTM

ACKNOWLEDMENT

Firstly, I do declare my outmost gratitude to My Lord Allah, The All Mighty. Alhamdulillah, I finally managed to complete this thesis by the praise of Allah and His guidance and blessings.

I would especially like to acknowledge the contributions to my supervisor, Noorazida Binti Mohd Idris and Prof Madya Nursuriati Jamil for their patience and guidance at the various draft stages of this report and for their assistance in providing me the structure of the work. Also special thanks to my program coordinator En Saharbudin Nairn Bin Tahir Shah who help, stimulating suggestions and encourage me in the time of development and writing of this thesis.

Finally, I remain deeply indebted to my parents, housemates and friends for their moral support and motivation throughout the journey in completing this final thesis. Though I hardly had the opportunity of going home, you all are always in my heart.

Thanks to all of you again.

IV

COPYRIGHT UiTM

ABSTRACT

Based on the current process in FTMSK, once people want to make an appointment it was very difficult process. They always face problems of find the available time of the person they wish to meet. The main purpose of this research is to produce Software Requirement Specification (SRS) for Online Appointment and Scheduling Manager System. The second purpose is to develop the module of Online Appointment and Scheduling Manager. In order to elicit data of this research, two methodologies are used which are interview and questionnaire. 100 sets of questionnaire are distributed among FTMSK's students and lecturers. This system was developed by the intent of ease the process of making appointment. Lecturers and students now can use this system to create their own schedule and make appointment with the members of the system.

COPYRIGHT UiTM

TABLE OF CONTENT

DECLARATION APPROVAL ACKNOWLEDGEMENT ABSTRACT LIST OF FIGURE LIST OF APPENDIX

ii iii iv v viii ix

CHAPTER 1 INTRODUCTION I.I. BACKGROUND OF THE PROJECT 1.2 PROBLEM STATEMENT 1.3 OBJECTIVE OF THE RESEARCH 1.4 SIGNIFICANCE OF RESEARCH

2 2 3 4

CHAPTER 2 LITERATURE RIVIEW 2.1 OPEN SOURCE SOFTWARE 2.2 WEB APPLICATION FRAMEWORK 2.3 GAGS 2.4 COMPARISON BETWEEN OpenACS AND OTHER OPEN SOURCE FRAMEWORK 2.4.1 Struts 2.4.2 OpenACS Architecture 2.4.3 Permission System 2.4.4 Template System 2.4.5 OpenACS Evaluation 2.5 AOLServer 2.6 TCL 2.7 CMS 2.8 PostgreSQL

5 7 10 11 II 13 15 16 16 20 21 23 25

CHAPTER 3 APPROACH AND METHODOLOGY 3.1 INTRODUCTION 3.1.1 Problem Identification 3.1.2 Planning 3.1.3 Collecting Data Process 3.1.4 Developing System Process 3.2 HARDWARE AND SOFTWARE REQUIREMENT

26 27 27 28 29 30

VI

COPYRIGHT UiTM

3.3

LIMITATIONS

31

CHAPTER 4 DATA ANALYSIS CHAPTER 5 SYSTEM DESIGN 5.1 INTRODUCTION 5.1.1 Use Case Diagram 5.1.2 Sequence Diagram 5.1.3 Class Diagram CHAPTER 6 FINDINGS 6.1 INTRODUCTION CHAPTER 7 CONCLUSION AND RECOMMENDATION 7.1 CONCLUSION 7.2 RECOMMENDATIONS REFERENCES

32

39 40 41 51

52

65 66 68

Vll

COPYRIGHT UiTM

LIST OF FIGURES

Figure 2.0: Figure 2.1: Figure 3.0: Figure 4.0: Figure 4.1: Figure 4.2: Figure 4.3: Figure 4.4: Figure 4.5: Figure 5.0: Figure 5.1: Figure 5.2: Figure 5.3: Figure 5.4: Figure 5.5: Figure 5.6: Figure 5.7: Figure 5.8: Figure 5.9: Figure 5.10: Figure 5.11: Figure 6.0: Figure 6.1: Figure 6.2: Figure 6.3: Figure 6.4: Figure 6.5: Figure 6.6: Figure 6.7: Figure 6.8: Figure 6.9: Figure 6.10: Figure 6.11: Figure 6.12:

OpenACS Architecture OpenACS Evaluation against Enterprise Framework Criteria Overview of Approach and Methodologies used Methods of Creating Personal Schedule Satisfaction of User about Their Way in Creating Personal Schedule Methods of Making an Appointment Satisfaction of User about Current System Problem Faced During Making Appointment Benefit of Online Appointment and Scheduling System Use Case Diagram for Appointment and Scheduling Manager System Sequence Diagram for Authenticate Password Sequence Diagram for Make Schedule Sequence Diagram for Manage Schedule - Edit Sequence Diagram for Manage Schedule - Delete Sequence Diagram for Make Appointment Sequence Diagram for Manage User Information Add Member Sequence Diagram for Manage User Information - Edit Sequence Diagram for Manage Application - Add Package Sequence Diagram for Manage Package - Edit Sequence Diagram for Manage Package - Delete Class Diagram for OASMaS Screenshot of Authenticate User Password Screenshot of Main Site Screenshot to Add New Application Screenshot for Making Appointment Screenshotof Add New Schedule 1 Screenshot of Add New Schedule 2 Screenshot of View Schedule by Month Screenshot of View Schedule by List Screenshot for Edit Schedule Screenshot for Delete Schedule Screenshot of Member List Screenshot of Invite Member Screenshot of Form of Invite Member

13 17 26 32 33 34 35 36 37 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

viu

COPYRIGHT UiTM

LIST OF APPENDIX

QUESTIONNAIRE

71

IX

COPYRIGHT UiTM

CHAPTER 1

INTRODUCTION

1.1.

BACKGROUND OF THE PROJECT

Normally a system is developed to assist users in order to accomplish a number of tasks. Everyone who use a system may desire to have it convenience and easy to use. A system is supposed to meet user requirements and could work effectively and efficiently whether to implement data or to retrieve information and it must be available to any platforms.

E-Office is an internet based office management system. It enables paperless, agile, and efficient offices. It provides several tasks as online booking, maintenance management, web meeting, appointment and scheduling manager and many more. All under a single, secure, highly customizable, and multi-user friendly umbrella. E-Office also provides a safe, centralized, consistent and structured electronic data repository to ensure elimination of 'difficult-to-manage' hard copies and the requirement of duplicates for distribution, confidentiality of documents that need to be kept secret and access to only selected users, and authentication of users of the system to protect corporate data from being leaked. Beside that, E-Office helps in a considerable cost reduction in office management by reducing the stationery equipments and saving lots of time.

COPYRIGHT UiTM

On task of appointment and scheduling manager, E-Office provide users to have their own calendar and schedule in order to remind them for each of their events through the email notifications. Users can look up and update their calendar or schedule time by time if there is any changes or any new activities. By using E-Office, users do not need anymore to create their own schedule manually by handwriting. They also can make appointment with someone through online by email.

1.2

PROBLEM STATEMENT

No one can expect that his or her plan fails. Once it happens, we will feel disappointed besides just wasting time. The scenario existed among FTMSK community generally and students especially are the process to make an appointment to someone. Based on the current process, making an appointment is a tedious process. They always face problem to find out the available time of the person they wish to meet. So, they have to call them or just leave a notice to confirm the appointment.

Currently, there are a lot of open source outside, which is free license that we can use to build an effective and efficient system in order to solve the problem stated previously. E-Office is an electronic office that is web based system. It is created to ease the job of lecturers and students. All of them can use that system everywhere and every time. One of the tasks inclusive in the E-Office is Appointment and Scheduling Manager. They can create their own schedule here and then it will be stored in the database. After that, they can look up for his or her schedule created to make correction or just have some view. They also can make appointment to other members of the system using email notification.

COPYRIGHT UiTM

1.3

OBJECTIVE OF THE RESEARCH

i. ii.

To produce Software Requirement Specification (SRS) for Appointment and Scheduling Manager System, To develop the module of Online Appointment and Scheduling Manager.

1.4

SIGNIFICANCE OF RESEARCH

The application will benefit to users that are lecturers and students in the way it is manage the information to be more organized. It also has access control system that can prevent from unauthorized users. Efforts, time, and cost will be reduced in order to make an appointment. Users will find that the application is user friendly and easy to use. However, unauthenticated users will not allow accessing the application. It is because of E-Office system has sessions that mean users just can do specific tasks that have been fixed on them only. Users can have their own calendar, schedule and can update it time by time and can make appointment online.

COPYRIGHT UiTM

CHAPTER 2

LITERATURE RIVIEW

This section contains a short review on Web Application Framework, Open Architecture Community System (OpenACS/OACS), AOL Server, Tool Command Language (TCL), PostgreSQL, and Content Management System (CMS), which those might relate each other in order to build a system. Besides that, it also contains research work done by earlier researchers. In order to conduct and gain a proper research, reference is necessary. Most of the references here are from international journals. This is because reference on OACS, AOLServer, TCL, PostgreSQL, and CMS are not available in Malaysia. The first part in this section is the definition of all of them and then followed by the opinions of the authors.

2.1

OPEN SOURCE SOFTWARE

As defined by Schmidt and Monika (2003), open-source software (OSS) is software for which the source code is open that freely available, to the public. It means that everybody has the right not only to use the software, but also to extend it, to adapt it to his or her own needs, and to redistribute the original or modified software to others. This source code is the program in which the software is originally written. A software is said "open" when its source code can be read (seen) and written (modified) by everybody (Comino & Manenti, 2003). Availability implies that anybody can acquire the code either free or charge or for a nominal fee (usually media and shipping charges or online connection charges).

COPYRIGHT UiTM

From an economic point of view OSS can be analyzed as a process innovation which is a new and revolutionary process of producing software based on unconstrained access to source code as opposed to the traditional closed and property-based of the commercial world (Bonaccorsi & Rossi, 2003).

Schmidt and Porter (2003) said that open source development process have emerged as an effective approach to reduce cycle-time and decrease design, implementation, and quality assurance costs for certain types of software, particularly systems infrastructure software, such as operating systems, compilers and language processing tools, editors, and distribution middleware. Widely used examples of successful open source infrastructure software include: i. ii. iii. iv. V. vi. vii. UNIX/POSIX operating systems, eg., Linux. FreeBSD, and NetBSD [BSD4.4] Web servers, eg., Apache and JAWS [JAWS99] Distribution middleware , eg., ACE [ACEOl], TAO [TA098], MICO [Puder99], omniORB, and JacORB [Brose99] Compilers, eg., GNU C/C++ [Stallman] Editors, eg., GNU emacs Language processing tools, eg., Perl, GAWK, Flex, and Bison System/network support tools, eg., Samba, Sendmal, and Bind

From an end-user perspective, successful open source projects work for the following reasons: i. ii. iii. Reduced software acquisitions costs Enhanced diversity and scale Simplified collaboration

COPYRIGHT UiTM

From a software process perspective, successftil open source projects work for the following reasons: i. ii. iii. iv. Scalable division of labor Short feedback loops Effective leverage of user community expertise and computing resources Greater opportunity for analysis and validation

OSS should emphasize these points: i. ii. iii. Source Code: The program must include the source code, Free Redistribution: The software can be redistributed without royalties or licensing fee to the author, Derived Works: The license must allow modifications and derived works, and allow them to be distributed under the same terms as the license of the original software.

2.2

WEB APPLICATION FRAMEWORK

Engineering web applications is an increasingly complex challenge, with compressed life cycles, multidisciplinary teams and all the risks involved in building large systems. Software engineering practices and techniques can be used to solve some of these issues by improving reusability, modularity and extensibility. Application Frameworks are some of the engineering artifacts created to improve reusability of design and implementation. They consist of a modular and extensible architecture in which the long term costs of maintaining a system are reduced.

COPYRIGHT UiTM

A framework is a set of related classes and other supporting elements that make application development easier by supplying pre-built parts. Building larger parts from generic parts is an example of a framework. Frameworks provide infrastructure for application development. Stated by several researchers before which is Finkelstein, Savigni, Kappel, Retshitzegger, Schwinger, and Feichtner (2002), web application is an application that was designed from the beginning to be executed in a web based environment. They also said that this definition reveals two very important aspects of such an application: i. A web application is designed from the start to run in a web based environment. This means that the hypermedia aspect in terms of hypertext and multimedia in combination with traditional application logic must be taken into account throughout the application lifecycle, which makes it different with respect to a conventional application. ii. A web application is an application, not just a set of web pages. In particular, this implies that it enforces the notion of a session, which differentiates it from the ordinary request-response web paradigm. In this context, even a Web service that dynamically generates pages may not be considered a Web application.

An application framework (Calvo & Peterson, 2002) defined as a reusable, "semi-complete" application that can be specialized to produce custom applications. Application frameworks provide a number of benefits to application developers including modularity, reusability, extensibility and inversion of control. Application frameworks may be general in focus, or developed to solve the specific challenges of a particular application domain. We propose the term "web application framework" to

COPYRIGHT UiTM

describe these framework architectures specifically designed to meet the needs of a particular web application domain.

Simply said by Zeon (2002), web application framework is a base foundation or an architecture which must be followed by the web application developer.

Below are several of web application frameworks, used for creating web applications: Struts ii. iii. iv. v. vi. vii. viii. ix.
X.

OpenACS Apache Cocoon ATK - Achievo ToolKit BinaryCloud CakePHP Catalyst Django eZ publish Horde J2EE JavaServerFaces(JSF) Maypole Niggle Ozone PHP Framework PageKit PRADO Quixote RIFE

xi. xii. xiii. xiv.


XV.

xvi. xvii. xviii. xix.

COPYRIGHT UiTM

XX.

Ruby on Rails Tapestry TurboGears WebObjects WebSphere Zope

xxi. xxii. xxiii. xxiv.


XXV.

2.3

OACS

OpenACS (Open Architecture Community System) is an advanced toolkit for building scalable, community-oriented web applications (Zeon, 2002).

OpenACS is a downloadable set of web application software which is under the General Public License (GPL) meaning it is free for use and modification. OpenACS has many web applications which include the following: i. ii. iii. iv. v. vi. t'ii.
/iii.

Calendar Content Management System Portal System Discussion forum File sharing E-Commerce applications E-Leaming system Photo album

COPYRIGHT UiTM

OpenACS runs on AGLServer web server, and uses either PostgreSQL or Oracle as it's backend database. The scripting language used is TCL (Tool Command Language).

2.4

COMPARISON BETWEEN OpenACS AND OTHER OPEN SOURCE

FRAMEWORK

2.4.1 Struts

Struts is an Apache Software Foundation open source project with the mission of developing a series of classes that encapsulates and extends the MVC (the most popular approach being used today based on a design pattern known as the Model-View-Controller) pattern. Bemknopf (2004) said that Struts provides extensive support for the controller component by providing a default controller servlet (the ActionServlet) and a mechanism for defining actions to be called, depending on the processing needs of your application. The application is configured using an XML file called the struts-config.xml file. Strut also provides excellent error-handling capabilities, several custom tag libraries, and support for plug-ins to extend the basic Struts framework. The Struts tag libraries include an HTML tag library, a Bean tag library, and a Logic tag library for conditional HTML inclusion. Some of the available plug-ins includes tiles to provide a reusable UI, the validator to provide rules-based validations, and Velocity to supply template-driven functionality.

Struts is a web application development framework designed for the J2EE (Java^'^ 2 Enterprise Edition) platform. Not only is Struts a framework for

10

COPYRIGHT UiTM

developing web applications, it also contains an extensive tag library and utility classes that work independently of the framework. Using a framework like Struts allows you, the developer, to focus on developing just the business logic and presentation layers instead of the entire Web application. In addition to narrowing down what you have to develop, you will be starting with a robust set of tools and reusable components that will help you develop your business logic and presentation layer more quickly and efficiently.

Although Struts have its own good criteria, it still differs from OpenACS by the following criterias of OpenACS: i. ii. iii. iv. OpenACS Architecture Permissions System Template System OpenACS Evaluation

11

COPYRIGHT UiTM

2.4,2 OpenACS Architecture

The OpenACS framework is mostly implemented in TCL as a set of applications that interact with AOLServer and a RDBMS (Relational Database Management System) as of today Oracle or Postgres. It can be divided into a number of core packages, services and applications (Calvo & Peterson, 2002). Figure 1 shows this architecture.

User

Ik
t
APPl
services

WEB SERVER

APP2

-y""^

. template . logic . library . docs . admin Ul

core packages

Web Services

n n
Datobase

Figure 2.0: OpenACS Architecture

Stated by Calvo & Peterson (2002), the core packages are those required for OpenACS to function. They include a kernel, package management, administration

12

COPYRIGHT UiTM

utilities (users, sitemap, and other common business objects), a template system that cleanly separates business logic form presentation, and a backend mail and messaging system. Services such as the events package are implementations of reusable logic that is not application dependent and does not require a user interface. Application packages have a user interface and their code is clearly divided into application and presentation logic.

Each service and application requires a data model that will be integrated into the framework. Calvo & Peterson (2002) also said that the integration of these data models enables reusability and a number of functionalities. To increase reusability, the framework has an object oriented architecture but, since the RDBMS does not implement object oriented (00) functionalities, they must be added adhoc by the framework. The OACS objects have their attributes stored in tables and a set of methods defined as PL/SQL packages. These packages hold the procedures that make the programming interface for the data model.

The idea behind the 0 0 architecture of OpenACS is that each piece of information that might be reusable should be an object. Since RDBMS are inherently not 0 0 , data structures are integrated into the framework by being added to an acs_objects table that keeps track of every OpenACS object. Another table called acs_object, defines the standard attributes stored on every object, including a system wide unique ID, an object type and auditing columns. The concept of OpenACS object types is equivalent to classes in 0 0 programming languages, regrettably since we are using a RDBMS additional work must be performed (Calvo & Peterson, 2002).

Although reusability is the main goal, Calvo & Peterson (2002) continue that a permission system can help the developer track which users are allowed to do what to

13

COPYRIGHT UiTM

the rows in the application table. Every object has an attribute called context_id used to specify the default permissions for an object and its intended scope. Object types are defined with attributes defined in acs_object_types and acsattributes. Object types in OpenACS can inherit attributes from a parent type, so the type system is hierarchical. Again because OpenACS data model is implemented on a RDBMS this inheritance needs to be made explicit.

2.4.3 Permission System

OpenACS has a powerful permissions system (Calvo & Peterson, 2002) that manages access control in applications. It consists of three separate mechanisms. The first one defines groups of parties, as hierarchical organizations of users and other groups. For example a group of users "staff could have access to the intranet portal, and groups of users within "staff could have access to particular applications.

The second mechanism defines the permissions data model, and implements a hierarchy of user rights. It defines read, write, create, delete and admin privileges for each object in the OpenACS system (Calvo & Peterson, 2002).

Finally, Calvo & Peterson (2002) said that the contexts mechanism enables a hierarchy of default permissions, so administrators do not have to manually assign each of them. For example, a posting in an OpenACS forum is an object in its own right, so it can have any of the privileges defined in the permissions data model. Managing permissions at that level of detail would be impossible, so it is logical to have the system assume that the posting inherits the permissions of the whole bulletin-board.

14

COPYRIGHT UiTM

2.4.4 Template System

One of the big challenges involved in web production is the need for interdisciplinary teams (Calvo & Peterson, 2002), which can include graphic designers, engineers and other professionals working very closely. Thus, it is very important to build frameworks that take into account the needs of the production process. The OpenACS template system allows developers to separate the business logic (application) from the display logic, helping engineers and designers work more independently. All the code for managing the database and application state is separated from the code used to implement the logic of the display.

The researchers stated that every user visible page has two files. The first one is a TCL script that sets the name/value bindings, called data sources. Data sources are made of database queries and TCL processing. The second one uses these data sources via a set of special template related tags embedded in an HTML document.

2.4.5 OpenACS Evaluation

OpenACS primary benefits, as in other application frameworks (Fayad, Schmidt, Johnson, 1999) stem form the key features of modularity, reusability, extensibility and inversion of control. Figure 2 below shows the OpenACS evaluation against Enterprise Framework Criteria. Criteria Mature Runtime Functionality Support for Extensibility, Tailorability and
*

Strong

Moderate
*

Weak

15

COPYRIGHT UiTM

You might also like