You are on page 1of 111

A dissertation submitted for the partial fulfillment of the requirements for a University of Greenwich Master Degree

Research Study on different calendar systems And Design of University of Greenwich academic calendar.

Name Student ID

: SHIVAKUMAR SAMBARI : 000494629

Program of Study: MSC Information Systems Management.

Date Proposal Submitted Project Hand In Date Supervisor

: 27/06/2009 : 27/09/2009 : Mr. Yasser Ades.

1|Msc Information Systems Management

ACKNOWLEDGEMENT:

I would like to thank my family who supported my studies and encouraged me to study even though my health condition was not good. Special thanks to my family.

I would like to thank my project supervisor Mr. Yasser Ades, who helped me in successfully completing the project.

I would like to thank all the staff at the University of Greenwich, for their valuable lectures and classes throughout my program.

I would like to thank my friends Suman, Nagraj for their support and encouragement.

2|Msc Information Systems Management

ABSTRACT:
We cannot imagine a world without the concept of Time. We all knew the Time as a digit like 9AM, as an evening, morning or night, as a season like spring time, Summer time etc. Everyone has a different view on time, depending on the context they are referring to. We all use these time concepts but most of us dont know how this concept of time has started. This project investigates the history behind the Time concept and also how different communities represent time. The work includes the research on how the people in the past used to measure, label and represent time. How accurate it was? How this concept helped in creating calendars? We can also create a separate calendar for our own use; it may be a personal calendar which has the list of events and the time at which those events take place. But these types of calendars represent time from other calendars. However such calendars are very useful to us in scheduling our events, so that we can ensure smooth flow of our work. At the University of Greenwich, there is a academic calendar which lists all the events in the university, however there isnt any system designed for the calendar. This project includes the design and implementation of a academic calendar for the university.

Key words associated with the project: Semantic analysis, ontology charts, requirements, cultures and traditions.

Msc Courses studied that contribute towards this dissertation: System planning and Management Information methods and cultures Requirements Analysis

3|Msc Information Systems Management

Table of Contents:
Acknowledgements..2 Abstract3 Table of Contents.4 List of Figures..7 List of Tables...9 CHAPTER 1: PROJECT INTRODUCTION 1.1. Project Introduction11 1.2. Project Motivation..13 1.3. Aims & Objectives......14 1.4. Deliverables15 1.5. Scope..16 1.6. Chapters Summary.16 CHAPTER 2: METHODOLOGY 2.1. Introduction19 2.2. Linear Sequential Model.19 2.3. Analysis...20 2.3.1. Planning...20 2.3.2. Literature Search..20 2.3.3. Learning the .Net framework...21 2.3.4. Case study selection.21 2.4. Design.21 2.5. Implementation...22 2.6. Evaluation & System Testing.22 CHAPTER 3: LITERATURE REVIEW 3.1. Object modeling concepts...24 3.1.1. Data model...24 3.1.2. Relationships in object model..25 3.1.3. Mapping an object model to relational model.26 3.1.4. Stability27 3.2. Semantic Analysis...28 3.3. Ontology Charts..29 3.4. Semantic normal form.31 3.5. Ontological constraints...31 3.6. Historical database principles.32

4|Msc Information Systems Management

CHAPTER 4: CONCEPT OF TIME 4.1. Introduction34 4.2. History36 4.3. Egyptian civilization and their concept of time..38 4.4. Indian civilization and their concept of time..39 4.5. Greenwich Mean Time...41 4.6. Chapter Summary...44 CHAPTER 5: STUDY OF CALENDRICAL SYSTEMS 5.1. Introduction to Calendars and their basics..46 5.2. Islamic calendar system (Lunar).47 5.2.1. History..47 5.2.2. Structure...48 5.2.3. Festivals...49 5.3. Gregorian Calendar System (Solar)50 5.3.1. History.50 5.3.2. Structure...51 5.3.3. Festivals...51 5.4. Indian Calendar System (Luni Solar).52 5.4.1. History.52 5.4.2. Structure...52 5.4.2.1. Hindu Solar Calendar54 5.4.2.2. Luni Solar Calendar..54 5.5. Institution Specific Calendars.56 5.5.1. Calendar Time..56 5.5.2. Activities/Events..57 5.5.3. Location/Venue57 5.6. Chapter Summary...57 CHAPTER 6: SOFTWARE TOOLS SUPPORT FOR CALENDARS 6.1. Concept of Time in Software applications..59 6.2. Database time related concepts...61 6.3. SQL Database.64 6.4. Oracle Database..67 6.5. MS Access Database...68 6.6. Java Technology.69 6.7. .Net Technology.............70 6.8. Chapter Summary...70

5|Msc Information Systems Management

CHAPTER 7: GREENWICH UNIVERSITY ACADEMIC CALENDAR CASE STUDY 7.1. Introduction.72 7.2. University Calendar....72 7.3. Teaching Schedule..76 7.4. Three Term Schedule of Dates...77 7.5. Summary.....78 CHAPTER 8: .NET OVERVIEW 8.1. Introduction.............................................................................................................80 8.2. Base Class Library......................................................................................................80 8.3. Common Language Runtime......................................................................................80 8.4. Technologies...............................................................................................................81 8.4.1. Asp.Net........................................................................................................81 8.4.2. VB.Net.........................................................................................................83 8.4.3 ADO.Net.......................................................................................................84 8.5. Languages Support......................................................................................................85 CHAPTER 9: DESIGN & IMPLEMENTATION 9.1. Design of Ontology Chart...........................................................................................87 9.2. Mapping Ontology Chart to UML Class diagram......................................................88 9.3. Ontological Constraints..............................................................................................88 9.4. Database design in MS Access...................................................................................89 9.5. Implementation in .Net...............................................................................................91 CHAPTER 10: TESTING & CONCLUSION 10.1. Usability Testing.....................................................................................................101 10.2. Functional Testing..................................................................................................102 10.3. Test Report..............................................................................................................107 10.4. Conclusion..............................................................................................................107 REFERENCES.........................................................................................................................108

6|Msc Information Systems Management

List of Figures:
Fig 2.1. Linear Sequential Model..................................................................................................19 Fig 2.2. Review Process in the Model...........................................................................................20 Fig 3.1. Super Class Sub Class Relation........................................................................................24 Fig 3.2. Association Notation in UML and ER diagrams..............................................................25 Fig 3.3. Aggregation Relation........................................................................................................25 Fig 3.4. Generalization Relation example......................................................................................26 Fig 3.5. Example of Malignant & Benign change.........................................................................27 Fig 3.6. Antecedent Dependent Relation......................................................................................29 Fig 3.7. Role name representation of carriers................................................................................30 Fig 3.8. University of Greenwich Library Ontology chart............................................................30 Fig 4.1. The creation according to Greeks.....................................................................................36 Fig 4.2. Creation in Genesis...........................................................................................................37 Fig 4.3. First Written Calendar......................................................................................................37 Fig 4.4. Timepiece from French Revolutionary period.................................................................37 Fig 4.5. Nuer Tribe........................................................................................................................38 Fig 4.6. Water Clock.....................................................................................................................39 Fig 4.7. Lines of Longitudes.........................................................................................................42 Fig 4.8. World Standard Time Zones............................................................................................43 Fig 5.1. A Lunar Month................................................................................................................48 Fig 5.2. Time line showing the adaption of Gregorian Calendar by nations................................50 Fig 5.3. Personal Calendar............................................................................................................56 Fig 6.1. Historical Database Example...........................................................................................59 Fig 6.2. Finish Cause Example......................................................................................................60 Fig 6.3. Library Database Example...............................................................................................61 Fig 6.4. Database Schemas............................................................................................................62 Fig 7.1. UOG Semester 1 Teaching Schedule...............................................................................76 Fig 7.2. UOG Semester 2 Teaching Schedule...............................................................................76 Fig 7.3. CMS Calendar..................................................................................................................77 Fig 7.4. Three Term Schedule of Dates 2009/10...........................................................................78 Fig 8.1. .Net Class Example...........................................................................................................80 Fig 8.2. Common Language Runtime............................................................................................80 Fig 8.3. .Net framework conceptual view......................................................................................81 Fig 8.4. Asp.Net Architecture........................................................................................................81 Fig 8.5. Example of Asp.Net Applications....................................................................................82 Fig 8.6. Example of VB.Net Language code.................................................................................83 Fig 8.7. ADO.Net Framework.......................................................................................................84 Fig 9.1. Ontology Chart Design 1..................................................................................................87 Fig 9.2. UOG Academic calendar Ontology chart.........................................................................87
7|Msc Information Systems Management

Fig 9.3. Class Diagram...................................................................................................................88 Fig 9.4. Screenshot of Tables in the Database...............................................................................89 Fig 9.5. Screenshot of Data in the Year Table...............................................................................91 Fig 9.6. .Net framework application..............................................................................................92 Fig 9.7. Screenshot of the Start page.............................................................................................92 Fig 9.8. Screenshot of calendar selection page.............................................................................93 Fig 9.9. Screenshot of calendar year 2006/07................................................................................94 Fig 9.10. Screenshot of calendar year 2007/08..............................................................................94 Fig 9.11. Screenshot of calendar year 2008/09..............................................................................95 Fig 9.12. Screenshot of calendar year 2009/10..............................................................................95 Fig 9.13. Screenshot of code behind web page for the calendar year 2008/09.............................96 Fig 9.14. Screenshot of Grid view option.....................................................................................97 Fig 9.15. Screenshot of Access Database (baba1.mdb) Selection.................................................97 Fig 9.16. Screenshot for selecting columns from tables................................................................98 Fig 9.17. Sql statement for viewing data on the web page...........................................................98 Fig 10.1. Screenshot of Navigation links testing.........................................................................101 Fig 10.2. Screenshot for compatibility testing.............................................................................102 Fig 10.3. Screenshot for compatibility testing.............................................................................102 Fig 10.4. Year Table....................................................................................................................103 Fig 10.5. Screenshot of ontological rules testing 1......................................................................104 Fig 10.6. Screenshot of Validation rules in Access.....................................................................104 Fig 10.7. Screenshot of Validation rules in Access.....................................................................105 Fig 10.8. Screenshot of Validation rules in Access.....................................................................106 Fig 10.9. Screenshot of Validation rules in Access.....................................................................106

8|Msc Information Systems Management

List of Tables:
Table 1.1. Top three project impairment factors............................................................................13 Table 4.1. Measuring Time in Yugas according to Indian Mythology........................................40 Table 4.2. Smaller units of Time measurement in Indian Mythology...........................................40 Table 4.3. Bigger units of measuring time in Indian Mythology...................................................41 Table 5.1. Armenian notation of Days...........................................................................................47 Table 5.2. Islamic Days in a week.................................................................................................48 Table 5.3. Islamic Months.............................................................................................................49 Table 5.4. Months in a Gregorian calendar...................................................................................51 Table 5.5. Indian Day Names........................................................................................................52 Table 5.6. Samvatsara in Indian calendar......................................................................................53 Table 5.7. Solar Months.................................................................................................................54 Table 5.8. Luni Solar Months........................................................................................................55 Table 6.1. Temporal Database example (Table I)..........................................................................62 Table 6.2. Temporal Database example (Table II)........................................................................62 Table 6.3. Temporal Database example (Table III).......................................................................63 Table 6.4. Temporal Database example (Table IV).......................................................................63 Table 6.5. Valid Time State Table.................................................................................................65 Table 6.6. Date limits in sql...........................................................................................................66 Table 6.7. Date & Time Data types in sql......................................................................................66 Table 6.8. Style values for conversion in to Hijri dates.................................................................66 Table 6.9. Date & Time Data types in Oracle................................................................................67 Table 6.10. Date & Time Data types in MS Access......................................................................68 Table 6.11. Calendars supported in .Net........................................................................................70 Table 8.1. List of Languages supported in .Net framework..........................................................85

9|Msc Information Systems Management

Chapter 01

Project Introduction:
10 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

1.1.

Project Introduction:

Let us suppose that we are in a world, where there is no concept of a day, a month, a year or in simple time. Now, if I look at my past, I think that by talking to myself I can remember a few moments in my life like being barely able to walk, incapable of tying my shoe lays, playing with friends. I can also remember a few events that occur repeatedly from my childhood to till date like the sunrise and sunset, winter followed by spring which in turn followed by summer. When I grew older and look at my past, I can think of some things like getting married, working in a company, playing with kids etc. In fact these things did not happen with me yet, but I can think of these things as I have an experience of looking at the peoples life around me. In the morning, I can think of having lunch around 1.00 P.M. because I have previous experience by which to anticipate what, if anything will happen next (previous experience of having lunch around 1.00P.M. But at some stage, I can finely divide and sub-divide my different experiences in to different periods like childhood days, school days, summer vacation etc. Here I am not attaching any day or a month or a year to these events as I am unaware of it. I am dividing my life in to different periods according to my convenience and needs. So, is it possible to think of time as an arrow with starting point somewhere in the past to the finishing point somewhere in the future? Is our own consciousness responsible for thinking of sequence of events? I know that life ends at some point, but what happens after that, I cannot think or expect of anything that would happen after that because I do not have any experience of looking after life. Do we advance to another state of existence after ending life and is it going to be cyclic nature of passing through different states of existence as some religions specify? All of these questions and thoughts or expressions can be embraced by a single word, one that evokes all conceivable ideas about how we relate to the one another, to the universe around us and how we relate the occurrence of events; the word is TIME. This is a framework in which we recollect the past and anticipate the future. Time has a lot of meanings. It is not easy to assign a single definition to time. For example, it could be a measurement, a measure of duration between events (duration of a football match, duration of a movie). It could also be a transfer of states in a sequence (before you actually start reading this proposal you might be in different state but when you start reading it you are in reading state and when you finish reading it you would enter in to different state like analyzing/commenting on the proposal). It seems absolute, like something that exists apart from everything else in this world including even my own consciousness. There must be something, some system to organize units of time so that we can arrange events/ thing in an order that suits us. Imagine a world without the concept of time. How can we calculate salaries, interest rates without time? How can we manage traffic signals without using time? How can we identify holidays, festivals without time? It would be tough to imagine a

11 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

world without the concept of time. We need some system to organize time to make our life easy in doing things. Here comes the concept of Calendars and clocks. A calendar is a system of organizing units of time and day is represented as the smallest unit of time in this system. A clock is an instrument used for indicating or measuring time and most commonly a second is the smallest unit of time, but it could be further divided into milliseconds, nanoseconds etc. The common theme of all calendars is the desire to organize units of time to satisfy the needs and preoccupations of the society. They provide basis for planning agricultural, hunting and migration cycles. Any group that adopts a calendar designs it according to their needs, cultural beliefs, religion. Calendars can also be used to represent time according to the needs of a particular organization. Academic calendars are an example for such calendars. They represent time (day/month/year) of the main calendar used in that the region or country in which organization is situated, to notify the events to be done at that time. These calendars use days/months from their regional calendars. But when we look at main calendars which are followed by different communities, some calendars are regulated by astronomical observations while some others are codified in written laws. The principal astronomical cycles are the day (based on the rotation of earth on its axis), the month (based on the revolution of moon around the earth) and the year (based on the revolution of earth around the sun). These calendars are very complex in nature and are very hard to calculate because they are based on astronomical cycles, which are neither perfect nor commensurable. There are mainly 40 calendars being used worldwide. If we look in to different calendar systems, we can classify them in to three types. The first type is solar calendars (based on the position of earth on its revolution around the sun). Gregorian calendar is an example for this type and they use the concept of leap year to maintain synchrony with tropical year. The second type is lunar calendars (based on the position of moon on its revolution around earth). Islamic calendar is an example for this type and the follow lunar phase cycle without regard for the tropical year. The third type is lunisolar calendars (based on the solar and lunar phase cycles). Indian calendar is an example for this type and it uses the concept of adding a month every few years to bring calendar back in phase with tropical year. Most of the calendars use the concept of a day, a month and a year and a cycle of years, but they vary in some aspects like the period of a day (sunrise to sunrise, sunset to sunset etc), number of months used an the number of days in different months. My project investigates how these calendar systems work and why they follow that way different from others, how different communities measure and label time, the level of support provided by the common software development tools and design a temporal DBMS for the University of Greenwich Academic Calendar.

12 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

1.2.

Project Motivation:

Requirements drive almost every action and a task in a software development process. A system development starts with the analysis of requirements and then follows to the next stage. However by using different frameworks, techniques and methodologies like iterative method, we can analyze requirements which can help in ensuring the success of a project. But the person who analyzes and creates requirements specification for a project has to ensure that he provides correct requirements and the requirements specification aligns with the business objectives and continues to do so throughout the project. The IT projects success or failure depends on the different aspects which include in software development life cycle. But according to many researchers and surveyors studying on the subject Why IT Projects fail? reveals that the incorrect requirements and change of requirements overtime contribute more to the failure of a project. According to the recent survey conducted by Standish Group on more than 8000 projects reveal that: 31% of all software projects are cancelled before they are completed ($81 billion waste), 53% of projects cost 189% of their original estimate, 9% of projects are on time and within budget in large companies and 16% of projects are on time and within budget in small companies. The following table reveals that poor user requirements are the main factor causing project failures.

The concept of Time is one of the major areas on which an extensive research can be carried out. Time plays a major role in our daily life; it would be terrific to imagine a world without the concept of time. Any action or work that we do in our daily life is related to time. Time, being so important part of our daily life, I am more interested in studying about it. As a part of my project I need to research and study how different communities measure and label time. Calendars are the one which are related to time and events or action. I was interested in doing a project which is more focused on requirements analysis and which includes an extensive research on the concept of time (calendars). So, I selected the project suggested my project supervisor Mr. Yasser Ades, which is on the design and implementation of calendar system. As my Masters programme is related to Information Systems Management, I believe that this project improves my understanding in this subject area.
13 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

This project involves the study of how well we manage and use information regarding the events and event timings in the university. Managing information, requirements analysis related to each other in many aspects. A good requirements specification and a good design of a system can lead to an effective management of information by a system. All these ideas motivated me to choose the University of Greenwich Academic calendar case study, on which I would be working.

1.3.

Aims and Objectives:

The aim of this project is to improve my understanding of the different concepts of requirements analysis, systems modeling and effective ways of information management by implementing the University of Greenwich Academic Calendar. This project involves different activities that test my abilities in understanding and analyzing requirements and designing of a perfect system. In order to achieve this aim, my primary objective is to study and understand the concept of time. It includes study about what is Time, how it was invented, how people measure it, represent it and label it? Calendars are the way through which we can get answers to all these questions. So by studying about different civilizations, how they represent time and on what factors do they calculate time we can easily understand the concept of time. This includes the following activities:

Study and understand the concept of Time. Investigate the techniques for measuring, labeling and representing Time, which includes the study of the following three different types of calendar systems. Gregorian Calendar System (Solar) Islamic Calendar System (Lunar) Indian Calendar System (Luni- Solar)

The next objective is to study about institution specific calendars. The calendars can also be designed for personal use or to schedule activities for an organizations smooth flow of work processes. This includes the study of the following case study:

University of Greenwich Academic Calendar. This includes the study of how the university organizes its activities, how it divides the time, how it schedules events or activities.

The next objective is to do research on the level of support provided by different software tools for developing a calendar system.
14 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

As I would be implementing the case study using .Net framework, I would be studying the different concepts, features and techniques of .Net. This will be then followed by the following objectives:

Develop ontology chart for University of Greenwich academic calendar system. Implementing the calendar system using .Net framework. Testing the developed System. Reviews and Suggestions. Conclusion on the project work.

1.4.

Deliverables:

The following are the deliverables which are produced as a part of my project work:

A literature review which provides the theories, concepts and material which are researched so that they could help me to learn more about my topic area. It provides the information regarding the research being carried out in the project area and information which is helpful in completing my project. This information is gathered from books, journals, conferences and the internet. An ontology chart designed for the University of Greenwich Academic Calendar. A detailed report on the work done which includes the analysis, requirements gathering, designing, implementation, testing and evaluating the project. A material providing information about time concept, calendar systems, software tools etc. A material providing the details of .Net software concepts. A test plan used for testing the developed calendar system of the University of Greenwich. A supplementary material which includes the details of survey conducted based on the need and use of the University of Greenwich Academic Calendar.

15 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

1.5.

Scope:

The calendar can be used for various purposes. In a university there can be many calendars like personal calendars for each student which is used for setting reminders, scheduling events etc. My project is not about developing calendars that set reminders, schedule events. The scope of my project is limited to:

Investigating how different communities measure, label and represent time by studying different calendar systems. Investigate the level of support provided by the software tools in developing the calendar systems. Design and implementation of a calendar system for the University of Greenwich that shows the time scheduled for different events using Terms terminology. Design and implementation of a calendar system for the University of Greenwich that shows the time scheduled for different courses using Semester terminology.

1.6.

Chapters Summary:

Chapter 1: Project Introduction. This chapter gives an overview of the project. It provides information regarding project aims, objectives, scope and deliverables. Chapter 2: Methodology. Gives the details of the method followed for successfully completing the project. Shows the division of work according to the method followed. Chapter3: Literature Review: The literature relevant to the Project work is provided in this chapter. It includes, the concepts of object/data modeling, Semantic Normal Form Theory and Ontology charts.

16 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Chapter 4: Concept of Time: This chapter explains the concept of Time in different terminologies. It explains how different communities measure, label and represent Time. Chapter 5: Study of Calendrical Systems: This chapter includes the study of three main calendars based on astronomical calculations which include Gregorian calendar, Islamic calendar, Indian calendar and the institution specific calendars. Chapter 6: Software Tools support for calendar systems. This chapter provides information regarding the software tools support for Time related concepts and calendar systems. It explains the support with respect to back end databases and front end applications. Chapter 7: University of Greenwich Calendar case study: This chapter gives the information about different calendars and timetables being used at the University of Greenwich and explains how they represent time and events. Chapter 8: .Net Overview. This chapter explains briefly about the concepts of .net and its features. This chapter is necessary for understand the .net technology for the implementation of calendar system. Chapter 9: Design and Implementation of Calendar for the University of Greenwich. This chapter deals with the design of temporal database structure for the university calendar. It includes the design of ontology chart and mapping it in to UML Class diagram. This chapter clearly explains how the system is implemented. The back end database is designed in MS Access database. Front end screens are designed using .Net framework. Chapter 10: Testing and Conclusion: This chapter gives the information of testing conducted on the calendar system. This chapter gives a conclusion on the Project work. It includes critical analysis of Time concepts in software applications and calendar systems briefly.

17 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Chapter 02

Methodology:
18 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

2.1. Introduction:
A methodology is a collection of ideas, principles, concepts and theories which will lead to the successful completion of the project. This project is about improving my skills in analyzing requirements and research ability. This chapter is about different activities and ideas which would help me in completing my project. I would be considering University of Greenwich Academic Calendar case study and implement it in .Net system. First, I would start my work with literature search; it would help me in understanding my project topics in a broader way. Next I would be analyzing the concept of time by studying three different types of calendar systems and then analyze the level of support provided by software tools for calendar systems. At the end I would be implementing University of Greenwich Academic Calendar system.

2.2. Linear Sequential Model:


It is a semantic and sequential approach that begins at the system level and progress through Analysis, Design, Implementation, Testing and Support. It is a simple and desirable which helps in organizing the work in an order, which will help in completing the project in time and with less cost. Fig 2.1, show the different stages in the model.

For ensuring my work is on right track without deviating to other areas and to ensure that the aims and objectives are met, I do a review of my work at the end of each phase. If at all I found any mistakes or I feel the changes are necessary, then I would implement these changes in the specific phase and carry on to the next stage. This process is shown in the Fig 2.2. After completing the testing part, if there are any changes to be made, I would implement these changes in the system. The changes could be in designing or a simple error in coding part. After that, I again test the whole system till I get the system without errors. Each phase of the model is explained below:

19 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

2.3. Analysis:
It could involve works like analyzing user requirements, understand the business system, selection of technology for implementation and all other work that need to be done before design phase. It includes the following sub-stages:

2.3.1. Planning:
It is the part of the project management which includes the analysis of activities and schedules. Planning is very essential before starting any project. Planning has to be made regarding all the areas which influence the project; it could be either budget allocation or resource management or work management or risk analysis etc. It is a plan or a strategy designed for dealing with all the problems that may arise during the project development through proper schedules and plans. As my project is on wider topic, it involves lots of work to be done and to ensure the smooth flow of work; I have designed a schedule of activities in an order. Following this order I will be completing my work on time. I used Work break down structure to simplify my work. I divided the whole work in to a list of chapters focusing on a single activity. A chapter may have sub points which would make the work more clear. I have chosen Greenwich University Calendar for implementation using .Net framework. As I am new to .Net technology, more focus is also led on understanding and practicing this technology.

2.3.2. Literature Search:


It is the main part of the project which is like a foundation to the project work. It involves the collection and analysis of work and research being carried out in the project area. This information would be gathered from journals, books, articles and the internet. The information from all these sources will be clearly studied and will be critically examined to analyze the work they have done. This would give me a better idea about my system and I will be presenting the necessary information regarding any work related to my project, which I feel is important, with proper references in the chapter 3.

20 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

2.3.3. Learning the .Net System:


Microsoft .Net framework is one of the most widely used frameworks for developing projects in the current IT industry. It has many additional features when compared with other available products. It supports many languages and is like a common platform for all the languages. It includes large number of concepts and techniques used for designing a good system. So, I need to allot more time in practicing the application.

2.3.4. Case study Selection:


There are many case studies which could be related to my project area. But as I have interest in calendars and as per my project supervisors suggestion, I have chosen the university of Greenwich academic calendar case study. This concludes the planning phase, after completing this phase, I will review the work to ensure that planning done is effective or not and then carry on to next phase.

2.4. Design:
It is a process which includes the design of a blue print of the actual system. It specifies how exactly system looks, what it has to do, how it has to be developed. This design specification is used by the software engineers to build the system by writing codes in the related technology. This phase designs the system with respect to business rules and the user requirements. Basically, it includes two stages of designing for big projects. A High Level Design, which is a design of a system and its modules from top view. A Low Level Design, which is the design of a system in detail of each and every module. Different analysts use different concepts for designing a system. Some of them use Data Flow Diagrams, while some use ER modeling concepts, while some others use UML Diagrams. We can use any technique for designing a system, what matters is how well you design a system. In my project I would be designing the following diagrams in design phase, before going to the implementation phase.

Ontology Charts: They are the graphical representation of relationships between all the affordances and entities. The special property of this chart is that it is SNF- compliant.

21 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

UML Class Diagram: Once. I finish designing ontology chart, I would be mapping ontology chart to UML Class diagram by following a set of guidelines specified by Ades, Y (2008).

This concludes the design part of the system. So, as normal a review of work done so far is conducted and if any changes have to be made, they are implemented before proceeding to next phase.

2.5. Implementation/Coding:
I would be designing the back end database using MS Access for the class diagram which is designed in the design phase. For front end screens, I would be using .Net framework. A review is conducted after developing the system. If any errors are found, they are solved at this phase.

2.6. Evaluation and System Testing:


This phase includes the evaluation of all the work done so far. It ensures whether or not all the aims and objectives of the project are met. It also ensures whether or not the user requirements are completely satisfied. System testing is the stage in testing line to evaluate the system as a whole called system build but not on its parts. Its goal is to evaluate the system as a whole and imitate customer deployments. This process usually start with the design of : A Test Plan. Test Cases.

These test cases can be used for different types of testing. In my project I would be using the following testing techniques: Usability Testing: It is a methodical evaluation of the graphical user interface to measure the quality of the users experience while interacting with the system. It includes the testing of Ease of use, Look and feel, Speed between interfaces of the system. Functional Testing: It includes the testing of products functionality and features. It helps in validating what the system is supposed to do and what actually it does.

22 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Chapter 03

Literature Review:
23 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

3.1. Data/Object Modeling Concepts:


Data modeling is a process of designing a data model using different methods. The main objective of a data model is that it should be stable. As the requirements of any business organization keeps on changing, the data model should be able to adopt these changes without increasing the cost of maintenance. 3.1.1. Data Model: A data model can be defined as the logical organization of the real world objects called entities, constraints on them and the relationships among them. An object oriented data model has the following concepts:

Object and Object Identifier: Any entity in the real world can be modeled as an object and each of these objects is identified by a unique identifier. For example a Person is identified by a Person Id. Attributes and Methods: Each and every object in a data model has a state and a behavior. A state is the set of values for the attributes of an object and a behavior is the set of methods or program code which operate on the state of an object. A Class: A class is a cohesive subject that consists of a particular kind of meta data. An object created by a class is an instance of a class and the class that created the instance can be considered as the type of that object. Class Hierarchy and Inheritance: Basically every class has an interface and a structure. An interface defines how the class and its instances can be interacted through methods, while a structure defines how the data can be partitioned in to attributes. If a Class has a Sub Class, then the Class is called as Super Class. The Sub Class inherits all the properties of a Super Class and may have additional attributes and methods. This property is called as inheritance. In the following figure, Vehicle is a Super Class and Truck and Car are Sub Classes.

24 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

3.1.2. Relationships in an Object Model: The relationship between objects can be defined in any of the following ways:

Links and Associations: In an Object model there are some links or relations between some objects. A link is an instance of an association and an association can be described as a group of links with common structures and semantics. The associations have a property called Cardinality which could be either one to one (1-1) or one to many (1-M) or many to many (M-M). These cardinalities are represented with different notations in different diagram. The following picture shows the representation of associations in UML and ER Diagram.

Aggregation: It is a typical Part Whole relationship. It is same as association but the only difference is that instances cannot have cyclic aggregation relationships (Part cannot contain its Whole). The following figure shows an example of an aggregation relationship (Paragraph is a part of the whole document).

25 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Generalization: It is a typical Parent Child relationship. It is a relationship in which one object (child) is based on the other object (parent). The Parent is called as a Super Class and the Child as the Sub Class. The following figure shows an example of a generalization relation.

3.1.3. Mapping an Object Model to Relational Model: Ades, Y (2008) specified some rules which are simple and easy to convert an object model to a relational model: They are:

Convert every class in to a table. Add Object identifiers as Primary Key. The object identifier was implicit in object model diagrams but you must include it in your table definitions. Most RDBMS will provide for this kind of existence-based identity with identifier domains: Access has auto numbers Oracle has sequences Every association maps into a foreign key on the many side table the dependent class.

26 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

3.1.4. Stability: A stable data model is very much essential for building a good System and it also ensures the success of a project. There are methods like Semantic Analysis, by following which we can design a stable model. The concept of Semantic Analysis is explained further in this chapter. According to Ades, Y. (2008), A stability of a system can be achieved by different qualities like maintainability, flexibility, adaptability, extensibility, compatibility, usability, clarity, reusability, enablement of just-in-time software and non destructive temporal database. A stable model is immune to malignant changes. Martin explained the stability of an object model as If the model is resilient to most future changes, it is stable. So, what are these changes? How are they classified? There are two types of changes concerning the data model. The first type is: Malignant Change: A change is considered as a malignant change if it involves the rewriting of production software. It involves the change in database structure. According to Ades, Y. (2008), A data model change is considered as a malignant change, if it entails either: a change to an existing application programme(s) or the writing of database conversion programme Benign Change: Any change which doesnt entail the above mentioned points is considered as a benign change. The following figure shows the example of both changes:

27 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

3.2. Semantic Analysis:


Liu (1991) defined it as a method for eliciting and representing knowledge about organization. An IT Project development starts with the analysis of the user requirements. There are different methods available for analyzing user requirements. Semantic Analysis is one such method used for analyzing user requirements and it is also an analytical tool for the data administration and information resource management. It is a quality assurance method used for object modeling and has a deliverable diagram called Ontology Chart. This diagram has a unique property. It is SNF (Semantic Normal Form) Compliant. Any software which embodies this property is immune to malignant changes. According to Ades, Y (2008), Semantic Analysis is a method for modeling reality. Specifically, it is a method for modeling what an agent (actor) perceives to exist in some system. It has many features and it also supports:

Adaptability to Business Changes: For any business, the requirements keep on changing, for example for a banking system, in the early days the requirements included data management for deposits, withdraws etc. Later on due to commercialization of Internet, they need an online banking system used to check balance, transfer money online etc. In order to adopt these requirements, the changes have to be made to the existing system. Not all the models will adapt these changes, but the model developed using Semantic Analysis will definitely adapt these changes. The cost of maintenance is reduced because of the above mentioned feature. It also reduces the risk of project failure because of its SNF Compliant property. It supports temporal databases. Supports coordination between the system developers. It also facilitates human communication for better interaction with information system. It uses objects and relations between objects to model a data model. They (objects) are more focused on reality. They do not use objects which show or represents a reality but they represent reality itself.

28 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

3.3. Ontology Charts:


An ontology chart is a graphical representation of relationships between affordances and particulars. It is designed and studied from left to right, which implicitly defines the existence (start or finish) of nodes in an order. The nodes in the ontology chart could be Agents, Entities, Determiners, Particulars, Affordances and Communication Acts. Agents take responsibility for actions where as entities cannot. A Particular is represented in upper case capital letters. The determiners are represented with # sign prefix and are special type of affordances which have a second default antecedent, which is a standard of that determiner. A communication act is represented with an underlined node. Ades, Y (2008) has specified some rules and principles associated with ontology charts. They are:

In every ontology chart, there is a Particular agent called root, which is located on the extreme left of an ontology chart and acts as an antecedent to all the affordances and entities in the ontology chart. Start Time and Finish Time should be the attributes of each and every entity. An antecedent is represented on the left hand side while a dependent on the right hand side. A dependent is ontologically dependent on the antecedent. Any entity cannot have more than two antecedents. All the relations in the ontology chart are associations with one to many cardinality represented with one side on the left side entity (antecedent) and many on the right side entity (dependent). The following figure shows the representation of relation between an antecedent and a dependent:

29 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

A node cannot be a role name; the carrier identifies the role name in a relationship. Role names are usually written on the relation or link between the nodes.

The arcs represent ontological dependency relations directed from left to right.

Even a UML diagram represents the relation between classes (group of objects that share common features or attribute), then what is the difference between a UML Class diagram and an ontology chart. The difference is that an ontology chart does not model computer objects (signs of reality), but directly models the reality itself. The following figure shows a sample ontology chart designed for university of Greenwich library system.

30 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

3.4. Semantic Normal Form:


Stamper. R (2005), defined Semantic Normal Form as a Semantic theory that prescribes a canonical structure composed of uniform elements for the ontological model of any domain. A SNF is a set of rules which are defined in the ontology chart session. It is a unique property followed in Semantic Analysis for ensuring that the software is immune to malignant changes. SNF compliant software can be designed by following any one of the ways shown below:

By trial and error method (iterative process; repeated implementation and redevelopment of software). By consciously conforming to the SNF theory. By employing highly skilled business analysts to review the work.

Basically an ontology chart is by nature SNF compliant. As it follows all the rules explained in the previous section, it achieves this nature.

3.5. Ontological Constraints:


In addition to business rules, there are some other specific rules called ontological constraints implied in the ontology chart. These are simple and logical rules which can be either defined in plain English or by using a specific language called OCL (Ontological Constraint Language). These rules are applied to each and every entity in an ontology chart. Ades, Y, Iman Poernomo and George Tsasamirsis (2007) specified object constraints which can be applied to every object in an ontology chart. They are defined in plain English and also in OCL. Both ways are shown below: start time <= its finish time start time >= the start time of its antecedents (if any) start time <= the finish time of its antecedents (if any) finish time <= the finish time of its antecedents (if any) cascade the finish of an object to all of its dependent objects (if not already finished) start time <= real time finish time <= real time

31 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Using OCL: context:<class name> inv:self.start_time <= self.finish_time inv:self.start_time >= self.<anticedent_1>.start_time inv:self.start_time >= self.<anticedent_2>.start_time inv:self.start_time <= self.<anticedent_1>.finish_time inv:self.start_time <= self.<anticedent_2>.finish_time inv:self.finish_time <= self.<antecedent_1>.finish_time inv:self.finish_time <= self.<antecedent_2>.finish_time inv:self.finish_time == null and self.<antecedent_1>.finish_time != null implies self.finish_time = self.<antecedent 1>.finish_time inv:self.finish_time == null and self.<antecedent_2>.finish_time != null implies self.finish_time = self.<antecedent 2>.finish_time

3.6. Historical Database Principles:


The databases that signify the past real objects are called as the historical database. They maintain the historical data about real objects existed at that time in the history. These databases include Start Time and Finish Time as a standard attributes with every class. Whenever the finish time of a class is represented as null, it denotes that real object still exists. Ades, Y (2008) specified the benefits of historical databases in the following areas:

Retrospective Processing. Historical Reporting. Trend Analysis. Legal requirements. Auditing and Security requirements.

32 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Chapter 04

Concept of Time:
33 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

4.1. Introduction:
We all think that we know what is meant by time. If we ask a person, what is Time? What answer can we expect? He might be saying its 9.30. What does it represent? Let us ask, the same question to other person, he might say that, it is a clock that we see on the wall, with seconds, minute and hours sticks rotating and representing the time. Some people say its summer time or winter time. So, what exactly time is? Is it a number or a season or a device? The answer could be defined with respect to different terminologies. The concept of time is a wide area on which many researches have been done and many are being done and many will be done in the future. But no one could give one particular fixed definition. It has lot of definitions, which we cannot conclude them as incorrect. It could be defined in the field of religion, social theory, physics etc. It could also be defined according to beliefs and religions. Some people say its auspicious time or good time and some say its a bad time. What do these times represent? Is the time that we refer in these sentences and the one which we referred at the beginning of passage are same? Lots and lots of questions were arising, when I actually started working on understanding the concept of Time. Time is not an object or any instrument; it is not even a season or a number. It is system that we have invented to organize our day to day activities. It is something that we use in different occasions according to our needs. Different people explained it in different ways relating to different concepts. Let us have a look at some definitions of time in different terminologies. Time- The Philosophical Discourse: Gert H Muller (1996), explained it as The man on the road, i.e., we all, man or woman, is confronted with the challenge to survive in this natural and societal surrounding and to come to grips with the world around him and with his personal fate. In his continuous search he has to base his attempts on inputs from the outer world, from his inner experiences and maybe, from illuminations from above. The results of this search known to us through the great mythical views, the leading religions, the early and later world-views and the philosophical systems. As different as they all are in detail some general features and aspects recur therein through the millennia, e.g., monistic, dualistic and pluralistic structures, analogies to phenomena of life, cyclic or uni-directed global process and so on. The role of category TIME is analyzed abundantly for specific religions, metaphysical systems and scientific theories and views.. Time: Geological and Biological Concept: D.P.Agrawal explained it as Three arrows of time have been recognised. First, there is the thermodynamic arrow of time, the direction in which disorder or entropy increases. Then there is the psychological arrow of time, the direction in which we remember the past and not the future. Finally, there is the cosmological arrow of time in which the universe expands rather than contracts. In this talk, I will confine myself to only thermodynamic and psychological arrows of time as related to geological and archaeological time.
34 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Time: Social and Cultural Concept: Tan Chung from China explained it as Men live the world in a triangle framed by time, environment and fortune. For the last many thousand years the Chinese have been making continuous efforts to evolve a benign spiral out of this triangle. Being an agricultural nation, while agriculture is a seasonal vacation subject to the dictates of the meteorological changes in the course of time, China has acquired an early sensitivity for time from time immemorial. This gave rise to Chinese concept of "Tianshi" (Heavenly time) which essentially denotes the weather conditions offered by Heaven to men during their socio-economic pursuits. Time: Consciousness: Lokesh Chandra explained the concept as Time dwells in the depths of full mind. Deep inside us it interweaves the real and the unreal. Sacred time is the pure becoming, where the time of physics is no longer determinant. It is the flowing onward of the essence of life, a value centre in many principles of being, as we seek to create newer and even individualised eyes. The mind renews itself in the intuition of time. Time: Physics The time in the concept of physics is explained as the ratio of distance travelled and speed of an object. So, people use different terminologies for explaining the concept of time. But yet not able to define what exactly it is. It is something that is a part of conversation. It is a concept used to plan our events and organize our activities. Then what are Clocks, a quartz watch? They are the devices that we have designed to measure and represent time. But how do we measure it? Different people used different ways of measuring, labeling and representing time. If I say one second is equal to the moment of water from one end of the pipe (which is one meter long) to the other end, then I use my own way of representing time. It is because of this reason, why we have different time concepts and calendars around the world. Civilizations in different areas used different techniques for it. All these civilizations devised the concept of time for the same purpose which is organizing events. Slowly, it has occupied a place which influences each and every activity that take place in our day to day life. Can we imagine a world without a time? It would be terrific just to imagine, then how it would it look, if it really happens. So, was the concept of time is practiced from the start of world? How do we know when the concept of time was invented? We would get answers to these questions, if we look at the concept of time with respect to different ancient civilizations around the world.

35 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

4.2. History:
It sounds very unnatural when I say the history of time because history is the study of the past and this concept of past, present and future is based on the idea of time. The concept of time can be explained when there is something, some objects, and some persons who need to think about it. So, where does everything start from? As per the recent theories explained, we believe that our universe was created because of a massive explosion called Big Bang. This is the moment of creation. Later on the earth in the solar system has undergone many changes and led to the formation of life on it. Many civilizations do not agree with this concept, instead they have their own beliefs based on their religion.

For example Fig 4.1 shows the creation according to the Greek Theology and Fig 4.2 shows the pictorial interpretation of the creation in Genesis from the late fifteenth century. In Fig 4.3, if we notice the fourth day of creation, it is written that time begins as the objects in the firmament take up their motions. They believed that time is related to motion, which is a concept or terminology used to measure time. The people in the early ages used the concept of time for organizing their work. It all started with analyzing the time for agricultural purpose. The people need to know, when the rainy season starts, which time is usually good for planting crops? Which time is suitable for harvesting? As they do not have enough knowledge to develop a device for measuring time, they used to depend on the motion of astronomical bodies like Sun, Stars, earth and moon. The motion of earth and Moon the first concept used for calculating the time. This is how calendars came in to picture. The people then designed calendar systems to represent the periods of time and divided it accordingly in to months and days.

36 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Different civilizations in different part of the worlds have different climatic conditions and natural conditions. So, they need to devise time according to their needs. They used different signs and symbols for designing a calendar. Fig 4.3 shows the picture of an early calendar developed in Dordogne valley of western France, using different symbols in designing their calendar. The start and end points can be seen in the picture. As the time passed the concept of a year, a month and a day was introduced in the system. The day is further divided in to hours. The division of a day in to hours was based on different calculations. Some civilizations used 10 hours in a day while some used 24 hours in a day. Fig 4.4 shows an example of such system in a clock which represents 10 hours and 12 hours timing system.

37 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Some civilizations used markings on the forehead of a person to represent his age at that time. The passage of a persons time is measured with the markings of lines on his forehead. A Nuer tribe in Sudan is an example of this type. They divided their age group in to three stages a boy, a warrior and an elder and markings on their forehead were used to know which age group to they belong to. Fig 4.5 shows a picture of Nuer tribe with markings on his forehead.

Different civilizations used different methods to measure, label and represent time. Let us now look at two major civilizations ways of representing time.

4.3. Egyptian Civilization and their concept of Time:


The Egyptian method of measuring, labeling and representing time has contributed much to the timing concepts like years, months, days, hours, minutes and seconds that are in use today. The people of ancient Egypt were used to depend on the annual flooding of the river Nile for their agricultural purposes. So, it was very much essential for them to know when usually the flooding would begins, so that they can plant their crops in right time. After a series of observations, they found that the beginning of inundation (an overwhelming flow of water due to river or rain), usually occurred at the helical rise sighting of a star, which they call Serpent (Sirius). This sidereal year (the time taken by the earth to complete one revolution around the sun relative to a fixed star) was only 12 minutes longer than the mean tropical year. Ancient Egyptians devised three different calendar systems for their use. The first calendar was based on 12 lunar months and this calendar is used for religious festivals. A 13th month is intercalated to this calendar to maintain its link with helical rising of the serpent. The second type of calendar was based on 365 days between the helical rising of the serpent and it used to have 12 months of 30 days each. The remaining additional five days are considered to be unlucky. This calendar was used around 2500 BC for Administrative purposes. The third type of the calendar was used to match the lunar cycle to the civil year.
38 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

The months in their calendar year were further divided in to three decades. Each decade constitutes 10 days. Each day was further divided in to 24 hours. They used Shadow clocks to measure the time during the day. The shadow clock uses the motion of shadow of a pointing bar with respect to suns movement. This system cannot be used during the nights. So, they experimented using different techniques for designing a clock and then developed a water clock. This resolved their problems in watching the stars in the sky or astronomical observations. The water clocks use the technique of water flow between vessels. The time take for a complete flow is considered as an hour and the time is represented based on the water flow. It is also called as clepsydra. The Fig 4.6 shows the picture of a water clock used by the ancient Egyptian civilization.

4.4. Indian Civilization and their Concept of Time:


The concept of time according to Indian mythology is completely different when compared with other civilizations around the world. The concept of time in Indian literature was first found in Rig Veda, which was written around 1200 BC [24]. Vedas are large collection of sacred literature which was used in ancient India. The smallest unit of time is called as Kaastha. It is the time taken to blink an eyelid continuously for 18 times. 10 Kaasthas make a Kshanam and 12 Kshanams make a muhoortam. 60 Muhoortams constitute a single day. A human year in Indian mythology consists of 12 months with each month constituting 30 days. Three months constitute a Ritu.
39 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Time in Indian mythology is also measured in the world where there are no humans which is a world of departed souls called Pitrus. In this world a single day is equal to a single human month (in real world). The day time in a human month constitutes Pitrus day and the night time of a human month constitutes Pitrus night. Next, the measure of time is in the world of Gods or Devas. A single day of God constitutes a single human year. The day time is called as Uttarayanam (the sum of day times of a whole human year) and the night time is called as Dakshayanam (the sum of night times of a whole human year). Next higher level of measuring time is called as Yugas. There are four Yugas called Kali Yuga (the current yuga), Dwapara Yuga, Treta Yuga and Krita Yuga. Each of these yugas constitute different number of Deva years shown in the table below: One Yuga Equals X Deva Years.

Kali Yuga 1200 Dwapara Yuga 2400 Treta Yuga 3600 Krita Yuga 4800 Total for 4 Yugas 12000 Deva Years. Table 4.1. Measuring Time in Yugas according to Indian Mythology. A cycle of these four yugas constitute a Chatur Yuga. The creation has start and an end point. But according to Indian mythology, there is no start point and this concept is called as Anaadi. The next higher level of measurement is called as Manvantaras. Each Manvantara constitute 71 Chatur Yugas. A sum of 14 Manvantaras is referred as a Kalpa. A Kalpa constitutes 14 Manvantaras. Next comes the concept of Brahma. The Brahma is the god of Hindus, usually referred as the creator. His single day time constitutes 1000 Chatur Yugas and single night time also constitutes 1000 Chatur Yugas. So, a single day for Brahma is equal to 2000 Chatur yugas. These whole units of measurements make it a very complex system. People often find it confusing with the terms. For better understanding of the system, the table below shows the number in human year with respect to other years, starting with Kaastha. Unit of Measurement Equals to 1 Kaastha 18 Eyelid blinks 1 Kshanam 10 Kaastha 1 Muhoortam 12 Kshanams 1 Day 60 Muhoortams Table 4.2. Smaller units of Time measurement in Indian Mythology.
40 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

A single unit of measurement Human Years 1 Pitru Year 30 human years. 1 Deva Year 360 human years. 1 Kali Yuga 432,000 human years. 1 Dwapara Yuga 864,000 human years. 1 Treta Yuga 1,296,000 human years. 1 Krita Yuga 1,728,000 human years. 1 Chatur Yuga 4,320,000 human years. 1 Manvantara 306,720,000 human years. 1 Kalpa 4,294,080,000 human years. 1 Brahma Year 3,110,400,000,000 human years. Table 4.3. Bigger units of measuring time in Indian Mythology. According to Indian mythology each Brahmas is about 100 Brahma Years long[20]. After the end of One Brahma, the next Brahma starts his life and this continues. When we consider both the Egyptian and Indian civilizations, both have their on measuring standards for time. But, in developing these standards religion beliefs played an important role in both the civilizations.

4.5. Greenwich Mean Time:


We know that earth is like sphere revolving around the sun rotating on its axis. Till late 19th century, most of the nations have their own local timings according to the day light or noon. But later on communication gaps between the nations were minimized, the transport began. It was easy to cross different nations. The major means of transport was through sea journeys. England was one country, which has established their colonies in several parts of the world and they used sea journeys as a medium of transport. Earth is divided in to latitudes (horizontal lines) and longitudes (vertical lines) for easy specification of different areas around the world. During that period, it was easy to find how many degrees of south, a particular place is located or how many degrees south a particular boat is located because equator is taken as a latitude with 0 degrees. Earth rotates on its axis and one complete rotation we call it a say. So earth rotates 360 degrees each day. It means that for every hour earth is rotated by 15 degrees, so if we travel 15 degrees east from one location in one hour, the time at the new location is same as the time when we started from the old location. At present we know this concept, but during that time, it was difficult for them to specify their location across east or west. The notation or representation of time varies from one area to other area. If it is night in one area, it would be day in other area. So, a standard time cannot be used all over the world. The same problem was affecting British Railway in the 1800s. Different towns used their own local time based on the noon of the day, which not only created problems for railway services but also
41 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

created irregularities in postal and telegraph services. So, Britain established Greenwich Mean Time, based on the longitude which we call Prime Meridian of the earth. On December 1st 1847, the London time was adopted as a standard time in London, North Western part and by the Caledonian Railway. Slowly as the time passed, this London time was used as a standard time across the Britain. The Royal Observatory considered the Prime Meridian as O degree longitude and the sailors used to specify the location of their ship across east and west. The problem for a standard time was not only in Britain, but all over the world. Britain based on the calculation of the longitude position of one of their colonies (New Zealand), calculated the local time in New Zealand as the 12 hours past the London standard time. It is then called as New Zealand Standard Time. Fig 4.7 shows a picture of how longitudes are designed and which longitude is considered as a Prime Meridian.

Then in 1884, in a conference that took place in Washington, 25 nations agreed that Greenwich would be the Prime Meridian of the earth and local times in different areas would be calculated based on that. Then the World is divided in to different standard time zones that may be a few hours plus or minus to the GMT. Fig 4.6 shows the standard time zones on the earth. The time at a place is calculated by a simple formula: GMT +/- N, Where N could be sum of hours and minutes based on the longitude distance at that place from the prime meridian. For example Indian Standard Time is GMT +5.30 Hrs.

42 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Later on all the nations agreed to this concept and that is how GMT and Prime Meridian came in to existence. However, the progress of precision in measuring time became more and more error free. There is still some in accuracy, but it is so small to be considered. Fig 4.9 shows the progress of accuracy from 700 AD to 2000 AD.

43 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

4.6. Chapter Summary:


From this study about the concept of time through ages, we could say that time is only a representation which we use to schedule our day to day activities, which led to the creation of calendars (to represent Time). Calendars are same like Clocks, the clocks represent the time of the day while calendars represent time of the year. The unit of measure is changing, that is the only difference between the two. But one similarity which is seen from the past is that almost all of them measured time relative to motion. Either it could be the motion of water, in a water clock or the motion of sand in a sand clock or the calculation of the day based on the astrological bodies including earth. We still calculate Time based on the astronomical bodies. But the physics states that motion is not constant. The speed and acceleration depends on the mass of the object and also gravity of an object. The Sun has gases like hydrogen, helium, carbon which undergo nuclear fission creating a massive explosion. The light we see from the sun is the light from these explosions. According to the theories and concepts explained, two hydrogen atoms undergo nuclear fission to form one helium atom. Similarly other nuclear fissions do take place between other similar atoms. While the energy is transformed electron and other micro substances are released at high speeds, which if takes place for many years, will cause the change in the mass of the sun. Similar concept applies to all other astronomical bodies. So, I think that the time taken by the earth to revolve around the Sun may vary in future, which may cause irregularities and confusion in the time standard that we use today. And all the ages in the past and also people today measure time relative to motion. What is the exact relation between time and motion? The research is still being carried out and I always have a question: Do Time come to an end if motion stops?

44 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Chapter 05

Study of Calendrical Systems:


45 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

5.1. Introduction to Calendars- Calendar Basics:


In the previous chapter we have seen, what is Time and the concept of it and also different units used to measure it. In this chapter, we look at the concept, structure and the use of different calendar systems. We will look at how calendars represent, label and measure time. Usually all the major calendars are designed based on the calculations and observations of astronomical bodies. We all knew some regular events like, the Sun rises in the east and the Sun sets in the west and the night follows the day. This concept was used in all the calendar systems. A day is the smallest unit of time represented in the calendrical system. Then a series of larger units are used to represent time. They are usually referred to a week, a month, a year and a cycle of years. So, when a day does usually starts and when does it usually end. We now knew that, a day starts at midnight and an end at mid night, but it was not the same situation a few years ago. Different calendars were being used in different regions of the world and all the calendars were different from one another. For example, according to French Revolutionary calendar, the day begins at the midnight; according to Islamic calendar, the day begins at the sunset; according to Indian calendar, the day begins at Sun rise. This is one point of difference between calendars. There are lots of differences between all the calendrical systems which make it hard to represent time in one calendar system in to another calendar system. When did the concept of a calendar was introduced? As per the research conducted, sources reveal that, the concept of calendars was first introduced in Egypt. Later on different civilizations designed their own calendars according to their needs. The major calendars around the world use the concept of seven days in a week, because it proved to be easy for calculating and representing time according to months and years. These seven days in a week are usually named after the seven wandering stars or after the names of Gods (the Sun, the moon and the five planets visible to naked eye- Mercury, Venus, Jupiter and Saturn). There are some civilizations, which were using different number of days in a week. For example, six days a week in Japan, ten days a week in the Ancient Egypt. However, the concept of seven days a week is most widely accepted. We know that the days are grouped to form a week, weeks are grouped together to form months, months are grouped together to form a year and group of years to form a cycle of years. But in some calendars, days are grouped to form months, without a concept of week. These days in a week were represented with different terminologies. Some used numbers, some used names and some used pictures. For example, in the Armenian calendar the concept of name for each day is used. The name of each day in relation to the English day is shown in the table 5.1.

46 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

English Day Sunday Monday Tuesday Wednesday Thursday Friday Saturday

Armenian Day name Kiraki Erkoushabathi Erekhshabathi Chorekhshabathi Hingshabathi Urbath Shabath

Table 5.1. Armenian notation of Days. Source: 3rd Edn, Calendrical Calculations by Nachum Dershowitz & Edward M. Reingold.

The movement of astronomical bodies is the base for all the calendars. Based on this concept, the calendars are divided in to three types. They are: a Solar Calendar (based on the earth revolution around the sun), a Lunar Calendar (based on the Moon rotation around the earth) and a LuniSolar Calendar (Based on both Solar and Lunar concepts). Let us now take an example of each type and examine how they represented and measured Time.

5.2. Islamic Calendar System (Lunar):


The Islamic calendar was completely derived from the observations made on the rotation of moon around the earth. This calendar is most widely used in Muslim countries and their festival dates are calculated according to this system. According to this system, a day usually starts at the sun set and a month usually starts at the sighting of new young crescent moon after the conjunction with the sun. 5.2.1. History: The history of Islamic calendar takes us back to 638 C.E (Common Era) [23]. The first day of the Islamic calendar is specified as Muharram (Islamic New Year), which in history specified as the day on which Mohammad left from Mecca, to Medina. Waleed A. Muhana (2007) in his article about Islamic Calendar History and Motivation, specified that The Islamic Calendar, which is based purely on lunar cycles, was first introduced in 638 CE by the companions of the Prophet, sallallahu alayhi wasallam, and the second Khalifah, Umar ibnul Khattab (592-644 CE). He did it in an attempt to rationalize the various, at times conflicting, dating systems used during his time. Umar consulted with his advisors from the companions on the starting date of the new Muslim calendar. It was finally agreed that the most appropriate reference point for the Islamic calendar was the Hijrah the incident of the immigration of the Muslims from Makkah to Madinah. It is a central historical event of early Islam that led to the foundation of the first Muslim city-state, a turning point in Islamic and world history. The actual starting date for the calendar was chosen (on the basis of purely lunar years, counting backwards) to be the first day of the first month (1 Muharram) of the year of the Hijrah. The Islamic (Hijri) calendar (with dates that fall within the Muslim Era) came to be abbreviated by some as AH in Western languages from the latinized Anno Hegirae, "in the year of the Hegira". Muharram 1, 1 AH therefore corresponds to July 16, 622 CE.
47 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

5.2.2. Structure: The Islamic calendar is purely a lunar calendar, with no intercalation of months as we see in Solar and Luni-Solar Calendars. There are seven days in a week and the days are numbered but not named. Table 5.2 shows the Islamic day numbers in a week. English Day Sunday Monday Tuesday Wednesday Thursday Friday Saturday Islamic Day Number yawm al-ahad yawm al-ithnayn yawm ath-thulaathaa yawm al-arbia a yawm al-khamis yawm al-jum a yawm as-sabt The First day The Second day The Third day The Fourth day The Fifth day The Sixth day The Sabbath day

Table 5.2. Islamic Days in a week. Source: 3rd Edn, Calendrical Calculations by Nachum Dershowitz & Edward M. Reingold.

The Islamic year has 12 months each with 30 or 29 days. An Islamic month or a Lunar month constitutes approximately 29.53055..days. The Figure 5.1 shows a typical lunar month based on the position of moon.

48 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

An Islamic year approximately constitutes 354.3666 days [38]. It means that there would be a difference of 10-12 days between a Islamic year and a normal tropical year with 365 days long. The 12 month names and the number of days in each month are shown in the table 5.3.

Islamic Month Muharram** Safar Rabi'a I Rabi'a II Jumada I Jumada II Rajab** Sha'ban Ramadan*** Shawwal Dhu al-Q'adah** Dhu al-Hijjah**

Number of Days 30 29 30 29 30 29 30 29 30 29 30 29*

Table 5.3. Islamic Months. Source: http://astro.nmsu.edu/~lhuber/leaphist.html * In a leap year, Dhu al-Hijjah has 30 days. ** Holy months. *** Month of fasting.

30 Islamic years constitute one cycle of years. There is a concept of leap year in this system. An additional day is added to the last month Dhu al Hijjah in a leap year. The years 2, 5, 7, 10, 13, 16, 18, 21, 24, 26, and 29 in the cycle are considered as leap years[38]. Some Muslims use 15th year as a leap year instead of 16th year in the cycle of years. Because this calendar is completely based on lunar calendar, it does not co-relate its months with the seasons. So, it is not used for agricultural purposes. It is mainly used for religious festivals.

5.2.3. Festivals: The Islamic calendar is mainly designed on lunar concept and is used for scheduling religious festivals. The main festivals include Muharram (Islamic New Year) and Ramadan (the month of fasting).

49 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

5.3. Gregorian Calendar System Solar:


Gregorian calendar is the most widely used calendar all over the world and it is based on the solar calendar. It is easy to understand and implement as it is based on simple calculations with a minor error in measuring average time. 5.3.1. History: In 15th and 16th centuries, Julian calendar and Islamic calendars are used by the most of the 10th century, a standard date March 21st (Julian) was confirmed for the celebration of Easter. But as the time passed, people noticed that Easter was drifting away from its spring time. There was a debate on calculating the correct time for Easter celebration. The Church made attempts to reform the calendar which then led to the way of creating a Gregorian calendar. In 1852, the Pope Gregory XIII [38] ordered the adaption of Gregorian calendar to which he suggested some changes like advancement of calendar by 10 days. Wednesday, September 2, 1752 (Julian) was a very special day in the history of the Great Britain. The government declared the adoption of Gregorian calendar and confirmed that next day would be Thursday, September 13, 1752 (Gregorian). Slowly different nations adopted this calendar system and it was spread to Asia as well. As the time passed, it is now used all over the world. Fig 5.2 shows the time line of adaption of Gregorian calendar by different nations.

50 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

5.3.2. Structure: The Gregorian calendar is based on the solar calendar system (based on Sun revolving around earth). A year is a group of 12 months and each moth has a number of days between 28 and 31. Table 5.4 shows the list of months and the number of days in each month. Month January February March April May June July August September October November December Table 5.4. Months in a Gregorian calendar. No of Days 31 28 , 29(leap year) 31 30 31 30 31 31 30 31 30 31

A leap year is calculated based on some assumptions like: a year is a leap year if it is not a centurion (divisible by 100) year and is divisible by 4. Then the Pope Gregory suggested that all centurion years which are divisible by 400 is also a leap year. The cycle of years is about every 400 years. A year consists of approximately 365.2425 days [21]. The Gregorian calendar differs from the tropical calendar only by 26 seconds. For every 2500 years it accumulates an error of 1 day in the system.

5.3.3. Festivals: The Gregorian calendar is not a religious calendar. It base is on solar calendar and maintains phase with seasons. But the reason for the creation of this calendar is the conflict of date of Easter. As it is the most widely used calendar, the local festivals in different parts of the world are represented according to Gregorian calendar.

51 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

5.4. Indian calendar Luni Solar:


India is a country with different cultures and religions. Gregorian calendar is used by the government for all administrative purpose. Different people belonging to different religions follow their own calendars. For example, Muslims in India follow Islamic calendar, Hindus follow Hindu/Indian calendar, and Christians follow Gregorian calendar. We would be studying the old hindu calendar in this section. 5.4.1. History: The concepts of luni-solar calendars were early found in Rig Veda, which were used around 2000 B.C. The Vedas are considered as a Sacred Hindu literature preserved from the early ages. Because of influence of astronomical observations and calculations of Greeks, Egyptians and Muslims, the calendar has undergone some changes and now the Indians use more sophisticated Luni- Solar calendar.

5.4.2. Structure: Around 1000 A.D, Hindu calendars used mean time for calendrical calculations. They considered Sun rise is the start of a day and Sun rises at 6 A.M in the morning and Sun sets at 6 P.M in the evening. Usually there are seven days in a week and the names in the week are shown in the Table 5.5. English Day Sunday Monday Tuesday Wednesday Thursday Friday Saturday Indian Day Ravivara Somavara Mangalavara Budhavara Guruvara Shukravara Shanivara

Table 5.5. Indian Day Names. Source: 3rd Edn, Calendrical Calculations by Nachum Dershowitz & Edward M. Reingold.

The Hindu value for a sidereal year(Number of days taken by earth to complete on revolution around the sun) is: Arya Solar year = 365 (149/576) = 365.258680555(approx). A Jovian Cycle (time taken by the Jupiter to revolve around the sun) terminology was used in Indian Calendar. Arya Jovian Period = 4332.272173..(approx).

52 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

The Jovian period was divided in to 12 equal parts which gave rise to 12 Zodiac signs and five revolutions of Jupiter gave rise to a 60 year cycle of Indian calendar called Samvatsaras. The names of Samvatsaras are shown in table 5.6. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Prabhava Vibhava Sukla Pramoda Prajapati Angiras Srimukha Bhava Yuvan Dhatr Isvara Bahudhanya Pramathin Vikrama Vrsa Chitrabhanu Subhanu Tarana Parthiva Vyaya Sarvajit Sarvadharin Raksasa Vikrta Khara Nandana Vijaya Jaya Manmatha Durumukha 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 Hemalamba Vilamba Vikarin Sarvari Plava Subakrt Sobhana Krodhin Vishwa vasu Parabhava Plavanga Kilaka Saumya Sadharana Virodhakrt Paridhavin Pramathin Ananda Raksasa Anala Pingala Kalayukta Siddharthin Raudra Durmati Dundubhi Rudhirodgarin Raktaksa Krodhana Ksaya

Table 5.6. Samvatsara in Indian calendar. Source: 3rd Edn, Calendrical Calculations by Nachum Dershowitz & Edward M. Reingold.

Hindus used both Solar and Luni-Solar calendars. Let us look at the structure and rules of both calendars.

53 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

5.4.2.1. Hindu Solar Calendar: A solar calendar is purely based on the Earth revolution around the Sun. It has time measures days, months and years. There are 12 months in a year. The number of days in a month = 1/12 of Arya Solar Year = 30.438 days. (Approx). These days are called as Saura. The solar months in a year are related to Zodiac signs. The names of solar months and their related zodiac sign is shown in the Table 5.7. Solar Month Madhu Madhava Sukra Suchi Nabhas Nabhasya Issa Urja Sahas Sahasya Tapas Tapasya Zodiac Sign Aries Taurus Gemini Cancer Leo Virgo Libra Scorpio Sagittarius Capricorn Aquarius Pisces

1 2 3 4 5 6 7 8 9 10 11 12

Table 5.7. Solar Months. Source: 3rd Edn, Calendrical Calculations by Nachum Dershowitz & Edward M. Reingold.

As it is a pure Solar calendar, it is phase with seasons. Thus a solar calendar for hindus are designed with equal days in all the months.

5.4.2.2. Luni Solar Calendar: In this type of calendar both solar month and a lunar month concept is used. A solar month has days approximately 30.438 in it [24]. But usually a lunar month is not fixed. In north India people consider the duration between two consecutive full moons as a lunar month, where as in south India, the duration between two consecutive new moons is considered as a lunar month. Arya lunar month = 1577917500/53433336 = 29.53058 days (Approx) [20]. Arya lunar day = 1/12 of Arya lunar month. Lunar month duration is slightly less than that of a solar month. The name of the lunar month depends on the name of the solar month that occurs during that lunar month. If no Solar month begins in a lunar month then it takes the name of the following solar month. In order to maintain its phase with solar calendar, a month is intercalated occasionally.

54 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

When a complete lunar month occurs in a single solar month, then it is considered as a leap year. That month is called as adhika and the actual month that follows adhika is called as nija. Very rarely a complete solar month will be covered in a lunar month and that month is referred as Kshaya month. About every 360,000 years both solar month and the lunar month end at same point and then begins at same point. Table 5.8 shows months in Luni solar calendar. 1 2 3 4 5 6 7 8 9 10 11 12 Chaitra Vaishaka Jyestha Ashada Sravana Bhadrapada Asvina Kartika Margasira Pausha Magha Phalguna

Table 5.8. Luni Solar Months. Source: 3rd Edn, Calendrical Calculations by Nachum Dershowitz & Edward M. Reingold.

As the people in different parts of India make their own changes to these systems and follow their own rule, it is very difficult to analyze all Indian calendars. This gives a complex structure look to the Indian calendar.

55 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

5.5. Institution specific calendars and Personal calendars:


Any person or an institution or an organization has some list of activities to be performed. In some these activities repeat at regular intervals and in some cases they occur at irregular intervals. Arranging their activities in an order simplifies their day to day life. These calendars mainly revolve around three issues:

5.5.1. Calendar Time: Basically these types of calendars represent time from other calendars. They do not represent time according to their own standards; they follow other calendars which are used locally. Far example, look at the following figure:

The time in the figure Friday 3rd April is a Gregorian calendar time. It is used in this calendar to note events occurring like weather and Day out.
56 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

5.5.2. Activities/ Events: The activities in these calendars are the works that need to be done on that calendar day. For example, if I note that Doctors Appointment on Dec 6th 2007 in my personal calendar, it means that I have a work to go to meet the doctor. This works is the activity to be done on that day. In the personal calendar shown in the Fig 5.3, the activities include Day out.

5.5.3. Venue/ Location: The location is the area where the activity is going to take place. For example in a institutional calendar, a lecture (activity) is on 5th December 2008 (Gregorian Time) at KW303, University of Greenwich, London (Location). The room number 303 in King William building is the location for that event. These three issues include in most of the institutional calendar or personal calendars. In these calendars other entities can also be grouped along with these issues. For example, Week number in a university calendar along with time, event and location. These are the calendars that can be designed for any person or organization. They are simple and designed according to their needs. They are designed to simply the work and also to organize events.

5.6. Chapter Summary:


From the previous two chapters we have seen how different communities measure, label and represent time. The smaller units to measure time include Seconds, Minutes and Hours. The larger units of time include Days, Weeks, Months, Years and Cycle of Years. Different communities adapted different rules in designing calendars according to their own needs. But if we look at different situation from the past, we can say that seasons, religion beliefs and festivals have their influence in designing calendar systems. But the main concept behind the time is to Organize the day to day activities or seasonal activities which makes our lives easy.

57 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Chapter 06

Software Tools Support for Calendar Systems:


58 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

6.1. Concepts of Time in Software applications:


Most of the business database applications need to represent not only the current real time data, but also the historical data (the data about the past existence of a real object). For example, in a bank, a customer opened an account. After using it for certain period of time, he then closed the account. It is very essential for the bank to have the details about account opening and closing. If the bank do not have a finish date for that account, then what does it represent. Is the customer still having an account? (In reality he doesnt). So this kind of situation gives irregularities in analyzing data. If a system doesnt maintain complete information, then it is incomplete. The databases which represent past real objects along with present real objects are considered as historical databases. In this type of databases, Start Time and Finish Time are considered as the standard attributes along with other attributes. Fig 6.1 shows an example of it.

Some time related concepts in software applications: 6.1.1. Start Time: A database represents data about real objects which existed in the past or that currently exists. When an object is considered as existing, it must have come in to existence at some point of time, which is called as a Start Time. For example, a real object person has a start time as Date of Birth. Similarly in the employment table, start time would represent the time when the person became an employee and the finish time represents the time, when the person is no more considered as an employee.

59 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

6.1.2. Finish Time: It is the time when a real object cease to exist. For example, if the finish time for the employment is a specific date, then the person is no more an employee of that organization. His employment is finished but not the person. Persons finish time would be his date of death. If an objects finish time is represented as null, then the object is considered to be existing. For example, if the finish time for employment is null, then the person is still an employee of that organization.

6.1.3. Finish Cause: If a system is supposed to represent the reason for finishing an object, then the finish cause is added as an additional attribute along with start time and finish time. For the same example of Fig 6.1, if the organization needs to know the cause for finishing the employment of a person, an additional attribute will be added to the employment as shown in Fig 6.2.

6.1.4. Representation: Some objects can have multiple start dates and finish dates, which represent different events. The start time and finish time represent the time at which a specific event occurs. But the representation of time is not same at all places around the world. For example, in a Flight Booking Company, when a flight from some place in India is booked to some place in USA, the boarding time will be the Indian standard time, but the arrival time in USA would be the local time in USA. This is where the concept of time zones comes. The time in ant location is calculated by the formula GMT +/- n; where n could be a period of time depending on the longitude of the location. Mostly, the format for start time and finish time would include the day number, month and the year. However in some companies, date along with hours, minutes and seconds also used. In some systems like Rocket launching centre, very tiny measurements like nano seconds are also used along with other units.
60 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

6.2. Databases Time related concepts:


A database is a collection of data in the form of logically created records. The records are stored in the form of tables. The relations between the tables are specified for analyzing the data. Each and every table has a unique Primary Key or Unique Identifier to represent it. Based on the requirements, queries are run on the database. For example, in the following figure, if I need to know the number of items available in the library for a particular work whose id is equal to 134545. This would give the answer to the query. But the representation of query differs from database technology used, like Oracle has a different notation, sql has a different notation.

Similarly Calendar System also has a back end database from where we analyze data according to our requirements. 6.2.1. Processing Techniques: There are some techniques or ways to interact with a database. They are:

OLTP: It is a technique used for transaction based processing. It is typically used for data entry and retrieval processes. It is mainly suitable for short database transactions where the system responds immediately to the user requests. An ATM (Automatic Teller Machine) used by banks is a best example of it. OLAP: This is an approach used for quickly answering multi dimensional queries. For example, in a university database, if I want know how many students joined in each course by the years 2007, 2008, and 2009 and by the semesters in those years, the query would be complex and would take more time because it has to search many rows in different tables. In a large database, which contain vast amount of data this kind of query

61 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

may take more time. This is where the concept of OLAP comes in to picture. It uses the concept of Cube (Pre calculated data) containing facts (measures) which are categorized by dimensions. The structure of these facts and measures can be represented in any of the schema shown in the following figure.

6.2.2. Non-Temporal Database: It is a type of database, in which the information regularly keeps updating. The past data is replaced with current data. It does not contain any historical data. For example, the following table shows a record of an employee James.

Later on, he got promoted to Research department and his salary increased to 6000. Now the data is updated as shown in the following table, but the information that he previously worked in sales department is deleted.

This is the actual problem with the non-temporal database, it stores only current data as a result historical data is deleted and makes the system incomplete.

62 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

6.2.3. Temporal Database: The problem in the non-temporal database is rectified in this type of database. They keep track of all events related to a real time object. It uses time stamp techniques. They include valid time and Transaction Time. A valid time is the time during which the event is true with respect to the real world. A Transaction time is the time at which the event is stored in the database. So, when we consider the same example mentioned above, at the beginning the record of James will be as shown in the table 6.3.

When he gets promoted, the data would look like:

Null in the Finish date represents that James is still an employee. It keeps track of all events w.r.t the real world. This database can be categorized in to two. A historical database that stores the data with respect to valid time and a roll back database which stores the data with respect to transaction time. Let us now look at different databases and their features for representing Time and supporting calendar dates conversion and representation.

63 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

6.3. SQL Database:


SQL (Structured Query Language) is a database language designed for managing (create, update, delete, read etc) data in RDBMS (Relational Database Management System). It uses different syntax which for data manipulation (Insert, Update, Delete, Truncate, Merge etc) and queries (Select with optional clauses which include From, Where, Having, Group by, Order by etc). Most of the business data varies with time, like change of employees, addition of new products, addition of new customers etc. There are three orthogonal elements in sql, with respect to such time varying data. They are:

Temporal data types: There are three types of fundamental temporal data types. They are: Instant: When something happens or when an event takes place at an instance of time. For example, the book was released today, 21st July 2009, 09:12:36 A.M. Interval: It is a length of Time. For example, two months, two years etc. Period: It is the anchored duration of time. For example, the fall semester, August 24 through Dec 12, 2008. Sql supports both instants and intervals.

Kinds of Time: There are three fundamental kinds of time. They are: User defined Time: An un-interpreted value of Time. Valid Time: When the event with respect to real object was true in real world. Transaction Time: When an event or a fact is stored in the database.

Time oriented Statements: There are basically three types of time oriented statements. They are: Statements related to Current time: now. Sequenced Statements: At each instant of time. Non Sequenced Statements: This completely ignores time.

Let us now look at queries related to these three statements using Valid Time State Tables and Transaction Time State Tables.
64 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

6.3.2. Valid Time State Tables: Let us take an example and devise a query statement of each type. There is an Camping company, which has Sites (Large area of land) at different locations in UK. Each site is divided in to number of Pitches for renting. The caravans in each pitch are moved from pitch to pitch depending on the needs of the rented customers. The table 6.5 shows the details of caravans moved out from a pitch.

Date format is YYYY/MM/DD and 9999/12/31 is used instead of null and the date in sql is valid till 9999/12/31. Performing the following queries would give the following results:

Current Statement: How many caravans from site 214 are in pitch 1?

Sequenced Statement: Give the history of how many caravans moved out from each pitch in the site 214?

Non-Sequenced Statements: How many Caravans moved out from each Pitch in the site 214?

65 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Date Time limits in Sql: The following table shows Date Time limits in Sql:

Date and Time Data types in Sql: The following table shows the Date and time data types supported in sql:

Calendar Date Conversion Support in sql: Sql uses different algorithms to represent dates according to different calendars. It uses Kuwaiti algorithm to convert dates between Gregorian calendar and Islamic calendar. By using Convert function we can convert dates between different calendar systems. The syntax of Convert is:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

By using different values for style, we can represent date in different formats.

66 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

6.4. Oracle Database:


In oracle, we can specify the time zone while creating a database, by specifying the displacement from UTC (Coordinated Universal Time). For example, if I need to specify Indian standard time (IST), then the syntax would look like: CREATE DATABASE ... SET TIME_ZONE = '+05:30'; or CREATE DATABASE ... SET TIME_ZONE = 'IST'; Date Time Data types in Oracle: Oracle Date Time Data types are shown in the following table:

Calendar Support in Oracle: Oracle uses a function called NLS_Calendar, which changes the calendar to the one which is specified. The syntax is: NLS_CALENDAR = "calendar_system"

It supports the following calendar systems: Arabic Hijrah English Hijrah Gregorian Persian ROB (Republic of China) Thai Buddha Japanese Imperial

67 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

6.5. MS Access Database:


It is a relational database management system developed by Microsoft, which is simple to use with an effective graphical user interface. It is very easy to create tables and entering data in to the tables. It can import data from various systems which include sql server, oracle, MySql etc. However user can create customized data types by using specific symbols. Date/Time Data types:

Calendar Support: MS Access can support the different calendar formats, dates and languages which are default in the operating system. By selecting a Arabic region and then by customizing the date format we can change the calendar system. The following screenshot shows an example of it for setting a calendar type to some Kuwait region.

68 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Let us now look at front end applications and their features of supporting calendar systems.

6.6. Java Technology:


Java is an object oriented programming language, which has syntax similar to C/C++. One of the main supporting features of it is its Portability. It can be used on any supporting hardware or operating system. Java language code is compiled to java byte code rather than to machine code. This technology is embedded in many systems ranging from mobile phones, web browsers, lap tops, games, and data centers to scientific super computers. Java programming can be written on one platform ant it can be run on any other platform. Different Java codes for converting one calendar system to another calendar system based on different algorithms and calculations. Java SE platform can support different calendar systems. However calendar systems supported in Java SE Development Kit 6 (JDK) and Java SE Runtime Environment 6 (JRE) are: Thai Buddhist Calendar. Japanese imperial Calendar The Gregorian Calendar.

The Sun Java System Calendar server is a web based interface used for scheduling appointments, tasks, events and resources. It supports group scheduling for meetings. It has a notification service, which will notify the calendar owner about events by sending an e-mail or a SMS to his/her mobile phone. It also allows users to create customized planning and calendrical solutions. It supports systems to embed with different calendar systems like Hebrew, Islamic, Gregorian and also Personal calendars for scheduling events. The University of Greenwichs students use this calendar for scheduling events. A screenshot of this calendar is shown below:

69 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

6.7. .Net Technology:


.Net technology is developed by Microsoft. It is a framework which has a large library of classes, which has different features. Each class has its own distinctive and unique features. One such class is System. Globalization Namespace. It defines the culture related information including the language, country/ region, calendar systems etc. The features in .net and its support for calendars will be clearly explained in the next chapter. The calendar systems defined in the class are shown in the table below:

6.8. Chapter Summary:


All the database applications and the systems developed represent real time events in the real world. Each and every action in the real world is related with the time. So, the systems, software tools and database applications must represent time and use it to represent events in an effective way. Different applications support different concepts related to calendar systems in a different way. The format or representation differs from one application to another. Almost all the applications support the concept of time and calendars in their system, but the ability to represent time according to different calendar systems is limited in different applications. Complex algorithms and rules are specified for converting dates from one calendar system to another calendar system.
70 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Chapter 07

University of Greenwich Academic Calendar Case Study:


71 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

7.1. Introduction:
The University has one main academic calendar used to schedule events in the university. It starts in September and ends in the August month of next year. There are some other calendars or we may call them as time tables for lectures/labs/tutorials in a course and student activities in a three term schedule calendar. There are many small time tables used in different departments at the University for organizing and scheduling work.

7.2. University Calendar:


At the University of Greenwich, the university calendar has the list of all the events/meetings of the academic council. Academic Council members at the University of Greenwich design the university calendar every year. It uses date and time from Gregorian calendar system and lists the event to be carried out on that time of the day. Some notable points in the university calendar are: Mostly time intervals are represented in weeks by representing each week with a unique number in an order. Each week starts from Monday to Sunday. The calendar year is divided in to three terms Term 1, Term 2 and Term 3. Each term may have 10 to 12 weeks depending on the year but the sum of weeks of three terms is equal to 40 (including vacation period). That is the term time per calendar is 40 weeks. Exams and lectures are carried out in term times. Academic council has events and activities to be carried out not only in the term time but for the whole year. Vacation period per year is for 6 weeks out of which 3 weeks for Christmas vacation and 3 weeks at Easter break.

Let us have a look at the university calendar schedule for the past 4 years. Calendar year 2006-2007: Term Term 1 Christmas vacation Term 2 Easter Break Term 3 Start Date 25th September 2006 8th January 2007 16th April 2007 Total Finish Date 17th December 2006 25 th March 2007 1st July 2007 Total Weeks 12 (3) 11 (3) 11 40

72 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Teaching Weeks: Term Teaching Term 1 Term 2 Term 3

Start Date 2nd October 2006 8th January 2007 16th April 2007 Total

Finish Date 15th December 2006 23 th March 2007 27th April 2007

Total Weeks 12 11 2 25

Calendar year 2007-2008: Term Term 1 Christmas vacation Term 2 Easter Break Term 3 Start Date 24th September 2007 7th January 2008 7th April 2008 Total Finish Date 16th December 2007 16 th March 2008 29th June 2008 Total Weeks 12 (3) 10 (3) 12 40

Teaching Weeks: Term Teaching Term 1 Term 2 Term 3

Start Date 1st October 2007 7th January 2008 7th April 2008 Total

Finish Date 15th December 2007 14 th March 2008 2nd May 2008

Total Weeks 12 10 4 26

Calendar year 2008-2009: Term Term 1 Christmas vacation Term 2 Easter Break Term 3 Start Date
22nd September 2008 5th January 2009 13th April 2009

Finish Date
14th December 2008 22 nd March 2009

28th June 2009

Total Teaching Weeks: Term Teaching Term 1 Term 2 Term 3

Total Weeks 12 (3) 11 (3) 11 40

Start Date 29th September 2008


5th January 2009 13th April 2009

Finish Date
12 December 2008 20 th March 2009 8th May 2009
th

Total

Total Weeks 12 11 4 27

73 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Calendar year 2009-2010: Term Term 1 Christmas vacation Term 2 Easter Break Term 3 Start Date
21 September 2009 11th January 2010 19th April 2010
st

Finish Date
20 December 2009 28 nd March 2010
th

27th July 2010

Total Teaching Weeks: Term Teaching Term 1 Term 2 Term 3

Total Weeks 13 (3) 11 (3) 10 40

Start Date 28th September 2009


11th January 2010 19th April 2010

Finish Date
18 December 2009 26 th March 2010 7th May 2010
th

Total

Total Weeks 13 11 3 27

From the above summary, we can see that the total weeks in term1, 2 and 3 remain same in all the years (34 Weeks). The number of weeks in each term keeps on changing accordingly. Number of weeks for the purpose of teaching has been raised to 27 weeks in calendar year 09/10 from 25 weeks in the calendar year 06/07. It is then up to Schools in the university to design their schedule for teaching their courses during the teaching weeks mentioned in the university calendar. Semester 1, Semester 2 and exams will be carried out by different schools during their teaching schedule. If we look at the university calendar and terms schedule, we can find that the importance is given to the weeks. The start/end of a month and year does not have any influence on the calendar. All that matters is start and end of weeks. For example, if we look at calendar year 08/09 (Sep 08-Aug 09), August 31st 2009 is the start of the week, but it is the last day of the year. This week continues to next calendar year 09/10 (Sep 09-Aug 10) as shown below:

74 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Day and date in the calendar are Gregorian calendar dates. Event/Meeting represents what is to be done on that day at that time and venue is the location of that event taking place.

75 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

7.3. Teaching Schedule:


There are different programmes and courses available in the University. A Program can have many courses and a course can be related to one or more programs. Each and every course has a teaching schedule as shown in the following figure:

76 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

The figures show the teaching week number, the start date of that week, the topic of the lecture, Lab work, readings and tutorial. Any additional column can be added to provide more information. There is a CMS Calendar in the intranet which has very few details about the events in the university. Below figure is a screenshot of it.

7.4. Three Term Schedule of Dates:


The University lists events or schedules according to the term times. This shows the schedule of all event/works related to student, school and student affairs. Date column shows Gregorian date on the start of that week. Terms are represented as T1.1 (1st week in term 1), T1.2 (2nd week in term 2), T3.2 (2nd Week in Term 3) and so on. First term usually start on either 3rd or 4th Monday of September month. There is a Christmas vacation of 3 weeks after term 1 and 3 weeks for Easter break after term2. The events and dates are not same in each year; however they may vary with slight differences. The things that do not change are the term cycle, total weeks of three terms and 3 weeks vacation for Christmas and 3 weeks vacation for Easter. However they could be changed by the management if necessary. The following figure shows an example of it.
77 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

7.5. Summary:
These are the main calendars and Timetables being used at the University for different purposes. The University represents some events according to term weeks and dates and some other events according to Semester weeks or teaching weeks. It would confuse students/staff, to identify the dates and weeks in term wise and also semester wise because they are not in phase with each other. It could be better; if only one terminology is used for representing all the events either it is semester or term.

78 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Chapter 08

.Net Overview:
79 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

8.1. Introduction:
The .Net framework is a platform developed by Microsoft, which used for building different software applications in different languages. The main advantage of it is language independent and the developing process can be performed using a simple graphical interface. The main components are:

8.2. Base Class Library:


It includes different functions used for different purposes like defining styles, formatting data, retrieving, reading, updating the data from database etc. It provides classes for all types of languages. It has different namespaces for different purpose. The following are the two examples of System namespaces.

8.3. Common Language Runtime:


It converts the source code written in different languages in to a native code for execution. It provides services like memory management, garbage collection, exception handling, thread management etc. CLR (common language runtime) supports static languages like C#, C, J# and DLR (dynamic language runtime) supports dynamic languages like Jscript, oxygene, ironpython. The following figure shows its functionality.

80 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

The Class library and CLR are the two main components of .Net framework. The following figure shows the overall view of .Net framework:

8.4. Technologies:
.Net framework supports different types of technologies which include Asp.Net, Visual Basic.Net and ADO.Net. 8.4.1. Asp.Net: It is a framework used for building dynamic websites. There are different functions and properties in the library which can be used to design an efficient and effective website. The architecture of Asp.Net:

81 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Generally pages designed using Asp.net has .aspx or .asp extensions. There are other formats which are supported based on the content in the web page. The language has to be selected before building a page. It supports languages Visual Basic and C#. The asp.net window for building pages is shown in the figure 8.5.

Figure 8.5. Example of Asp.Net application. It provides different features for designing a website. A Toolbox contains different standard items like buttons, checklists, labels and Data items like Grid view, Access data source, sql data source etc. These items can be used in designing. The styles can be managed from Manage styles window. Server explorer window displays the database and server connectivity. The solution explorer displays all the designed files and the data stored in application data folder. Properties window displays the properties of any selected item. The IIS (Internet Information service) must be turned on before running the designed website in Asp.net.

82 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

8.4.2. VB.Net: It is an object oriented programming language that can be used in .Net framework. An object oriented program supports concepts like encapsulation, polymorphism, and inheritance. A declared element in Visual Basic is a programming element that is defined in a declaration statement. Each object has a data type, which can be defined using As clause type in VB. The following is an example for declaring a variable data type. In a Dim Statement (Visual Basic) Dim amount As Double Static yourName As String Public billsPaid As Decimal = 0

It supports all the features which are presented in an object oriented programming language. It is mostly used for building window type applications. However it could also be used in designing websites but Asp is more preferred in building websites. The following figure shows the code of a page in VB language. The language is specified at the start of page.

Figure 8.6. Example VB language code.

83 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

8.4.3. ADO.Net: It is a set of classes which helps the user to connect to the database and perform operations on the database. It can connect to various databases like sql server, oracle, ODBC etc. It mainly consists of two components. A Data provider and a data set. The Data provider classes provide support to access databases like oracle and sql server. All the database have similar set of utility classes which include connection, command, parameter, data adapter and data reader. The Data set is the set of classes representing the whole database or a part of it. A data set can include a set of tables and also relations between them. A Date set can be a table, view, column, row, relation or a constraint. The ADO.Net framework is shown in the figure below:

84 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

8.5. Supported Languages in .Net:


.Net supports wide varieties of languages. They can be classified in to: 8.5.1. Static Languages: These include static languages like C++, C#, J#, F# etc. 8.5.2. Dynamic Languages: These includes the dynamic languages like Java script, Iron lisp, iron python, nemerle, phalanger, axum etc. The following table shows the list of supported languages in .Net framework.
Language APL C++ C# Cobol Eiffel Forth Fortran Haskell Java Language Microsoft JScript Mercury Mondrian Oberon Oz Pascal Perl Python RPG Scheme Small Talk Standard ML Microsoft Visual Basic

Table 8.1. List of Languages supported in .Net framework. Source: http://www.startvbdotnet.com/dotnet/languages.aspx

85 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Chapter 09

Design & Implementation:


86 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

9.1. Design of Ontology Chart:


Let us start designing step by step. The university has an academic calendar year starting from 1 st September of a year to the 31st August of the following year. Each year is divided in to three terms. Each term is further divided in to weeks and each week in to days. A day has many time slots.

The university has many events which are allocated a timeslot and take place at a venue. As venue is role name, we take place as an object. So the ontology chart for the university of Greenwich academic calendar is designed as shown in the following figure.

The name of the institution can be taken as the University of Greenwich. In other case, a particular (UOG) can also be taken.

87 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

9.2. Mapping Ontology Chart to UML Class Diagram:


An ontology chart can be mapped in to a UML Class diagram by following certain rules. All the nodes in the ontology will become Classes and all relations would be represented as One to many relations. Add attributes Start_time and Finish_time in all the classes. The mapped UML diagram is shown in the following figure:

9.3. Ontological Constraints:


Every class in the class diagram has to follow some rules which are shown below (shown in OCL): start time <= its finish time start time >= the start time of its antecedents (if any) start time <= the finish time of its antecedents (if any) finish time <= the finish time of its antecedents (if any) cascade the finish of an object to all of its dependent objects (if not already finished) start time <= real time finish time <= real time

88 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Let us look at these rules for allocated class: Class day: start time <= its finish time Start time >= the start time of Week. Start time <= the finish time of Week. Finish time <= the finish time of Week. If finish time is null and finish time of Week is not null, it implies finish time of day is equal to finish time of Week. start time <= real time finish time <= real time

Similarly these rules are defined for each and every class in a class diagram.

9.4. Database design in MS Access:


The database for calendar system is designed in MS Access, which supports temporal databases. It is easy to design tables and define relations between them using MS Access. As most of the part involves graphical interface rather than coding we can easily define data types, validation rules and other properties of tables and columns in them. The tables and relations between them in the database are shown below:

Fig 9.4. Screenshot of Tables in the database.


89 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Each and every table in the database has a start time and a finish time attribute. The start time for the UOG is the start date of the University or the day on which the university is formed. Start time for an event is the time when an event starts and finish time is the time at which an event ends. Start time for a place (venue) is the time when it was formed and finish time is the time when it is removed. Start time for a year is the day on which an academic year begins and finish time is the day on which the academic year ends. For example, the academic year 2008/2009 starts on 1st September 2008 and ends on 31st August 2009. Start time of a term is the day when the term starts and finish time is the day when the term finishes in that particular year. For example, in the academic year 2008/09, term 1 starts on 22nd September 2008 and ends on 14th December 2008. Start time of a week is the date on which the week starts and finish time is the day on which a week finishes. Usually Monday is the start day of the week and Sunday is the last day of a week. In week table the start date is defined but not the start day. Start time of the day is the time when the university working hours start and finish time is the time when the last hour of the day. Usually university events take place after 9AM and before 8PM on any day. The timeslot has hour based time periods. Any event will be allocated in the slots of hours. Start time and finish time differs by hours. Allocated table has the start time and finish time. The start time is the time on which the allocation of time to the events is started and the finish time would be the time when the allocation would be stopped. At table has the attributes start time and finish time. The start time is the time when the events are allocated a time slot at a place. Finish time would be the time when the allocation of events at a place would stop. The following screenshot of year table shows the example how data is arranged in the tables.

90 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Figure 9.5. Screenshot of Data in the year table. Thus the database for the university calendar is designed in MS Access and the proper data is entered in to the database.

9.5. Implementation in .Net:


The front end user interface screens are designed using .Net framework. I am using Asp.Net technology with default language C#. The advantage of using .net framework is that we need not know the coding in any language. With a little knowledge about web designing and the building language, we can develop good projects. The implementation starts with the design of a welcome page, before going in detail let us look at some features from the following screenshot of the .net application: When we create a new page we can select different tools from tool box on the left hand corner. The tools are categorized according to their functionality. The database can be added using server explorer on the right hand corner. Solution explorer on the top right corner gives all the files in the website. The properties window below solution explorer will give the properties of the selected field. The center part of the application is used for designing the website. We can view and design the website in three different views. They are design view, Source view (code) and split view (both merged). The screenshot below shows a split view of the web page default.aspx.

91 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Figure 9.6. .Net Framework application. We can run the web page in a browser. From the Debug menu select start Debugging. Then you will be presented with the first page of the website. The following screenshots show all the pages in the website. Welcome Page:

Figure 9.7. Screenshot of the start page (Default.aspx).


92 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

When we click on continue, we will be directed to the next page Default1.aspx, in which we need to select the academic year for viewing the events in that year. The screenshot of it is shown below:

Figure 9.8. Screenshot of calendar selection page (Default1.aspx). When I select the year, I will be directed to a page where I can view the events in that year. The screenshots of all the years are shown below:

93 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Calendar Year 2006/2007:

Figure 9.9. Screenshot of the web page for year 2006/07 (Default4.aspx). Calendar Year 2007/2008:

Figure 9.10. Screenshot of the web page for year 2007/08 (Default3.aspx).
94 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Calendar Year 2008/2009:

Figure 9.11. Screenshot of the web page for year 2008/09 (Default2.aspx). Calendar Year 2009/2010:

Figure 9.12. Screenshot of the web page for year 2009/10 (Default5.aspx).
95 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Let us now look at the code behind the screens. If we look at the code of the calendar 2008/2009 in the figure below:

Figure 9.13. Screenshot of code behind web page for the calendar year 2008/09. The items to be noted are Grid view, Data Format String, Access Data Source and select command. A Grid view is a data item from the tool box, using which we can view the data from the database. A Data Format String is the command used for formatting the data. It returns the data in the format which you have selected. Access Data Source is the data base to which I am connected and the path is included in the command. Select Command is the sql command which selects the data from the tables in the database. All these coding and designing part can be done without writing the code by designing the page using design view. The following screenshot shows the selection of grid view from the data category in the tool box. All that we need to it is select and drop it.

96 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Figure 9.14. Screenshot of Grid view option. We can configure database by selecting it from the Grid view properties as shown in the following figure:

Figure 9.15. Screenshot of Access Database (baba1.mdb) Selection.

97 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Then we can specify sql query using query builder where we can graphically select columns and the sort order and also we can create filters. It is shown in the following figure.

Figure 9.16. Screenshot for selecting columns from tables. Let us look at the sql query in the following figure.

Figure 9.17. Sql statement for viewing data on the web page.
98 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

There is a condition on the data using Where statement. The condition is that only those columns are selected where the date of the event is between the dates 1/sep/2008 and 31/Aug/2009. Thus we can only view the events in this webpage which refers to the year 2008/2009. Datevalue is a function which returns the expressed date. Similarly in all other pages the date value is changed according to the calendar they represent. Thus the calendar system is implemented using .Net framework.

99 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Chapter10

Testing & Conclusion:


100 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

The testing of an application can be done either manually or by automation. Automation testing can be done using testing applications like QTP, Load Runner etc. However, I am going to test my application manually in the following ways.

10.1. Usability Testing:


It is the evaluation of graphical user interface to measure the quality of users experience while interacting with the system. Let us now test various factors that influence user experience. Navigation: All the pages are provided with navigation links which helps user to easily navigate between pages. At the bottom of calendar web page there is a link to go back to main page. The main links for selecting the years is also clearly specified.

Figure10.1. Screenshot of Navigation links testing. Look and Feel: The look of the page is simple and the columns are arranged in an order, which helps user in reading the calendar. The speed of navigating between the pages is good. The calendar shows the week number, date and time of an event which will be taking place at the specified venue. So it is easy to sort by day and week.

101 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

10.2. Functional Testing:


The functional testing is also called as requirements testing. It involves the testing to identify whether or not all the requirements are satisfied or not? It includes the following: Compatibility Testing: I have tested it in different browsers; it supports all the major web browsers. The following screenshots show the data in Safari and Mozilla web browsers.

Figure 10.2. Screenshot for compatibility testing.

Figure 10.3. Screenshot for compatibility testing.


102 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Database Testing: This testing includes the test of all the features of database and also the test of data being entered in to the database. Let us test the table YEAR. The year table and its relation wit UOG table is shown in the figure below:

Let us now look at the ontological rules for the Year table. 1. 2. 3. 4. 5. Start_date of Year <= Finish_date of Year. Start_date of Year >= Start_date of UOG. Start_date of Year <= Finsh_date of UOG. Finish_date of Year <= Finish_date of UOG. If Finish_date of Year == Null and Finsh_date of UOG != Null Implies Finsh_date of Year = Finsh_date of UOG. 6. Start_date of Year and Finish_date of Year <= Current Date.

103 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Let us check each rule in the database by entering wrong data. For the first rule, if I enter the start date greater than finish date, the following error was shown:

Fig 10.5. Screenshot of ontological rules testing 1. It shows that it obeys the first rule. This is achieved by giving a validation rule in the table properties as shown in the following figure.

Fig 10.6. Screenshot of Validation rules in Access.


104 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Rules 2,3,4 and 5 cannot be embedded in the database, because we cannot compare the columns in a table with the columns of other tables in Access. However these can be achieved if a particular value for start and finish time of the antecedent are know. For example if start date of UOG is 1/09/1992, then the rule 2 can be specified as shown in the figure below:

Fig 10.7. Screenshot of Validation rules in Access.

If there is a finish time for UOG then there is no question of specifying any rules because academic year doesnt exist without UOG. However rule 6 is achieved by setting up a validation rule <= now(). It returns the current system date. If the date entered is greater than the current system date then an error message will appear as shown in the following figures.

105 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

Fig 10.8. Screenshot of Validation rules in Access.

Fig 10.9. Screenshot of Validation rules in Access.


106 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

10.3. Test Report:


The application passed the testing phase successfully but there is one failure regarding the embedding of ontological rules in the database. These rules could not be embedded in the Access database as the validation rules for a table cannot be expressed with columns of other tables. But the data was manually checked in all the tables. The data in the tables was manually entered such that it satisfies all the ontological rules. Thus the testing of database is successfully completed.

10.4. Conclusion:

107 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

References:
1. Nachum Dershowitz & Edward M. Reingold. (2008) Calendrical Calculations, 3rd Edn, Cambridge University Press, New York. 2. Anthony F. Aveni. (1995) The Empires of Time: Calendars, Clocks and Cultures, Kondansha America, USA. 3. Barbara Adam. (1994) Time & Social Theory, Polity Press, Cambridge, U.K. 4. Ades Y, Navid Karimi Sani, Manos Nistazakis, Iman Poernomo, Mohammad Yamin, George Tsaramirsis, Implementing SNF Compliant Software: MDA and Native Technology, Proceedings of the 11th International Conference in Informatics and Semiotics in Organizations, an IFIP WG8.1 Working Conference, 11-12 April, 2009, Beijing, China. 5. Ades Y, Farouk Ben Oman, Iman Poernomo, George Tsaramirsis, Mapping Ontology Charts to Class Diagrams: an SNF Preserving Transformation, Proceedings of the International Conference on Organizational Semiotics: Complexity in Organizational and Technological Systems. ICOS2007, 24-26 July, 2007, Sheffield Hallam University, UK. 6. Stamper, R. (1994) Social norms in requirements analysis an outline of MEASUR, Chapter 5 of Requirements Engineering: Social and Technical Issues (edited by Jirotka, M. and Gougen J.), New York Academic Press. 7. E. G. Richards (1998), Mapping Time: The Calendar and its History, Oxford University Press, UK. 8. Ahmad Birashk (1993), A comparative calendar of the Iranian, Muslim Lunar, and Christian Eras for three thousand years (1260 B.H.-2000 A.H./639 B.C.-2621 A.D.), 1st series, Mazda Publishers & Bibliotheca Persica, New York. 9. G.S.P. Freeman- Greenville (1995), The Islamic & Christian Calendars, First Edn, Garnet Publishing Ltd, UK. 10. Thuan Thai and Hoang Q. Lam (2002), .Net Framework Essentials, 2nd Edn, OReilly & Associates, USA. 11. Fritz Onion & Keith Brown (2007), Essential Asp.Net 2.0 Microsoft .Net Essentials, Pearson Education Inc, USA.

108 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

12. Margaret Kaye (2003), The Greenwich Effect-A companion to the home of GMT, Librario
Publishing Ltd, UK.

13. Richard T. Snodgrass (2000), Developing Time oriented Database applications, Morgan Kaufmann Publishers, San Francisco, California. 14. Scott McEwen (2004). IBM Developer Works, an Introduction to Requirements Analysis. Available from: <http://www.ibm.com/developerworks/rational/library/4166.html?S_TACT=105AGX78 &S_CMP=HP> [Accessed: 28/07/09] 15. The Standish Group (1995). The CHAOS Report on project failure. Available from: <http://www.standishgroup.com/sample_research/chaos_1994_1.php> [Accessed: 01/08/09] 16. Osmar Zaiane (1998). Introduction to the Object Oriented Data Model. Available from: <http://www.cs.sfu.ca/CC/354/zaiane/material/notes/Chapter8/node3.html> [Accessed: 01/08/09] 17. What is an Invention Date, a video available at:
http://www.youtube.com/watch?v=O6RBRB58G74 [Accessed: 28/07/09]

18. J J O'Connor and E F Robertson, A history of time: Classical Time. Available from: http://www-history.mcs.st-andrews.ac.uk/HistTopics/Time_1.html [Accessed: 05/08/09] 19. Alistair Boddy-Evans, Ancient Egypt: Father of Time, The Origin of Modern Calendars. Available from: http://africanhistory.about.com/library/weekly/aa033101a.htm [Accessed: 10/08/09] 20. M.H. KrishnaSwamy The Concept of Time in Indian Mythology. Available from: http://www.templenet.com/beliefs/concept_of_time.htm [Accessed: 07/08/09] 21. Article on Greenwich, Longitude, Prime Meridian & GMT by BBC (2005). Available at: http://www.bbc.co.uk/london/content/articles/2005/04/21/longitude_feature.shtml [Accessed: 08/08/09] 22. RAF MILDENHALL (2008), An article on The history of British Summer Time, Available at: http://www.mildenhall.af.mil/news/story.asp?id=123045779 [Accessed: 19/08/09] 23. Waleed A. Muhana (2007), Islamic Calendar- History and Motivation, Available at: http://www.al-inaam.com/library/calendar3.htm [Accessed: 16/08/09]

109 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

24. Leow Choon Lian (2000), Academic Exercise on Indian Calendars, National University of Singapore, Available at: http://www.math.nus.edu.sg/aslaksen/projects/lcl.pdf [Accessed: 21/08/09] 25. Time Consult (2005), what is a Temporal Database? Available at: http://www.timeconsult.com/TemporalData/TemporalDB.html [Accessed: 22/08/09] 26. Oracle Documentation on NLS_Calendar, Oracle Database reference 10g2. Available at: http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams119.htm [Accessed: 14/08/09] 27. Features and benefits of Sun Java System Calendar Server. Available at: http://www.sun.com/software/products/calendar_srvr/features.xml [Accessed: 11/08/09] 28. Date/Time Data types, Microsoft Access Help Documentation. Available at: http://office.microsoft.com/en-gb/access/HA012327391033.aspx?pid=CH100728931033 [Accessed: 02/09/09] 29. Simon Sheppard, Oracle Data types. Available at: http://ss64.com/ora/syntax-datatypes.html [Accessed: 03/09/09] 30. Calendar Systems, Oracle language support guide by Oracle developers. Available at: http://www.camden.rutgers.edu/HELP/Documentation/Oracle/server.815/a67789/appa.ht m#957803 [Accessed: 03/09/09] 31. Date and Time Data Types and Functions (Transact-SQL), Microsoft Software Developers Network. Available at: http://msdn.microsoft.com/en-us/library/ms186724.aspx [Accessed: 01/09/09] 32. Cast and Convert Functions, Microsoft Software Developers Network. Available at: http://msdn.microsoft.com/en-us/library/aa226054(SQL.80).aspx [Accessed: 02/09/09] 33. .Net Framework Class Library, Microsoft Software Developers Network. Available at: http://msdn.microsoft.com/en-us/library/ms229335.aspx [Accessed: 04/09/09] 34. Greenwich University Academic Calendar for the year 2009/10, Available at: http://www.gre.ac.uk/offices/academic-council/university-calendar/calendar-2009-10 [Accessed: 28/07/09] 35. Greenwich University Academic Calendar for the year 2008/09, Available at: http://www.gre.ac.uk/offices/academic-council/university-calendar/calendar-2008-09 [Accessed: 28/07/09]

110 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

36. Greenwich University Academic Calendar for the year 2007/08, Available at: http://www.gre.ac.uk/offices/academic-council/university-calendar/calendar-2007-08 [Accessed: 28/07/09] 37. Greenwich University Academic Calendar for the year 2006/07, Available at: http://www.gre.ac.uk/offices/academic-council/university-calendar/calendar-2006-07 [Accessed: 28/07/09] 38. L.E.Doggett, Calendars and their History, Available at: http://astro.nmsu.edu/~lhuber/leaphist.html
[Accessed: 30/07/09]

111 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t

You might also like