library.binus.ac.idlibrary.binus.ac.id/ecolls/ethesisdoc/bab2doc/2013-1-00…  · web viewchapter...

44
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 5

Upload: others

Post on 01-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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

Page 2: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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.

Page 3: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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.

Page 4: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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

Page 5: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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

Page 6: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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.

Page 7: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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

Page 8: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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 web-

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

Page 9: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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

Page 10: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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 delivery of software engineering

technology.

Page 11: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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 semi-

automated support for the previous two layers. Computer-

aided 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,

Page 12: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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 component-

based assembly, most software continues to be custom-

built.

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.

Page 13: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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

Page 14: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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.

Page 15: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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 use-

cases, 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.

Page 16: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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.

Page 17: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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

Page 18: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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

Page 19: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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

Page 20: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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.

Page 21: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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

Page 22: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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

Page 23: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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 all physical aspects such as

application software, DBMS, hardware platform,

programming language, etc. The result of this step is

called ERD (Entity Relationship Diagram).

Page 24: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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

Page 25: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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 well-

known 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

Page 26: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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.

2.2.2 Airline Reservation System

Page 27: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

31

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

Page 28: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2013-1-00…  · Web viewCHAPTER 2. LITERATURE REVIEW. 2.1 General Theories. 2.1.1 System, Analysis and Design Concept

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.