Final Report
Transcript of Final Report
1 | 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 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 : SHIVAKUMAR SAMBARI
Student ID : 000494629
Program of Study:
MSC Information Systems Management.
Date Proposal Submitted : 27/06/2009
Project Hand In Date : 27/09/2009
Supervisor : Mr. Yasser Ades.
2 | 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
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.
3 | 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
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 don‟t 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 isn‟t 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
4 | 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
Table of Contents:
Acknowledgements………………………………………………………………………………..2
Abstract……………………………………………………………………………………………3
Table of Contents………………………………………………………………………………….4
List of Figures……………………………………………………………………………………..7
List of Tables……………………………………………………………………………………...9
CHAPTER 1: PROJECT INTRODUCTION
1.1. Project Introduction…………………………………………………………………11
1.2. Project Motivation…………………………………………………………………..13
1.3. Aims & Objectives………………………………………………………………......14
1.4. Deliverables…………………………………………………………………………15
1.5. Scope………………………………………………………………………………..16
1.6. Chapters Summary………………………………………………………………….16
CHAPTER 2: METHODOLOGY
2.1. Introduction…………………………………………………………………………19
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. Stability……………………………………………………………………27
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
5 | 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
4.1. Introduction…………………………………………………………………………34
4.2. History………………………………………………………………………………36
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 Calendar……………………………………………54
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/Venue……………………………………………………………57
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
6 | 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 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
7 | 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
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
8 | 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 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
9 | 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
List of Tables:
Table 1.1. Top three project impairment factors............................................................................13
Table 4.1. Measuring Time in Yuga‟s 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
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
Chapter 01
Project
Introduction:
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
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 people‟s 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
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
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.
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
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 project‟s 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.
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
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 organization‟s 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.
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
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.
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
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.
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 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.
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
Chapter 02
Methodology:
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.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:
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. 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.
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
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 supervisor‟s 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.
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
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.
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
Chapter 03
Literature
Review:
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. 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.
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
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).
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
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.”
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.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 doesn‟t entail the above mentioned points is
considered as a benign change. The following figure shows the example of both changes:
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.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.
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
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:
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
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.
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
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”
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
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.
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
Chapter 04
Concept of 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
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 it‟s 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.”
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
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.
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
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.
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
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.
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
Some civilizations used markings on the forehead of a person to represent his age at that time.
The passage of a person‟s 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.
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
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 sun‟s 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 Kaastha‟s make a Kshanam and 12
Kshanam‟s 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.
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
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 Pitru‟s day and the night time of a
human month constitutes Pitru‟s night.
Next, the measure of time is in the world of Gods or Deva’s. 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 Yuga’s. There are four Yuga‟s called Kali Yuga
(the current yuga), Dwapara Yuga, Treta Yuga and Krita Yuga. Each of these yuga‟s 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 Yuga‟s according to Indian Mythology.
A cycle of these four yuga‟s 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 Yuga‟s. 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.
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
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 Brahma‟s 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 1800‟s. Different towns used their own local time
based on the noon of the day, which not only created problems for railway services but also
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
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.
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
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.
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
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?
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
Chapter 05
Study of
Calendrical Systems:
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
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.
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
English Day Armenian Day name
Sunday Kiraki
Monday Erkoushabathi
Tuesday Erekhshabathi
Wednesday Chorekhshabathi
Thursday Hingshabathi
Friday Urbath
Saturday 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 Luni-
Solar 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.”
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
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 Islamic Day Number
Sunday yawm al-ahad The First day
Monday yawm al-ithnayn The Second day
Tuesday yawm ath-thulaathaa The Third day
Wednesday yawm al-arbia a The Fourth day
Thursday yawm al-khamis The Fifth day
Friday yawm al-jum a The Sixth day
Saturday yawm as-sabt 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.
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
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 Number of Days
Muharram** 30
Safar 29
Rabi'a I 30
Rabi'a II 29
Jumada I 30
Jumada II 29
Rajab** 30
Sha'ban 29
Ramadan*** 30
Shawwal 29
Dhu al-Q'adah** 30
Dhu al-Hijjah** 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).
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. 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.
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.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 No of Days
January 31
February 28 , 29(leap year)
March 31
April 30
May 31
June 30
July 31
August 31
September 30
October 31
November 30
December 31
Table 5.4. Months in a Gregorian calendar.
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.
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
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 Indian Day
Sunday Ravivara
Monday Somavara
Tuesday Mangalavara
Wednesday Budhavara
Thursday Guruvara
Friday Shukravara
Saturday 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).
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
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 Prabhava 31 Hemalamba
2 Vibhava 32 Vilamba
3 Sukla 33 Vikarin
4 Pramoda 34 Sarvari
5 Prajapati 35 Plava
6 Angiras 36 Subakrt
7 Srimukha 37 Sobhana
8 Bhava 38 Krodhin
9 Yuvan 39 Vishwa vasu
10 Dhatr 40 Parabhava
11 Isvara 41 Plavanga
12 Bahudhanya 42 Kilaka
13 Pramathin 43 Saumya
14 Vikrama 44 Sadharana
15 Vrsa 45 Virodhakrt
16 Chitrabhanu 46 Paridhavin
17 Subhanu 47 Pramathin
18 Tarana 48 Ananda
19 Parthiva 49 Raksasa
20 Vyaya 50 Anala
21 Sarvajit 51 Pingala
22 Sarvadharin 52 Kalayukta
23 Raksasa 53 Siddharthin
24 Vikrta 54 Raudra
25 Khara 55 Durmati
26 Nandana 56 Dundubhi
27 Vijaya 57 Rudhirodgarin
28 Jaya 58 Raktaksa
29 Manmatha 59 Krodhana
30 Durumukha 60 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.
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
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 Zodiac Sign
1 Madhu Aries
2 Madhava Taurus
3 Sukra Gemini
4 Suchi Cancer
5 Nabhas Leo
6 Nabhasya Virgo
7 Issa Libra
8 Urja Scorpio
9 Sahas Sagittarius
10 Sahasya Capricorn
11 Tapas Aquarius
12 Tapasya Pisces
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.
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
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 Chaitra
2 Vaishaka
3 Jyestha
4 Ashada
5 Sravana
6 Bhadrapada
7 Asvina
8 Kartika
9 Margasira
10 Pausha
11 Magha
12 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.
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. 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.
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
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.
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
Chapter 06
Software Tools
Support for
Calendar Systems:
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. 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 doesn‟t). So this kind of situation gives irregularities in
analyzing data. If a system doesn‟t 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.
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.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. Person‟s finish time would be his date of death. If an object‟s
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.
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
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
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
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.
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.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.
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. 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.
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
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?
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
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.
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.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
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
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.
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
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 Greenwich‟s
students use this calendar for scheduling events. A screenshot of this calendar is shown below:
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
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.
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
Chapter 07
University of Greenwich
Academic Calendar
Case Study:
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
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 Start Date Finish Date Total Weeks
Term 1 25th
September 2006 17th
December 2006 12
Christmas vacation (3)
Term 2 8th
January 2007 25 th
March 2007 11
Easter Break (3)
Term 3 16th
April 2007 1st July 2007 11
Total 40
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
Teaching Weeks:
Term Teaching Start Date Finish Date Total Weeks
Term 1 2nd October 2006 15
th December 2006 12
Term 2 8th
January 2007 23 th
March 2007 11
Term 3 16th
April 2007 27th
April 2007 2
Total 25
Calendar year 2007-2008:
Term Start Date Finish Date Total Weeks
Term 1 24th
September 2007 16th
December 2007 12
Christmas vacation (3)
Term 2 7th
January 2008 16 th
March 2008 10
Easter Break (3)
Term 3 7th
April 2008 29th
June 2008 12
Total 40
Teaching Weeks:
Term Teaching Start Date Finish Date Total Weeks
Term 1 1st
October 2007 15th
December 2007 12
Term 2 7th
January 2008 14 th
March 2008 10
Term 3 7th
April 2008 2nd
May 2008 4
Total 26
Calendar year 2008-2009:
Term Start Date Finish Date Total Weeks
Term 1 22nd
September 2008 14th December 2008 12
Christmas vacation (3)
Term 2 5th January 2009 22
nd March 2009 11
Easter Break (3)
Term 3 13th April 2009 28
th June 2009 11
Total 40
Teaching Weeks:
Term Teaching Start Date Finish Date Total Weeks
Term 1 29th
September 2008 12th December 2008 12
Term 2 5th January 2009 20
th March 2009 11
Term 3 13th April 2009 8
th May 2009 4
Total 27
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
Calendar year 2009-2010:
Term Start Date Finish Date Total Weeks
Term 1 21st September 2009 20
th December 2009 13
Christmas vacation (3)
Term 2 11th January 2010 28
nd March 2010 11
Easter Break (3)
Term 3 19th April 2010 27
th July 2010 10
Total 40
Teaching Weeks:
Term Teaching Start Date Finish Date Total Weeks
Term 1 28th
September 2009 18th December 2009 13
Term 2 11th January 2010 26
th March 2010 11
Term 3 19th April 2010 7
th May 2010 3
Total 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:
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
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.
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
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:
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
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 (2
nd 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.
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
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.
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
Chapter 08
.Net Overview:
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
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.
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
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:
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
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.
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.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.
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.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:
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
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
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
Chapter 09
Design &
Implementation:
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.1. Design of Ontology Chart:
Let us start designing step by step. The university has an academic calendar year starting from 1st
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.
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
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
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
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.
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
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.
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.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.
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
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).
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
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:
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 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).
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
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).
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
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.
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
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.
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
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.
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
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.
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
Chapter10
Testing & Conclusion:
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
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 user‟s 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.
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
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.
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
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. Start_date of Year <= Finish_date of Year.
2. Start_date of Year >= Start_date of UOG.
3. Start_date of Year <= Finsh_date of UOG.
4. Finish_date of Year <= Finish_date of UOG.
5. 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.
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
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.
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
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 doesn‟t 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.
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
Fig 10.8. Screenshot of Validation rules in Access.
Fig 10.9. Screenshot of Validation rules in Access.
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
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:
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
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, O‟Reilly &
Associates, USA.
11. Fritz Onion & Keith Brown (2007), Essential Asp.Net 2.0 – Microsoft .Net Essentials,
Pearson Education Inc, USA.
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
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]
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
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]
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
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]