downloading - Assembla

soilkinkajouInternet και Εφαρμογές Web

2 Φεβ 2013 (πριν από 4 χρόνια και 6 μήνες)

181 εμφανίσεις






TiTiS

Project Plan


Authors: Özgür Akgün, Yiğit Demirbaş

Start Date:
2008
-
09
-
28

End Date: 2008
-
10
-
15


Page
2

of
13


CONTENTS

1. Introduction

................................
................................
................................
................................
................

3

1.1. Purpose and Scope

................................
................................
................................
.............................

3

1.2. P
roduct and Environment

................................
................................
................................
...................

3

1.3. Definitions, Acronyms and Abbreviations

................................
................................
..........................

3

2. Current System

................................
................................
................................
................................
...........

4

2.1. Current Systems

................................
................................
................................
................................
..

4

2.1.1. Lantiv Timetabler v6.2

................................
................................
................................
................

4

2.1.2. Mimosa Scheduling Software v4.11

................................
................................
............................

5

3. Advantages and Disadvantages

................................
................................
................................
..................

6

3.1. Advantages

................................
................................
................................
................................
.........

6

3.2.
Disadvantages

................................
................................
................................
................................
.....

6

4. Project Organization (Staffing)

................................
................................
................................
...................

6

4.1. People

................................
................................
................................
................................
.................

6

5. Project Goals and Ending/Termination

................................
................................
................................
......

7

5.1. Goals of Project Group

................................
................................
................................
........................

7

5.2. Ending Criteria of Project

................................
................................
................................
....................

7

6. Project phases and timing

................................
................................
................................
..........................

7

6.1. Phases and Methods

................................
................................
................................
...........................

7

6.2. Phase Timing Estimates

................................
................................
................................
......................

8

7. Monitoring and Guidance

................................
................................
................................
...........................

8

7.1. Course (CE 497)

................................
................................
................................
................................
...

8

7.1.1. Assoc. Prof. Dr. Brahim Hnich

................................
................................
................................
.....

8

7.1.2. Asst. Prof. Dr. Mahmut Ali Gökçe

................................
................................
...............................

8

8. Standarts, Directives and Guidelines

................................
................................
................................
..........

8

8.1. Standards and Directives

................................
................................
................................
....................

8

8.2. Deliverables

................................
................................
................................
................................
........

9

8.3. IPR, Copyrights and
Licenses
................................
................................
................................
...............

9

9. Used Technologies

................................
................................
................................
................................
......

9

9.1. Oracle Database 10g Express Edition
................................
................................
................................
..

9

9.2. Google Web Toolkit

................................
................................
................................
..........................

10

9.3. GWT
-
Ext

................................
................................
................................
................................
............

10

10. Installation

plan

................................
................................
................................
................................
......

10

11. Initialization Plan

................................
................................
................................
................................
....

11

12. Costs (Budget)

................................
................................
................................
................................
........

11

13. Ideas For Further Development

................................
................................
................................
.............

11

14. References

................................
................................
................................
................................
..............

11

15. Appendix

................................
................................
................................
................................
.................

12

15.1. Comments from previous experiences

................................
................................
...........................

12

15.2. Project Timing Gantt Chart (Higher Resolution)

................................
.

Error! Bookmark not defined.





Page
3

of
13


1.

INTRODUCTION

1.1.

PURPOSE AND SCOPE

The main purpose of the project is d
esigning a lecture
timetable

scheduling system.

This system will be
composed of two subsystems: the information system to handle interactions and the solution engine.

Key features of the system are
,

-

distributed,

-

online,

-

web based,

-

m
ulti
-
user and


-

secure
.

Schools and similar
organizations will use this system while planning timetables before every semester to
ease timetable generation process. Users will be able to access the system from anywhere with internet
connection using their computers, PDAs, mobile devices or etc.

1.2.

P
R
ODUCT AND
E
NVIRONMENT

From the user’s perspective, product is a simple web site and environment is just their favorite web
browser. However, behind the scenes,
there exists an operating system, a database server and a web
server running Linux,
MySQL

and
We
brick application server

and mostly implemented in
Ruby
programming language in ruby in rails framework.

1.3.

D
EFINITIONS,
A
CRONYMS AND
A
BBREVIATIONS

Project name: TiTiS

TTS is the abbreviation for “
Timetable Scheduler

.
Titiz in Turkish means accurate and care
ful;

i
nspiring
from that we named our project TiTiS.

Other acronyms:



HTML: Hypertext Markup Language



xHTML: eXtensible Hypertext Markup Language



CSS: Cascading Style Sheets



UI: User Interface (generally referring to GUI)



GUI: Graphical
U
ser Interface



Java
EE: Java Enterprise Edition



Java SE: Java Standard Edition



AJAX: Asynchronous
JavaScript

and XML



XML: eXtensible Markup Language



GWT: Google Web Toolkit



JS:
JavaScript



IDE: Integrated Development Enviroment

Page
4

of
13




ROR: Ruby on Rails framework



RAD: Rapid Applicati
on Development



MVC: Model View Controller

2.

CURRENT
S
YSTEM

Here are some examples of current systems that are being used with their features listed, these will be
used to identify disadvantages and missing features possible to implement in our systems.

2.1.

CURRENT
S
YSTEMS

2.1.1.

LANTIV TIMETABLER

V6.2

Lantiv
[1]

System is designed to solve a specific subset of scheduling problems; that is lecture timetable
scheduling. A good r
e
-
engineering woul
d be extending this system into a generic one.

Building an automated installer for the server side software. It might increase ease of

installation and
configuration on the server.

R
eferences
is
free

and popular timetable scheduler software. Lantiv Timetabler comes with two modes of
operations; Interactive and Automatic. In interactive mode user manually organizes and schedules the

timetable and has the ability to drag and drop any cell unless it causes any constraint violation or
inconsistency. Also user has two useful windows which are, “Who is Free?” and “Where is Free”. Those
windows show available resources in a quick and inter
active manner and user has been given the function
to assign cells to these places and people from these menus. User
s declare

the database
s

and activities.
There are eleven databases;



General Details

-

school name, principal, address, etc.



Days

-

the day
s in which teaching takes place.

Examples: Monday, Tuesday, Wednesday, etc.



Lessons

-

the periods that comprise the teaching day.

Examples: 1, 2, 3, etc.



Subjects

-

the themes that are taught.

Examples: English, Math, Advanced Physics.



Groups

-

each
group unites students who study at least one subject together.

Examples: A
-
1, 7
-
C, Electronics 8th Grade, 56613 (just a number can also be a group's name).



Students

-

each student part
icipates in one or more groups.

Example: Smith, Bob.



Teachers

-

each teacher is responsible for teaching or supervising.

Example: Prof. Smith, Alice.



Rooms

-

the physical space where teaching takes place.

Examples: Room 127, Computers Lab 4, Library, Gym.



Equipment

-

the collection of accessories that are required for teaching.

Examples: Slide Show
Equipment
, Video, TV, etc.



Activities

-

each activity unites a teacher, subject, group(s), optional rooms and equipment (if
required). The Activities page in the Databa
se also allows the creation of Sets.

Page
5

of
13




Conflicts

-

shows which groups conflict with each other, based on the students who participa
t
e in
them. At least one common student is needed in order for two groups to be conflicting.

Each database page is implemented

as a list. Databases can be seen as resources. These resources are
allocated by activities. Every activity is defined with 8 components;



Group(s)

-

an activity involves one or more groups.



Subject

-

the theme of the activity.



Teacher

-

an activity involves a single teacher.



Length

-

the number of cells that the activity spans over. For example, if each lesson's length is 45
minutes, and the activity must be taught for 1 hour and 30 minutes each time, the length of the
activity is 2.



Q
uantity

of cells per week. This is the number of time slots that activity occupies during the week.
For example, if each lesson's length is 45 minutes, and the activity is taught for a total of 3 hours
during the whole week, the quantity is 4.



Scheduled

(s
hown only in the timetabling workspace)
-

the number of cells that have actually been
scheduled in the timetable. This field is calculated by the program, according to the existing
timetable.



Room

-

a selection of rooms into which the activity can be sched
uled. This field is optional and can be
left blank in case the room is irrelevant. Otherwise, the activity will be scheduled into one of the
selected rooms.



Equipment

-

a selection of equipment required by the activity. For each activity type, you can sele
ct
the desired quantity. For example, if the activity requires two projectors, you can select "2" near the
"Projector" equipment type.

Lantiv Timetabler has also an automatic mode. If user switches to automatic mode, software ignores all
the constraints an
d prepares a timetable. Then the user is prompted with all the violations of constraints.
Pressing solve, solves a particular violation and pressing solve all tries to solve all the violations which may
not always be possible.

Another nice feature of this
software is it includes s
tep
-
by
-
step tutorials for user.

2.1.2.

MIMOSA SCHEDULING SO
FTWARE

V4.11

Mimosa
[
2]

is
commercial

scheduling software which is being used in hundreds of universities worldwide.
This software is more advanced than Lantiv Timetabler. It allow
s the hybrid usage of manual and
automatic modes, data import and export, various different optimization approaches for different
resources and suggestion wizards for every change in the constraints.

It can also be used as distributed as
well.

Several impo
rtant features relevant to the TiTiS project are listed below which might give ideas;



Automatic backup of files



Text file supp
ort to import & export all data



Split of master file into disj
oint files



Synchronizing files of several simultaneous users



Automatic c
onflict checking and prevention



Colors configurab
le for each course and resource

Page
6

of
13




Combining of courses
(which we will implement for theory and lab courses.)



Splitting of courses



Course structure
s can be modified at each stage



Di
splay of available

resources



Duplic
ation of courses and components



Gr
oup and personalized timetables



Hidden and visible comments



Imitating of previou
s solutions and room selections



Locking
of courses



Manually selectable

rooms for each slot separately



Memo box allo
ws to addi
ng notes to each item



Preference
storing and changing on the fly



Protecting of weeks and terms



Room cap
acity indicators and comparison



HTML

versions of all reports



Book
-
marking and backtracking of timetable changes



Copying of timetables across terms and
weeks



What if? tool when inserting lectures into timetables

3.

ADVANTAGES AND
D
ISADVANTAGES

3.1.

ADVANTAGES



TiTiS is a complete solution for a university in course handling process. Other than timetable
scheduling, it
also
handles students’ course selections. The university will not need an additional
information system
for this purpose.



End users will not need to install
any
specific software to use this system. The interface will be
web
-
based.

Installation is only required

on the server side.



Users, according to their privileges, will have rights to make changes in the timetable after scheduling
occurs.



For data reliability, power users will have the option to completely export the database, and import it
later on. This opt
ion will not be implemented as a direct database backup; instead it will be managed
process.



Combining and splitting option for courses.

3.2.

DISADVANTAGES



It is not a generic scheduler. It can only be used in a university scheduling system.

4.

PROJECT
O
RGANIZATIO
N (
S
TAFFING)

4.1.

PEOPLE



Assoc. Prof. Dr. Brahim Hnich
, Advisor

Page
7

of
13


o

http://homes.ieu.edu.tr/~bhnich



Asst. Prof. Dr. Mahmut Ali Gökçe
, Co
-
Advisor

o

http://homes.ieu.edu.tr/~agokce



Özgür Akgün, Member



Yiğit Demirbaş, Member


5.

PROJECT
G
OALS AND
E
NDING/
T
ERMINATION

5.1.

GOALS

OF
P
ROJECT
G
ROUP

Main goal of this project is, h
aving a complete solution to course timetable scheduling problem

of a
university
,
outstanding with its own information system.

The final system should at least
demonstrate
how much value such
a complete
system will add to
existing

process
es
.

Our project will be an online distributed system which will be available to run over a web brows
er for the
end users. We will also implement security features to have a more secure system for both users and
administrators.

Another goal of the project will be having our own school use our system. Our design has remarkable
advantages to current system.

(See

Advantages
)

5.2.

E
NDING
C
RITERIA OF
P
ROJECT

This project ends when

either

all the project goals are met or allowed time (two semesters) is up.

6.

PROJECT PHASES AND T
IMING

6.1.

P
HASES AND
M
ETHODS



Project Plan



Building the Information System

o

Initial analysis: Use cases,
prototyping

o

Design: Data flow diagrams

o

First development cycle, Database, Database

mapping objects, Business objects



Architectural design
: UML, E/R



Implementation: Agile development with real time component testing



Testing: Unit tests, Integration test

o

Second development cycle,
User i
nterfaces



Interface design: prototyping



Implementation



Testing: Usability tests



Building
the solver

Page
8

of
13






6.2.

PHASE TIMING

E
STIMATES

By the end of first semester, we will have finished the database and the information system completely.
All tests regarding this part will be
held
.


Gantt chart

(larger version in appendix)



Week 2: Project selection and team formati
on



Week 4: Project proposal submission



Week 6: Background research



Week 10: SRS

document submission



Week 14: System design document submission



Week 15: Oral presentation
.

This
concludes
the

first
semester;

second
semester will be planned later, before
second semester begins.

7.

M
ONITORING AND
G
UIDANCE

7.1.

C
OURSE (
CE 497
)

7.1.1.

ASSOC. PROF. DR. BRA
HIM HNICH

7.1.2.

ASST. PROF. DR. MAHM
UT ALI GÖKÇE

8.

STANDARTS
,
DIRECTIVES
AND
GUIDELINES

8.1.

S
TANDARDS AND
D
IRECTIVE
S


Izmir University of Economics Senior Project Policy:

-

http://cs.ieu.edu.tr/SeniorProj/SeniorProjectPolicy.htm



Page
9

of
13






8.2.

D
ELIVERABLES

End product will not be shipped as a standalone installer.
All Ruby models will be ready for interpretation
with server scripts initializing all the system
. A server administrator will be able to setup the system using
delivered files and the installation plan
.

(See
Installation plan
)

8.3.

IPR,
C
OPYRIGHTS AND
L
ICEN
SES

TiTiS is
a
s
oftware

designed
only
for academic purposes

and it is not implicitly subject to any software
license.

This also implies that the final product is just an academic prototype and does not g
ive any
guarantee to the end user.

9.

USED TECHNOLOGIES

9.1.

MYSQL 5

Although the initial idea was to use Oracle Database 10
G Express Editions, we had faced

several
difficulties while dealing with implementation and functionality of Oracle

wasn’t adequate for us.
In
addition to this, Ruby on Rails framework is much more efficient with MySQL.

9.2.

RUBY ON RAILS

While we were in design phase we’ve seen that our decision on using java was becoming a difficulty on
the project. We had much experience on using java but we did
n’t use any java framework prior to our
project. Even the simplest create, edit, delete functionalities were hard to implement because of the
database persistency classes.

Ruby on Rails simplified these processes even if we didn’t know the ruby language, l
earning curve was
extremely easy. Also Ruby on Rails allowed us not use additional tools for user interfaces with its own
model
-
view
-
controller architecture.

9.3.

WEBRICK WEB SERVER

Webrick web server is the standard and recommended server for ruby on rails
and it works flawlessly. So,
we are using it as the de facto web server.

10.

DECLINED TECHOLOGIES

Page
10

of
13


10.1.

ORACLE DATABASE 10G
EXPRESS EDITION

Several
a
lternatives were taken into consideration before we decided to use Oracle Database 10g XE
[
3
]
.
First of all we needed
a relational database management system that is easily used and well documented
with the system architecture we were considering. Another decision criterion was the efficiency and
speed of the RDBMS with large tables. This criterion was used to eliminate t
he

MySQL alternative which is
qui
t
e

inefficient when the table size grows. After some consideration, we had only two alternatives left
which are Oracle Database and DB2. These two competitive products were compared in many white
papers
[
4
][
5
]
, either indepe
ndent or depende
nt to the products’ companies, and none of the conclusions
were consistent with each other.

Both of the products have their unique features and efficiencies in
different usages. Our expectations are clear from the RDBMS in context of the ef
ficiency (
joining
many
large tables, etc), and our final decision is Oracle Database 10g XE.


Oracle 10g XE is ready to use in GNU
-
Linux Environments with precompiled packages and well
documented for installation and configuration, which will be quite usef
ul for us. In addition, Oracle has an
official plug
-
in for eclipse IDE
[
6
]
.

10.2.

GOOGLE WEB TOOLKIT

Google Web Toolkit (GWT) offers many advantages for developing a web based Java application. There
are few competitors in this area, all of which make great use o
f Java Enterprise Edition (Java EE)

However, several configuration problems exist, when enterprise edition is used. GWT uses Java
SE, and

builds its own business logic on top of it.

Java EE can be thought as an extension to Java SE, providing
functionality

to build
distributed,

real time,
multi
-
tier software
, that usually work over a network or the
internet.
GWT
also provides an infrastructure for the same purposes, with advantages like Java to
JavaScript compiling, easy
management
of A
JAX calls, and etc.

[
7
]

An evaluation of GWT in the perspective of being an AJAX framework can be found in references part.
[
8
]

This document also has a comparison of AJAX frameworks.


10.3.

GWT
-
EXT

GWT
-
Ext
[
9
]

is a GUI library building on top of GWT. It allows developers to make use of famous
cross
-
browser JavaScript library: Ext JS
[1
0
]

Note that GWT
-
Ext and Ext
-
GWT are different platforms. While the former adds Ext JS functionality to
GWT, the latter adds GWT
functionality to Ext JS. The one we decided to use is obviously GWT
-
Ext.

11.

INSTALLATION PLAN

Installation is only required on the server side. During development team will compile a document for a
power user to install the system on a dedicated web server.

B
uilding an automated installer is not
planned.

Page
11

of
13


On the client side, a user will not need to install any specific program or browser plug
-
in. Only standard
web technologies (
i.e.

xHTML
,
JavaScript
,
CSS
) will be used.

This will allow an end user to connect th
e
system from a variety of devices, such as; desktop/laptop computers, netbooks, PDAs, or even mobile
phones. To state it shorter and cleaner, any
device that can run a standards
-
compliant
[
11
]
[12]

web browser
will be able to consume the system without any
additional installation.


12.

INITIALIZATION PLAN

After ins
tallation,
system administrators

are left with a properly working software system, and an empty
database.
Apparently, the system is useless
,

un
les
s accurate data is fed into it.
Thus, the initializatio
n of
this system is mostly inputting proper data. A document demonstrating this process will be constructed
for system administrators’ use.

13.

COSTS (
B
UDGET)

Project is estimated to have no costs
other than our time

and work. During development, members will
use their own computers provided by school.

Communication needs will be fulfilled by mostly e
-
mails and an online project management tool:
Assembla
. Assembla has a free subscription which is limited in functional
ity. However functions offered
freely are adequate for now. As the project gets bigger, upgrading our membership may be considered.

(
Assembla web address:
http://www.assembla.com
)

For demonstrating purposes we may ne
ed a web server, at least open to school’s intranet.
This issue is
optional,
yet

preferred.

14.

I
DEAS
F
OR
F
URTHER
D
EVELOPMENT

System is designed to solve a specific subset of scheduling problems; that is lecture timetable scheduling.
A good r
e
-
engineering woul
d be extending this system into a generic one.

Building an automated installer for the server side software. It might increase ease of

installation and
configuration on the server.

15.

R
EFERENCES

[1] Lantiv Timetabler v6.2,
http://www.lantiv.com
,
Lantiv International
,

[2] Mimosa Scheduling Software v4.11,
http://www.mimosasoftware.com
,
Mimosa Software Ltd.

[3]Oracle Database 10g Express Edition,
http://www.oracle.com/technology/products/database/xe/index.html


Page
12

of
13


[4] Technical comparison of Oracle vs.
IBM DB2 UDB
: Focus on performance, November 2002, Author:
Hervé Lejeune,

Contributing Authors: Jenny Tsai, Valerie Kane, Vineet Buch, Bill Kehoe, Sashikanth
Chandrasekaran, Ray Glasstone.

[5] Oracle 9i Database vs
DB2

v8.1, Alexander Chigrik,
http://ww
w.mssqlcity.com/Articles/Compare/oracle_vs_db2.htm


[6]

Oracle Enterprise Pack for Eclipse 1.0,
http://www.oracle.com/technology/software/products/oepe/index.html

[7]
Google

Web Toolkit: Product Overview
,
http://code.google.com/webtoolkit/overview.html

[8]
Enterprise Digital Dashboards as Rich Internet Applications
:
Author: Sidney Shek
, Section 3.5.2,
http://www.csc.com/aboutus/leadingedgeforum/knowledgelibrary/uploads/Enterprise%20Digital%20Das
hboards%20as%20RIAs.pdf

[9] GWT
-
Ext H
omepage,
http://gwt
-
ext.com/

[10] Ext JS Homepage,
http://extjs.com/

[
11
] Wikipedia page:
http://en.wikipedia.org/wiki/St
andards
-
compliant

[
12
] W3C Quality Assurance, Standards Compliant Sites Technical Report. Specifically the “requirements
list” section:
http://www.w3.org/QA/2002/07/WebAgency
-
Requirements#reqlist

[1
3
] Sun Developer Forums,
http://forums.sun.com/index.jspa


16.

A
PPENDIX

16.1.

COMMENTS FROM PREVIO
US EXPERIENCES

This is a list of comments from previous
experiences of project group members. These comments will help
us organize things, and don’t mess things up during project timeline.

All comments are free
-
style and are
not moderated.



Data access is a crucial point in such database
-
driven applications. A l
ayer abstracting away SQL,
and dealing with concurrency problems

is seriously needed. (Özgür)



Interface standards are important to give users the same look and feel all over the website. At
the end this project is a “web
-
site” to end user. Inconsistent UI
elements will lead users to think
that this project is not professional at all. (Özgür)



We must follow the project timing plan very strictly and get ahead of it if we get the chance.
Problems arose in projects many times from unexpected steps. Getting ahea
d of the time plan
will give us the chance to overcome those problems without worrying about the schedule and
apply more tests. (Yiğit)



In Implementation phase it will be a good practice to perform quick unit tests to the modules we
had coded. In this w
ay,

we can submit errors earlier to the Assembla or to the official Java
Page
13

of
13


Developer Support
Forums

[
1
3
]

in the case of the error is due to a programming language feature
we are not aware of.
We will face a lot of situation similar to this because we will use J
ava SE
with GWT, in which we do not have any experience. It is hard to track all APIs of Java.

(Yiğit)