Professional Documents
Culture Documents
Research Study on different calendar systems And Design of University of Greenwich academic calendar.
Name Student ID
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.
ABSTRACT:
We cannot imagine a world without the concept of Time. We all knew the Time as a digit like 9AM, as an evening, morning or night, as a season like spring time, Summer time etc. Everyone has a different view on time, depending on the context they are referring to. We all use these time concepts but most of us dont know how this concept of time has started. This project investigates the history behind the Time concept and also how different communities represent time. The work includes the research on how the people in the past used to measure, label and represent time. How accurate it was? How this concept helped in creating calendars? We can also create a separate calendar for our own use; it may be a personal calendar which has the list of events and the time at which those events take place. But these types of calendars represent time from other calendars. However such calendars are very useful to us in scheduling our events, so that we can ensure smooth flow of our work. At the University of Greenwich, there is a academic calendar which lists all the events in the university, however there isnt any system designed for the calendar. This project includes the design and implementation of a academic calendar for the university.
Key words associated with the project: Semantic analysis, ontology charts, requirements, cultures and traditions.
Msc Courses studied that contribute towards this dissertation: System planning and Management Information methods and cultures Requirements Analysis
Table of Contents:
Acknowledgements..2 Abstract3 Table of Contents.4 List of Figures..7 List of Tables...9 CHAPTER 1: PROJECT INTRODUCTION 1.1. Project Introduction11 1.2. Project Motivation..13 1.3. Aims & Objectives......14 1.4. Deliverables15 1.5. Scope..16 1.6. Chapters Summary.16 CHAPTER 2: METHODOLOGY 2.1. Introduction19 2.2. Linear Sequential Model.19 2.3. Analysis...20 2.3.1. Planning...20 2.3.2. Literature Search..20 2.3.3. Learning the .Net framework...21 2.3.4. Case study selection.21 2.4. Design.21 2.5. Implementation...22 2.6. Evaluation & System Testing.22 CHAPTER 3: LITERATURE REVIEW 3.1. Object modeling concepts...24 3.1.1. Data model...24 3.1.2. Relationships in object model..25 3.1.3. Mapping an object model to relational model.26 3.1.4. Stability27 3.2. Semantic Analysis...28 3.3. Ontology Charts..29 3.4. Semantic normal form.31 3.5. Ontological constraints...31 3.6. Historical database principles.32
CHAPTER 4: CONCEPT OF TIME 4.1. Introduction34 4.2. History36 4.3. Egyptian civilization and their concept of time..38 4.4. Indian civilization and their concept of time..39 4.5. Greenwich Mean Time...41 4.6. Chapter Summary...44 CHAPTER 5: STUDY OF CALENDRICAL SYSTEMS 5.1. Introduction to Calendars and their basics..46 5.2. Islamic calendar system (Lunar).47 5.2.1. History..47 5.2.2. Structure...48 5.2.3. Festivals...49 5.3. Gregorian Calendar System (Solar)50 5.3.1. History.50 5.3.2. Structure...51 5.3.3. Festivals...51 5.4. Indian Calendar System (Luni Solar).52 5.4.1. History.52 5.4.2. Structure...52 5.4.2.1. Hindu Solar Calendar54 5.4.2.2. Luni Solar Calendar..54 5.5. Institution Specific Calendars.56 5.5.1. Calendar Time..56 5.5.2. Activities/Events..57 5.5.3. Location/Venue57 5.6. Chapter Summary...57 CHAPTER 6: SOFTWARE TOOLS SUPPORT FOR CALENDARS 6.1. Concept of Time in Software applications..59 6.2. Database time related concepts...61 6.3. SQL Database.64 6.4. Oracle Database..67 6.5. MS Access Database...68 6.6. Java Technology.69 6.7. .Net Technology.............70 6.8. Chapter Summary...70
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
List of Figures:
Fig 2.1. Linear Sequential Model..................................................................................................19 Fig 2.2. Review Process in the Model...........................................................................................20 Fig 3.1. Super Class Sub Class Relation........................................................................................24 Fig 3.2. Association Notation in UML and ER diagrams..............................................................25 Fig 3.3. Aggregation Relation........................................................................................................25 Fig 3.4. Generalization Relation example......................................................................................26 Fig 3.5. Example of Malignant & Benign change.........................................................................27 Fig 3.6. Antecedent Dependent Relation......................................................................................29 Fig 3.7. Role name representation of carriers................................................................................30 Fig 3.8. University of Greenwich Library Ontology chart............................................................30 Fig 4.1. The creation according to Greeks.....................................................................................36 Fig 4.2. Creation in Genesis...........................................................................................................37 Fig 4.3. First Written Calendar......................................................................................................37 Fig 4.4. Timepiece from French Revolutionary period.................................................................37 Fig 4.5. Nuer Tribe........................................................................................................................38 Fig 4.6. Water Clock.....................................................................................................................39 Fig 4.7. Lines of Longitudes.........................................................................................................42 Fig 4.8. World Standard Time Zones............................................................................................43 Fig 5.1. A Lunar Month................................................................................................................48 Fig 5.2. Time line showing the adaption of Gregorian Calendar by nations................................50 Fig 5.3. Personal Calendar............................................................................................................56 Fig 6.1. Historical Database Example...........................................................................................59 Fig 6.2. Finish Cause Example......................................................................................................60 Fig 6.3. Library Database Example...............................................................................................61 Fig 6.4. Database Schemas............................................................................................................62 Fig 7.1. UOG Semester 1 Teaching Schedule...............................................................................76 Fig 7.2. UOG Semester 2 Teaching Schedule...............................................................................76 Fig 7.3. CMS Calendar..................................................................................................................77 Fig 7.4. Three Term Schedule of Dates 2009/10...........................................................................78 Fig 8.1. .Net Class Example...........................................................................................................80 Fig 8.2. Common Language Runtime............................................................................................80 Fig 8.3. .Net framework conceptual view......................................................................................81 Fig 8.4. Asp.Net Architecture........................................................................................................81 Fig 8.5. Example of Asp.Net Applications....................................................................................82 Fig 8.6. Example of VB.Net Language code.................................................................................83 Fig 8.7. ADO.Net Framework.......................................................................................................84 Fig 9.1. Ontology Chart Design 1..................................................................................................87 Fig 9.2. UOG Academic calendar Ontology chart.........................................................................87
7|Msc Information Systems Management
Fig 9.3. Class Diagram...................................................................................................................88 Fig 9.4. Screenshot of Tables in the Database...............................................................................89 Fig 9.5. Screenshot of Data in the Year Table...............................................................................91 Fig 9.6. .Net framework application..............................................................................................92 Fig 9.7. Screenshot of the Start page.............................................................................................92 Fig 9.8. Screenshot of calendar selection page.............................................................................93 Fig 9.9. Screenshot of calendar year 2006/07................................................................................94 Fig 9.10. Screenshot of calendar year 2007/08..............................................................................94 Fig 9.11. Screenshot of calendar year 2008/09..............................................................................95 Fig 9.12. Screenshot of calendar year 2009/10..............................................................................95 Fig 9.13. Screenshot of code behind web page for the calendar year 2008/09.............................96 Fig 9.14. Screenshot of Grid view option.....................................................................................97 Fig 9.15. Screenshot of Access Database (baba1.mdb) Selection.................................................97 Fig 9.16. Screenshot for selecting columns from tables................................................................98 Fig 9.17. Sql statement for viewing data on the web page...........................................................98 Fig 10.1. Screenshot of Navigation links testing.........................................................................101 Fig 10.2. Screenshot for compatibility testing.............................................................................102 Fig 10.3. Screenshot for compatibility testing.............................................................................102 Fig 10.4. Year Table....................................................................................................................103 Fig 10.5. Screenshot of ontological rules testing 1......................................................................104 Fig 10.6. Screenshot of Validation rules in Access.....................................................................104 Fig 10.7. Screenshot of Validation rules in Access.....................................................................105 Fig 10.8. Screenshot of Validation rules in Access.....................................................................106 Fig 10.9. Screenshot of Validation rules in Access.....................................................................106
List of Tables:
Table 1.1. Top three project impairment factors............................................................................13 Table 4.1. Measuring Time in Yugas according to Indian Mythology........................................40 Table 4.2. Smaller units of Time measurement in Indian Mythology...........................................40 Table 4.3. Bigger units of measuring time in Indian Mythology...................................................41 Table 5.1. Armenian notation of Days...........................................................................................47 Table 5.2. Islamic Days in a week.................................................................................................48 Table 5.3. Islamic Months.............................................................................................................49 Table 5.4. Months in a Gregorian calendar...................................................................................51 Table 5.5. Indian Day Names........................................................................................................52 Table 5.6. Samvatsara in Indian calendar......................................................................................53 Table 5.7. Solar Months.................................................................................................................54 Table 5.8. Luni Solar Months........................................................................................................55 Table 6.1. Temporal Database example (Table I)..........................................................................62 Table 6.2. Temporal Database example (Table II)........................................................................62 Table 6.3. Temporal Database example (Table III).......................................................................63 Table 6.4. Temporal Database example (Table IV).......................................................................63 Table 6.5. Valid Time State Table.................................................................................................65 Table 6.6. Date limits in sql...........................................................................................................66 Table 6.7. Date & Time Data types in sql......................................................................................66 Table 6.8. Style values for conversion in to Hijri dates.................................................................66 Table 6.9. Date & Time Data types in Oracle................................................................................67 Table 6.10. Date & Time Data types in MS Access......................................................................68 Table 6.11. Calendars supported in .Net........................................................................................70 Table 8.1. List of Languages supported in .Net framework..........................................................85
Chapter 01
Project Introduction:
10 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
1.1.
Project Introduction:
Let us suppose that we are in a world, where there is no concept of a day, a month, a year or in simple time. Now, if I look at my past, I think that by talking to myself I can remember a few moments in my life like being barely able to walk, incapable of tying my shoe lays, playing with friends. I can also remember a few events that occur repeatedly from my childhood to till date like the sunrise and sunset, winter followed by spring which in turn followed by summer. When I grew older and look at my past, I can think of some things like getting married, working in a company, playing with kids etc. In fact these things did not happen with me yet, but I can think of these things as I have an experience of looking at the peoples life around me. In the morning, I can think of having lunch around 1.00 P.M. because I have previous experience by which to anticipate what, if anything will happen next (previous experience of having lunch around 1.00P.M. But at some stage, I can finely divide and sub-divide my different experiences in to different periods like childhood days, school days, summer vacation etc. Here I am not attaching any day or a month or a year to these events as I am unaware of it. I am dividing my life in to different periods according to my convenience and needs. So, is it possible to think of time as an arrow with starting point somewhere in the past to the finishing point somewhere in the future? Is our own consciousness responsible for thinking of sequence of events? I know that life ends at some point, but what happens after that, I cannot think or expect of anything that would happen after that because I do not have any experience of looking after life. Do we advance to another state of existence after ending life and is it going to be cyclic nature of passing through different states of existence as some religions specify? All of these questions and thoughts or expressions can be embraced by a single word, one that evokes all conceivable ideas about how we relate to the one another, to the universe around us and how we relate the occurrence of events; the word is TIME. This is a framework in which we recollect the past and anticipate the future. Time has a lot of meanings. It is not easy to assign a single definition to time. For example, it could be a measurement, a measure of duration between events (duration of a football match, duration of a movie). It could also be a transfer of states in a sequence (before you actually start reading this proposal you might be in different state but when you start reading it you are in reading state and when you finish reading it you would enter in to different state like analyzing/commenting on the proposal). It seems absolute, like something that exists apart from everything else in this world including even my own consciousness. There must be something, some system to organize units of time so that we can arrange events/ thing in an order that suits us. Imagine a world without the concept of time. How can we calculate salaries, interest rates without time? How can we manage traffic signals without using time? How can we identify holidays, festivals without time? It would be tough to imagine a
11 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
world without the concept of time. We need some system to organize time to make our life easy in doing things. Here comes the concept of Calendars and clocks. A calendar is a system of organizing units of time and day is represented as the smallest unit of time in this system. A clock is an instrument used for indicating or measuring time and most commonly a second is the smallest unit of time, but it could be further divided into milliseconds, nanoseconds etc. The common theme of all calendars is the desire to organize units of time to satisfy the needs and preoccupations of the society. They provide basis for planning agricultural, hunting and migration cycles. Any group that adopts a calendar designs it according to their needs, cultural beliefs, religion. Calendars can also be used to represent time according to the needs of a particular organization. Academic calendars are an example for such calendars. They represent time (day/month/year) of the main calendar used in that the region or country in which organization is situated, to notify the events to be done at that time. These calendars use days/months from their regional calendars. But when we look at main calendars which are followed by different communities, some calendars are regulated by astronomical observations while some others are codified in written laws. The principal astronomical cycles are the day (based on the rotation of earth on its axis), the month (based on the revolution of moon around the earth) and the year (based on the revolution of earth around the sun). These calendars are very complex in nature and are very hard to calculate because they are based on astronomical cycles, which are neither perfect nor commensurable. There are mainly 40 calendars being used worldwide. If we look in to different calendar systems, we can classify them in to three types. The first type is solar calendars (based on the position of earth on its revolution around the sun). Gregorian calendar is an example for this type and they use the concept of leap year to maintain synchrony with tropical year. The second type is lunar calendars (based on the position of moon on its revolution around earth). Islamic calendar is an example for this type and the follow lunar phase cycle without regard for the tropical year. The third type is lunisolar calendars (based on the solar and lunar phase cycles). Indian calendar is an example for this type and it uses the concept of adding a month every few years to bring calendar back in phase with tropical year. Most of the calendars use the concept of a day, a month and a year and a cycle of years, but they vary in some aspects like the period of a day (sunrise to sunrise, sunset to sunset etc), number of months used an the number of days in different months. My project investigates how these calendar systems work and why they follow that way different from others, how different communities measure and label time, the level of support provided by the common software development tools and design a temporal DBMS for the University of Greenwich Academic Calendar.
12 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
1.2.
Project Motivation:
Requirements drive almost every action and a task in a software development process. A system development starts with the analysis of requirements and then follows to the next stage. However by using different frameworks, techniques and methodologies like iterative method, we can analyze requirements which can help in ensuring the success of a project. But the person who analyzes and creates requirements specification for a project has to ensure that he provides correct requirements and the requirements specification aligns with the business objectives and continues to do so throughout the project. The IT projects success or failure depends on the different aspects which include in software development life cycle. But according to many researchers and surveyors studying on the subject Why IT Projects fail? reveals that the incorrect requirements and change of requirements overtime contribute more to the failure of a project. According to the recent survey conducted by Standish Group on more than 8000 projects reveal that: 31% of all software projects are cancelled before they are completed ($81 billion waste), 53% of projects cost 189% of their original estimate, 9% of projects are on time and within budget in large companies and 16% of projects are on time and within budget in small companies. The following table reveals that poor user requirements are the main factor causing project failures.
The concept of Time is one of the major areas on which an extensive research can be carried out. Time plays a major role in our daily life; it would be terrific to imagine a world without the concept of time. Any action or work that we do in our daily life is related to time. Time, being so important part of our daily life, I am more interested in studying about it. As a part of my project I need to research and study how different communities measure and label time. Calendars are the one which are related to time and events or action. I was interested in doing a project which is more focused on requirements analysis and which includes an extensive research on the concept of time (calendars). So, I selected the project suggested my project supervisor Mr. Yasser Ades, which is on the design and implementation of calendar system. As my Masters programme is related to Information Systems Management, I believe that this project improves my understanding in this subject area.
13 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
This project involves the study of how well we manage and use information regarding the events and event timings in the university. Managing information, requirements analysis related to each other in many aspects. A good requirements specification and a good design of a system can lead to an effective management of information by a system. All these ideas motivated me to choose the University of Greenwich Academic calendar case study, on which I would be working.
1.3.
The aim of this project is to improve my understanding of the different concepts of requirements analysis, systems modeling and effective ways of information management by implementing the University of Greenwich Academic Calendar. This project involves different activities that test my abilities in understanding and analyzing requirements and designing of a perfect system. In order to achieve this aim, my primary objective is to study and understand the concept of time. It includes study about what is Time, how it was invented, how people measure it, represent it and label it? Calendars are the way through which we can get answers to all these questions. So by studying about different civilizations, how they represent time and on what factors do they calculate time we can easily understand the concept of time. This includes the following activities:
Study and understand the concept of Time. Investigate the techniques for measuring, labeling and representing Time, which includes the study of the following three different types of calendar systems. Gregorian Calendar System (Solar) Islamic Calendar System (Lunar) Indian Calendar System (Luni- Solar)
The next objective is to study about institution specific calendars. The calendars can also be designed for personal use or to schedule activities for an organizations smooth flow of work processes. This includes the study of the following case study:
University of Greenwich Academic Calendar. This includes the study of how the university organizes its activities, how it divides the time, how it schedules events or activities.
The next objective is to do research on the level of support provided by different software tools for developing a calendar system.
14 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
As I would be implementing the case study using .Net framework, I would be studying the different concepts, features and techniques of .Net. This will be then followed by the following objectives:
Develop ontology chart for University of Greenwich academic calendar system. Implementing the calendar system using .Net framework. Testing the developed System. Reviews and Suggestions. Conclusion on the project work.
1.4.
Deliverables:
The following are the deliverables which are produced as a part of my project work:
A literature review which provides the theories, concepts and material which are researched so that they could help me to learn more about my topic area. It provides the information regarding the research being carried out in the project area and information which is helpful in completing my project. This information is gathered from books, journals, conferences and the internet. An ontology chart designed for the University of Greenwich Academic Calendar. A detailed report on the work done which includes the analysis, requirements gathering, designing, implementation, testing and evaluating the project. A material providing information about time concept, calendar systems, software tools etc. A material providing the details of .Net software concepts. A test plan used for testing the developed calendar system of the University of Greenwich. A supplementary material which includes the details of survey conducted based on the need and use of the University of Greenwich Academic Calendar.
15 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
1.5.
Scope:
The calendar can be used for various purposes. In a university there can be many calendars like personal calendars for each student which is used for setting reminders, scheduling events etc. My project is not about developing calendars that set reminders, schedule events. The scope of my project is limited to:
Investigating how different communities measure, label and represent time by studying different calendar systems. Investigate the level of support provided by the software tools in developing the calendar systems. Design and implementation of a calendar system for the University of Greenwich that shows the time scheduled for different events using Terms terminology. Design and implementation of a calendar system for the University of Greenwich that shows the time scheduled for different courses using Semester terminology.
1.6.
Chapters Summary:
Chapter 1: Project Introduction. This chapter gives an overview of the project. It provides information regarding project aims, objectives, scope and deliverables. Chapter 2: Methodology. Gives the details of the method followed for successfully completing the project. Shows the division of work according to the method followed. Chapter3: Literature Review: The literature relevant to the Project work is provided in this chapter. It includes, the concepts of object/data modeling, Semantic Normal Form Theory and Ontology charts.
16 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Chapter 4: Concept of Time: This chapter explains the concept of Time in different terminologies. It explains how different communities measure, label and represent Time. Chapter 5: Study of Calendrical Systems: This chapter includes the study of three main calendars based on astronomical calculations which include Gregorian calendar, Islamic calendar, Indian calendar and the institution specific calendars. Chapter 6: Software Tools support for calendar systems. This chapter provides information regarding the software tools support for Time related concepts and calendar systems. It explains the support with respect to back end databases and front end applications. Chapter 7: University of Greenwich Calendar case study: This chapter gives the information about different calendars and timetables being used at the University of Greenwich and explains how they represent time and events. Chapter 8: .Net Overview. This chapter explains briefly about the concepts of .net and its features. This chapter is necessary for understand the .net technology for the implementation of calendar system. Chapter 9: Design and Implementation of Calendar for the University of Greenwich. This chapter deals with the design of temporal database structure for the university calendar. It includes the design of ontology chart and mapping it in to UML Class diagram. This chapter clearly explains how the system is implemented. The back end database is designed in MS Access database. Front end screens are designed using .Net framework. Chapter 10: Testing and Conclusion: This chapter gives the information of testing conducted on the calendar system. This chapter gives a conclusion on the Project work. It includes critical analysis of Time concepts in software applications and calendar systems briefly.
17 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Chapter 02
Methodology:
18 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
2.1. Introduction:
A methodology is a collection of ideas, principles, concepts and theories which will lead to the successful completion of the project. This project is about improving my skills in analyzing requirements and research ability. This chapter is about different activities and ideas which would help me in completing my project. I would be considering University of Greenwich Academic Calendar case study and implement it in .Net system. First, I would start my work with literature search; it would help me in understanding my project topics in a broader way. Next I would be analyzing the concept of time by studying three different types of calendar systems and then analyze the level of support provided by software tools for calendar systems. At the end I would be implementing University of Greenwich Academic Calendar system.
For ensuring my work is on right track without deviating to other areas and to ensure that the aims and objectives are met, I do a review of my work at the end of each phase. If at all I found any mistakes or I feel the changes are necessary, then I would implement these changes in the specific phase and carry on to the next stage. This process is shown in the Fig 2.2. After completing the testing part, if there are any changes to be made, I would implement these changes in the system. The changes could be in designing or a simple error in coding part. After that, I again test the whole system till I get the system without errors. Each phase of the model is explained below:
19 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
2.3. Analysis:
It could involve works like analyzing user requirements, understand the business system, selection of technology for implementation and all other work that need to be done before design phase. It includes the following sub-stages:
2.3.1. Planning:
It is the part of the project management which includes the analysis of activities and schedules. Planning is very essential before starting any project. Planning has to be made regarding all the areas which influence the project; it could be either budget allocation or resource management or work management or risk analysis etc. It is a plan or a strategy designed for dealing with all the problems that may arise during the project development through proper schedules and plans. As my project is on wider topic, it involves lots of work to be done and to ensure the smooth flow of work; I have designed a schedule of activities in an order. Following this order I will be completing my work on time. I used Work break down structure to simplify my work. I divided the whole work in to a list of chapters focusing on a single activity. A chapter may have sub points which would make the work more clear. I have chosen Greenwich University Calendar for implementation using .Net framework. As I am new to .Net technology, more focus is also led on understanding and practicing this technology.
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.4. Design:
It is a process which includes the design of a blue print of the actual system. It specifies how exactly system looks, what it has to do, how it has to be developed. This design specification is used by the software engineers to build the system by writing codes in the related technology. This phase designs the system with respect to business rules and the user requirements. Basically, it includes two stages of designing for big projects. A High Level Design, which is a design of a system and its modules from top view. A Low Level Design, which is the design of a system in detail of each and every module. Different analysts use different concepts for designing a system. Some of them use Data Flow Diagrams, while some use ER modeling concepts, while some others use UML Diagrams. We can use any technique for designing a system, what matters is how well you design a system. In my project I would be designing the following diagrams in design phase, before going to the implementation phase.
Ontology Charts: They are the graphical representation of relationships between all the affordances and entities. The special property of this chart is that it is SNF- compliant.
21 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
UML Class Diagram: Once. I finish designing ontology chart, I would be mapping ontology chart to UML Class diagram by following a set of guidelines specified by Ades, Y (2008).
This concludes the design part of the system. So, as normal a review of work done so far is conducted and if any changes have to be made, they are implemented before proceeding to next phase.
2.5. Implementation/Coding:
I would be designing the back end database using MS Access for the class diagram which is designed in the design phase. For front end screens, I would be using .Net framework. A review is conducted after developing the system. If any errors are found, they are solved at this phase.
These test cases can be used for different types of testing. In my project I would be using the following testing techniques: Usability Testing: It is a methodical evaluation of the graphical user interface to measure the quality of the users experience while interacting with the system. It includes the testing of Ease of use, Look and feel, Speed between interfaces of the system. Functional Testing: It includes the testing of products functionality and features. It helps in validating what the system is supposed to do and what actually it does.
22 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Chapter 03
Literature Review:
23 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Object and Object Identifier: Any entity in the real world can be modeled as an object and each of these objects is identified by a unique identifier. For example a Person is identified by a Person Id. Attributes and Methods: Each and every object in a data model has a state and a behavior. A state is the set of values for the attributes of an object and a behavior is the set of methods or program code which operate on the state of an object. A Class: A class is a cohesive subject that consists of a particular kind of meta data. An object created by a class is an instance of a class and the class that created the instance can be considered as the type of that object. Class Hierarchy and Inheritance: Basically every class has an interface and a structure. An interface defines how the class and its instances can be interacted through methods, while a structure defines how the data can be partitioned in to attributes. If a Class has a Sub Class, then the Class is called as Super Class. The Sub Class inherits all the properties of a Super Class and may have additional attributes and methods. This property is called as inheritance. In the following figure, Vehicle is a Super Class and Truck and Car are Sub Classes.
24 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
3.1.2. Relationships in an Object Model: The relationship between objects can be defined in any of the following ways:
Links and Associations: In an Object model there are some links or relations between some objects. A link is an instance of an association and an association can be described as a group of links with common structures and semantics. The associations have a property called Cardinality which could be either one to one (1-1) or one to many (1-M) or many to many (M-M). These cardinalities are represented with different notations in different diagram. The following picture shows the representation of associations in UML and ER Diagram.
Aggregation: It is a typical Part Whole relationship. It is same as association but the only difference is that instances cannot have cyclic aggregation relationships (Part cannot contain its Whole). The following figure shows an example of an aggregation relationship (Paragraph is a part of the whole document).
25 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Generalization: It is a typical Parent Child relationship. It is a relationship in which one object (child) is based on the other object (parent). The Parent is called as a Super Class and the Child as the Sub Class. The following figure shows an example of a generalization relation.
3.1.3. Mapping an Object Model to Relational Model: Ades, Y (2008) specified some rules which are simple and easy to convert an object model to a relational model: They are:
Convert every class in to a table. Add Object identifiers as Primary Key. The object identifier was implicit in object model diagrams but you must include it in your table definitions. Most RDBMS will provide for this kind of existence-based identity with identifier domains: Access has auto numbers Oracle has sequences Every association maps into a foreign key on the many side table the dependent class.
26 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
3.1.4. Stability: A stable data model is very much essential for building a good System and it also ensures the success of a project. There are methods like Semantic Analysis, by following which we can design a stable model. The concept of Semantic Analysis is explained further in this chapter. According to Ades, Y. (2008), A stability of a system can be achieved by different qualities like maintainability, flexibility, adaptability, extensibility, compatibility, usability, clarity, reusability, enablement of just-in-time software and non destructive temporal database. A stable model is immune to malignant changes. Martin explained the stability of an object model as If the model is resilient to most future changes, it is stable. So, what are these changes? How are they classified? There are two types of changes concerning the data model. The first type is: Malignant Change: A change is considered as a malignant change if it involves the rewriting of production software. It involves the change in database structure. According to Ades, Y. (2008), A data model change is considered as a malignant change, if it entails either: a change to an existing application programme(s) or the writing of database conversion programme Benign Change: Any change which doesnt entail the above mentioned points is considered as a benign change. The following figure shows the example of both changes:
27 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Adaptability to Business Changes: For any business, the requirements keep on changing, for example for a banking system, in the early days the requirements included data management for deposits, withdraws etc. Later on due to commercialization of Internet, they need an online banking system used to check balance, transfer money online etc. In order to adopt these requirements, the changes have to be made to the existing system. Not all the models will adapt these changes, but the model developed using Semantic Analysis will definitely adapt these changes. The cost of maintenance is reduced because of the above mentioned feature. It also reduces the risk of project failure because of its SNF Compliant property. It supports temporal databases. Supports coordination between the system developers. It also facilitates human communication for better interaction with information system. It uses objects and relations between objects to model a data model. They (objects) are more focused on reality. They do not use objects which show or represents a reality but they represent reality itself.
28 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
In every ontology chart, there is a Particular agent called root, which is located on the extreme left of an ontology chart and acts as an antecedent to all the affordances and entities in the ontology chart. Start Time and Finish Time should be the attributes of each and every entity. An antecedent is represented on the left hand side while a dependent on the right hand side. A dependent is ontologically dependent on the antecedent. Any entity cannot have more than two antecedents. All the relations in the ontology chart are associations with one to many cardinality represented with one side on the left side entity (antecedent) and many on the right side entity (dependent). The following figure shows the representation of relation between an antecedent and a dependent:
29 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
A node cannot be a role name; the carrier identifies the role name in a relationship. Role names are usually written on the relation or link between the nodes.
The arcs represent ontological dependency relations directed from left to right.
Even a UML diagram represents the relation between classes (group of objects that share common features or attribute), then what is the difference between a UML Class diagram and an ontology chart. The difference is that an ontology chart does not model computer objects (signs of reality), but directly models the reality itself. The following figure shows a sample ontology chart designed for university of Greenwich library system.
30 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
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.
31 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Using OCL: context:<class name> inv:self.start_time <= self.finish_time inv:self.start_time >= self.<anticedent_1>.start_time inv:self.start_time >= self.<anticedent_2>.start_time inv:self.start_time <= self.<anticedent_1>.finish_time inv:self.start_time <= self.<anticedent_2>.finish_time inv:self.finish_time <= self.<antecedent_1>.finish_time inv:self.finish_time <= self.<antecedent_2>.finish_time inv:self.finish_time == null and self.<antecedent_1>.finish_time != null implies self.finish_time = self.<antecedent 1>.finish_time inv:self.finish_time == null and self.<antecedent_2>.finish_time != null implies self.finish_time = self.<antecedent 2>.finish_time
Retrospective Processing. Historical Reporting. Trend Analysis. Legal requirements. Auditing and Security requirements.
32 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Chapter 04
Concept of Time:
33 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
4.1. Introduction:
We all think that we know what is meant by time. If we ask a person, what is Time? What answer can we expect? He might be saying its 9.30. What does it represent? Let us ask, the same question to other person, he might say that, it is a clock that we see on the wall, with seconds, minute and hours sticks rotating and representing the time. Some people say its summer time or winter time. So, what exactly time is? Is it a number or a season or a device? The answer could be defined with respect to different terminologies. The concept of time is a wide area on which many researches have been done and many are being done and many will be done in the future. But no one could give one particular fixed definition. It has lot of definitions, which we cannot conclude them as incorrect. It could be defined in the field of religion, social theory, physics etc. It could also be defined according to beliefs and religions. Some people say its auspicious time or good time and some say its a bad time. What do these times represent? Is the time that we refer in these sentences and the one which we referred at the beginning of passage are same? Lots and lots of questions were arising, when I actually started working on understanding the concept of Time. Time is not an object or any instrument; it is not even a season or a number. It is system that we have invented to organize our day to day activities. It is something that we use in different occasions according to our needs. Different people explained it in different ways relating to different concepts. Let us have a look at some definitions of time in different terminologies. Time- The Philosophical Discourse: Gert H Muller (1996), explained it as The man on the road, i.e., we all, man or woman, is confronted with the challenge to survive in this natural and societal surrounding and to come to grips with the world around him and with his personal fate. In his continuous search he has to base his attempts on inputs from the outer world, from his inner experiences and maybe, from illuminations from above. The results of this search known to us through the great mythical views, the leading religions, the early and later world-views and the philosophical systems. As different as they all are in detail some general features and aspects recur therein through the millennia, e.g., monistic, dualistic and pluralistic structures, analogies to phenomena of life, cyclic or uni-directed global process and so on. The role of category TIME is analyzed abundantly for specific religions, metaphysical systems and scientific theories and views.. Time: Geological and Biological Concept: D.P.Agrawal explained it as Three arrows of time have been recognised. First, there is the thermodynamic arrow of time, the direction in which disorder or entropy increases. Then there is the psychological arrow of time, the direction in which we remember the past and not the future. Finally, there is the cosmological arrow of time in which the universe expands rather than contracts. In this talk, I will confine myself to only thermodynamic and psychological arrows of time as related to geological and archaeological time.
34 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Time: Social and Cultural Concept: Tan Chung from China explained it as Men live the world in a triangle framed by time, environment and fortune. For the last many thousand years the Chinese have been making continuous efforts to evolve a benign spiral out of this triangle. Being an agricultural nation, while agriculture is a seasonal vacation subject to the dictates of the meteorological changes in the course of time, China has acquired an early sensitivity for time from time immemorial. This gave rise to Chinese concept of "Tianshi" (Heavenly time) which essentially denotes the weather conditions offered by Heaven to men during their socio-economic pursuits. Time: Consciousness: Lokesh Chandra explained the concept as Time dwells in the depths of full mind. Deep inside us it interweaves the real and the unreal. Sacred time is the pure becoming, where the time of physics is no longer determinant. It is the flowing onward of the essence of life, a value centre in many principles of being, as we seek to create newer and even individualised eyes. The mind renews itself in the intuition of time. Time: Physics The time in the concept of physics is explained as the ratio of distance travelled and speed of an object. So, people use different terminologies for explaining the concept of time. But yet not able to define what exactly it is. It is something that is a part of conversation. It is a concept used to plan our events and organize our activities. Then what are Clocks, a quartz watch? They are the devices that we have designed to measure and represent time. But how do we measure it? Different people used different ways of measuring, labeling and representing time. If I say one second is equal to the moment of water from one end of the pipe (which is one meter long) to the other end, then I use my own way of representing time. It is because of this reason, why we have different time concepts and calendars around the world. Civilizations in different areas used different techniques for it. All these civilizations devised the concept of time for the same purpose which is organizing events. Slowly, it has occupied a place which influences each and every activity that take place in our day to day life. Can we imagine a world without a time? It would be terrific just to imagine, then how it would it look, if it really happens. So, was the concept of time is practiced from the start of world? How do we know when the concept of time was invented? We would get answers to these questions, if we look at the concept of time with respect to different ancient civilizations around the world.
35 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
4.2. History:
It sounds very unnatural when I say the history of time because history is the study of the past and this concept of past, present and future is based on the idea of time. The concept of time can be explained when there is something, some objects, and some persons who need to think about it. So, where does everything start from? As per the recent theories explained, we believe that our universe was created because of a massive explosion called Big Bang. This is the moment of creation. Later on the earth in the solar system has undergone many changes and led to the formation of life on it. Many civilizations do not agree with this concept, instead they have their own beliefs based on their religion.
For example Fig 4.1 shows the creation according to the Greek Theology and Fig 4.2 shows the pictorial interpretation of the creation in Genesis from the late fifteenth century. In Fig 4.3, if we notice the fourth day of creation, it is written that time begins as the objects in the firmament take up their motions. They believed that time is related to motion, which is a concept or terminology used to measure time. The people in the early ages used the concept of time for organizing their work. It all started with analyzing the time for agricultural purpose. The people need to know, when the rainy season starts, which time is usually good for planting crops? Which time is suitable for harvesting? As they do not have enough knowledge to develop a device for measuring time, they used to depend on the motion of astronomical bodies like Sun, Stars, earth and moon. The motion of earth and Moon the first concept used for calculating the time. This is how calendars came in to picture. The people then designed calendar systems to represent the periods of time and divided it accordingly in to months and days.
36 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Different civilizations in different part of the worlds have different climatic conditions and natural conditions. So, they need to devise time according to their needs. They used different signs and symbols for designing a calendar. Fig 4.3 shows the picture of an early calendar developed in Dordogne valley of western France, using different symbols in designing their calendar. The start and end points can be seen in the picture. As the time passed the concept of a year, a month and a day was introduced in the system. The day is further divided in to hours. The division of a day in to hours was based on different calculations. Some civilizations used 10 hours in a day while some used 24 hours in a day. Fig 4.4 shows an example of such system in a clock which represents 10 hours and 12 hours timing system.
37 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Some civilizations used markings on the forehead of a person to represent his age at that time. The passage of a persons time is measured with the markings of lines on his forehead. A Nuer tribe in Sudan is an example of this type. They divided their age group in to three stages a boy, a warrior and an elder and markings on their forehead were used to know which age group to they belong to. Fig 4.5 shows a picture of Nuer tribe with markings on his forehead.
Different civilizations used different methods to measure, label and represent time. Let us now look at two major civilizations ways of representing time.
The months in their calendar year were further divided in to three decades. Each decade constitutes 10 days. Each day was further divided in to 24 hours. They used Shadow clocks to measure the time during the day. The shadow clock uses the motion of shadow of a pointing bar with respect to suns movement. This system cannot be used during the nights. So, they experimented using different techniques for designing a clock and then developed a water clock. This resolved their problems in watching the stars in the sky or astronomical observations. The water clocks use the technique of water flow between vessels. The time take for a complete flow is considered as an hour and the time is represented based on the water flow. It is also called as clepsydra. The Fig 4.6 shows the picture of a water clock used by the ancient Egyptian civilization.
Time in Indian mythology is also measured in the world where there are no humans which is a world of departed souls called Pitrus. In this world a single day is equal to a single human month (in real world). The day time in a human month constitutes Pitrus day and the night time of a human month constitutes Pitrus night. Next, the measure of time is in the world of Gods or Devas. A single day of God constitutes a single human year. The day time is called as Uttarayanam (the sum of day times of a whole human year) and the night time is called as Dakshayanam (the sum of night times of a whole human year). Next higher level of measuring time is called as Yugas. There are four Yugas called Kali Yuga (the current yuga), Dwapara Yuga, Treta Yuga and Krita Yuga. Each of these yugas constitute different number of Deva years shown in the table below: One Yuga Equals X Deva Years.
Kali Yuga 1200 Dwapara Yuga 2400 Treta Yuga 3600 Krita Yuga 4800 Total for 4 Yugas 12000 Deva Years. Table 4.1. Measuring Time in Yugas according to Indian Mythology. A cycle of these four yugas constitute a Chatur Yuga. The creation has start and an end point. But according to Indian mythology, there is no start point and this concept is called as Anaadi. The next higher level of measurement is called as Manvantaras. Each Manvantara constitute 71 Chatur Yugas. A sum of 14 Manvantaras is referred as a Kalpa. A Kalpa constitutes 14 Manvantaras. Next comes the concept of Brahma. The Brahma is the god of Hindus, usually referred as the creator. His single day time constitutes 1000 Chatur Yugas and single night time also constitutes 1000 Chatur Yugas. So, a single day for Brahma is equal to 2000 Chatur yugas. These whole units of measurements make it a very complex system. People often find it confusing with the terms. For better understanding of the system, the table below shows the number in human year with respect to other years, starting with Kaastha. Unit of Measurement Equals to 1 Kaastha 18 Eyelid blinks 1 Kshanam 10 Kaastha 1 Muhoortam 12 Kshanams 1 Day 60 Muhoortams Table 4.2. Smaller units of Time measurement in Indian Mythology.
40 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
A single unit of measurement Human Years 1 Pitru Year 30 human years. 1 Deva Year 360 human years. 1 Kali Yuga 432,000 human years. 1 Dwapara Yuga 864,000 human years. 1 Treta Yuga 1,296,000 human years. 1 Krita Yuga 1,728,000 human years. 1 Chatur Yuga 4,320,000 human years. 1 Manvantara 306,720,000 human years. 1 Kalpa 4,294,080,000 human years. 1 Brahma Year 3,110,400,000,000 human years. Table 4.3. Bigger units of measuring time in Indian Mythology. According to Indian mythology each Brahmas is about 100 Brahma Years long[20]. After the end of One Brahma, the next Brahma starts his life and this continues. When we consider both the Egyptian and Indian civilizations, both have their on measuring standards for time. But, in developing these standards religion beliefs played an important role in both the civilizations.
created irregularities in postal and telegraph services. So, Britain established Greenwich Mean Time, based on the longitude which we call Prime Meridian of the earth. On December 1st 1847, the London time was adopted as a standard time in London, North Western part and by the Caledonian Railway. Slowly as the time passed, this London time was used as a standard time across the Britain. The Royal Observatory considered the Prime Meridian as O degree longitude and the sailors used to specify the location of their ship across east and west. The problem for a standard time was not only in Britain, but all over the world. Britain based on the calculation of the longitude position of one of their colonies (New Zealand), calculated the local time in New Zealand as the 12 hours past the London standard time. It is then called as New Zealand Standard Time. Fig 4.7 shows a picture of how longitudes are designed and which longitude is considered as a Prime Meridian.
Then in 1884, in a conference that took place in Washington, 25 nations agreed that Greenwich would be the Prime Meridian of the earth and local times in different areas would be calculated based on that. Then the World is divided in to different standard time zones that may be a few hours plus or minus to the GMT. Fig 4.6 shows the standard time zones on the earth. The time at a place is calculated by a simple formula: GMT +/- N, Where N could be sum of hours and minutes based on the longitude distance at that place from the prime meridian. For example Indian Standard Time is GMT +5.30 Hrs.
42 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Later on all the nations agreed to this concept and that is how GMT and Prime Meridian came in to existence. However, the progress of precision in measuring time became more and more error free. There is still some in accuracy, but it is so small to be considered. Fig 4.9 shows the progress of accuracy from 700 AD to 2000 AD.
43 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
44 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Chapter 05
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
Armenian Day name Kiraki Erkoushabathi Erekhshabathi Chorekhshabathi Hingshabathi Urbath Shabath
Table 5.1. Armenian notation of Days. Source: 3rd Edn, Calendrical Calculations by Nachum Dershowitz & Edward M. Reingold.
The movement of astronomical bodies is the base for all the calendars. Based on this concept, the calendars are divided in to three types. They are: a Solar Calendar (based on the earth revolution around the sun), a Lunar Calendar (based on the Moon rotation around the earth) and a LuniSolar Calendar (Based on both Solar and Lunar concepts). Let us now take an example of each type and examine how they represented and measured Time.
5.2.2. Structure: The Islamic calendar is purely a lunar calendar, with no intercalation of months as we see in Solar and Luni-Solar Calendars. There are seven days in a week and the days are numbered but not named. Table 5.2 shows the Islamic day numbers in a week. English Day Sunday Monday Tuesday Wednesday Thursday Friday Saturday Islamic Day Number yawm al-ahad yawm al-ithnayn yawm ath-thulaathaa yawm al-arbia a yawm al-khamis yawm al-jum a yawm as-sabt The First day The Second day The Third day The Fourth day The Fifth day The Sixth day The Sabbath day
Table 5.2. Islamic Days in a week. Source: 3rd Edn, Calendrical Calculations by Nachum Dershowitz & Edward M. Reingold.
The Islamic year has 12 months each with 30 or 29 days. An Islamic month or a Lunar month constitutes approximately 29.53055..days. The Figure 5.1 shows a typical lunar month based on the position of moon.
48 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
An Islamic year approximately constitutes 354.3666 days [38]. It means that there would be a difference of 10-12 days between a Islamic year and a normal tropical year with 365 days long. The 12 month names and the number of days in each month are shown in the table 5.3.
Islamic Month Muharram** Safar Rabi'a I Rabi'a II Jumada I Jumada II Rajab** Sha'ban Ramadan*** Shawwal Dhu al-Q'adah** Dhu al-Hijjah**
Table 5.3. Islamic Months. Source: http://astro.nmsu.edu/~lhuber/leaphist.html * In a leap year, Dhu al-Hijjah has 30 days. ** Holy months. *** Month of fasting.
30 Islamic years constitute one cycle of years. There is a concept of leap year in this system. An additional day is added to the last month Dhu al Hijjah in a leap year. The years 2, 5, 7, 10, 13, 16, 18, 21, 24, 26, and 29 in the cycle are considered as leap years[38]. Some Muslims use 15th year as a leap year instead of 16th year in the cycle of years. Because this calendar is completely based on lunar calendar, it does not co-relate its months with the seasons. So, it is not used for agricultural purposes. It is mainly used for religious festivals.
5.2.3. Festivals: The Islamic calendar is mainly designed on lunar concept and is used for scheduling religious festivals. The main festivals include Muharram (Islamic New Year) and Ramadan (the month of fasting).
49 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
50 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
5.3.2. Structure: The Gregorian calendar is based on the solar calendar system (based on Sun revolving around earth). A year is a group of 12 months and each moth has a number of days between 28 and 31. Table 5.4 shows the list of months and the number of days in each month. Month January February March April May June July August September October November December Table 5.4. Months in a Gregorian calendar. No of Days 31 28 , 29(leap year) 31 30 31 30 31 31 30 31 30 31
A leap year is calculated based on some assumptions like: a year is a leap year if it is not a centurion (divisible by 100) year and is divisible by 4. Then the Pope Gregory suggested that all centurion years which are divisible by 400 is also a leap year. The cycle of years is about every 400 years. A year consists of approximately 365.2425 days [21]. The Gregorian calendar differs from the tropical calendar only by 26 seconds. For every 2500 years it accumulates an error of 1 day in the system.
5.3.3. Festivals: The Gregorian calendar is not a religious calendar. It base is on solar calendar and maintains phase with seasons. But the reason for the creation of this calendar is the conflict of date of Easter. As it is the most widely used calendar, the local festivals in different parts of the world are represented according to Gregorian calendar.
51 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
5.4.2. Structure: Around 1000 A.D, Hindu calendars used mean time for calendrical calculations. They considered Sun rise is the start of a day and Sun rises at 6 A.M in the morning and Sun sets at 6 P.M in the evening. Usually there are seven days in a week and the names in the week are shown in the Table 5.5. English Day Sunday Monday Tuesday Wednesday Thursday Friday Saturday Indian Day Ravivara Somavara Mangalavara Budhavara Guruvara Shukravara Shanivara
Table 5.5. Indian Day Names. Source: 3rd Edn, Calendrical Calculations by Nachum Dershowitz & Edward M. Reingold.
The Hindu value for a sidereal year(Number of days taken by earth to complete on revolution around the sun) is: Arya Solar year = 365 (149/576) = 365.258680555(approx). A Jovian Cycle (time taken by the Jupiter to revolve around the sun) terminology was used in Indian Calendar. Arya Jovian Period = 4332.272173..(approx).
52 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
The Jovian period was divided in to 12 equal parts which gave rise to 12 Zodiac signs and five revolutions of Jupiter gave rise to a 60 year cycle of Indian calendar called Samvatsaras. The names of Samvatsaras are shown in table 5.6. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Prabhava Vibhava Sukla Pramoda Prajapati Angiras Srimukha Bhava Yuvan Dhatr Isvara Bahudhanya Pramathin Vikrama Vrsa Chitrabhanu Subhanu Tarana Parthiva Vyaya Sarvajit Sarvadharin Raksasa Vikrta Khara Nandana Vijaya Jaya Manmatha Durumukha 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 Hemalamba Vilamba Vikarin Sarvari Plava Subakrt Sobhana Krodhin Vishwa vasu Parabhava Plavanga Kilaka Saumya Sadharana Virodhakrt Paridhavin Pramathin Ananda Raksasa Anala Pingala Kalayukta Siddharthin Raudra Durmati Dundubhi Rudhirodgarin Raktaksa Krodhana Ksaya
Table 5.6. Samvatsara in Indian calendar. Source: 3rd Edn, Calendrical Calculations by Nachum Dershowitz & Edward M. Reingold.
Hindus used both Solar and Luni-Solar calendars. Let us look at the structure and rules of both calendars.
53 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
5.4.2.1. Hindu Solar Calendar: A solar calendar is purely based on the Earth revolution around the Sun. It has time measures days, months and years. There are 12 months in a year. The number of days in a month = 1/12 of Arya Solar Year = 30.438 days. (Approx). These days are called as Saura. The solar months in a year are related to Zodiac signs. The names of solar months and their related zodiac sign is shown in the Table 5.7. Solar Month Madhu Madhava Sukra Suchi Nabhas Nabhasya Issa Urja Sahas Sahasya Tapas Tapasya Zodiac Sign Aries Taurus Gemini Cancer Leo Virgo Libra Scorpio Sagittarius Capricorn Aquarius Pisces
1 2 3 4 5 6 7 8 9 10 11 12
Table 5.7. Solar Months. Source: 3rd Edn, Calendrical Calculations by Nachum Dershowitz & Edward M. Reingold.
As it is a pure Solar calendar, it is phase with seasons. Thus a solar calendar for hindus are designed with equal days in all the months.
5.4.2.2. Luni Solar Calendar: In this type of calendar both solar month and a lunar month concept is used. A solar month has days approximately 30.438 in it [24]. But usually a lunar month is not fixed. In north India people consider the duration between two consecutive full moons as a lunar month, where as in south India, the duration between two consecutive new moons is considered as a lunar month. Arya lunar month = 1577917500/53433336 = 29.53058 days (Approx) [20]. Arya lunar day = 1/12 of Arya lunar month. Lunar month duration is slightly less than that of a solar month. The name of the lunar month depends on the name of the solar month that occurs during that lunar month. If no Solar month begins in a lunar month then it takes the name of the following solar month. In order to maintain its phase with solar calendar, a month is intercalated occasionally.
54 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
When a complete lunar month occurs in a single solar month, then it is considered as a leap year. That month is called as adhika and the actual month that follows adhika is called as nija. Very rarely a complete solar month will be covered in a lunar month and that month is referred as Kshaya month. About every 360,000 years both solar month and the lunar month end at same point and then begins at same point. Table 5.8 shows months in Luni solar calendar. 1 2 3 4 5 6 7 8 9 10 11 12 Chaitra Vaishaka Jyestha Ashada Sravana Bhadrapada Asvina Kartika Margasira Pausha Magha Phalguna
Table 5.8. Luni Solar Months. Source: 3rd Edn, Calendrical Calculations by Nachum Dershowitz & Edward M. Reingold.
As the people in different parts of India make their own changes to these systems and follow their own rule, it is very difficult to analyze all Indian calendars. This gives a complex structure look to the Indian calendar.
55 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
5.5.1. Calendar Time: Basically these types of calendars represent time from other calendars. They do not represent time according to their own standards; they follow other calendars which are used locally. Far example, look at the following figure:
The time in the figure Friday 3rd April is a Gregorian calendar time. It is used in this calendar to note events occurring like weather and Day out.
56 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
5.5.2. Activities/ Events: The activities in these calendars are the works that need to be done on that calendar day. For example, if I note that Doctors Appointment on Dec 6th 2007 in my personal calendar, it means that I have a work to go to meet the doctor. This works is the activity to be done on that day. In the personal calendar shown in the Fig 5.3, the activities include Day out.
5.5.3. Venue/ Location: The location is the area where the activity is going to take place. For example in a institutional calendar, a lecture (activity) is on 5th December 2008 (Gregorian Time) at KW303, University of Greenwich, London (Location). The room number 303 in King William building is the location for that event. These three issues include in most of the institutional calendar or personal calendars. In these calendars other entities can also be grouped along with these issues. For example, Week number in a university calendar along with time, event and location. These are the calendars that can be designed for any person or organization. They are simple and designed according to their needs. They are designed to simply the work and also to organize events.
57 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Chapter 06
Some time related concepts in software applications: 6.1.1. Start Time: A database represents data about real objects which existed in the past or that currently exists. When an object is considered as existing, it must have come in to existence at some point of time, which is called as a Start Time. For example, a real object person has a start time as Date of Birth. Similarly in the employment table, start time would represent the time when the person became an employee and the finish time represents the time, when the person is no more considered as an employee.
59 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
6.1.2. Finish Time: It is the time when a real object cease to exist. For example, if the finish time for the employment is a specific date, then the person is no more an employee of that organization. His employment is finished but not the person. Persons finish time would be his date of death. If an objects finish time is represented as null, then the object is considered to be existing. For example, if the finish time for employment is null, then the person is still an employee of that organization.
6.1.3. Finish Cause: If a system is supposed to represent the reason for finishing an object, then the finish cause is added as an additional attribute along with start time and finish time. For the same example of Fig 6.1, if the organization needs to know the cause for finishing the employment of a person, an additional attribute will be added to the employment as shown in Fig 6.2.
6.1.4. Representation: Some objects can have multiple start dates and finish dates, which represent different events. The start time and finish time represent the time at which a specific event occurs. But the representation of time is not same at all places around the world. For example, in a Flight Booking Company, when a flight from some place in India is booked to some place in USA, the boarding time will be the Indian standard time, but the arrival time in USA would be the local time in USA. This is where the concept of time zones comes. The time in ant location is calculated by the formula GMT +/- n; where n could be a period of time depending on the longitude of the location. Mostly, the format for start time and finish time would include the day number, month and the year. However in some companies, date along with hours, minutes and seconds also used. In some systems like Rocket launching centre, very tiny measurements like nano seconds are also used along with other units.
60 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Similarly Calendar System also has a back end database from where we analyze data according to our requirements. 6.2.1. Processing Techniques: There are some techniques or ways to interact with a database. They are:
OLTP: It is a technique used for transaction based processing. It is typically used for data entry and retrieval processes. It is mainly suitable for short database transactions where the system responds immediately to the user requests. An ATM (Automatic Teller Machine) used by banks is a best example of it. OLAP: This is an approach used for quickly answering multi dimensional queries. For example, in a university database, if I want know how many students joined in each course by the years 2007, 2008, and 2009 and by the semesters in those years, the query would be complex and would take more time because it has to search many rows in different tables. In a large database, which contain vast amount of data this kind of query
61 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
may take more time. This is where the concept of OLAP comes in to picture. It uses the concept of Cube (Pre calculated data) containing facts (measures) which are categorized by dimensions. The structure of these facts and measures can be represented in any of the schema shown in the following figure.
6.2.2. Non-Temporal Database: It is a type of database, in which the information regularly keeps updating. The past data is replaced with current data. It does not contain any historical data. For example, the following table shows a record of an employee James.
Later on, he got promoted to Research department and his salary increased to 6000. Now the data is updated as shown in the following table, but the information that he previously worked in sales department is deleted.
This is the actual problem with the non-temporal database, it stores only current data as a result historical data is deleted and makes the system incomplete.
62 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
6.2.3. Temporal Database: The problem in the non-temporal database is rectified in this type of database. They keep track of all events related to a real time object. It uses time stamp techniques. They include valid time and Transaction Time. A valid time is the time during which the event is true with respect to the real world. A Transaction time is the time at which the event is stored in the database. So, when we consider the same example mentioned above, at the beginning the record of James will be as shown in the table 6.3.
Null in the Finish date represents that James is still an employee. It keeps track of all events w.r.t the real world. This database can be categorized in to two. A historical database that stores the data with respect to valid time and a roll back database which stores the data with respect to transaction time. Let us now look at different databases and their features for representing Time and supporting calendar dates conversion and representation.
63 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Temporal data types: There are three types of fundamental temporal data types. They are: Instant: When something happens or when an event takes place at an instance of time. For example, the book was released today, 21st July 2009, 09:12:36 A.M. Interval: It is a length of Time. For example, two months, two years etc. Period: It is the anchored duration of time. For example, the fall semester, August 24 through Dec 12, 2008. Sql supports both instants and intervals.
Kinds of Time: There are three fundamental kinds of time. They are: User defined Time: An un-interpreted value of Time. Valid Time: When the event with respect to real object was true in real world. Transaction Time: When an event or a fact is stored in the database.
Time oriented Statements: There are basically three types of time oriented statements. They are: Statements related to Current time: now. Sequenced Statements: At each instant of time. Non Sequenced Statements: This completely ignores time.
Let us now look at queries related to these three statements using Valid Time State Tables and Transaction Time State Tables.
64 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
6.3.2. Valid Time State Tables: Let us take an example and devise a query statement of each type. There is an Camping company, which has Sites (Large area of land) at different locations in UK. Each site is divided in to number of Pitches for renting. The caravans in each pitch are moved from pitch to pitch depending on the needs of the rented customers. The table 6.5 shows the details of caravans moved out from a pitch.
Date format is YYYY/MM/DD and 9999/12/31 is used instead of null and the date in sql is valid till 9999/12/31. Performing the following queries would give the following results:
Current Statement: How many caravans from site 214 are in pitch 1?
Sequenced Statement: Give the history of how many caravans moved out from each pitch in the site 214?
Non-Sequenced Statements: How many Caravans moved out from each Pitch in the site 214?
65 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Date Time limits in Sql: The following table shows Date Time limits in Sql:
Date and Time Data types in Sql: The following table shows the Date and time data types supported in sql:
Calendar Date Conversion Support in sql: Sql uses different algorithms to represent dates according to different calendars. It uses Kuwaiti algorithm to convert dates between Gregorian calendar and Islamic calendar. By using Convert function we can convert dates between different calendar systems. The syntax of Convert is:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
By using different values for style, we can represent date in different formats.
66 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Calendar Support in Oracle: Oracle uses a function called NLS_Calendar, which changes the calendar to the one which is specified. The syntax is: NLS_CALENDAR = "calendar_system"
It supports the following calendar systems: Arabic Hijrah English Hijrah Gregorian Persian ROB (Republic of China) Thai Buddha Japanese Imperial
67 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Calendar Support: MS Access can support the different calendar formats, dates and languages which are default in the operating system. By selecting a Arabic region and then by customizing the date format we can change the calendar system. The following screenshot shows an example of it for setting a calendar type to some Kuwait region.
68 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Let us now look at front end applications and their features of supporting calendar systems.
The Sun Java System Calendar server is a web based interface used for scheduling appointments, tasks, events and resources. It supports group scheduling for meetings. It has a notification service, which will notify the calendar owner about events by sending an e-mail or a SMS to his/her mobile phone. It also allows users to create customized planning and calendrical solutions. It supports systems to embed with different calendar systems like Hebrew, Islamic, Gregorian and also Personal calendars for scheduling events. The University of Greenwichs students use this calendar for scheduling events. A screenshot of this calendar is shown below:
69 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Chapter 07
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.
Let us have a look at the university calendar schedule for the past 4 years. Calendar year 2006-2007: Term Term 1 Christmas vacation Term 2 Easter Break Term 3 Start Date 25th September 2006 8th January 2007 16th April 2007 Total Finish Date 17th December 2006 25 th March 2007 1st July 2007 Total Weeks 12 (3) 11 (3) 11 40
72 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Start Date 2nd October 2006 8th January 2007 16th April 2007 Total
Finish Date 15th December 2006 23 th March 2007 27th April 2007
Total Weeks 12 11 2 25
Calendar year 2007-2008: Term Term 1 Christmas vacation Term 2 Easter Break Term 3 Start Date 24th September 2007 7th January 2008 7th April 2008 Total Finish Date 16th December 2007 16 th March 2008 29th June 2008 Total Weeks 12 (3) 10 (3) 12 40
Start Date 1st October 2007 7th January 2008 7th April 2008 Total
Finish Date 15th December 2007 14 th March 2008 2nd May 2008
Total Weeks 12 10 4 26
Calendar year 2008-2009: Term Term 1 Christmas vacation Term 2 Easter Break Term 3 Start Date
22nd September 2008 5th January 2009 13th April 2009
Finish Date
14th December 2008 22 nd March 2009
Finish Date
12 December 2008 20 th March 2009 8th May 2009
th
Total
Total Weeks 12 11 4 27
73 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Calendar year 2009-2010: Term Term 1 Christmas vacation Term 2 Easter Break Term 3 Start Date
21 September 2009 11th January 2010 19th April 2010
st
Finish Date
20 December 2009 28 nd March 2010
th
Finish Date
18 December 2009 26 th March 2010 7th May 2010
th
Total
Total Weeks 13 11 3 27
From the above summary, we can see that the total weeks in term1, 2 and 3 remain same in all the years (34 Weeks). The number of weeks in each term keeps on changing accordingly. Number of weeks for the purpose of teaching has been raised to 27 weeks in calendar year 09/10 from 25 weeks in the calendar year 06/07. It is then up to Schools in the university to design their schedule for teaching their courses during the teaching weeks mentioned in the university calendar. Semester 1, Semester 2 and exams will be carried out by different schools during their teaching schedule. If we look at the university calendar and terms schedule, we can find that the importance is given to the weeks. The start/end of a month and year does not have any influence on the calendar. All that matters is start and end of weeks. For example, if we look at calendar year 08/09 (Sep 08-Aug 09), August 31st 2009 is the start of the week, but it is the last day of the year. This week continues to next calendar year 09/10 (Sep 09-Aug 10) as shown below:
74 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Day and date in the calendar are Gregorian calendar dates. Event/Meeting represents what is to be done on that day at that time and venue is the location of that event taking place.
75 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
76 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
The figures show the teaching week number, the start date of that week, the topic of the lecture, Lab work, readings and tutorial. Any additional column can be added to provide more information. There is a CMS Calendar in the intranet which has very few details about the events in the university. Below figure is a screenshot of it.
7.5. Summary:
These are the main calendars and Timetables being used at the University for different purposes. The University represents some events according to term weeks and dates and some other events according to Semester weeks or teaching weeks. It would confuse students/staff, to identify the dates and weeks in term wise and also semester wise because they are not in phase with each other. It could be better; if only one terminology is used for representing all the events either it is semester or term.
78 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Chapter 08
.Net Overview:
79 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
8.1. Introduction:
The .Net framework is a platform developed by Microsoft, which used for building different software applications in different languages. The main advantage of it is language independent and the developing process can be performed using a simple graphical interface. The main components are:
80 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
The Class library and CLR are the two main components of .Net framework. The following figure shows the overall view of .Net framework:
8.4. Technologies:
.Net framework supports different types of technologies which include Asp.Net, Visual Basic.Net and ADO.Net. 8.4.1. Asp.Net: It is a framework used for building dynamic websites. There are different functions and properties in the library which can be used to design an efficient and effective website. The architecture of Asp.Net:
81 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Generally pages designed using Asp.net has .aspx or .asp extensions. There are other formats which are supported based on the content in the web page. The language has to be selected before building a page. It supports languages Visual Basic and C#. The asp.net window for building pages is shown in the figure 8.5.
Figure 8.5. Example of Asp.Net application. It provides different features for designing a website. A Toolbox contains different standard items like buttons, checklists, labels and Data items like Grid view, Access data source, sql data source etc. These items can be used in designing. The styles can be managed from Manage styles window. Server explorer window displays the database and server connectivity. The solution explorer displays all the designed files and the data stored in application data folder. Properties window displays the properties of any selected item. The IIS (Internet Information service) must be turned on before running the designed website in Asp.net.
82 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
8.4.2. VB.Net: It is an object oriented programming language that can be used in .Net framework. An object oriented program supports concepts like encapsulation, polymorphism, and inheritance. A declared element in Visual Basic is a programming element that is defined in a declaration statement. Each object has a data type, which can be defined using As clause type in VB. The following is an example for declaring a variable data type. In a Dim Statement (Visual Basic) Dim amount As Double Static yourName As String Public billsPaid As Decimal = 0
It supports all the features which are presented in an object oriented programming language. It is mostly used for building window type applications. However it could also be used in designing websites but Asp is more preferred in building websites. The following figure shows the code of a page in VB language. The language is specified at the start of page.
83 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
8.4.3. ADO.Net: It is a set of classes which helps the user to connect to the database and perform operations on the database. It can connect to various databases like sql server, oracle, ODBC etc. It mainly consists of two components. A Data provider and a data set. The Data provider classes provide support to access databases like oracle and sql server. All the database have similar set of utility classes which include connection, command, parameter, data adapter and data reader. The Data set is the set of classes representing the whole database or a part of it. A data set can include a set of tables and also relations between them. A Date set can be a table, view, column, row, relation or a constraint. The ADO.Net framework is shown in the figure below:
84 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
85 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Chapter 09
The university has many events which are allocated a timeslot and take place at a venue. As venue is role name, we take place as an object. So the ontology chart for the university of Greenwich academic calendar is designed as shown in the following figure.
The name of the institution can be taken as the University of Greenwich. In other case, a particular (UOG) can also be taken.
87 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
88 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Let us look at these rules for allocated class: Class day: start time <= its finish time Start time >= the start time of Week. Start time <= the finish time of Week. Finish time <= the finish time of Week. If finish time is null and finish time of Week is not null, it implies finish time of day is equal to finish time of Week. start time <= real time finish time <= real time
Similarly these rules are defined for each and every class in a class diagram.
Each and every table in the database has a start time and a finish time attribute. The start time for the UOG is the start date of the University or the day on which the university is formed. Start time for an event is the time when an event starts and finish time is the time at which an event ends. Start time for a place (venue) is the time when it was formed and finish time is the time when it is removed. Start time for a year is the day on which an academic year begins and finish time is the day on which the academic year ends. For example, the academic year 2008/2009 starts on 1st September 2008 and ends on 31st August 2009. Start time of a term is the day when the term starts and finish time is the day when the term finishes in that particular year. For example, in the academic year 2008/09, term 1 starts on 22nd September 2008 and ends on 14th December 2008. Start time of a week is the date on which the week starts and finish time is the day on which a week finishes. Usually Monday is the start day of the week and Sunday is the last day of a week. In week table the start date is defined but not the start day. Start time of the day is the time when the university working hours start and finish time is the time when the last hour of the day. Usually university events take place after 9AM and before 8PM on any day. The timeslot has hour based time periods. Any event will be allocated in the slots of hours. Start time and finish time differs by hours. Allocated table has the start time and finish time. The start time is the time on which the allocation of time to the events is started and the finish time would be the time when the allocation would be stopped. At table has the attributes start time and finish time. The start time is the time when the events are allocated a time slot at a place. Finish time would be the time when the allocation of events at a place would stop. The following screenshot of year table shows the example how data is arranged in the tables.
90 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Figure 9.5. Screenshot of Data in the year table. Thus the database for the university calendar is designed in MS Access and the proper data is entered in to the database.
91 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Figure 9.6. .Net Framework application. We can run the web page in a browser. From the Debug menu select start Debugging. Then you will be presented with the first page of the website. The following screenshots show all the pages in the website. Welcome Page:
When we click on continue, we will be directed to the next page Default1.aspx, in which we need to select the academic year for viewing the events in that year. The screenshot of it is shown below:
Figure 9.8. Screenshot of calendar selection page (Default1.aspx). When I select the year, I will be directed to a page where I can view the events in that year. The screenshots of all the years are shown below:
93 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Figure 9.9. Screenshot of the web page for year 2006/07 (Default4.aspx). Calendar Year 2007/2008:
Figure 9.10. Screenshot of the web page for year 2007/08 (Default3.aspx).
94 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Figure 9.11. Screenshot of the web page for year 2008/09 (Default2.aspx). Calendar Year 2009/2010:
Figure 9.12. Screenshot of the web page for year 2009/10 (Default5.aspx).
95 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Let us now look at the code behind the screens. If we look at the code of the calendar 2008/2009 in the figure below:
Figure 9.13. Screenshot of code behind web page for the calendar year 2008/09. The items to be noted are Grid view, Data Format String, Access Data Source and select command. A Grid view is a data item from the tool box, using which we can view the data from the database. A Data Format String is the command used for formatting the data. It returns the data in the format which you have selected. Access Data Source is the data base to which I am connected and the path is included in the command. Select Command is the sql command which selects the data from the tables in the database. All these coding and designing part can be done without writing the code by designing the page using design view. The following screenshot shows the selection of grid view from the data category in the tool box. All that we need to it is select and drop it.
96 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Figure 9.14. Screenshot of Grid view option. We can configure database by selecting it from the Grid view properties as shown in the following figure:
97 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Then we can specify sql query using query builder where we can graphically select columns and the sort order and also we can create filters. It is shown in the following figure.
Figure 9.16. Screenshot for selecting columns from tables. Let us look at the sql query in the following figure.
Figure 9.17. Sql statement for viewing data on the web page.
98 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
There is a condition on the data using Where statement. The condition is that only those columns are selected where the date of the event is between the dates 1/sep/2008 and 31/Aug/2009. Thus we can only view the events in this webpage which refers to the year 2008/2009. Datevalue is a function which returns the expressed date. Similarly in all other pages the date value is changed according to the calendar they represent. Thus the calendar system is implemented using .Net framework.
99 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Chapter10
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.
Figure10.1. Screenshot of Navigation links testing. Look and Feel: The look of the page is simple and the columns are arranged in an order, which helps user in reading the calendar. The speed of navigating between the pages is good. The calendar shows the week number, date and time of an event which will be taking place at the specified venue. So it is easy to sort by day and week.
101 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Database Testing: This testing includes the test of all the features of database and also the test of data being entered in to the database. Let us test the table YEAR. The year table and its relation wit UOG table is shown in the figure below:
Let us now look at the ontological rules for the Year table. 1. 2. 3. 4. 5. Start_date of Year <= Finish_date of Year. Start_date of Year >= Start_date of UOG. Start_date of Year <= Finsh_date of UOG. Finish_date of Year <= Finish_date of UOG. If Finish_date of Year == Null and Finsh_date of UOG != Null Implies Finsh_date of Year = Finsh_date of UOG. 6. Start_date of Year and Finish_date of Year <= Current Date.
103 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
Let us check each rule in the database by entering wrong data. For the first rule, if I enter the start date greater than finish date, the following error was shown:
Fig 10.5. Screenshot of ontological rules testing 1. It shows that it obeys the first rule. This is achieved by giving a validation rule in the table properties as shown in the following figure.
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:
If there is a finish time for UOG then there is no question of specifying any rules because academic year doesnt exist without UOG. However rule 6 is achieved by setting up a validation rule <= now(). It returns the current system date. If the date entered is greater than the current system date then an error message will appear as shown in the following figures.
105 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
10.4. Conclusion:
107 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
References:
1. Nachum Dershowitz & Edward M. Reingold. (2008) Calendrical Calculations, 3rd Edn, Cambridge University Press, New York. 2. Anthony F. Aveni. (1995) The Empires of Time: Calendars, Clocks and Cultures, Kondansha America, USA. 3. Barbara Adam. (1994) Time & Social Theory, Polity Press, Cambridge, U.K. 4. Ades Y, Navid Karimi Sani, Manos Nistazakis, Iman Poernomo, Mohammad Yamin, George Tsaramirsis, Implementing SNF Compliant Software: MDA and Native Technology, Proceedings of the 11th International Conference in Informatics and Semiotics in Organizations, an IFIP WG8.1 Working Conference, 11-12 April, 2009, Beijing, China. 5. Ades Y, Farouk Ben Oman, Iman Poernomo, George Tsaramirsis, Mapping Ontology Charts to Class Diagrams: an SNF Preserving Transformation, Proceedings of the International Conference on Organizational Semiotics: Complexity in Organizational and Technological Systems. ICOS2007, 24-26 July, 2007, Sheffield Hallam University, UK. 6. Stamper, R. (1994) Social norms in requirements analysis an outline of MEASUR, Chapter 5 of Requirements Engineering: Social and Technical Issues (edited by Jirotka, M. and Gougen J.), New York Academic Press. 7. E. G. Richards (1998), Mapping Time: The Calendar and its History, Oxford University Press, UK. 8. Ahmad Birashk (1993), A comparative calendar of the Iranian, Muslim Lunar, and Christian Eras for three thousand years (1260 B.H.-2000 A.H./639 B.C.-2621 A.D.), 1st series, Mazda Publishers & Bibliotheca Persica, New York. 9. G.S.P. Freeman- Greenville (1995), The Islamic & Christian Calendars, First Edn, Garnet Publishing Ltd, UK. 10. Thuan Thai and Hoang Q. Lam (2002), .Net Framework Essentials, 2nd Edn, OReilly & Associates, USA. 11. Fritz Onion & Keith Brown (2007), Essential Asp.Net 2.0 Microsoft .Net Essentials, Pearson Education Inc, USA.
108 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
12. Margaret Kaye (2003), The Greenwich Effect-A companion to the home of GMT, Librario
Publishing Ltd, UK.
13. Richard T. Snodgrass (2000), Developing Time oriented Database applications, Morgan Kaufmann Publishers, San Francisco, California. 14. Scott McEwen (2004). IBM Developer Works, an Introduction to Requirements Analysis. Available from: <http://www.ibm.com/developerworks/rational/library/4166.html?S_TACT=105AGX78 &S_CMP=HP> [Accessed: 28/07/09] 15. The Standish Group (1995). The CHAOS Report on project failure. Available from: <http://www.standishgroup.com/sample_research/chaos_1994_1.php> [Accessed: 01/08/09] 16. Osmar Zaiane (1998). Introduction to the Object Oriented Data Model. Available from: <http://www.cs.sfu.ca/CC/354/zaiane/material/notes/Chapter8/node3.html> [Accessed: 01/08/09] 17. What is an Invention Date, a video available at:
http://www.youtube.com/watch?v=O6RBRB58G74 [Accessed: 28/07/09]
18. J J O'Connor and E F Robertson, A history of time: Classical Time. Available from: http://www-history.mcs.st-andrews.ac.uk/HistTopics/Time_1.html [Accessed: 05/08/09] 19. Alistair Boddy-Evans, Ancient Egypt: Father of Time, The Origin of Modern Calendars. Available from: http://africanhistory.about.com/library/weekly/aa033101a.htm [Accessed: 10/08/09] 20. M.H. KrishnaSwamy The Concept of Time in Indian Mythology. Available from: http://www.templenet.com/beliefs/concept_of_time.htm [Accessed: 07/08/09] 21. Article on Greenwich, Longitude, Prime Meridian & GMT by BBC (2005). Available at: http://www.bbc.co.uk/london/content/articles/2005/04/21/longitude_feature.shtml [Accessed: 08/08/09] 22. RAF MILDENHALL (2008), An article on The history of British Summer Time, Available at: http://www.mildenhall.af.mil/news/story.asp?id=123045779 [Accessed: 19/08/09] 23. Waleed A. Muhana (2007), Islamic Calendar- History and Motivation, Available at: http://www.al-inaam.com/library/calendar3.htm [Accessed: 16/08/09]
109 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
24. Leow Choon Lian (2000), Academic Exercise on Indian Calendars, National University of Singapore, Available at: http://www.math.nus.edu.sg/aslaksen/projects/lcl.pdf [Accessed: 21/08/09] 25. Time Consult (2005), what is a Temporal Database? Available at: http://www.timeconsult.com/TemporalData/TemporalDB.html [Accessed: 22/08/09] 26. Oracle Documentation on NLS_Calendar, Oracle Database reference 10g2. Available at: http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams119.htm [Accessed: 14/08/09] 27. Features and benefits of Sun Java System Calendar Server. Available at: http://www.sun.com/software/products/calendar_srvr/features.xml [Accessed: 11/08/09] 28. Date/Time Data types, Microsoft Access Help Documentation. Available at: http://office.microsoft.com/en-gb/access/HA012327391033.aspx?pid=CH100728931033 [Accessed: 02/09/09] 29. Simon Sheppard, Oracle Data types. Available at: http://ss64.com/ora/syntax-datatypes.html [Accessed: 03/09/09] 30. Calendar Systems, Oracle language support guide by Oracle developers. Available at: http://www.camden.rutgers.edu/HELP/Documentation/Oracle/server.815/a67789/appa.ht m#957803 [Accessed: 03/09/09] 31. Date and Time Data Types and Functions (Transact-SQL), Microsoft Software Developers Network. Available at: http://msdn.microsoft.com/en-us/library/ms186724.aspx [Accessed: 01/09/09] 32. Cast and Convert Functions, Microsoft Software Developers Network. Available at: http://msdn.microsoft.com/en-us/library/aa226054(SQL.80).aspx [Accessed: 02/09/09] 33. .Net Framework Class Library, Microsoft Software Developers Network. Available at: http://msdn.microsoft.com/en-us/library/ms229335.aspx [Accessed: 04/09/09] 34. Greenwich University Academic Calendar for the year 2009/10, Available at: http://www.gre.ac.uk/offices/academic-council/university-calendar/calendar-2009-10 [Accessed: 28/07/09] 35. Greenwich University Academic Calendar for the year 2008/09, Available at: http://www.gre.ac.uk/offices/academic-council/university-calendar/calendar-2008-09 [Accessed: 28/07/09]
110 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t
36. Greenwich University Academic Calendar for the year 2007/08, Available at: http://www.gre.ac.uk/offices/academic-council/university-calendar/calendar-2007-08 [Accessed: 28/07/09] 37. Greenwich University Academic Calendar for the year 2006/07, Available at: http://www.gre.ac.uk/offices/academic-council/university-calendar/calendar-2006-07 [Accessed: 28/07/09] 38. L.E.Doggett, Calendars and their History, Available at: http://astro.nmsu.edu/~lhuber/leaphist.html
[Accessed: 30/07/09]
111 | M s c I n f o r m a t i o n S y s t e m s M a n a g e m e n t