1 CHAPTER 2 LITERATURE REVIEW 2.1 General Theories 2.1.1

advertisement
CHAPTER 2
LITERATURE REVIEW
2.1 General Theories
2.1.1 System, Analysis and Design Concept
2.1.1.1 System Definition
System is a group of components connected to each other and
working together to accomplish certain preferred goal (Whitten and
Bentley, 2007:6).
Thus system can be concluded as an assembly of components
linked together to cooperate in order to accomplish a predefined goal
by accepting input and processing the input to produce output.
2.1.1.2 Analysis Definition
Whitten and Bentley have formally defined system analysis as
“The study of a business problem domain to recommend
improvements and specify the business requirements and priorities for
the solution” (2007:32).
Requirement analysis is an important job that acts as a
connector to system requirements and the system design process
(Pressman, 2010:149-150).
Accordingly, analysis can be defined as a research process of
an existing system in order to produce a new system or rebuild the
existing system into a better system. The result of system analysis is
the set of characteristics which can be used to design the new system
or rebuild the existing system. Person in charge for system analysis is
mainly called as system analyst.
System analysis can also be referred as how to apprehend and
specifically identify what is the system has to do and the system will
be designed according to the identification beforehand.
5
6
2.1.1.3 Design Definition
Correspondingly, Whitten and Bentley (2007:33) have
described system design as “The specification or construction of a
technical, computer-based solution for the business requirements
identified in a system analysis.”
It can be concluded that system design is a step of system
development cycle after system analysis step, which composes a
detailed specification of a proposed system according to the data
gathered from the system analysis step. System design produces a
complete and detailed specification of a computer-based solution of
the problem and requirement.
Moreover, system design result acts as a guideline for building
the desired system in order to accomplished the predefined goal of the
system itself. System design explains the desired system for both user
and programmer so that the system will be understandable and can be
reviewed from both sides, general and detailed.
2.1.2
Information Technology
Information Technology is an expression that can be used widely.
Generally, Information Technology can be inferred as a study around
technology usage for gaining information, processing and storing
information, transferring from one form to another, relocating from one
location to another, and even managing information with the intention of
gaining more efficiency of information usage for the users.
Whitten and Bentley have described Information Technology as “a
contemporary term that describes the combination of computer technology
(hardware and software) with telecommunications technology (data, image,
and voice networks)” (2007:6).
Components
of
Information
Technology
are
technology
of
computation system and technology of communication system. Computation
system has been vital to process data into information that is useful for the
users while communication system has been essential in order to transfer the
information processed throughout the users.
7
Information Technology has been a part of a long chain developed
from the Information System (IS). While Information Technology has
referred to technologies used in information processing and transferring, it is
still considered as part of Information System itself. Information Technology
is more well-known as computerized processing of information which is
rapidly evolved (Nugraha, 2003:1).
2.1.3
Database Description
Database can be generally defined as an enormous collection of data
stored within the computer and to access the database a software is essential.
This definition has been effective to define database even to a non-technical
person.
Connolly and Begg (2010:15) has formally described database as “a
shared collection of logically related data, and a description of this data,
designed to meet the information needs of an organization”.
Database Management System is a software that facilitates user to
describe, generate, preserve, and govern admittance to the database that is
mainly completed with facilities to create a database and its components,
database recovery system, and controlled access to the database (Connolly
and Begg, 2010:16).
Cited from Turban, Rainer, and Potter (2003:15), data is raw fact or an
advanced illustration of articles, events, and transactions that are recorded and
classified but still considered as a raw objects that cannot be used to declare a
specific definition while information is a group of facts (data) that is
assembled in a certain way so that it can be meaningful for the readers.
Thus it can be concluded that database is a collection of data that is
connected and related to each other while when it is standing alone then it
becomes meaningless. The data is considerably raw while further processing
may result in a meaningful information for the readers.
8
2.1.4
Database Components
2.1.4.1 DML
DML stands for Data Manipulation Language. DML is a
language used to manipulate the data within the database (Connolly
and Begg, 2010:24). DML is very useful when it comes to
manipulating the data stored in the database, such as inserting new
record(s), deleting existing record(s), and updating record(s).
2.1.4.2 DDL
Data Definition Language is used to define components of the
database (Connolly and Begg, 2010:24). DDL can be used to define a
schema, tables, and other components of database.
2.1.4.3 Stored Procedure
Stored procedure is a set of instructions that can be used just
like a programming language to deal with the database. Just like a
subroutine of other programming languages, stored procedure has
parameters and the parameters can be defined as in, out, or in-out
parameter (Connolly and Begg, 2010:222). Stored procedure is mainly
used to insert, update, or delete record(s).
2.1.4.4 Function
Function is similar to stored procedure and only differs in the
returned data after completing the whole instructions within the
function (Connolly and Begg, 2010:222). A function must return
value as a result of the instructions. Function is mainly used to select a
record.
2.1.4.5 Package
Package is a set of stored procedures, functions and/or
variables that are grouped together because of its similarities to each
other. For example, the stored procedures and/or the functions are
manipulating the same table(s) (Connolly and Begg, 2010:222).
9
2.1.5
Internet
2.1.5.1 Internet Definition and History
Internet has become a great part of human life, even many
people are starting to think that internet has been a very essential part
in life just like how people needed air to breathe. More and more
people are getting dependent to internet, some are getting even kind of
addicted to it. Just enough to justify that internet is intoxicating.
Nonetheless, internet was invented because of human needs of
information exchange in a rapid way. Connolly and Begg describes
internet as “a worldwide collection of interconnected computer
networks” (2010:975).
Internet, also known as cyberspace, is a network connecting
computers all over the world. Internet has permitted a global
communication networking for all humankind using computers.
It all started at 1969 when US Department of Defense decided
to develop an experiment called ARPANET (Advanced Research
Projects Agency Network) which is intended to be useful to exchange
internal information without suffering any outages. Within one
decade, ARPANET has spread all over the world. Within the time,
many new technologies revolved around the internet have been
invented, pushing the internet to become more popular (Connolly and
Begg, 2010:974-977).
2.1.5.2World Wide Web
World Wide Web or simply web, is an enormous means that
enables information browsing through hyperlinks. The information
that can be accessed includes text, images, audio, video, etc.
Web is very useful and easy to implement since it “… provides
a simple point and click means of exploring … information on the
internet” (Connolly and Begg, 2010:979).
10
2.1.5.3 URL
URL stands for Uniform Resource Locator. URL is a unique
characteristic that distinguish every web. URL can also be used to
provide links on the document, whether it is within the web or
between webs.
Connolly and Begg describes that “URLs define uniquely
where documents … can be found on the internet” (2010:982). In
other words, URL is the unique address of a web, just like a complete
address of a place, including the street name, building number, region,
postal code, etc.
2.1.5.4 HTTP
Hyper Text Transfer Protocol or HTTP is a communication
protocol used by the web to govern the information transferring
between clients and servers (Connolly and Begg, 2010:979-980).
2.1.5.5 HTML
HTML stands for HyperText Markup Language. HTML is the
“formatting language used to design most Web pages” (Connolly and
Begg, 2010:981).
HTML consists of tags which is known to the Web. The tags
are used to tell the Web of what is the shape or the appearance of the
page that is intended to be presented within the web pages.
2.1.5.5 Web Based Application
Also known as WebApps, web based application spread from
simple text and documents linked together to a very integrated system
that can even access business applications and corporates’ databases
(Pressman, 2010:10).
Pressman (2010:11-12) continued to argue that WebApps has
many attributes such as concurrency, performance, unpredictable load,
availability, security, immediacy, continuous evolution, aesthetic, etc.
11
2.1.5.6 Web Server
Whitten and Bentley (2007:487) describes web server as “a
server that hosts internet or intranet Web sites”.It is a server specially
used to store a website page or a homepage. A computer can be
referred as a web server when it has had a server program called
Personal Web Server (PWS). PWS has been functioned so that a web
page within the computer server can be invoked by client computer.
2.1.5.7 Web Browser
It is software installed into client machine that can be used to
translate HTML’s tags into a web page. Commonly used web
browsers are Internet Explorer, Netscape Navigator, etc.
The importance of an internet browser has been getting more
and more realized and sometimes it is considered more important than
any other desktop application itself (Whitten and Bentley, 2007:19).
2.1.5.8 JavaScript
JavaScript is an object oriented scripting language that is
commonly used in the web and can be interpreted directly from source
code to enable scripting on the HTML documents. JavaScript is
widely used because it empowers common HTML documents with
scripts or subroutines that increases interactivity with the users
(Connolly and Begg, 2010:991).
2.1.5.9 API
Application Programming Interface “… provides a method that
creates an interface between the server and back-end application using
dynamic linking or shared objects” (Connolly and Begg, 2010:999).
API is mainly used to extend a usability of a web server. It can
intercept the flow of information from server to browser and vice
versa. While it is intercepting the information, it can alter the
information and send it back (Connolly and Begg, 2010:1000).
12
2.1.5.10 Web Service
Web service is a package consisting many functions by means
to be used by another programs, circulated through the network. Web
service has no user interface therefore it is not intended to be used by
users. Instead, it is aimed to be used among applications such as webbased applications and other web services (Connolly and Begg,
2010:984).
2.1.6
Software Engineering
2.1.6.1 Software Engineering Definition
According to Pressman, software engineering has been
described as “the establishment and use of sound engineering
principles in order to obtain economically software that is reliable and
works efficiently on real machine” (2010:13).
Back on 2001, convention of programmers and analyst was
held to form a new process called the Agile Development. Agile is
meant to reduce change cost since the software is released in
increments in which changes can be more controllable. An Agile
process walks incrementally, system is released to customers
incrementally so that customers can give incremental feedback
according to the changing needs (Pressman, 2010:67-69).
One of the most widely used approach of agile software
development is called XP or Extreme Programming. In XP, effective
communication between programmers and stakeholders is very
important. XP highlights close collaboration between the customers
and developers, constant feedback, usage of metaphors, and
circumvention of ample amount of documentation. Another goal of
XP is simplicity, achieved by focusing on existing needs rather that
future needs (Pressman, 2010:72-73).
13
Figure 2.1 Extreme Programming Process (Pressman, 2010:74)
Stages of XP are (Pressman, 2010:73-77):
1.
Planning
Planning starts with a ‘story telling’. Stakeholders will tell
‘story’ (can also be referred as use case) of the required system.
Then ‘values’ will be given to each story (priority). XP technical
team will then consider each story and give ‘cost’ (development
time) to each of it, if the cost is considered too much then the
stakeholders will be asked to divide the story into smaller stories.
XP team can decide on which story that is going to be
developed first, according to team’s consideration. After software
release, or software increment, ‘project velocity’ will be
computed and will later be used to estimate the next development
time.
2.
Design
XP urges on simple design, mainly suggesting the team to
use simple CRC card. XP encourages the team to focus only to
the story and does not encourage any extra hypothesis of future
needs.
If there is a complex story that needs to be designed, a
‘spike solution’ is incited. Spike solution offers a usage of
14
prototype of the part of the story so that it can furthermore be
considered and evaluated.
3.
Coding
The key point of this stage is called a ‘Pair Programming’,
which place a pair of programmers on the same workstation. One
will be encouraged to focus of the coding according to the story
design while the other will be focusing on keeping the standard of
the system.
The result of this pairing is later be integrated with the
work of others. This integration is served as an early evaluation
for errors.
4.
Test
Integrated test of the system is encouraged to be
conducted on a daily basis to support the agile process,
incremental method. One of the most important motto of this
integrated, daily test is that “Fixing small problems every few
hours takes less time than fixing huge problem just before the
deadline” stated by Wells [Wel99].
Acceptance test is conducted by the stakeholders and
based on the specified story from the first stage.
2.1.6.2 Software Engineering Layers
On the word of Pressman (2010:13-14), software engineering
is considered as a layered technology that is composed of three layers,
which are:

Process
The process layer has been the foundation of
software engineering. Software engineering process has
acted as an adhesive that attaches the technology layers
together and permits coherent and sensible development of
computer software. Process defines a framework for a set
of key process areas that must be established in order to
attain
effective
technology.
delivery
of
software
engineering
15

Methods
Software engineering methods have provided
technical guidelines for developing software. This
includes array of tasks that incorporate requirements
analysis, design, program construction, testing, and
support. The methods has counted on a set of basic
principles that govern each area of technology and
encompass modeling activities and another descriptive
techniques.

Tools
Tools provide automated or at least semiautomated support for the previous two layers. Computeraided software engineering (CASE) is formed when tools
are integrated so that information from one tool can be
used by another, a system for the support of software
development.
Computer-aided
design/engineering
(CAD/CAE) is created from combination of software,
hardware, and database by CASE.
2.1.6.3 Software
Pressman has formally described software as “(1) Instructions
(computer programs) that when executed provide desired function and
performance, (2) data structures that enable the programs to
adequately manipulate information, and (3) documents that describe
the operation and use of the programs” (2010:4).
Thus it can be concluded that software is a set of computer
instructions that is generated to be a whole of a program and will
eventually be functional according to the initial goal. Software is
ultimately a set of instructions for computer to do exactly like what is
generated from it.
For instance, there has been an archive of instructions of what
the computer should do or what the computer must do in order to be
able to interpret the instructions. To achieve this, what needed is logic.
The organized logic is executed by computer through software,
16
instructions and the data. This software execution involve the
computer’s operating system, program, and data. This software will
instruct the computer so that the logic will be understandable to the
computer. This kind of software is called an interpreter.
Software has a role of being a product and also an instrument
to deliver the product itself.
Pressman (2010:4-6) identified that software is more logical
rather than physical system element thus software has characteristics
that are noticeably different to hardware:
1.
Software
is
not
manufactured
but
engineered
or
developed.
2.
Software does not wear out.
3.
Though industry has been moving forward componentbased assembly, most software continues to be custombuilt.
2.1.7
UML
According to Whitten and Bentley, UML or Unified Modelling
Language is “a set of modelling conventions that is used to specify or
describe a software system in terms of objects” (2007:371).
In late 80s and 90s, many modelling techniques are used, with the
most notable are Booch’sBooch Method, Rumbaugh’s Object Modelling
Technique, and Jacobson’s Object-Oriented Software Engineering. This
different modelling techniques result in sharing models across projects. In
1994, Booch and Rumbaugh joined forces, followed by Jacobson a year later.
In 1997, UML version 1.0 was released.
By September 1997, UML version 1.1 had been released with total of
8 diagrams. The diagrams had been: Use Case diagram, Activity diagram,
Sequence diagram, Collaboration diagram, Class diagram, Statechart
diagram, Component diagram, and Deployment diagram.
UML version 1.3 had been released in 1999 with the addition of
Business Use Case Diagram. UML version 1.4 was released in May 2001,
resulting in 10 diagrams for the addition of Object Diagram.
17
By 2002, UML version 2.0 had been released with some addition and
changes:
1.
Use CaseDiagram
2.
Activity Diagram
3.
Sequence Diagram
4.
Communication Diagram (Collaboration diagram in version 1.x)
5.
Class Diagram
6.
State Machine Diagram (State diagram in version 1.x)
7.
Component Diagram
8.
Deployment Diagram
9.
Composite Structure Diagram
10. Interaction Overview Diagram
11. Object Diagram
12. Package Diagram
13. Timing Diagram
Diagrams that are used in this thesis are:
1.
Use Case Diagram
2.
Activity Diagram
3.
Sequence Diagram
4.
Class Diagram
2.1.7.1 Use Case Diagram
Whitten and Bentley describes use case diagram as “a diagram
that depicts the interaction between the system and external system
and users …” (2007:246).
Elements of use case diagram are:
1.
Use cases
Use cases are functions which are listed within the
system written in a term that can be easily understood
generally even by an external users or outsiders.
2.
Actors
18
Actors can be simply be inferred as external users
who are responsible to initiate the use cases.
3.
Relationships
Relationships describe the relation between an actor
and a use case using a line. Format of the line may differ
according to the type of relationship.
In order to construct a requirement use-case model, Whitten
and Bentley (2007:251-260) have noted at least 4 steps as listed
below:
1.
Identify business actors.
First and foremost of the steps is to identify the
business actors. Concentrating on what the system is going
to be used can be achieved by identifying the actors. If the
actors have not been identified yet, identifying the use
case may not have any decent guidelines since the use
cases will be identified from the developer’s point of view
only.
In order to be able to fulfill the requirements of the
system, use cases must be identified from the actor’s point
of view. Thus identifying actors is the first step needed to
construct a use-case model.
2.
Identify business requirement use cases.
After the actors are identified, the next step is to
identify the business requirement use cases. As stated
above, use cases will be identified according to the actor’s
point of view. This process will be looped until all actors’
use cases are identified.
In this step, the use cases are filtered so that only the
most important and essential ones that are going to be
listed here.
3.
Construct use-case model diagram.
In this third step, use-case model diagram can be
assembled. Actors and their use cases can be related using
the relationships element (a line) accordingly.
19
4.
Document business requirement use-case narrative.
Even though the use-case model diagram is already
assembled, in order to be able to present it generally, more
explanation of the use-case diagram is needed. Therefore,
a business requirement use-case narrative is essential.
With a requirement use-case narrative, the details of
each use cases can be understood and it will also be useful
for the documentation of the system later on.
Consistent with Whitten and Bentley (2007:383-385), in
refining a system analysis use case model from requirement use case
model there are five steps which are:
1.
Identify, define, and document new actors.
Through the time between the requirement was
created and the time it is subsequently approved, new
actors may be identified.
2.
Identify, define, and document new use cases.
The new actors identified in step 1 may initiate
new use cases, new interaction with the system.
3.
Identify any reuse possibilities.
Two or more use-cases may lead to similar goal
but using different user interface, but these use-cases may
share similar steps thus it can be combined and increase
the reusability of the system itself.
4.
Refine the use-case model diagram (if necessary).
With the discovery of new actors and new usecases, there may be needs to revise the already constructed
use case diagram.
5.
Document system analysis use-case narratives.
After the use case has been approved, each use
case will have to be refined so that it will become more
specific and detailed.
20
Figure 2.2 Sample Use Case Diagram
2.1.7.2 Activity Diagram
According to Whitten and Bentley (2007:390), activity
diagrams are used to “graphically depict the sequential flow of
activities of … a use case”. The diagram can also be used to be a
model of actions that will be executed when an operation is triggered,
and also the results of those actions.
An activity diagram consists of following components
(Whitten and Bentley, 2007:391):

Initial node, drawn as a solid circle to illustrate the start
point

Actions, drawn as a rounded rectangle to illustrate each
step

Flow, drawn as an arrow to illustrate the flow of the
activity

Decision, drawn as a diamond with one in-flow and at
least two out-flow to illustrate a decision point which may
lead to different flows.

Merge, drawn as a diamond with at least two in-flow and
one out-flow to merge the flows that are separated by a
decision.
21

Fork, drawn as a black bar with one in-flow and at least
two out-flow to illustrate whenever the flows are parallel
to each other

Join, drawn as a black bar with at least two in-flow and
one out-flow to illustrate a join of a previously forked
flows

Activity final, drawn as a solid circle circled by a hollow
circle to illustrate the end point
Whitten and Bentley (2007:394) furthermore describes a list of
recommendations to construct an activity diagram, which consists of:

Start with a starting point called a starting node

According to the analysis, any partition can be added

Decide a major step of a use case and create an action
according to that

Create a continuous flow from one action to another, use a
decision point, end point, fork, merge, and join whenever
necessary to avoid confusion because of a multi flow
action

Use decision when a route is interchanging and a merge to
round up the actions

Use forks and join to show parallelism

Use an end point to indicate the end of the activity
Figure 2.3 Sample Activity Diagram
22
2.1.7.2 Sequence Diagram
According to Whitten and Bentley, sequence diagrams “a
UML diagram that models the logic of a use case by depicting the
interaction of messages between objects in time sequence”
(2007:659).
Whitten and Bentley describes components of a sequence
diagram as follow (2007:394-395):

Actor, drawn just like a use case diagram actor.

System, drawn as a box to illustrate the system as a ‘black
box’ or as a whole.

Lifelines, drawn as a dashed lined below the actor to
illustrate the life of the actor or the system.

Activation bars, drawn as a bar over the lifelines to
illustrate whenever the participant is being active.

Input messages, drawn as a horizontal line from an actor
to the system to illustrate the message input.

Output messages, drawn as a horizontal dashed line from
the system to the actor for illustrating the output flow.

Receiver actor (additional), can be used to illustrate
another actor or external system.

Frames (additional), drawn as a box outside a group of
messages to separate a subset of the sequence.
Figure 2.4 Sample Sequence Diagram
23
2.1.7.4 Class Diagram
According to Whitten and Bentley refers to class diagram as a
diagram that depicts the system’s object structure, the diagram
demonstrate object classes within the system as well as the
relationships between those object classes (2007:400).
Figure 2.5 Sample Class Diagram
2.1.8
Human Computer Interaction
One of the most famous principles used in designing user interface is
known as the Eight Golden Rules (Shneiderman, ) which consists of:
1.
Strive for consistency
In designing user interface, consistency is very important.
Using homogeneous design for similar condition or action is very
important in order to avoid confusion among users.
2.
Cater to universal capability
Design should be compatible for all kind of users, despite
of variations in age, gender, nationality, familiarity of technology,
etc. Some examples of application for this principle are adding
shortcut for more expert users, providing talkative menus for
disabled users, and so on.
3.
Offer informative feedback
Each input and action of users should get a considerable
feedback to avoid confusion.
4.
Design dialogs to yield closure
24
It is also important to group together some actions that are
connected to each other to help users recognize end of some
actions. An informative feedback at the end of the steps is also
essential.
5.
Prevent errors
Provide users with design that will prevent any errors. For
example, this can be done by using a combo box or other input
selection instead of free text field to avoid input errors. Whereas
any error happened, system must give users easy explanation so
that users can avoid further errors.
6.
Permit easy reversal of action
Actions should mainly be overturned so users will be
encouraged to explore unfamiliar actions because they know that
they can easily overturn their actions.
7.
Support internal locus of control
Make users believe that they are in charge of the interface.
8.
Reduce short-term memory load
Avoid interfaces where users must remember information
from one place to another. If there is a complicated action,
training should be conducted.
ISO 9241 describes the standard in user interface famously known as
Ergonomics of Human-System Interaction strive for 3 (three) goals;
effectiveness, efficiency, and satisfaction. In order to measure them, some
values are (Shneiderman):
1.
Time to learn, how long does it takes for average users to learn
how to use the system.
2.
Speed of performance, what is the speed of the system carrying
out a certain task.
3.
Rate of errors by users, how many errors are commonly made by
users and how is the recovery done.
4.
Retention over time, how long can users remembers how to use
the system.
5.
Subjective satisfaction, what is the reaction of the users about the
system.
25
2.1.9
Database System Development Lifecycle
Database has been a very essential part of a whole system.
While Information System has its own lifecycle, it is also very
important to understand the Database System lifecycle since database
is a part of an IS system itself. The stages of the lifecycle are mainly
succeeded from the IS lifecycle and vastly related to each other
(Connolly and Begg, 2010:262-263).
Figure 2.6 Stages of Database System Lifecycle (Connolly and Begg, 2010:263)
2.1.9.1 Database Planning
Database planning is the initial step of the lifecycle due to the
importance of establishing a clear and distinct goal of the project. First
thing to be established is what Connolly and Begg called as a “mission
statement”, which describes the main goal and the expectation of the
system owner. “Mission objectives” are what they have described as
26
the list of objectives developed from the mission statement. They
continued to state that “… if the database system supports the mission
objectives then the mission statement should be met” (2010:263-264).
There are also standards that must be defined along with the
mission statement and mission objectives. The standards will be used
during object naming, for example. With these standards established,
any severance and irregularity can be precluded (Connolly and Begg,
2010: 265).
2.1.9.2 System Definition
System definition is the next step of the cycle after completing
the database planning step. System definition “describes the scope and
boundaries of the database application and the major user views”
(Connolly and Begg, 2010:266).
Thus system definition can be concluded as a stage of database
system development lifecycle that determines the extent of a system
so that the limitations of the system may be cleared in order to avoid
any useless widening of the system functions.
As mentioned above, besides of defining the scope of the
application, major user views must also be defined clearly. User views
are a defined perspective of how a user from one group presented with
the data. It may differ for users from different group, mainly different
departments since the privileges and the needs are very different to
each other.
2.1.9.3 Requirements Collection and Analysis
During this step, relevant information has to be gathered using
the namely fact-finding techniques. Information needed during this
step are one around the organization or company that has requested
for the system. The information is then used to sum up a list of
requirements collection with a help from one of requirements
specification techniques such as Data Flow Diagram (DFD),
Hierarchical Input Process Output (HIPO) and Unified Modelling
27
Language (UML) which will be discussed later in this chapter
(Connolly and Begg, 2010:267-268).
Connolly and Begg (2010:294) mention five commonly used
fact-finding techniques that are:
1.
Document examination
2.
Interview
3.
Field research (inside the company)
4.
Research
5.
Questionnaires
2.1.9.4Database Design
Database design is a step where the database that is bound to
be used in the system is designed according to the mission statement
and mission objectives (Connolly and Begg, 2010:270).
Connolly and Begg (2010:270-271) moreover describes at
least 4(four) approaches that are commonly used in designing a
database. There are top-down, bottom-up, inside-out, and mixed
strategy approach. Top-down approach firstly identifies high level
entities needed within the system and move top-down to the lower
level entities, it is considered as a better approach in designing a more
complex database. Bottom-up is simply the opposite of top-down
approach, moving from lower level entities to high level entities.
Inside-out identifies major entities first then moving to other entities.
Lastly, mixed strategy uses top-down and bottom-up subsequently
upon the database parts then combines the result together.
According to Connolly and Begg (2010:272-274), there are 3
(three) phases of database design which are:
1.
Conceptual database design
Conceptual database design is the first phase of
database design which considers the data design
autonomously from
application
software,
all
physical
DBMS,
aspects
hardware
such
as
platform,
programming language, etc. The result of this step is
called ERD (Entity Relationship Diagram).
28
ERD is a diagram that depicts associations of
objects within the database. A complete ERD is very
useful to build the appropriate database.
2.
Logical database design
Logical database design results in logical data
model that is autonomous of physical aspects, though it
this phase it is essential to be familiar with the DBMS
characteristics.
Logical data model can be tested using a process
called normalization. Normalization will prevent any data
redundancy in order to avoid inconsistency during the data
processing later.
The result of this phase is useful for operational
maintenance sometimes later since it provides complete
information of the data stored within the database.
3.
Physical database design
The last phase of database design is bound to the
selected DBMS. In this phase, the physical representation
is to be made according to the logical data model. It is also
essential to consider the relation, hierarchy, etc. in accord.
2.1.9.5 Implementation
Implementation step is simply the step where programmers or
software engineers work on. This step is the realization of any design
that has been listed during the former steps.
Database implementation is the realization of database design
using DDL and DML in order to be able to realize the physical
presentation of the database. Application implementation can be done
using any programming language that is noted as suitable one for the
project in spite of the advantages and disadvantages of each
programming language (Connolly and Begg, 2010:283).
29
2.1.9.6 Data Conversion and Loading
After the implementation is completed, next step to be done is
to convert existing data (if any) to the new system’s database and to
finally link the existing application (if any) with the new database.
This step is essential especially when a new system is intended to
replace an existing system because of any other reasoning (Connolly
and Begg, 2010:284).
2.1.9.7 Testing
During testing step, the intention needed is to find any errors or
bugs within the newly implemented system. Testing is very essential
since releasing a system without any testing is highly not
recommended since it will bring users as a guinea pig of the system
and the user would be less than happy to be one(Connolly and Begg,
2010:284).
2.1.9.8 Operational Maintenance
Even after deployment, maintenance is highly recommended
since any system will need a good supervision in order to keep the
system within the standards looked forward to.
Monitoring of the system can be done using DBMS utilities
such as a performance tuning. Any tuning is highly needed and
recommended if there are any problems or any changes happened
which is assumed to be dangerous to the system (Connolly and Begg,
2010:285).
2.1.10 Perl
Perl was developed on 1987 by Larry Wall. The language was
influenced by SmallTalk 80, Lisp, C, and Pascal. Perl most famous motto is
TMTOWTDI or “There’s more than one way to do it”. Perl is most wellknown for its application in UNIX and web programming (Pierce, 2002:3-4).
Perl is dynamic and powerful at the same time. Many people feel like
Perl is old-fashioned or even not as famous as PHP, but the truth is that Perl
30
influenced PHP in some way. Perl has wider usage and more powerful than
PHP since Perl is not developed only for web programming. Its nature of
being a powerful scripting language has many functionality compared to
PHP. It is also known that Perl also influence other programming language
such as JavaScript, Ruby, Phyton, etc. (Pierce, 2002:5).
Pierce (2002:7) continued to describe advantages of Perl such as:

Perl works relatively well with other tools

It’s a very rapid development environment

Perl binds things together fairly nicely

Because of its Unix background, it bundles up Unix best aspects
into a portable, cross-platform kit
Just like another programming language, Perl also has some negative
sides (Pierce, 2002:7):

Basic Perl is easy to learn, but mastering Perl is a different matter

Perl has wide variety of tools so it is very easy to get lost in
choosing the right tool, though since Perl can be very forgiving
any tool will work anyway

Perl can be very heterogeneous
Despite of its negatives, Perl is widely used for all kinds of
development environments. Perl is well-known for its use for Web
development mainly because of its admirable text handling, good module
support for CGI programming, and integrated support into Apache
(mod_perl). Besides, Perl is widely used as a glue from one tool to another
(importing and/or exporting), and even included within MS Windows
Resource Kit and Linux (Pierce, 2002:7-8).
2.2 Thematic Theories
2.2.1
Booking
According to Oxford Online Dictionaries, book (v) means to reserve
(accommodation), to buy in advance (ticket). As for booking, a v1+ing form
from book, thus changing it into gerund (changing from a verb to a noun by
adding postfix -ing) which makes booking as an early reservation.
31
2.2.2
Airline Reservation System
Airline Reservation System (ARS) is a system used by a particular
airline company for dealing with reservation and also to interface with a
Global Distribution System. ARS consists of flight schedule, flight fare,
passenger reservations, ticket records, etc. ARS also provides Inventory
Management, Passenger Name Record (PNR), and complete references for
fare quote and ticketing regulations (Winston, 1995:61-63).
2.2.3
Internet Booking Engine
Internet Booking Engine (IBE) is a web-based system used to provide
customers of direct information needed when trying to book something such
as flights, hotels, car rentals, etc. IBE is now being used by almost all airline
company to support ease of access for their customers (Winston, 1995:61-63).
IBE is mounted into the airline’s website and will communicate to the
GDS or ARS in order to get information to be shown in an appropriate
interface. Besides of schedule searching and booking, an IBE is also used for
payment. For this payment, IBE will communicate with a certain payment
gateway (Winston, 1995:63).
2.2.4
Airline Business Variables
2.2.4.1 Flight Number
Flight number is a unique identifying set of numbers assigned
by associated airline used as an identification of a flight schedule. A
flight number of one airline is not unique to another airline’s
(Belobaba, 2006: 9).
2.2.4.2 Route
Belobaba defines route as “consecutive links in a network
served by a single flight number” (2006: 9). Route is defined by
consecutive airline company and the more route an airline has, the
more complex the flow of flight.
2.2.4.3 Leg
32
Leg or sector or segment refers to a flight from exactly one
origin airport to exactly one destination airport. In a designated flight
set, one flight number consists of at least one leg. A flight with more
than one leg mostly called as a multi leg flight (Belobaba, 2006: 9).
2.2.4.4 Connecting Flight
Connecting flight refers to 2 or more flights that is connected
together in order to provide customers of a broad range of flight
schedules. The difference of connecting flight and a multi leg flight is
the flight number. For connecting flight, the flight number differs
from one to another (Belobaba, 2006: 10).
2.2.4.5 Itineraries
Itineraries or paths is combination of flights that are chosen by
passenger to complete the journey (Belobaba, 2006: 9). Generally,
itineraries will be used to give passengers an overview of their
selected flights and as a base for ticketing details.
Download