final report

111
1 | Msc Information Systems Management 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.

Upload: shiva1250

Post on 04-Aug-2015

34 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 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.

Page 2: Final Report

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.

Page 3: Final Report

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

Page 4: Final Report

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

Page 5: Final Report

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

Page 6: Final Report

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

Page 7: Final Report

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

Page 8: Final Report

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

Page 9: Final Report

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

Page 10: Final Report

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:

Page 11: Final Report

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

Page 12: Final Report

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.

Page 13: Final Report

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.

Page 14: Final Report

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.

Page 15: Final Report

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.

Page 16: Final Report

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.

Page 17: Final Report

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.

Page 18: Final Report

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:

Page 19: Final Report

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:

Page 20: Final Report

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.

Page 21: Final Report

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.

Page 22: Final Report

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.

Page 23: Final Report

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:

Page 24: Final Report

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.

Page 25: Final Report

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).

Page 26: Final Report

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.”

Page 27: Final Report

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:

Page 28: Final Report

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.

Page 29: Final Report

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:

Page 30: Final Report

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.

Page 31: Final Report

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”

Page 32: Final Report

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.

Page 33: Final Report

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:

Page 34: Final Report

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.”

Page 35: Final Report

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.

Page 36: Final Report

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.

Page 37: Final Report

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.

Page 38: Final Report

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.

Page 39: Final Report

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.

Page 40: Final Report

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.

Page 41: Final Report

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

Page 42: Final Report

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.

Page 43: Final Report

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.

Page 44: Final Report

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?

Page 45: Final Report

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:

Page 46: Final Report

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.

Page 47: Final Report

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.”

Page 48: Final Report

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.

Page 49: Final Report

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).

Page 50: Final Report

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.

Page 51: Final Report

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.

Page 52: Final Report

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).

Page 53: Final Report

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.

Page 54: Final Report

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.

Page 55: Final Report

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.

Page 56: Final Report

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.

Page 57: Final Report

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.

Page 58: Final Report

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:

Page 59: Final Report

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.

Page 60: Final Report

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.

Page 61: Final Report

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

Page 62: Final Report

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.

Page 63: Final Report

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.

Page 64: Final Report

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.

Page 65: Final Report

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?

Page 66: Final Report

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.

Page 67: Final Report

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

Page 68: Final Report

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.

Page 69: Final Report

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:

Page 70: Final Report

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.

Page 71: Final Report

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:

Page 72: Final Report

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

Page 73: Final Report

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

Page 74: Final Report

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:

Page 75: Final Report

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.

Page 76: Final Report

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:

Page 77: Final Report

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.

Page 78: Final Report

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.

Page 79: Final Report

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:

Page 80: Final Report

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.

Page 81: Final Report

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:

Page 82: Final Report

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.

Page 83: Final Report

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.

Page 84: Final Report

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:

Page 85: Final Report

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

Page 86: Final Report

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:

Page 87: Final Report

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.

Page 88: Final Report

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

Page 89: Final Report

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.

Page 90: Final Report

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.

Page 91: Final Report

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.

Page 92: Final Report

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).

Page 93: Final Report

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:

Page 94: Final Report

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).

Page 95: Final Report

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).

Page 96: Final Report

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.

Page 97: Final Report

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.

Page 98: Final Report

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.

Page 99: Final Report

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.

Page 100: Final Report

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:

Page 101: Final Report

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.

Page 102: Final Report

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.

Page 103: Final Report

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.

Page 104: Final Report

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.

Page 105: Final Report

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.

Page 106: Final Report

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.

Page 107: Final Report

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:

Page 108: Final Report

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.

Page 109: Final Report

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]

Page 110: Final Report

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]

Page 111: Final Report

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]