TABLE OF CONTENTS
INTRODUCTION.………………………………………………………....…4
1. THE ANALYSIS OF THE SUBJECT AREA …………………………….6
1.1. The problem statement……………………………………………………6
1.2. Comparative analysis of the existing analogical sites…………………….7
1.3. The used development tools………………………………………………8
2. DEVELOPMENT OF A SITE…………………………………..………...14
2.1. Functional requirements…………………………………………………14
2.2. Use case diagram………………………………………………………...14
2.3. Development of the database ……………………………………..……..17
2.4. Development of the interface ……………………………….….………..21
3. TESTING OF THE WEB APPLICATION……………………….…….…30
3.1.The used methods of testing……………………………………..……..…31
3.2. Screen forms of the application……………………………………….….31
CONCLUSION…………………………….………………………………….37
LITERATURE…………………………………...……………………………39
3
INTRODUCTION
Actuality
The development witnessed by the world in the field of information
technology and communications, the evolution of the computer industry, operating systems and multiple, which is one of the features of this present century.
The use of technology in the access to information and transfer is the
most important pillars that will enable us to keep pace with development and
progress in all fields, in addition to the impact on saving time, effort and money, whether in the field of access to information, transported, or stored. Thanks
to the evolution of the concept and uses of information technology and the Internet, the world is becoming like a small global village.
Internet provides many services, among them Communication services,
e-mail, knowledge and browsing, storage services, entertainment, banking services and commercial services. The world today League online, and we can say
that the Internet has become an integral part of our lives.
Since the colleges and universities are considered the source of science
and modern technology, it must be the first in the use of these new technologies
in learning and education service, especially after the widespread use of computers, internet in different fields at universities such as education, dissemination of scientific research and get the latest information. An example of this is
Education College for Human Science at Karbala University, It has a site but it,
contain little information about the college, can be considered as a site for news
or media.
We decided to develop a special site for Education College for Human
Science at Karbala University, based on modern information technologies.
Research goals and objectives
The goal of the research is the development of a site for Education College for Human Science at the University of Karbala, based on SQLITE and Python language.
4
For the reaching this goal we must solve the following objectives:
1)
to make the comparative analysis of the existing sites for College
of Education.
2)
to study the modern tools of web sites developing;
3)
to realize and test the web site for Education College for Human
Science at the University of Karbala.
The practical significance
This project is useful for the teaching staff and students in Education
College for Human Science at the University of Karbala, because it contains
several features to assist the teaching staff and students, such as the following:
1)
saving the time and efforts while finding the information at site;
2)
uploading and downloading study materials for students;
3)
easily dealing with the site for its friendly-man design;
4)
fastly, reliably, easily to use and to have high security due to the
standard tools of SQLITE;
5)
unlimited number of users;
6)
ability for the following development of the site.
5
1. THE ANALYSIS OF THE SUBJECT AREA
1.1. The problem statement
Given the importance of the Internet has been harnessed by governments to serve their people, a so-called e-government, where governments provide a range of services to its members to facilitate the workflow to have and to
shorten the time, effort and cost as well.
Continue to use paper-based system in completing and transactions
stored in some government institutions and companies is unacceptable and does
not keep pace with the development in the field of information technology. An
example of this is Education College for Human Sciences at Karbala University,
where the number of students in the college is for more than three thousands of
ones and the number of teaching staff is approximately 150 teachers. The use of
paper-based system in the management and storage of college information has
become a difficult with his inclusion on a number of problems such as damage
or loss of the paper files
In our project, we want to develop site for Education College for Human Sciences at Karbala University, when developing a website we have to include into this site all information pertaining to the college. To become a user of
the site, a student after registering on the site, obtains the information he needs
very easily and is pleased at any time, from anywhere.
There are differences between the sites in terms of design and development depending on the tools and modern techniques used in the development
of the site, and there are differences in the content and form of the Site. It depends on the nature of the work of the owner of the site and the site admins.
The site will contain the information about the following basis:
1)
lectures;
2)
dates of lectures;
3)
students and their grades;
4)
teachers and their specialty;
6
5)
college conferences and news.
6)
scientific and administrative departments of the College;
7)
showing scientific research for teachers and students of the college.
With use of modern technologies in the development of this site from
the protection of a high level and make it updatable and edited by the site administrator.
1.2. Comparative analysis of the existing analogical sites
The College site must contains all the information that students, teaching staff and the user of the site such as lectures, departments and clarifying information about the college.
Before starting on this project we must examine the same samples of
randomly selected universities in order to have the comprehensive project and
suitable to the requirements which needed by the students. The comparison of
the universities’ sites was conducted.
The current site of the Education College for Human Science at the
Karbala University (Iraq).
The URL of the site of the college is http://cohe.uokerbala.edu.iq/. The
current site has information about scientific and administrative departments of
the college, scientific research teaching staff, University Theses, the names of
the graduating students and their rates, some of the college's activities and contains a page in English. But the site does not include information on the teaching staff and current students, lectures and lecture dates[3].
College of Education at the University of Damascus (Syrian Arab
Republic).
The site of the college: http://damascusuniversity.edu.sy/faculties/edu.
The current site has information about Departments of the faculty, News and
Announcements faculty. But this site does not contain a page in English, and
there is no important information about students and lectures[1].
Tehran University (Iran).
7
The site of the University is http://www.ut.ac.ir/. University site contains on several sections. Among these sections are admissions, colleges, overview, but does not contains a section featuring the names and information about
faculty, departments, lectures, teacher, and information about students and their
marks [16].
1.3. The used development tools
The developing of the site was based on a SQLite, an in-process library
that implements a self-contained, server less, zero-configuration, transactional
SQL database engine. The code for SQLite is in the public domain and is thus
free for use for any purpose, commercial or private. SQLite is the most widely
deployed database in the world with more applications than we can count, including several high-profile projects.
SQLite is an embedded SQL database engine. Unlike most other SQL
databases, SQLite does not have a separate server process. SQLite reads and
writes directly to ordinary disk files. A complete SQL database with multiple
tables, indices, triggers, and views, is contained in a single disk file. The database file format is cross-platform - you can freely copy a database between 32bit and 64-bit systems or between big-endian and little-endian architectures.
These features make SQLite a popular choice as an application file format.
SQLite is very carefully tested prior to every release and has a reputation for being very reliable. Most of the SQLite source code is devoted purely to
testing and verification. An automated test suite runs millions and millions of
test cases involving hundreds of millions of individual SQL statements and
achieves 100% branch test coverage. SQLite responds gracefully to memory
allocation failures and disk I/O errors. Transactions are ACID even if interrupted by system crashes or power failures. All of this is verified by the automated
tests using special test harnesses which simulate system failures. Of course,
even with all this testing, there are still bugs. But unlike some similar projects
(especially commercial competitors) SQLite is open and honest about all bugs
8
and provides bugs lists and minute-by-minute chronologies of bug reports and
code changes.
The SQLite code base is supported by an international team of developers who work on SQLite full-time. The developers continue to expand the capabilities of SQLite and enhance its reliability and performance while maintaining
backwards compatibility with the published interface spec, SQL syntax, and database file format. The source code is absolutely free to anybody who wants it,
but professional support is also available [12].
There are many languages for web programming: HTML, JavaScript,
Python, PHP, Ruby, ASP etc. We will use some of these languages.
HTML is the standard markup language used to create web pages and
its elements form the building blocks of all websites[5].
Every webpage you look at is written in a language called HTML. You
can think of HTML as the skeleton that gives every webpage structure. In this
website, we will use HTML to add paragraphs, headings, images and links to a
webpage[17].
JavaScript (JS) is a lightweight, interpreted, programming language
with first-class functions. Most well-known as the scripting language for Web
pages, many non-browser environments also use it, such as node.js and Apache
CouchDB. JS is a prototype-based, multi-paradigm, dynamic scripting language, supporting object-oriented, imperative, and declarative (e.g. functional
programming) styles. Read more about JavaScript [8].
jQuery is a fast, small, and feature-rich JavaScript library. It makes
things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery
has changed the way that millions of people write JavaScript [11].
Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web.
9
Bootstrap makes front-end web development faster and easier. It's made
for folks of all skill levels, devices of all shapes, and projects of all sizes.
Bootstrap easily and efficiently scales your websites and applications
with a single code base, from phones to tablets to desktops with CSS media
queries.
With Bootstrap, you get extensive and beautiful documentation for
common HTML elements, dozens of custom HTML and CSS components, and
awesome jQuery plugins[9].
We will use Python language for development site because is a widely
used general-purpose, high-level programming language, It's design philosophy
emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than would be possible in languages such as C++ or
Java, The language provides constructs intended to enable clear programs on
both a small and large scale.
Python supports multiple programming paradigms, including objectoriented, imperative and functional programming or procedural styles. It features a dynamic type system and automatic memory management and has a
large and comprehensive standard library.
Python interpreters are available for installation on many operating systems, allowing Python code execution on a wide variety of systems. Using
third-party tools, such as Py2exe or Pyinstaller, Python code can be packaged
into stand-alone executable programs for some of the most popular operating
systems, allowing the distribution of Python-based software for use on those
environments without requiring the installation of a Python interpreter.
Python, the reference implementation of Python, is free and opensource software and has a community-based development model, as do nearly
all of its alternative implementations. Python is managed by the non-profit Python Software Foundation.
10
Python is a general purpose programming language created in the late
1980s, and named after Monty Python, that’s used by thousands of people to do
things from testing microchips at Intel, to powering Instagram, to building video games with the pygmy library. It’s small, very closely resembles the English
language, and has hundreds of existing third-party libraries.
Python excels at integration tasks. Many applications use Python as an
embedded scripting language, it's much more versatile and has all sorts of
ready-made tools so it makes a great tool for gluing things together. For example, 3D software like Maya includes Python which can be used for automating
small user tasks, or for doing more complex integration like talking to databases
and asset management systems.
Python is also very popular in web development, though primarily on
the 'back end' side. The combination of easy extensibility, good iteration time,
and good integration with database and other web standards makes it a popular
choice [13].
Django Framework
We will use framework Django for development of a site, Django is a
free and open-source web framework, written in Python, which follows the
model–view–controller (MVC) architectural pattern. It is maintained by the
Django Software Foundation (DSF), an independent organization established as
a non-profit.
Django is a high-level Python Web framework that encourages rapid
development and clean, pragmatic design. Built by experienced developers, it
takes care of much of the hassle of Web development, so you can focus on
writing your app without needing to reinvent the wheel. It’s free and open
source.
Django's primary goal is to ease the creation of complex, databasedriven websites. Django emphasizes reusability and "pluggability" of components, rapid development, and the principle of do not repeat yourself. Python is
11
used throughout, even for settings, files, and data models. Django also provides
an optional administrative create, read, update and delete interface that is generated dynamically through introspection and configured via admin models.
Some well-known sites that use Django include Pinterest, Instagram,
Mozilla, The Washington Times, Disqus, the Public Broadcasting Service, and
Bitbucket.
Django was designed to help developers take applications from concept
to completion as quickly as possible.
Django takes security seriously and helps developers avoid many common security mistakes.
Some of the busiest sites on the Web leverage Django’s ability to
quickly and flexibly scale [10].
The user operating system in the development of the site
The site will be developed using the Linux operating system, Linux is
an open source operating system, and is one of the systems that are defined as
UNIX. This system was built the efforts of thousands of volunteers and employees of companies began in 1985 and to this day. The goal of building this
system is to provide a high-performance operating system, free system, free of
viruses and make the text of an open source system.
Linux features and the difference between it and other private
Windows and Macintosh systems:
1)
update the legal system operation and without having to pay;
2)
Get the latest versions of the operating system fast without touch-
ing the equipment;
3)
install and run different graphical interfaces easily if they do not
like the default;
4)
installation of many programs only one order;
5)
owning system to automatically update the programs that have
been installed;
12
6)
install the same version of the operating system (eg Ubuntu) on
multiple devices without having to worry about license restrictions or activation
keys;
7)
distribution of copies of the operating and the programs that run
above without violating the laws of any governmental system, a literary or moral, because everything has been progress in this direction;
8)
Full Control in equipment installation and definitions without fear
of spy tools were installed by unscrupulous publishers or the government;
9)
work without the use of the struggles of spyware and Anteviruses;
10) operating without having to remove defragment hard drive, at all!;
To install DJANGO in the Linux system, using command of Terminal
in Linux to install the framework, these commands are:
a)
python get-pip.py;
b)
pip install virtualenv;
c)
virtualenv virtual name;
d)
pip install Django==release of Django.
There are the requirements for the installation of DJANGO, they are
represented in table 1.
Tab. 1. Hardware requirements for DJANGO
No.
Component
Minimum requirement
1.
Processor
64-bit, four cores
2.
RAM
3.
Hard disk
4 GB for developer or evaluation use
8 GB for production use in a single server or multiple
server farm
80 GB for system drive
You must have sufficient space for the base installation and sufficient space for diagnostics such as logging, debugging, creating memory dumps, and so on.
For production use, you also need additional free
disk space for day-to-day operations. Maintain twice
as much free space as you have RAM for production
environments.
13
2. DEVELOPMENT OF A SITE
2.1. Functional requirements
The developed application must contain the following functions:
1)
authorize the users;
2)
provide an opportunity to work with user accounts (students,
teachers).
3)
connect to the database;
4)
add/delete/show information about college, teacher, student, lec-
tures, scientific research.
The requirement “Authorize the users” means to enable users to log in
and log out of the site.
The requirement “Provide an opportunity to work with user accounts”
means to enable the administrator to register new users in the site.
The requirement “Connect to the database” means to establish the connection to SQLITE database, which is kept on the server.
The forth requirement means the opportunity for all users to review information about college, teacher, student, lectures, scientific research, students
graduating.
2.2. Use case diagram
Every software construction needs a plan, for this reason, it was necessary to develop a plan of action, in order that the work is correct and free of
problems and programmatic iterations.
For this reason, we use UML.
To represent the system functionality and the requirements of the system from the user's perspective we use the use case model. An use case model
is a sequence of steps describing an interaction between a user and a system.
Use cases describe the way the user will interact with the system and how the
system will respond him.
The result of developing the use case model is shown at the fig. 1.
14
Fig. 1. Use Case diagram
Functions performed by the admin, the teacher and student.
Admin functions
An admin is responsible for the registration/authorization process to enter the site, managing the teacher, student and courses information, the names of
the graduating students and their rates, conferences and activities of the college
and news.
Teacher functions
A teacher can write scores of students, select lectures studied according
to their specialty.
Student functions
A student can see the lecture dates, the exam dates and information
about another student and after authorization can see their marks.
2.3. Development of the database
Database scheme has 8 tables. It is the following tables:

teacher;

student;
15

subject;

marks;

department;

specialty;

scientific Research.
The fig. 2 illustrates the list of tables in database.
Fig. 2. Table of database
The fig. 3 shows the developed database schema of education college
for human sciences at Karbala University, which consists of the previously
shown 7 tables. They have relationships between each other; we can see the list
of fields and primary keys in them also.
16
Fig. 3. Database scheme
The table “Teacher” contains 8 fields: ID, Teacher Name, Teacher Surname, Academic Title, id_Specialty, Email, Address, and Phone as in the fig. 4.
This table keeps basic information about teachers.
Fig. 4. Structure of the table “Teacher”
The table “Student” contains 9 fields: ID, Student Name, Student Surname, id_Department, University Level, Gender, Address, Birth Date, and
Phone as in the fig. 5. This table keeps basic information about students.
17
Fig. 5. Structure of the table “Student”
The table “Subject” contains 6 fields: ID, id_Teacher, Subject Name,
Subject Time, Classroom, and Day as in the fig. 6. This table keeps basic information about course.
Fig. 6. Structure of the table “Subject”
The table “Department” contains 2 fields: ID, Department Name as in
the fig. 7. This table keeps basic information about Department.
Fig. 7. Structure of the table “Department”
18
The table “Marks” contains 8 fields: ID, id_Student, id_Subject, First
Course, Second Course, Result as in the fig. 8. This table keeps marks of students and this table must be filled in only by the teacher to preserve the confidentiality of marks.
Fig. 8. Structure of the table “Marks”
The table “Specialty” contains 2 fields: ID, Specialty as in the fig. 9.
This table keeps basic information about specialty.
Fig. 9. Structure of the table “Specialty”
The table “Scientific Research” contains 3 fields: ID, id_Teacher, Research title as in the fig.10. This table keeps basic information about research.
Fig. 10. Structure of the table “Scientific Research”
19
2.4. Development of the interface
User interface design is the design of websites and software applications with the focus on the user's experience and interaction.
The goal of user interface design is to make the user's interaction as
simple and efficient as possible, in terms of accomplishing user goals.
The first button from the main menu is the home page has main elements like login form, main menu and college’s conferences and news such as
it is shown in fig. 11.
Fig. 11. Home page
20
The second button from the main menu called "About College" displays
information about establishment of the college and its history, departments its
objectives as “History Brief “about college as it is shown in fig. 12.
Fig. 12. Menu “About College”
The third button from the main menu called "Department" displays table
containing names of the scientific departments of the college where it contains
5 departments, as it is shown in fig. 13.
21
Fig. 13. Menu “Department”
The fourth button from the main menu called "Teacher" displays all the
information about the teacher of the college, as it is shown in fig. 14.
22
Fig. 14. Menu “Teacher”
The fifth button from the main menu called "Student" displays all the
information for students who are studying, as it is shown in fig. 15.
23
Fig. 15. Menu “Student”
The sixth page called "Lecture Schedule" displays weekly lectures
schedule for the students of college, as it is shown in fig. 16.
24
Fig. 16. Page “Lecture Schedule”
The Seventh page called "Photo Gallery" contains all photo related to
the college, as it is shown in fig. 17.
25
Fig. 17. Page “Photo Gallery”
The eighth page called "Scientific Research" contains all research that
done by the teacher and student of the college, as it is shown in fig. 18.
26
Fig. 18. Page “Scientific Research”
27
3. TESTING OF THE WEB APPLICATION
3.1. The used methods of testing
Functional system tests should be based around coverage of the functionality described in the requirements, but it is common for the design document to be used as the baseline for testing because the requirements cannot be
related to the end product.
3.2. Screen forms of the application
Any visitor can see the home page, the home page is the first in menu
bar and is contains pictures for college, menu bar and college news and events
such as conferences and exhibits, meetings and scientific and sports activities. It
is shown in fig. 19, fig. 20.
Fig. 19. The home page (picture, menu bar)
28
Fig. 20. The home page
The second page in menu is About College. It contains a brief history of
the founding of the college and stages of development, in addition to college
goals. It is shown in fig. 21.
Fig. 21. The page About College
29
The third page in menu is Department. It contains the scientific department of college. It is shown in fig. 22.
Fig. 22. The page Department
The fourth page in menu is Teacher. It contains information about
teacher of college. It is shown in fig. 23.
Fig. 23. The page Teacher
30
The fifth page in menu is Student. It contains information about student
of college, buttons called marks when student press on it that moved to page of
marks that contains the student’s marks, each student can see his marks only after login if he was registered in the site. It is shown in fig. 24.
Fig. 24. The page Student
The page of marks, this page will be the responsibility of a teacher who
is responsible for enter students’ marks. It is shown in fig. 25.
Fig. 25. The page marks
31
The page of register, in this page, the student must enter the same information that he give in when register in college. It is shown in fig. 26.
Fig. 26. The page register
The page of login, the student must register to this site to see his marks to login
he should fill fields of user name and password by write correct information. It
is shown in fig. 27, fig. 28.
Fig. 27. The page login
32
Fig. 28. The page login
The page of contact us, this page is the last page in menu. It is shown in
fig. 29.
Fig. 29. The page contact as
33
The page of lecture, this page contains a table of lectures for students of
the college, when the student chooses his department and the stage will show a
page table. It is shown in fig. 30.
Fig. 30. The page lecture
The page of lecture1 that contains the details for the table of lecture. It is shown
in fig. 31.
Fig. 31. The lecture 1
34
The page of photos page that contains the photos for this college. It is
shown in fig. 32.
Fig. 32. The page photos
The page of scientific research page, containing the research done by
teachers and students of the college. It is shown in fig. 33.
35
Fig. 33. The page scientific research
The page of site administration, that by it entering, delete, edit and update data, admin shall be responsible for everything except the marks that are
the responsibility of the teacher. It is shown in fig. 34.
Fig. 34. The page site administration
36
The page of user, that illustrates all user who registered in site such as:
admin, teacher and any user. It is shown in fig. 35.
Fig. 35.The page user
The page of permission, that illustrates the permissions of teacher
where he can work with marks only. It is shown in fig. 36.
Fig. 36.The page permission
37
CONCLUSION
The use of the Internet is very wide, which led to the ease of access to
information from anywhere in the world, with minimal effort and shortest
amount of time, that teachers and students in colleges and universities are more
class looking for information related to their studies and their work, such as scientific research, books and lectures.
Today, Education College for Human Sciences at Karbala University
has a site with some information about the college, such as graduate students,
some teachers research, faculty departments and a page in English and some
college activities. That means, the current site does not contain all information
related to the college, such as information about teachers, students, lectures,
dates of lectures and meetings, conferences and Colleges news.
During the developing of the web site, we solved the following tasks:
1)
the comparative analysis of the existing sites for Education College
from different countries is made;
2)
the modern tools of web sites developing is studied;
3)
an use case diagram is created;
4)
database scheme is created;
5)
interfaces for the site is created.
The perspectives for the developed application. Always we can think
out some function, which we can implement in future for example, are the following:
a)
the register processing for the students in the college will be online
by the site;
b)
download lectures students through the site;
c)
record attendance for students in college;
d)
download the duties required of students through the site.
38
LITERATURE
1.
College of Education at the University of Damascus (Syrian Arab
Republic). [Electronic recourse] URL: http://damascusuniversity.edu.sy/
faculties/edu (the date of access: 05.05.2015).
2.
Downey A.B., Think Python. – UK: O’Reilly Media, 2012. –
3.
Education College for Human Sciences at Karbala University
300 p.
(Iraq). [Electronic recourse] URL: http://cohe.uokerbala.edu.iq/ (the date of
access: 30.04.2015).
4.
Guttag J.V. Introduction to Computation and Programming Using
Python. – USA: MIT Press, 2013. – 268 p.
5.
HTML Basics – Codecademy. [Electronic recourse] URL:
https://www.codecademy.com/courses/web-beginner-en-HZA3b/0/1 (the date
of access: 30.10.2015).
6.
Jackson C. Learning to Program Using Python. 2nd ed. – USA:
Site Point, 2013. – 258 p.
7.
Jang M. Linux Patch Management. – USA: Prentice Hall, 2011. –
8.
JavaScript|MDN. [Electronic recourse] URL:
288 p.
https://developer.mozilla.org/en-US/docs/Web/JavaScript (the date of access:
22.11.2015).
9.
Official site of Bootstrap. [Electronic recourse] URL:
http://getbootstrap.com/ (the date of access: 15.11.2015).
10. Official site of Django. [Electronic recourse] URL:
https://docs.djangoproject.com/en/1.9/ (the date of access: 15.12.2015).
11. Official site of jQuery. [Electronic recourse] URL:
https://jquery.com/ (the date of access: 02.12.2016).
12. Official site of SQLITE. [Electronic recourse] URL:
http://www.sqlite.com/about.html (the date of access: 25.01.2016).
39
13. Quora PYTHON. [Electronic recourse] URL:
https://www.quora.com/What-is-Python-mainly-used-for-in-the-real-worldtoday (the date of access: 11.06.2015).
14. Ramakrishnan R., Gehrke J. (ADB) Database Management
Systems. – Spotify, 2014. – 931 p.
15. Rosenberg D., Stephens M. Use Case Driven Object Modeling
with UML. – UK: Apress, 2007. – 472 p.
16. Tehran University (Iran). [Electronic recourse] URL:
http://www.ut.ac.ir/ (the date of access: 06.05.2015).
17. W3C HTML. [Electronic recourse] URL:
https://www.w3.org/html/ (the date of access: 03.11.2015).
18. Zed Shaw, Learn Python the Hard Way. 3rd ed. – USA: AddisonWesley, 2013. – 320 p.
40