CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab...

25
7 CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical Foundation 2.1.1 System Analysis and Design 2.1.1.1 Information System According to Whitten Information system is an arrangement of people, data, processes, and information technology that interact to collect, process, store and provide as output the information needed to support an organization [1]. The basic components of information are the followings: 2.1.1.1.1 Hardware Hardware is a collection of devices that processes data and information as an input then displays them. Processor, monitor, keyboard, and printer are examples of hardware [2]. 2.1.1.1.2 Software Software is a collection of computer programs that helps hardware in processing data [2]. 2.1.1.1.3 Network Network is a connecting system that permits the sharing of resources among different computers [2]. 2.1.1.1.4 Procedures Procedures are the strategies, policies, methods, and rules for using the information system [2]. 2.1.1.1.5 People

Transcript of CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab...

Page 1: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

7

CHAPTER 2

THEORETICAL FOUNDATION

2.1 Theoretical Foundation

2.1.1 System Analysis and Design

2.1.1.1 Information System

According to Whitten Information system is an arrangement of people, data, processes,

and information technology that interact to collect, process, store and provide as output

the information needed to support an organization [1].

The basic components of information are the followings:

2.1.1.1.1 Hardware

Hardware is a collection of devices that processes data and information as an input then

displays them. Processor, monitor, keyboard, and printer are examples of hardware [2].

2.1.1.1.2 Software

Software is a collection of computer programs that helps hardware in processing data

[2].

2.1.1.1.3 Network

Network is a connecting system that permits the sharing of resources among different

computers [2].

2.1.1.1.4 Procedures

Procedures are the strategies, policies, methods, and rules for using the information

system [2].

2.1.1.1.5 People

Page 2: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

8

People are the most important element in information systems; includes those persons

who work with the information system or use its output [2].

2.1.1.2 Expected capabilities of information system in modern organizations

Information systems in modern organizations should provide fast and accurate

transaction processing, large-capacity, fast-access storage, fast communications

(machine to machine, human to human), reduce information overload, span boundaries

within and between companies, and provide a competitive weapon in marketplace [2].

2.1.1.3 Knowledge Asset Management

2.1.1.3.1 Data

Data is defined as a raw facts or elementary descriptions of things, events, activities, and

transactions, that are captured, recorded, stored, and classified, but not to convey any

particular meanings and understanding [2].

2.1.1.3.2 Information

Information is defined as a collection of data, organized in some way so that they are

meaningful and comprehensible to a recipient [2].

2.1.1.3.3 Knowledge

Knowledge is defined as information that has been organized and processed to convey

understanding, experiences, accumulated learning, and expertise as it applies to a

particular problem or process [2].

2.1.1.4 Business Processes

Business processes are tasks that respond to business events, the work, procedures, and

rules required to complete the business tasks, independent of any information

technology used to automate or support them [2].

Page 3: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

9

2.1.1.5 Information technology

According to Whitten Information technology refers to the combination of computer

technology (hardware and software) with telecommunications technology (data, image,

and voice network) [1].

2.1.1.6 Data Flow Diagram

According to Whitten a data flow diagram is a tool that depicts the flow of data through

a system and the work or processing performed by that system. Synonyms include

bubble chart, transformation graph, and process model [2].

Elements of data flow diagram are:

Figure 2. 1 Element of DFD

• Process

Process is a symbol on DFD that represents an algorithm or procedure by

which data inputs are transformed into data outputs.

Page 4: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

10

• Data Flow

Data flow is an arrow on a DFD that represents data movement among

processes, data stores, and external agents.

• External Agent

A person or organization, outside the system boundary, that supplies data

Inputs or accepts data outputs. Usually drawn as a rectangle

• Data Store

A place where data are held pending future access by one or more

processes.

2.1.1.7 Use Case Modeling

2.1.1.7.1 Unified Modeling Language

Unified Modeling Language (UML) is a standard language that is primarily intended for

visualizing, specifying, constructing, and documenting the artifacts of a software-

intensive system [1]. In general, UML refe rs to a common language for describing a

software system in terms of objects. As a language for software blueprints, UML is

equipped with a well-defined syntax and semantics. The most perceptible part of the

UML's syntax is its graphical notation which is typically used to convey the design of

software projects. With the help of UML, the project teams could effectively

communicate, explore potential designs, and validate the architectural design of the

software.

Page 5: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

11

2.1.1.7.2 Use Case Diagram

According to Whitten, a use case diagram is “a diagram that describes the

interactions between the system and external systems and users. It graphically depicts

who will use the system and in what ways the user expects to interact with the system”

[1]. Use case diagram is particularly important in organizing and modeling the behaviors

of a system. In the use case diagram, a system is usually represented as a collection of

use cases, actors (users), and their relationships.

Here is a rundown of the key symbols found in a use case diagram [14]:

§ Actor

Based on Whitten, anything that needs to interact with the system for exchanging

information is called as an actor [1]. Typically, an actor only refers to a coherent

set of roles carried out by a user who interacts with the system. It is not a

representation of an individual or job title. Actors are commonly rendered as

stick figures labeled with the name of the role the actor plays.

§ Use case

Each use case only represents a single system function. Graphically, a use case is

represented by a horizontal ellipse with the name of the use case emerging

above, below, or inside the ellipse.

§ System boundary

A system boundary is used to define the limits of the system. It is usually

represented as a rectangle box that embraces all of the relevant use cases.

§ Connections

Page 6: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

12

A solid line connecting an actor to a use case implies that the actor is engaged in

that typical system function. However, that solid line does not mean that the

actor is sending data to or receiving data from the use case.

§ Extend relationship

An extend relationship extends the functionality of the original use case by

adding new behaviors or actions. It is diagrammatically depicted as a dotted- line

arrow pointed toward the use case that has been extended and labeled with the

<<extend>> symbol.

§ Include relationship

An include relationship occurs when one use case uses another use case. It is

diagrammatically depicted as a dotted- line arrow pointed toward the use case that

is being used and labeled with the <<include>> symbol.

2.1.2 Theoretical Framework

2.1.2.1 System Development Process

According to Whitten System Development process is a set of activities, methods, best

practices, deliverables, and automated, tools that stakeholders, use to develop and

maintain information systems and software [1]. Most system development process

follows a problem-solving approach steps:

• Identify the problem. (System Initiation)

• Analyze and understand the problem. (System Analysis)

• Identify solution requirements and expectations. (System Analysis)

Page 7: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

13

• Identify alternative solutions and choose the “best” course of action.

(System Design)

• Design the chosen solution. (System Design)

• Implement the chosen solution. (System Implementation)

• Evaluate the results. (System Implementation)

The Processes are:

2.1.2.1.1 System Initiation

System Initiation is the initial planning process for a project to define initial business

scope, goals, schedule, and budget [1].

2.1.2.1.2 System Analysis

System Analysis is the study process of a business problem domain to recommend

improvements and specify the business requirements and priorities for the solution [1].

2.1.2.1.3 System Design

System Design is the specification or construction process of a technical, computer-

based solution for the business requirements identified in a system analysis [1].

2.1.2.1.4 System Implementation

System Implementation is the construction, installation, testing, and delivery of a system

into production [1].

2.1.2.2 Rapid Application Development

Rapid Application Development (RAD) is “a system development strategy that

emphasizes speed of development through extensive user involvement in the rapid,

iterative, and incremental construction of a series of functioning prototypes of a system

Page 8: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

14

that eventually evolves into the final system” [1]. It was actually a response to non-agile

processes developed in the 1970s, such as the waterfall model. RAD attempts to

eliminate some weaknesses in previous structured development methodologies such as

lengthy development times and an intricacy in understanding a system from a paper-

based description.

In order to quickly develop some part of the system, the RAD approach shortens the

SDLC phases by combining them with each other. According to Hoffer et al., this

approach shortens the planning and design phases by emphasizing work on system

function and user interface requirements at the expense of detailed business analysis and

concern for system performance issues [14]. It emphasizes less on the sequence and

structure of processes in the life cycle. However, it fully concentrates on doing different

tasks in parallel with each other and using prototyping extensively.

Figure 2. 2 RAD Life Cycle Source: A.J. Hoffer, F.J. George, and Valacich, S. Joseph, Modern Systems Analysis and Design, 4th Ed. New Jersey: Prentice Hall, 2005, p. 20)

As cited from Whitten, the basic ideas of RAD are [1]:

§ To more actively involve system users in the analysis, design, and

construction activities.

Page 9: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

15

§ To organize systems development into a series of focused, intense

workshops jointly involving system owners, users, analysts, designers,

and builders.

§ To accelerate the requirements analysis and design phases through an

iterative construction approach.

§ To reduce the amount of time that it takes for users to begin to see a

working system.

In the RAD, end users are extensively involved during the entire system development

process. RAD uses prototypes to help both analysts and end users to verify the users’

requirements and formally refine the data and process models. A prototype itself, in

accordance with Whitten, is a small-scale, representative, or working model of the users’

requirement or a proposed information system. Indeed, prototyping is very useful for

requirements discovery since users will hardly know their requirements before they see a

representative of working system. At the end, that prototype will eventually evolve into

the final running system [1].

In accordance to Whitten, the RAD approach offers some advantages, which are [1]:

§ It is useful for projects where the user requirements keep changing.

§ It encourages active user and management participation. Hence, the end-user

enthusiasm for a project is significantly enhanced.

§ Due to the extensive user involvement throughout the process, projects have

higher visibility and support.

§ Users and management notice working, software-based solutions more rapidly

than in model-driven development.

Page 10: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

16

§ Errors and omissions are likely to be detected earlier in prototypes than in system

models.

§ Testing and training is a natural by product of the underlying prototyping

approach.

§ The iterative approach is a more “natural” process since change is an expected

factor during development.

2.1.3 Database

During the course of Information Technology development, Database has been

conveyed with various meanings and understandings. According to Taylor, database is a

self-describing collection of integrated records [3]. According to Hernandez, a database

is an organized collection of data used for the purpose of modeling some type of

organization or organizational process [4]. Though definitions may vary, database in a

computing world, as described by Powell, is the process of implementation or creation

of a physical database inside a computer [5].

In business world today, database has played a very significant role in the step of data

processing, storage, manipulation, and calculation. It has become a common application

in most corporate or even in personal usage due to its flexibility and cross-system

platform. This thesis will put great emphasis in database creation as it is considered the

as core of the proposed system.

2.1.4 Database Model

Basically, a database model is a blueprint on how data stored in a database and is similar

to an architectural approach on how data is stored. More of a concept than a physical

Page 11: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

17

object and is used to create the tables in your database. This architecture of a database

model is commonly depicted in a graph called Entity Relationship Diagram [5]. The

most commonly used database model is Relational Database Model [4]. Before the rise

of Relational Database Model, two data models are mainly used to maintain and

manipulate data: Hierarchical Database model and Network Database model.

Figure 2. 3 Example of Hiearchical Database Model Source: M.J Hernandez, Database Design for Mere Mortals. 2nd edition, Boston: Addison-Wesley, 2003.

Figure 2. 4 Example of Network Database Model Source: M.J Hernandez, Database Design for Mere Mortals. 2nd edition, Boston: Addison-Wesley, 2003.

Page 12: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

18

2.1.5 Relational Database Model

The relational database was first conceived in 1969 and has arguably become the most

widely used database model in database management today. The father of the relational

model, Dr. Edgar F. Codd, was an IBM research scientist in the late 1960s and was at

that time looking into new ways to handle large amounts of data. A relational database

stores data in relations, which the user perceives as tables. Each relation is composed of

records, and attributes, or fields The physical order of the records or fields in a table is

completely immaterial, and each record in the table is identified by a field that contains a

unique value. These are the two characteristics of a relational database that allow the

data to exist independently of the way it is physically stored in the computer [4].

Page 13: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

19

Figure 2. 5 Example of Relational Database Model Source: M.J Hernandez, Database Design for Mere Mortals. 2nd edition, Boston: Addison-Wesley, 2003.

In general terms, relational database systems have the following characteristics [6]:

• All data is conceptually represented as an orderly arrangement of data into rows

and columns, called a relation.

• All values are scalar. That is, at any given row/column position in the relation

there is one and only one value.

Page 14: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

20

• All operations are performed on an entire relation and result in an entire relation,

a concept known as closure.

2.1.5.1 Advantages of Relational Database

The relational database provides a number of advantages over previous models,

such as the following [4]:

• Built- in multilevel integrity: Data integrity is built into the model at the field

level to ensure the accuracy of the data; at the table level to ensure that

records are not duplicated and to detect missing primary key values; at the

relationship level to ensure that the relationship between a pair of tables is

valid; and at the business level to ensure that the data is accurate in terms of

the business itself. (Integrity is discussed in detail as the design process

unfolds.)

• Logical and physical data independence from database applications: Neither

changes a user makes to the logical design of the database, nor changes a

database software vendor makes to the physical implementation of the

database, will adversely affect the applications built upon it.

• Guaranteed data consistency and accuracy: Data is consistent and accurate

due to the various levels of integrity you can impose within the database.

(This will become quite clear as you work through the design process.)

• Easy data retrieval: At the user's command, data can be retrieved either from

a particular table or from any number of related tables within the database.

This enables a user to view information in an almost unlimited number of

ways.

Page 15: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

21

2.1.6 Relational Database Management System

A relational database management system (RDBMS) is a term used to describe an entire

suite of programs for both managing a relational database and communicating with that

relational database engine. Sometimes Software Development Kit (SDK) front-end tools

and complete management kits are included with relational database packages. Both the

relational database and front-end development tools, for building input screens, are all

packaged within the same piece of software. In other words, an RDBMS is both the

database engine and any other tools that come with it [5].

2.1.7 Normalization

Normalization is commonly used by system analysts to produce a good data model that

is characterized with the following criteria [1]:

§ A good data model is simple.

It enforces the data attributes that portray an entity should portray only that entity.

§ A good data model is nonredundant.

All data attributes, except foreign keys, must describe at most one entity.

§ A good data model is flexible and adaptable to future needs.

A good data model must not only satisfy current business requirement, but it must be

easily tailored to future needs as well.

In essence, the primary purpose of normalization is to develop a data model that has the

properties of simplicity, no-redundancy, and minimal maintenance. In accordance to

Whitten, normalization refers to a data analysis technique that is used to manage data

attributes by means of arranging them into groups to form nonredundant, stable, flexible,

and adaptive entities [1]. Moreover, Whitten also elaborates that normalization involves

Page 16: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

22

three sequential steps of technique in transforming the data model from non-first normal

form into the third normal form [1]:

1. An entity is in first normal form (1NF) if there are no attributes that can

have multiple values for a single instance of the entity. Any attribute that

has multiple values actually describe a separate entity, possibly an entity

and relationship.

2. An entity is in second normal form (2NF) if it is already in 1 NF and all

non-primary key attributes are fully functional dependent on the primary

key. Any non-key attributes that rely on only part of the primary key

should be moved to any entity where that partial key is actually the full

key.

3. An entity is in third normal form (3NF) if it is already in 2NF and the

values of all non-primary key attributes do not depend on any other non-

primary key attributes. Any non-key attributes that depend on other non-

key attributes must be moved or eliminated.

2.1.8 Data Model

The most abstract level of a database design is the data model, the conceptual

description of a problem space. Data models are expressed in terms of entities,

attributes, domains, and relationships [6].

2.1.8.1 Entity

Entity can be described as a person, place, things, or event on which an

organization maintains information.

Page 17: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

23

2.1.8.2 Attribute

Attribute is the equivalent of a relational database field, used more often to

describe a similar low-level structure in object structures.

2.1.8.3 Domains

Domains can be defined as the range of values from which an attribute can be

drawn.

2.1.8.4 Relationship

Relationship is an interdependence that exists between two tables when records

in the first table can in some way is associated with records in the second table.

There are three types of relationships in a relational database: one-to-one, one-to-

many, and many-to-many.

2.1.8.5 Entity Relationship Diagram

ERD is a diagram that represents the structural contents (the fields) in tables for

an entire schema, in a database. Additionally included are schematic

representations of relationships between entities, represented by various types of

relationships, plus primary and foreign keys.

Page 18: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

24

Figure 2. 6 Example of An ERD Source: G. Powell, Beginning Database Design. Indiana: Wiley Publishing, Inc, 2006.

2.1.9 Structured Query Language

According Allan Taylor, SQL or Structured Query Language is an industry standard data

sublanguage, specifically designed to create, manipulate, and control relational

databases, in which SQL: 2003 is the latest version of the standard [3].

2.1.9.1 Query

Query is a set of instruction in the form of question that will be executed in the

database in order to manipulate, edit, add, delete, select the data inside the

database. If any of the data inside the database satisfies the conditions of your

query, SQL retrieves that data.

Page 19: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

25

2.1.9.2 SQL Keywords

Below is the list of core reserved keywords in the latest SQL:2003.

Table 2. 1 SQL:2003 Core Keywords ALTER DOMAIN DECLARE CURSOR FREE LOCATOR

ALTER TABLE DECLARE TABLE GET DIAGNOSTICS

CALL DELETE GRANT

CLOSE DISCONNECT HOLD LOCATOR

COMMIT DROP ASSERTION INSERT

CONNECT DROP CHARACTER

SET

OPEN

CREATE ASSERTION DROP COLLATION RELEASE

SAVEPOINT

CREATE CHARACTER SET DROP DOMAIN RETURN

CREATE COLLATION DROP ORDERING REVOKE

CREATE DOMAIN DROP ROLE ROLLBACK

CREATE FUNCTION DROP SCHEMA SAVEPOINT

CREATE METHOD DROP SPECIFIC

FUNCTION

SELECT

CREATE ORDERING DROP SPECIFIC

PROCEDURE

SET CONNECTION

CREATE PROCEDURE DROP SPECIFIC

ROUTINE

SET CONSTRAINTS

CREATE ROLE DROP TABLE SET ROLE

Page 20: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

26

CREATE SCHEMA DROP TRANSFORM SET SESSION

AUTHORIZATION

CREATE TABLE DROP TRANSLATION SET SESSION

CHARACTERISTICS

CREATE TRANSFORM DROP TRIGGER SET TIME ZONE

CREATE TRANSLATION DROP TYPE SET TRANSACTION

CREATE TRIGGER DROP VIEW START

TRANSACTION

CREATE TYPE FETCH UPDATE

CREATE VIEW

2.1.9.3 Data Definition Language

The Data Definition Language (DDL) is the part of SQL that is used to create,

change, or destroy the basic elements of a relational database. Basic elements

include tables, views, schemas, catalogs, clusters [3].

2.1.9.4 Data Manipulation Language

The Data Manipulation Language (DML) is the part of SQL that operates on the

data primarily used in retrieving and updating data [3].

2.1.9.5 Data Control Language

Data Control Language protects your database from becoming corrupted, if used

correctly, the DCL provides security for a database; the amount of protection

depends on the implementation [3].

Page 21: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

27

2.1.10 Microsoft SQL Server 2005

SQL Server 2005 is a Microsoft-developed multi-component relational database

management system centered on a high-performance, highly available database engine.

Microsoft SQL Server 2005 is released in 4 different editions, with each editions has its

own set and limitations [7]. Those editions are:

• Enterprise: Provides a relational database to meet the exacting needs of the

largest enterprises and busiest online databases. The Enterprise Edition includes

high-end business intelligence support and clustering.

• Standard: Generally provides the common requirement of medium-sized

companies or large departments in larger companies.

• Workgroup: Meets the requirement of small- to medium-sized businesses that

don’t require the features of Standard Edition.

• Express: A lightweight edition intended for use by application programmers.

SQL Server 2005 is a client-server database. Typically, the SQL Server 2005 database

engine is installed on a server machine to which typically configured to connect

anything from a few machines to many hundreds or thousands of client machines.

Client-server architecture can handle large amounts of data better than a desktop

database and client-server architecture also can reduce network traffic [7].

SQL Server 2005 supports the Structured Query Language (SQL). In fact SQL is the

main language that SQL Server uses. Like many other databases, SQL Server satisfies

some standard SQL syntax and adds its own extensions to SQL, allowing easy writable

and programmable codes. The Microsoft flavor of SQL is called Transact-SQL (T-SQL).

Page 22: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

28

T-SQL allows user to add, modify, or query relational or XML data held in SQL Server

2005.

2.1.10.1 Microsoft SQL Server 2005 Features

Below is the table that lists all the notable features of Microsoft SQL Server

2005 [7]. Note that not all the features will be utilized in the thesis’ program and

database development.

Table 2. 2 Microsoft SQL Server 2005 Features Features Express

Edition

Workgroup

Edition

Standard

Edition

Enterprise

Edition

Authentication and Authorization Yes Yes Yes Yes

Data Encryption and key

management

Yes Yes Yes Yes

Best Practices Analyzer Yes Yes Yes Yes

Integration with Microsoft

Baseline Security Analyzer

Yes Yes Yes Yes

Integration with Microsoft Update Yes Yes Yes Yes

Stored Procedures and Triggers Yes Yes Yes Yes

New Enhancements to T-SQL Yes Yes Yes Yes

Integration of the Common

Language Runtime and .NET

support

Yes Yes Yes Yes

User-defined types Yes Yes Yes Yes

Page 23: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

29

XML datatype Yes Yes Yes Yes

CPU 1 2 4 No limit

RAM 1GB 3GB No limit No limit

Database Size 4GB No limit No limit No limit

Partitioning No No No Yes

Database Mirroring No No Partial Yes

Failover Clustering No No Limited Yes

Backup log shipping No Yes Yes Yes

Online Indexing No No No Yes

Online Page and file restore No No No Yes

Automatic Performance Tuning Yes Yes Yes Yes

SQL Server Management Studio No Yes Yes Yes

Database Engine Tuning Advisor No Yes Yes Yes

Full Text Search No Yes Yes Yes

Report Builder No Yes Yes Yes

Data Warehousing No No Yes Yes

2.1.11 ReportViewer

ReportViewer is a built in class library inside Visual Studio 2005 that is useful to map a

report and to display a list of reporting entries. ReportViewer is free and can be used in

practical business application without paying a license to Microsoft [9]. Therefore, for

this thesis, the reporting system is developed by using this feature of the Visual Studio

2005.

Page 24: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

30

2.1.12 C#

C# is an object-oriented programming language developed by Microsoft as part of their

.NET initiative, and later approved as a standard by ECMA and ISO. C# has a

procedural, object-oriented syntax based on C++ that includes aspects of several other

programming languages with a particular emphasis on simplification (fewer symbolic

requirements than C++, fewer declarative requirements than Java) [10].

2.1.12.1 Visual Studio 2005

Microsoft Visual Studio is Microsoft's flagship software development product

for computer programmers. It centers on an integrated development environment

which lets programmers create standalone applications, web sites, web

applications, and web services that run on any platforms supported by

Microsoft's .NET Framework [12].

2.1.12.2 Object Oriented Programming

Object-oriented programming (OOP) is a programming paradigm that uses

"objects" to design applications and computer programs. It utilizes several

techniques from previously established paradigms, including inheritance,

modularity, polymorphism, and encapsulation [13].

2.1.13 .NET Framework

The Microsoft .NET Framework is a software component that can be added to or is

included with the Microsoft Windows operating system. It provides a large body of pre-

coded solutions to common program requirements, and manages the execution of

programs written specifically for the framework. The .NET Framework is a key

Page 25: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected

31

Microsoft offering, and is intended to be used by most new applications created for the

Windows platform.

The pre-coded solutions that form the framework's class library cover a large range of

programming needs in areas including: user interface, data access, database connectivity,

cryptography, web application development, numeric algorithms, and network

communications. The functions of the class library are used by programmers who

combine them with their own code to produce applications.

Programs written for the .NET Framework execute in a software environment that

manages the program's runtime requirements. This runtime environment, which is also a

part of the .NET Framework, is known as the Common Language Runtime (CLR). The

CLR provides the appearance of an application virtual machine, so that programmers

need not consider the capabilities of the specific CPU that will execute the program. The

CLR also provides other important services such as security mechanisms, memory

management, and exception handling. The class library and the CLR together compose

the .NET Framework [11].