DEVELOPMENT OF SPAKE’S MAINTENANCE MODULE FOR MINISTRY OF DEFENCE MALAYSIA

advertisement
DEVELOPMENT OF SPAKE’S MAINTENANCE MODULE FOR MINISTRY OF
DEFENCE MALAYSIA
SYED ARDI BIN SYED YAHYA KAMAL
UNIVERSITI TEKNOLOGI MALAYSIA
DEVELOPMENT OF SPAKE’S MAINTENANCE MODULE FOR MINISTRY OF
DEFENCE MALAYSIA
SYED ARDI BIN SYED YAHYA KAMAL
This thesis is submitted to fulfill the partial requirement of the Computer Science (Real
Time Software Engineering) Master Degree Award
Centre for Advanced Software Engineering
Universiti Teknologi Malaysia
TITLE
SEPTEMBER, 2004
DEDICATION
Especially dedicated to my lovely wife, Nurulhayati Md. Yusop.
To my beloved parents Tuan Syed Yahya Kamal Syed Bany and Pn. Khairiah Said.
To my wonderful parents in law Hj. Md Yusop Ayub and Hjh. Hamidah Hamid.
To my loving brothers and sisters.
For their love and best wishes.
ACKNOWLEDGEMENT
In the name of Allah the Beneficent the Merciful, I am thankful to Allah
Almighty for giving me courage, patience and strength to accomplish my thesis.
I would like to express my profound gratitude to my Academic Mentor, Associate
Professor Zailani Mohamed Sidek for always delivering his support and guidance
towards this thesis. Besides, a lot thanks to Miss Norizan Md. Zain @ Ali as Industrial
Mentor who has given guidelines in this project. Their comments and advice helped me a
lot in this project.
Not forgetting my lovely wife and beloved parents, for their prayers, support,
patience and love during my good and bad times. Their hardworking and trustworthy
natures, which have accomplished many recognized achievements, have always
influenced me to perform my very best.
Also thanks to my fellow postgraduate students for their views and tips are useful
indeed and lastly thanks to all participating individuals who are involved directly or
indirectly in supervising, giving support and guidance during this project.
ABSTRACT
Sistem Pengurusan Alat Komunikasi dan Elektronik (SPAKE) was developed to
mitigate the Ministry of Defence Malaysia especially for Royal Signal Regiment in order
to record, filter, process and search the data that have been stored in the Database
Management System (DBMS). This system has mitigated the user where every job
requirement forms, reports and information for certain data can be produced and printed
via user computers. Before the system was developed, traditional method done by using
lots of forms and reports resulted in less effective management because users need to use
lots of storing files to store all the forms and reports. Furthermore, users have difficulties
to search the past data. More than that, this manual method of course delays the job
transferring between army units around Malaysia. Following the government’s vision to
achieve electronic government or e-Government which is one of the flagship application
for vision 2020, Ministry of Defence Malaysia has take the brilliant initiative to realize
this vision. This transformation of job management will bring deep effect for the
department especially in reducing the human power, cost and time. Besides, this change
will also drive the department management and administration to be more efficient and
systematic.
ABSTRAK
Sistem Pengurusan Alat Komunikasi dan Elektronik (SPAKE) dibangunkan bagi
memudahkan Kementerian Pertahanan Malaysia khususnya Rejimen Semboyan DiRaja
untuk merekod, menyaring, memproses serta mencari data yang tersimpan di dalam
Sistem Pengurusan Pangkalan Data (DBMS). Sistem ini juga memudahkan pengguna di
mana segala borang permohonan tugas, laporan dan maklumat mengenai sesuatu data
dapat dihasilkan serta dicetak secara terus menerusi komputer pengguna. Sebelum sistem
ini dibangunkan, kaedah tradisional yang menggunakan pelbagai jenis borang dan
laporan menjadikan pengurusan tidak efektif kerana ianya memerlukan fail simpanan
yang banyak untuk menyimpan segala borang dan laporan. Ia juga menyusahkan penguna
untuk mencari data-data yang lepas. Selain itu, kaedah manual ini tentunya membawa
kepada kelewatan sesuatu tugas disampaikan diantara unit-unit tentera di seluruh
Malaysia. Sejajar dengan hasrat kerajaan untuk menjayakan kerajaan elektronik atau eGovernment yang termaktub di dalam salah satu aplikasi perdana Wawasan 2020, pihak
Kementerian Pertahanan telah mengambil inisiatif yang bijak untuk merealisasikan hasrat
tersebut. Transformasi pengurusan kerja sebegini tentunya memberi kesan mendalam
kepada jabatan terutamanya dalam mengurangkan tenaga kerja, kos dan masa. Selain itu,
perubahan ini juga pasti membawa kepada pengurusan dan pentadbiran yang lebih cekap
dan sistematik di dalam jabatan itu sendiri.
TABLE OF CONTENTS
CHAPTER 1 INTRODUCTION
1
1.0
Introduction
1
1.1
Project Overview
1
1.1.1
4
1.2
Involvement in SPAKE Project
Organization Profile
4
1.2.1
Organization Background
4
1.2.2
Nature of Business
5
1.3
Project Objectives
5
1.4
Project Scope
6
1.5
Project Team Organization
7
1.6
Project Plan
8
CHAPTER 2 LITERATURE STUDY
10
2.0
Introduction
10
2.1
Manual SPAKE System
10
2.2
Research on Existing Product
12
2.2.1
Lembaga Jurukur Tanah Online (LJTNet Online)
12
2.2.2
Sistem Pemantauan Tanah Persekutuan (SPTP)
12
2.2.3
Job Applying System (JAS)
13
TABLE OF CONTENTS (CONT…)
2.3
Problem Solving Technique
13
2.3.1
13
Software Development Models
2.3.1.1 Rapid Application Development (RAD)
Model
2.3.2
14
2.3.1.2 Waterfall Model
18
2.3.1.3 Prototype Model
21
2.3.1.4 Spiral Model
25
2.3.1.5 V-Shape Model
28
2.3.1.6 Rational Unified Process Model
30
System Platform
32
2.3.2.1 Microsoft .NET
33
2.3.2.2 J2EE
35
2.3.2.3 Comparative Analysis Between J2EE
and .NET
2.3.3
2.3.1
37
Databases
41
2.3.3.1 Microsoft SQL Server 2000
41
2.3.3.2 Oracle9i
42
Programming Languages
44
2.3.4.1 VB.NET
44
2.3.4.2 PHP
46
TABLE OF CONTENTS (CONT…)
CHAPTER 3 METHODOLOGY
47
3.0
Introduction
47
3.1
Software Process
48
3.1.1
48
Planning Phase
3.1.1
3.1.2
3.1.3
3.1.4
3.2
SPAKE Requirement Analysis Critical
Success Factors
49
Design Phase
50
3.1.2.1 Data Design
51
3.1.2.2 Architectural Design
51
3.1.2.3 Interface Design
52
3.1.2.4 Component Level Design
52
Rapid Construction Phase
52
3.1.3.1 Prototype
53
Deploy Phase
54
3.1.4.1 Quality Testing Phase
55
3.1.4.2 Delivery and Acceptance Phase
55
Problem Solving Methodology
56
3.2.1
Database Optimizing
56
3.2.2
Interface Grouping
57
3.2.3
Programming Error Handling
57
3.2.4
Filter the Information
57
3.3
Unified Modeling Language
58
3.4
Documentation Standard
59
TABLE OF CONTENTS (CONT…)
CHAPTER 4 PROJECT DISCUSSION
60
4.0
Introduction
60
4.1
SPAKE System Features
60
4.2
SPAKE User Interface
61
4.3
Output Analysis
61
4.3.1
Login
62
4.3.2
Pembaikan Swasta Sub Module
63
4.3.3
Pembaikan Dalam Jaminan Sub Module
79
4.3.4
Lawatan Sengaraan Sub Module
87
4.3.4
Kecacatan dan Ubahsuai Sub Module
94
4.4
Related Documentation
96
4.4.1
Software Requirements Specification
96
4.4.2
Software Test Description
97
4.5
Constraints
97
4.6
Problems
97
4.7
Recommendation
99
CHAPTER 5 CONCLUSION
101
5.0
Introduction
101
5.2
Lessons Learnt
102
5.3
Comments
103
REFERENCES
104
APPENDIX A
106
APPENDIX B
110
LIST OF TABLES
TABLE NO.
TITLE
PAGE
2.1
The RAD Model Advantages and Disadvantages
18
2.2
The Waterfall Model Advantages and Disadvantages
21
2.3
The Prototyping Model Advantages and Disadvantages
24
2.4
The Spiral Model Advantages and Disadvantages
27
2.5
The Rational Unified Process Model Advantages and
Disadvantages
32
LIST OF FIGURES
FIGURE NO.
TITLE
PAGE
1.1
SPAKE System Modules
3
1.2
Maintenance Sub Modules
6
1.3
Project Team for SPAKE System Development
3
1.4
Author’s SPAKE Project Gantt Chart
9
2.1
The RAD Process
16
2.2
The Waterfall Model
19
2.3
The Prototype Model
22
2.4
The Spiral Model
25
2.5
The V-Shape Model
28
2.6
The Rational Unified Process Model
30
2.7
Developing web services with Microsoft.NET
34
2.8
Developing web services with J2EE
36
4.1
Login Interface
62
4.2
Default Interface for R&I Users
63
4.3
Equipments Chooser Interface
64
4.4
Repairing Form
65
4.5
Conformation Repairing Form
66
4.6
Default Interface With New Job Status
67
4.7
Default Interface for Workshop Users
68
4.8
Workshop Job Form
69
4.9
Default Interface With New Job Status
70
4.10
Default Interface for Workshop Quality Control User
71
LIST OF FIGURES (CONT…)
FIGURE NO.
TITLE
PAGE
4.11
Approval Form
72
4.12
Default Interface With New Job Status
73
4.13
Default Interface for Semboyan Department
74
4.14
Privatize Information Form
75
4.15
Page One of Price Quotation Report
76
4.16
Page Two of Price Quotation Report
77
4.17
Default Interface With New Job Status
78
4.18
Under Warranty Pop-Up Message
79
4.19
Status Data Grid for R&I User
80
4.20
Default Interface for Testing Section User
81
4.21
Approval Form
82
4.22
Default Interface With New Job Status
83
4.23
Default Interface for Semboyan Department User
84
4.24
Default Interface for Semboyan Department User
85
4.25
Default Interface With New Job Status
86
4.26
Senggaraan Toolbar for Semboyan Department
87
4.27
Yearly Date Set Up for Maintenance Visiting Form
88
4.28
Senggaraan Toolbar for Workshop Quality Control Department
89
4.29
Searching for Maintenance Visiting Page
90
4.30
Page One of Senggaraan Visiting Form
91
LIST OF FIGURES (CONT…)
FIGURE NO.
TITLE
PAGE
4.31
Page Two of Maintenance Visiting Form
92
4.32
Page Three of Senggaraan Visiting Form
93
4.33
Defect and Maintenance Form
94
4.34
Defect and Maintenance Searching Page
95
LIST OF ABBREVIATIONS
API
-
Application Programming Interface
CORBA
-
Common Object Request Broker Architecture
DBMS
-
Database Management System
EMESYS
-
Electrical Mechanical Engineering System
ERD
-
Entity Relationship Diagram
E-Office
-
Electronic Office
GIS
-
Geographical Information System
HTML
-
Hyper Text Markup Language
ICT
-
Information Communication Technology
IDIS
-
Imatera Digital Image Services
IT
-
Information Technology
JAS
-
Job Applying System
JCA
-
J2EE Connector Architecture
JNI
-
Java Native Interface
JRE
-
Java Runtime Environment
J2EE
-
Java 2 Platform Enterprise Edition
KUTKM
-
Kolej Universiti Teknikal Kebangsaan Malaysia
LJTNet
-
Lembaga Jurukur Tanah Online
ODBC
-
Open Database Connectivity
OMT
-
Object Modeling Technique
OOP
-
Object Oriented Programming
OOSE
-
Object Oriented Software Engineering
Online
LIST OF ABBREVIATIONS (CONT…)
RAD
-
Rapid Application Development
RUP
-
Rational Unified Process
R&I
-
Receive and Issues
SISPIK-TD
-
Sistem Pengurusan Informasi Komputer – Tentera Darat
SPAKE
-
Sistem Pengurusan Alat Komunikasi dan Elektronik
SPTP
-
Sistem Pemantauan Tanah Persekutuan
SRS
-
Software Requirement Specification
STD
-
Software Test Description
UML
-
Unified Modeling Language
WWW
-
World Wide Web
XML
-
Extended Markup Language
LIST OF APPENDICES
APPENDIX
TITLE
PAGE
A
Roles and Responsibility
106
B
Overall Milestone of SPAKE Project
110
CHAPTER I
INTRODUCTION
1.0
Introduction
In this chapter, Sistem Pengurusan Alat Komunikasi dan Elektronik or SPAKE is
described. It involves the problem statements that bring to the existence of SPAKE
system. More than that, the organization background, project objectives and scopes are
also been discussed in this chapter.
1.1
Project Overview
Sistem Pengurusan Alat Komunikasi dan Elektronik (SPAKE) or translated as
Electronic and Communication Equipment Management System is a web-based system
that is developed as a sub system for the integrated Sistem Pengurusan Informasi
Komputer – Tentera Darat (SISPIK–TD). SISPIK–TD is proposed for the Rejimen
Semboyan DiRaja (RSD) or translated as Royal Signal Regiment of Malaysian Army.
SISPIK-TD is a web-based application that consists of two sub systems which are Sistem
Pengurusan Alat Komunikasi dan Elektronik (SPAKE) and Electrical Mechanical
Engineering System (EMESYS). Generally, the main idea of the system is to enhance the
Royal Signal Regiment administration and management operations. The system will
contribute to the efficiency and effectiveness in Royal Signal Regiment management.
There are five modules involved in SPAKE development while seven modules are
involved in EMESYS. The modules in SPAKE sub system are:
i.
Modul Perolehan (Acquisition Module)
ii.
Modul Senggaraan (Maintenance Module)
iii.
Modul Pemeriksaan Pakar (Specialist Inspection Module)
iv.
Modul Informasi Data dan Statistik (Statistics and Data Information
Module)
v.
Modul Sistem Pengurusan (Administration System Module)
The following are the brief descriptions for each module provided in SPAKE system:
i.
Modul Senggaraan is the most important module in SPAKE system. All
information about spare part equipment and repaired equipment will be
recorded in this module. It consists of equipments maintenance, defect
tracking, record keeping of maintenance job and usage of spare part record
in technical store.
ii.
Modul Perolehan consists of data management for equipment in the
Semboyan Department. The module is also used for archiving the data for
all equipment received and distribution among Malaysian Army bases.
iii.
Modul Pemeriksaan for recording all inspection that has been done to the
communication equipment. All inspection recorded will be used by higher
authorities to make a summary for all communication equipment.
iv.
Modul Informasi Data dan Statistik for collecting and distributing reports
within a specific format that has been introduced by the administration.
v.
Modul Sistem Pengurusan for managing all password and user ID to
ensure the system’s security.
This module is a main functionality of SPAKE subsystem. The sub modules for
every module in SPAKE system are shown in Figure 1.1.
Figure 1.1: SPAKE System Modules
1.1.1
Involvement in SPAKE Project
During the five months industrial attachment with IMATERA Digital Images
Sdn. Bhd. (IDIS), the author was required to understand the flow of Modul Senggaraan,
analyse the user requirements for the system, consult the user on the new system and
develop the system. Basically, the client for this system is the Ministry of Defence
Malaysia and it would be installed at Rejimen Semboyan DiRaja (RSD).
1.2
Organization Profile
In this part, a brief description of the organization’s profile will be discussed. It
includes the organization’s background, its structure and its experience in software
development.
1.2.1
Organization Background
Located at the Jelatek Business Park, Off Jalan Jelatek, Kuala Lumpur,
IMATERA Digital Image Services Sdn Bhd (IDIS) is a Bumiputera owned company with
many branches throughout Malaysia. IDIS is a combination of two words 'IMAN' and
'SEJAHTERA', with paid up capital of RM 5 millions and an authorized capital of RM 10
millions. The company was established as a member of the Imatera Group of Companies
on 1st October 1991.
1.2.2
Nature of Business
Imatera Digital Image Services Sdn Bhd is a growing company involves in
Information and Communication Technology (ICT) development and consultancy. IDIS
are specializing in the area of:
1.3
i.
System Integration for ICT.
ii.
Software Application and Development.
iii.
Data Conversion and Bureau Services.
iv.
Geographic Information System (GIS) / Remote Sensing Development.
v.
Electronic Office (E-Office) and Multimedia Development.
vi.
Customer Relationship Management and Maintenance.
vii.
Security and Safety Division.
Project Objectives
The main objective of this project is to increase performance, in terms of
efficiency, effectiveness, cost and time consumption by implementing the web based
application system. Hence, the project also aims to fulfil the following objectives:
i.
To propose a web-based system for the Malaysian Army. The application
will improve the Royal Signal Regiment in term of administration
management and operation.
ii.
To store all data related with communication equipments including the
spare part equipment.
iii.
To reduce time consuming in searching record from Semboyan
Department.
iv.
To enable Semboyan Department to perform online data recording and
processing through the Internet.
v.
To implement the paperless administration without using the existing
manual forms.
1.4
Project Scope
Modul Senggaraan
(Maintenance Module)
Pembaikan
Pelupusan
Produktiviti
(Repair/Overhaul)
(Disposal)
(Productivity)
Kecacatan
dan
Ubahsuai
(Defect and
Modification)
Lawatan
Senggaraan
(Maintenance
Visit)
Pembaikan Biasa
(Common Repair)
Pembaikan
Berencana
(Programmed Repair)
Pembaikan
Swasta
(Private Repair)
Pembaikan
dalam Jaminan
= Author’s project scope
(Under Warranty
Repair)
Figure 1.2: Maintenance Sub Modules
In SPAKE system development, the author concentrates in developing the
Senggaraan Module. Figure 1.2 shows the sub modules involved in Senggaraan Modules.
The scopes that has been pointed in SPAKE system development project are:
i.
Identifying the Modul Senggaraan requirements.
ii.
Analyzing and designing and developing the Modul Senggaraan which
focuses on Pembaikan Swasta, Pembaikan dalam Jaminan, Kecacatan
dan Ubahsuai and Lawatan Senggaraan components.
iii.
Developing the Senggaraan Module components consists of Pembaikan
Swasta, Pembaikan dalam Jaminan, Kecacatan dan Ubahsuai and Lawatan
Senggaraaan actual system.
iv.
Developing the SPAKE system prototype.
v.
Integrating with overall SPAKE component modules.
vi.
Writing draft of Software Requirement Specification (SRS) documents
and Software Test Document (STD) for SPAKE requirement and
documentation guidelines by applying using IDIS and DOD-DTD-2167A
(Related SPAKE’s documentation can be referred to IDIS).
1.5
Project Team Organization
One small team has been setup to develop the SPAKE system. The members of
the team consist of permanent staff and practical trainees from several universities. The
team has been setup according to the specialty of each member. The SPAKE project team
organization is shown in Figure 1.3. The roles for each position in SPAKE project team
are illustrated in Appendix A.
Amiruddin Baharuddin
Project Manager
Norizan Mohd. Zain
Mohd Fadzil Abdullah
IT Consultant
IT Consultant
Norhelda Heliani
Norhana Hanafiah
Rabaiah Jamal
Rozreen Malik
Haryaty Murni
IT Analyst
IT Analyst
IT Analyst
IT Analyst
IT Analyst
Khahlil*
Nurfauza Jali*
Wirdayu*
Tengku Aidyl*
Programmer
Programmer
Programmer
Programmer
Rozita Akmarza*
Syed Ardi*
Halimatun Sa’adah*
Programmer
Programmer
Programmer
Syawal*
Programmer
* Practical Trainees
Figure 1.3 : Project Team for SPAKE System Development
1.6
Project Plan
For the project plan, Figure 1.4 shows the task scope and timeframe that has been
done by the author during the project duration. The overall milestone of SPAKE Project
is shown in Appendix B.
Figure 1.4: Author’s SPAKE Project Gantt Chart
CHAPTER II
LITERATURE STUDY
2.0
Introduction
This chapter focuses on the literature review of the project. Firstly, it briefs on the
general overview of manual SPAKE system. Secondly, this chapter will provide some
real examples of existing system and comparison with the project proposed. The third
section will list all related software process models that exist nowadays and the different
between those models. Moreover, this chapter also discussed briefly on the Enterprise
Platform Software application being used and the comparison between those platforms.
The comparison between programming languages that can be used to developed the webbased system also been discussed in this chapter.
2.1
Manual SPAKE System
Currently the communication management system is done manually. The
Semboyan Department has to use the existing form in order to manage all requirements in
communication process. Therefore the Sistem Pengurusan Alat Komunikasi dan
Elektronik (SPAKE) was developed to cater this problem. This system will optimize the
entire task and mitigate all process involved in Semboyan Department.
By using the traditional way in managing the communication equipment, a lot of
problems occurred during the process. The problems have been identified as follow:
i.
It is hard to store and search the communication equipment stock available
in every Semboyan Workshop. If Semboyan Department personnel want a
data for every communication equipment and spare part equipment, they
need lots of time to retrieve the data from every Workshop file. Moreover,
sometimes there is human error in calculating the equipment stock.
ii.
Management in supplying, stock distribution and condemning the
equipment cannot be managed well since the records of all equipment are
handled by different bases throughout Malaysia.
iii.
There is no detail status control in every process used by Semboyan
Department. Thus, it brings a problem where every Formation Unit
requirements are not well organized.
iv.
A lot of time is involved in searching all data about communication
equipment and spare part equipment since all data is archive in each base.
v.
In information management aspect, there are no policies and technique
used to gather, organize, analyse and process the information thus bringing
the difficulties to coordinate the information.
vi.
The current system cannot provide an accurate information and statistic.
This is because there is no integrated system among all bases.
vii.
The security of data stored in a current system cannot be guaranteed
because the data can be accessed by anyone since the data recorded in
manual files.
2.2
Research on Existing Product
There are many web-based management systems available on the Internet
nowadays. IDIS also has lots of experience in developing the web based management
systems for government sector and private company. The discussion in this matter will
only concentrate in the basic idea of web-based management systems.
2.2.1
Lembaga Jurukur Tanah Online (LJTNet Online)
The LJTNet Online is an example of web-based management system, which has
been implemented by Lembaga Jurukur Tanah. The system is mainly used to manage
land issues all over Peninsular Malaysia. The system has increased the efficiency in effort
to implement the paperless administration, which is one of Wawasan 2020 target for the
government sector.
2.2.2
Sistem Pemantauan Tanah Persekutuan (SPTP)
The SPTP is a web based management system, which has been implemented by
Kementerian Tanah dan Pembangunan Koperasi. The main idea of the system is to
upgrade land administration and management system, to provide efficient service to
customers and also realizing the mission of electronic government.
2.2.3
Job Applying System (JAS)
The JAS was developed to mitigate the end user especially for Registrar Office in
Kolej Universiti Teknikal Kebangsaan Malaysia (KUTKM) to transform most of the
tasks more effective compared to the previous system that has done manually. This
system will optimize their task and will reduce in term of human power, cost and time
because the system work through the Internet.
2.3
Problem Solving Technique
The development of a web-based management system requires us to select the
best problem solving technique to assure the goals of the system can be achieved. This
section will discuss the technique used and the reason why the technique has been used to
develop the SPAKE system. In addition, a comparison with other techniques will also be
discussed in this section.
2.3.1
Software Development Models
Nowadays, there is variety of software development models that can be used to
develop a web-based management system. The models that can be used in developing the
system are as follow:
i.
Rapid Application Development (RAD) Model.
ii.
Waterfall Model.
iii.
Prototype Model.
iv.
Spiral Model.
v.
V-Shape Model.
vi.
Rational Unified Process (RUP) Model.
Every software development models has several phases. Every phase has a
mission and product. It’s only different in how they schedule and organize the activities.
IDIS has used the Rapid Application Development (RAD) Model to develop the SPAKE
system. The details of each model stated above will be elaborated deeply in the next
subsection.
2.3.1.1 Rapid Application Development (RAD) Model
The Rapid Application Development (RAD) model has been used to develop the
SPAKE system. The RAD is a technique for compressing the analysis, design, build and
test phases of a software development project into a series of short and iterative cycles.
Iteration allows for effectiveness and self-correction. Studies from the previous project
done by IDIS showed that human being almost never perform a complex task correctly at
the first tie. However, the developers are extremely good making an adequate beginning
and then making many small refinements and improvements to perfect the project later
on.
RAD projects are typically staffed with small-integrated teams comprised of
developers, end users or clients and IT technical resources. This small team will gather
benefits by a short iterative development cycle offered by RAD which would optimize
speed of the development, share the unity of vision and purpose, effective informal
communication and simple project management (Hans, 1997).
In SPAKE system development case, a group of armies from Semboyan
Department and a group of IDIS staff have been located at the same office. The army
group will guide the IT technical resources from IDIS in term of flows involved in every
module. When everyone gets together in one office and discuss, the system development
time consumption for the project phases can be decreased due to the understanding from
everyone.
There are several criteria that need to be matched before the RAD can be used in
web based management system development. The criteria are:
i.
Small integrated team comprised of developers, end users or clients and IT
technical resources must work together until the system delivered.
ii.
Need to integrate tools, methodology, people and management. The
scopes of the project need to well defined and focused.
iii.
Data for the project must already exist no matter if the data are completely
or in part.
iv.
Decisions can be made by small number of people who are available and
preferably co-located.
v.
The technical architecture of the system and flow need to be defined
clearly and the key technology components are in place and tested.
vi.
System meet user needs better with lower maintenance costs.
To implement this methodology, there are several methods to be used. The RAD
methods have a task list and a work breakdown structure designed to speed the project.
Among the most important methods are:
i.
Prototyping, which is an approach on creating the prototype or
demonstrable result as clear as possible and refining that result.
ii.
Iteration is a commitment to increase the development based on
refinement. Iteration will go hand in hand with prototyping.
iii.
Time boxing is a management technique that focuses on delivery, so that
only time box scope can be changed.
Figure 2.1 : The RAD Process
Moving to RAD process as shown in Figure 2.1, there are four phases involved in
RAD life cycle. These phases are used to ensure that each phase is delivered on time and
on budget. There are specific deliverables for each phase. The phases of the life cycle are:
i.
Planning Phase
The planning phase is used to make a functional specification. After the
functional specification has been done it will be presented to the user for
specification signoff. In this phase, the risk assessments are also created
for the project.
ii.
Design Phase
The detail design documents including the use cases, test design and data
model will be generated by the developers in design phase. At this phase,
the budget for the project is also counted to ensure the project is within
budget.
iii.
Rapid Construction Phase
The system will be developed and tested in this phase. All changes for the
system will be rapidly constructed until the user is satisfied with the
system. At this phase, the prototype of the system may be generated and
presented to the client. This phase is complete when the users test the
system and signoff each iteration made.
iv.
Deploy Phase
The deploy phase is a phase where the final test signoff and post mortem
will be made according to project deliverables. The setting up of the
system is also been done in this phase.
All phases involved in RAD model that has been use in SPAKE system
development will be discussed in detail in chapter three.
Actually the core ingredient to RAD methodology is their Joint Application
Development (JAD) process, which is used to develop requirements and turn them into
testable prototypes. System development teams need a structured JAD process to deliver
the promises of RAD methodologies. In SPAKE system development, the armies and
IDIS staff have joint hand together to ensure the requirements and success of the system
would be achieved.
Along the development of SPAKE system using the RAD model, some
advantages and disadvantages have been identified. The advantages and disadvantages of
RAD model are shown in Table 2.1.
Table 2.1 : The RAD Model Advantages and Disadvantages
Advantages
Disadvantages
1. The RAD model assures dramatic time, 1.
More speed and lower cost may lead
money and human effort savings when
to lower overall system quality. This
the developer and user work together
lower system quality can contribute to
in development life cycle.
a danger of misalignment of system
developed via RAD with the business
due to missing information.
2. Tighter fit between user requirements
2.
May have inconsistent internal designs
and system specifications due to
within and across systems.
understanding between the developers
Inconsistent internal designs
and users. More than that, the ability to
contribute to a possible violation of
rapidly change system design as
programming standards related to
demanded by users can be done using
inconsistent naming conventions and
this model.
inconsistent documentation.
3. RAD allows for system optimized for
3.
RAD that is not managed well can
users involved in RAD process. This
contribute to difficulty with module
model also concentrates on essential
reuse for future systems.
system elements from user viewpoint.
2.3.1.2 Waterfall Model
Nowadays, the Waterfall model is a popular version of the system development
life cycle for software development. It is considered as a classic approach to the system
development life cycle. The Waterfall model describes a development method that is
linear and sequential. Each phase in Waterfall development has distinct goals.
To understand the model, imagine a waterfall on the cliff of a steep mountain.
Once the water has flowed over the edge of the cliff and has begun its journey down the
side of the mountain, it cannot turn back. Of course, it is the same with waterfall
development where once a phase of development is completed; the development
proceeds to the next phase and there is no turning back.
SPAKE system development does not use the Waterfall model because of the
flow of this model. In SPAKE development, end users or clients work together with
developer, every member of the team has his/her own idea in designing the system.
Sometimes what the developer understand are not the client’s needs. If the Waterfall
model is used in SPAKE development, the design phase cannot be reversed after the
developer has presented their system design to the client. In reality, SPAKE system
consume a lot of time during the design phase since the project is divided into many
modules.
Analysis
Design
Implementation
Testing
Deployment &
Maintenance
Figure 2.2 : The Waterfall Model
The development concept of waterfall model moves through analysis, design,
implementation, testing and ends up at deployment and maintenance as shown in Figure
2.2. Each phase of development proceeds in strict order without any overlapping or
iterative steps.
The analysis phase is the first phase from the Waterfall model development
process. This phase is used to analyze the needs of the client and the needs will be record
as requirements for the system. Then the software will be designed base on the
requirements analysis that has been done. After the design phase, the process moves to
implementation phase where a fully functioning operational hardware-software system,
including such objectives as program and data conversion, installation and training will
be done.
After that, the software will be tested in the testing phases where this phase
focuses on making sure that any error is identified and that the software meets its
required specifications. The deployment and maintenance phase is a phase that are
usually the longest stage of the software. In this phase the software is updated to meet the
changing customer needs, adapted to accommodate changes in the external environment,
correct errors and oversights previously undetected in the testing phases and also
enhancing the efficiency of the software to ensure that the complete system meets the
software requirements.
Although the Waterfall phases are quite similar with RAD, the Waterfall model is
not suitable because the development of SPAKE system is not in strict order and the
development needs iterative steps.
The Waterfall model has its own advantages and disadvantages. The advantages
and disadvantages are shown in Table 2.2.
Table 2.2 : The Waterfall Model Advantages and Disadvantages
Advantages
1. Waterfall development allows for
Disadvantages
1.
Waterfall development does not allow
departmentalization and managerial
for much reflection or revision. Once
control. A schedule can be set with
an application is in the testing stage, it
deadlines for each stage of
is very difficult to go back and change
development to ensure the product be
something that was not well thought
delivered on time.
out in the concept stage.
2. Development moves from concept,
2.
The customer only sees a working
through design, implementation,
version of the product after it has been
testing, installation, troubleshooting,
coded. This may result in disaster if
and ends up at operation and
any undetected problems are
maintenance. Each phase of
precipitated to this stage.
development proceeds in strict order
without any overlapping steps.
2.3.1.3 Prototype Model
Prototype model is a cyclic version of the linear model. Once the requirement
analysis is done, the design of the system skeleton will be made. This version is called a
prototype. When the prototype has been developed, the prototype system will be given to
the client for overall evaluation and criticizes. The development of actual system will
start after the client tests the prototype system and gives his/her feed back to the
developer who refines the system according to the client’s exact expectation. After a
number of iterations, the final system is given to the user (Turner, 2984). Figure 2.3
shows the steps involved in Prototype model.
System Requirement
(typically incomplete)
Determine system
Specification Frame
Prototype Development
Plan
Evaluate Prototype
Accept as a
system component
Prototype Development
Need Improvement
Throw-away Prototype
Determine System
Specification
Component
Design & Implementation
Complete Software
System Verification
Figure 2.3 : The Prototype Model
There are three types of prototyping in Prototype model. This prototyping type is
differing by the process involved in their development. The details are as follow:
i.
Rapid Prototyping
The Rapid Prototyping is also called Evolutionary Prototyping. In Rapid
Prototyping, there is no initial detail specification of the system. User will
criticize base on the running prototype. Moreover, these types of
prototyping enforce that client or end user needs are always important.
After the feedback of the client, specification may changes to meet newly
discovered requirements.
ii.
Incremental Prototyping
The Incremental Prototyping is also called Structured Prototyping. It is a
combination of Rapid Prototyping and the Waterfall model. Using the
incremental prototyping, the prototype will be made at feasibility,
requirements, design and coding stage. The user will test the prototype
system at each stage. This means that the system is developed in
increments of functional capability.
iii.
Throw-Away Prototyping
The Throw-Away Prototyping is not itself a methodology but used to
assist another one. The prototype of the system is built to test things and
then will be throwing away. The reason to use this type of prototype is to
get the user requirements by using the exploratory and experimental
concepts.
As discussed before, the prototype is one of the RAD methods. Some of the
prototype concepts have been used in SPAKE development. By the definition, the Rapid
Prototyping style is quite similar to the methods used in SPAKE system development.
The Prototype model also contributes the advantages and disadvantages to the
web-based system development. Table 2.3 shows the advantages and disadvantages of
prototyping model.
Table 2.3 : The Prototyping Model Advantages and Disadvantages
Advantages
1. Prototype development is suitable for
Disadvantages
1.
Prototype development makes project
the system when the requirements were
management difficult because the
not well defined by the user. The user
iteration will keep looping if there are
will only give the exact requirements
no controls of it. The iteration
when the system prototype is delivered
happened since the user always
and tested.
changing his/her needs.
2. The actual system will meet the client’s
2.
The prototype system development is
satisfaction. This satisfaction is
not well structured. The requirements
achieved because the user has already
that always change by the user will
tested the prototype system and have
mess up the coding structure.
given their comments on the system.
Sometimes it also produces a system
From there, the developers will make a
with poor performance.
system functionality work as a user
needs.
3. The development of the system
3.
These approach needs a professional
contributes a good communication and
software engineer who is expertise
corporation between the client and
with a good motivation and patience
developers. Along the prototype
when dealing with fussy user who
development, the developers will
always changes the requirements along
always meet the user to ensure the
the development cycle.
system works as the user needs.
2.3.1.4 Spiral Model
The Spiral model, which is also known as the Spiral Life Cycle model, is one of
the systems development model used in developing the web-based system. This model is
originally defined by Barry Boehm, which combines the features of the Prototyping and
Waterfall model. The Spiral model is specially design for large, expensive and
complicated projects.
Figure 2.4 : The Spiral Model
The development concept of Spiral model starts when the developer determines
objectives, alternatives and constraint as an early phase deliverables. This concept will
end with the client reviewing the progress as shown in Figure 2.4. Each phase of the
development proceeds in strict order without any overlapping or iterative steps.
The Spiral model steps model can be generalized as follows:
i.
The system requirements are defined as much detail as possible. Usually
the definition of requirements involves interviewing a number of users of
the system and also other aspects of the existing system.
ii.
After the requirements are defined, a preliminary design is created for the
system. The prototype of the system is constructed from the preliminary
design. This is usually a scaled-down system and represents an
approximation of the characteristics of the final product.
iii.
The scaled-down system or the second prototype is evolved by a four
quadrants procedure which is evaluating the first prototype in terms of its
strengths, weaknesses and risks, defining the requirements of the next
prototype, planning and designing the next prototype and also constructing
and testing the next prototype.
iv.
The entire project can be aborted if the risks of the project are too risky. In
this phase, risk assessment is including the development cost overruns,
operating-cost miscalculation or any other factor that could be risk for the
project.
v.
The existing prototype is evaluated in the same manner as the previous
prototype. If the system needs to scale-down again, another prototype is
developed from it according to the four quadrants procedure outlined
before.
vi.
The preceding steps are iterated until the client satisfied that the refined
prototype represents the final product desired and lastly the final system is
constructed based on the refined prototype.
vii.
The final system again will be evaluated and tested by the user. Routine
maintenance is carried out on a continuing basis to prevent large-scale
failures of the system.
The Spiral model does not exclude from the contribution of advantages and
disadvantages to the development environment. It is shown in Table 2.4.
Table 2.4 : The Spiral Model Advantages and Disadvantages
Advantages
1. Spiral development makes budget and
Disadvantages
1.
The estimation on budget and schedule
schedule estimation more realistic as
are harder at the outset because some
work progresses because the questions
of the analyses are not done until the
have been raised within prototypes
design stage.
presented to the user.
2. This dynamic approach is good for
2.
The spiral system development was
medium to large projects where the real
excessive elaborated. It is hard and
world can be expected to change during
expensive to adopt. Moreover, the
the period of development. The
large number of intermediate stages
solution itself might have an unknown
makes documenting the processes and
effect on the real world.
training the staff more challenging.
Since the SPAKE system needs continuous iteration, the Spiral model is not
suitable for SPAKE system development. Moreover the SPAKE system is also not a
complicated system because it is only a new web-based system, which will change a
manual system. The process and requirements is already there, the developer only needs
to translate them to the system. The Spiral model also enables developer to abort the
entire project if the risks of the project are too high. The SPAKE system development
does not allow the aborted of the project because the contract has been signed before the
project been given to IDIS.
2.3.1.5 V-Shape Model
The V-Shape model is a structured model, which improved from the Waterfall
model. This model does not run into the problem that the system is impossible to be
tested because system test, integration test and unit test are plan ahead. For example,
when we plan the requirement, we also plan for testing. Therefore, when the system is
built, developer have a whole set of test cases for system testing.
The V-Shape framework emphasizes quality from the initial requirements stage
through the final testing stage. It focuses on testing throughout the development life
cycle, early development of test requirement and early detection of error. Each major
deliverable in the development is assessed, tested and verified.
Requirement
Specification
Validation
Integration
Preliminary Design
Unit Testing
Detailed Design
Coding & Debuging
Figure 2.5 : The V-Shape Model
Figure 2.5 shows processes involved in V-Shape model. The steps involved in VShape model are as follow:
i.
Requirement Specification.
ii.
Preliminary Design.
iii.
Detailed Design.
iv.
Coding and Debugging.
v.
Unit Testing.
vi.
Integration.
vii.
Validation.
The V-Shape model is a linear model and it works best in situation where the
requirements of the system are stable and the solution to meet the requirements is clear.
More than that, this model also works best if there is no pressure for immediate
implementation for the system.
As described before, V-Shape model is an improvement of Waterfall model.
Actually, this model is quite similar with Waterfall model. The difference is that each
development phase matches each test phases for example the requirement specification
with the validation or system testing, preliminary design with the integration testing and
detailed design with the unit testing.
As for SPAKE system development, V-Shape model is not the best practice. This
is because of no prototyping method involved in V-Shape model. The SPAKE
development needs prototyping as a method because the client needs to criticize the
prototype system before the actual system produced. The requirements of the system are
also not stable because the new requirements can evolve after the prototype presented to
the client. More than that, the testing is not a big concern in SPAKE development. The
system does not need be tested each phase. Only the understanding of the system works
and rapid development may help to achieve the SPAKE system goals.
2.3.1.6 Rational Unified Process Model
The Rational Unified Process or RUP model is a software development model
that suits with the Unified Modelling Language (UML). Usually the RUP model is used
to enable the production of highest quality that meets user requirements within
predictable schedules and budgets. Nowadays, RUP has become the real process for
managing, monitoring and controlling projects implementing software intensive system.
Based on it iterative and incremental approach, risk is reduced while organizations can
gather new requirements from the non stop-changing business environment.
The RUP model consists of four phases, which are Inception, Elaboration,
Construction and Transition. Within each phase, there are a number of iterations. This
iteration represents a complete development cycle from capturing the requirements to
implementation and testing. Figure 2.6 shows the RUP software life cycle and every
phase involved in this model.
Figure 2.6 : The Rational Unified Process Model
Inception phase is concerned with the scope of the project. This phase defines a
vision for the project, which includes risk assessment, estimates the resources needed and
schedule. Elaboration phase is a phase used to analyze the problem and define the project
plan. At the end of elaboration phase, the developer will have an overall understanding of
the entire project. The uses of use case models and class diagram are applied in this
phase.
Meanwhile, the construction phase is managed to produce the product. The
product is built in the same fashion as the Spiral model, which follows a series of
iterations. However, the transition phase is concerned with the final product.
The RUP is actually a good model to be used in SPAKE system development. It is
quite similar with RAD model. The phases in RUP are a bit complicated than RAD.
Unfamiliarity with RUP makes IDIS does not choose this model in SPAKE development.
The advantages and disadvantages of RUP model are further describes in Table
2.5.
Table 2.5 : The Rational Unified Process Model Advantages and Disadvantages
Advantages
1. The RUP development is based on
Disadvantages
1.
The RUP development does not cover
software engineering principles such as
the entire software process. It also does
taking an iterative, requirement-driven
not support multi-project infrastructure
and architecture-based approach to
development effort such as
development.
organization-wide architectural
modelling, missing opportunities for
large-scale reuse within organization.
2. The RUP provide several mechanisms
2.
The RUP is currently weak in areas
such as a working prototype at the end
such as metrics management, reuse
of iteration and the go/no-go decision
management, people management and
point at the end of each phase, which
testing.
provides management visibility into the
development process.
2.3.2
System Platform
There are many system platforms available to support the web-based system.
Choosing the right platform to support the system is very important to ensure the system
running smoothly in certain platform. Among the variety of system platforms available,
there are two popular choices that business always decided to use for their web-based
system, which are the Java 2 Platform Enterprise Edition or formerly known as J2EE,
built by Sun Microsystems and Microsoft .NET, built by Microsoft Corporation.
In this subsection, the comparison between these platforms will be discussed.
Although both Microsoft .NET and J2EE cover a great deal of technologies and
standards, focuses will look specifically on building server-side systems as web services
using these architecture. The SPAKE system development has chosen .Net technology as
their platform. The reason for this decision is discussed in the following subsection.
2.3.2.1 Microsoft .NET
Built by Microsoft Corporation, Microsoft.NET is a product that enables
organizations to build smart enterprise-class web services. The development of
Microsoft.NET is largely a rewrite of Windows, which was Microsoft's previous platform
for developing enterprise applications. Windows has included many proven technologies
that are in production today including Microsoft Transaction Server and the Microsoft
SQL Server database. The new .NET framework has replaced these technologies. This
framework includes a web services layer as well as improved language support to
advance the Windows technology (Wayne, 1999). Figure 2.7 shows the developer model
for building web services with Microsoft.NET.
Figure 2.7 : Developing web services with Microsoft.NET
The .NET platform is hosted within a container, which provides qualities of
service necessary for enterprise applications such as transactions, security and messaging
services. However, the business layer of the .NET application is built using .NET
managed components. The managed components factor interest the SPAKE developers to
use this platform. As discussed before, all modules involved in SPAKE system have been
divided between programmers, so that every programmer has his/her own components.
Using the .NET as a platform, at the end of the development phase, the developers should
not worry on how to manage all components because the .NET offers the easiness in
managing the components.
The most fundamental aspects of the .NET platform is .NET offers languageindependence and language-interoperability. By using a single .NET component,
developer can write a code partially in VB.NET or ASP.NET which is the .NET version
of Visual Basic and C# which is the Microsoft's new object-oriented programming
language. More than that, the .NET platform includes the following .NET Enterprise
Servers, SQL Server 2000, Commerce Server 2000, Application Centre Server 2000 and
Host Integration Server 2000 (Wayne, 1999).
SPAKE system development needs the language-interoperability elements to
ensure the web-based system runs smoothly. Using HTML as an interface and ASP.NET
as a body of system programming, this two languages need language-interoperability
elements for the project to be successful.
2.3.2.2 J2EE
The Java 2 Platform Enterprise Edition or J2EE was designed to simplify complex
problems with the development, deployment and management of multi-tier enterprise
solutions. J2EE is an industry standard and is the result of a large industry initiative led
by Sun Microsystems.
The J2EE architecture is based on the Java programming language. The
interesting part about Java is that the organizations have an opportunity to write their
code once and deploy that codes into any platform available in the market. The process
can be simplified as follows:
i.
Developers write a source code in Java language.
ii.
The Java code is compiled into byte code, which is a cross-platform
between source code and machine language.
iii.
Then the Java Runtime Environment (JRE) interprets this byte code and
executes it at run-time environment.
Historically, J2EE has been the architecture for building server-side deployments
in the Java programming language. Usually the J2EE platform is used to develop
traditional web sites and software components or even applications packages. Recently,
J2EE has been extended to include support for building XML-based web services as well.
This is the element that enables interoperability between a web services to the other web
services that may or may not have been written to the J2EE standard. Figure 2.8
summarizes the J2EE web services development model.
Figure 2.8 : Developing web services with J2EE
The J2EE application is hosted within a container. The container will provide
qualities of service for enterprise applications, such as security, transactions and
persistence services. Meanwhile, the business layer for this platform performed business
processing and data logic. The large-scale applications can also be develop by using
J2EE. For the large-scale application, business logic is built using Enterprise JavaBeans
components (Wayne, 1999).
The J2EE can also be a good choice in developing the SPAKE system. However,
there are certain factors that J2EE does not support in web-based system development
that made them choose the .NET as their platform. Those factors are discussed in the next
subsection where the comparison analysis between .NET and J2EE has been done.
2.3.2.3 Comparative Analysis Between J2EE and .NET
Before the developers choose the platform that they will use to support their webbased system, the aspects of differences, weakness and strengthen between .NET and
J2EE platform need to be considered. The comparative analysis between those platforms
is discussed as follow.
i.
Time to Market Features
Both Sun J2EE and Microsoft .NET provide runtime mechanisms that
insulate software developers from particular dependencies. J2EE offers
several features that accelerate time-to-market which are not found in
.NET. For example, state management services enable developers to write
less code and not worry about managing state, resulting in a higher degree
of rapid application development. Persistence services enable developers
to write applications without coding data access logic, resulting in leaner,
database-independent applications that are easier to build and maintain.
Microsoft.NET offers a variety of time-to-market features not found in
J2EE as well. Most notably, ASP.NET is independent of client device, and
allows for user interfaces to be rendered to alternative user interfaces
without rewriting code. Microsoft also offers Queued Components, which
are superior to MessageDriven Beans. It should be noted here that
Microsoft has tried to simplify server-side programming greatly by
removing support for features found in traditional enterprise applications,
such as state servers and simple transactions. Microsoft also provides
business process management and E-Commerce capabilities, which are
available in some J2EE implementations but not all.
ii.
Single Vendor Solution
Generally developers should always prefer to have a single-vendor
solution when building the web services. A single vendor solution is
usually more reliable, interoperable, and less error-prone than a twovendor bridged solution. One of J2EE's strengths is that it has spawned a
wide variety of tools, products and applications in the marketplace which
provide more functionality in total than any one vendor could ever
provide. However, this strength is also a weakness. J2EE tools are often
not interoperable due to imperfections in portability. This limits the
developer’s ability to mix and match tools without substantial low-level
hacking.
.NET provides a fairly complete solution from a single vendor, which is
Microsoft. This solution may lack some of the higher end features that
J2EE solutions offer but in general the complete web services vision that
Microsoft will be providing is equal in scope to that of a larger J2EE
vendor.
iii.
Market Perception
J2EE is an extremely well marketed platform because it is being marketed
by an entire industry of over fifty assorted vendors. This network of
interdependent businesses forms a virtual marketing machine and the
result is a fantastic market perception for J2EE.
.NET marketing strength stems from the fact that Microsoft knows how to
market a platform. They have put their best team on marketing .NET, as is
apparent in the industry hype surrounding the platform. This is a powerful
force not to be reckoned with. Microsoft's advantage is also that it
announced its web services strategy before the J2EE takes place which
gave it market perception. So in the marketing front, the developers give
the nod to Microsoft for doing the best job in hyping their platform.
iv.
Language Support
J2EE promotes Java-centric computing, and as such all components
deployed into a J2EE deployment must be written in the Java language. To
use J2EE, you must commit to coding at least some of your e-Business
systems using the Java programming language. Other languages can be
bridged into a J2EE solution through web services is CORBA and JNI or
JCA.
By way of comparison, .NET supports development in any language that
Microsoft's tools support. With the exception of Java, all major languages
will be supported. Microsoft has also recently introduced its new C#
language which is equivalent with the exception of portability to Java and
is also available as a programming language within the Visual Studio.NET
environment. A single .NET component can therefore be written in several
languages.
v.
Web Service Support
The future of e-Business collaboration is undoubtedly web services. For
organizations that are pursuing a web services strategy or are preparing for
the future of web services, their underlying e-Business architecture must
have strong web services support.
Today, J2EE supports web services through the Java API for XML
Parsing. Additional APIs are also under development. These are
convenience APIs to help developers perform web services operations
more rapidly such as connecting to business registries, transforming XMLto-Java and Java-to-XML.
The preview release of Microsoft.NET also enables organizations to build
web services. The tools that ship with Microsoft.NET also offer rapid
application development of web services with automatic generation of
web service wrappers to existing systems. Visual Studio.NET provides
wizards that generate web services (Wayne, 1999).
From the comparison discussed, the SPAKE system developer found that more
advantages can be achieved when using the .NET platform offered by Microsoft. Need to
be stated that J2EE advantages also need not to be declined for the future web-based
development because the platform also contributes to the variety of choices for webbased development.
2.3.3
Databases
There is a number of advantages when computerized filing system is used over
the manual system. Usually the Database Management System (DBMS) is used for
storing the information or data. As a part of the data entry process, the DBMS will assign
a unique identifier to each document record. This identifier may be used as an indexed
key for retrieval purposes and can also be used to annotate actual documents when the
data being stored. When document retrieval is required, a user may enter an identifier. In
a more likely situation, a user will enter criteria that the DBMS uses to retrieve a bounded
record subset from the user selects the records required.
Web-based systems provide immediate improvements in efficiency over manual
system but the standard DBMS approach remain compromised in a number of significant
ways such as the information is fragmented across a set of database fields. This means
each record is not recognizable entity and probably does not have a humanly readable
structure.
In this subsection, the comparison between Microsoft SQL Server 2000 and
Oracle9i Database will be discussed. Although both Microsoft SQL Server 2000 and
Oracle9i Database can be used as a database for SPAKE system, the SPAKE project team
has decided to use Microsoft SQL Server 2000 as the system database. The reason on this
matter will also be discussed in the following subsection.
2.3.3.1 Microsoft SQL Server 2000
SPAKE system make use of Microsoft SQL Server 2000 as their database because
Microsoft SQL Server 2000 is the complete database that offer for rapidly delivering the
next generation of scalable web-based system, e-commerce and data warehousing.
Microsoft SQL Server 2000 offers number of benefits that interest the SPAKE
system developer. The benefits that SQL Server 2000 offers are:
i.
Microsoft SQL Server 2000 is a fully web enable where it can make
query, analyze and manipulate data over the web. This database uses an
extensible Markup Language (XML) in SQL Server 2000 where the
database can exchange data between loosely coupled systems.
ii.
The SPAKE system needs a highly scalable and reliable database because
the system can grow without limits with enhanced scalability and
reliability features. The Microsoft SQL Server 2000 offered a partition
database workload to achieve scale-out of applications.
iii.
More than that, the Microsoft SQL Server 2000 is actually have a Fastest
Time-to-Market element where the database can rapidly builds, deploy
and manage the web-based system, e-commerce and data housing
solutions. It is also able to perform sophisticated data mining on customer
and financial data.
From the discussion on benefits offered by Microsoft SQL Server 2000, SPAKE
system developer found that the database can provide the fastest route to web-based
system development.
2.3.3.2 Oracle9i
Another well-known database that available in the market today is the Oracle9i
Database. The Oracle9i Database is the current release of Oracle’s information
management solution. It is designed to support and leverage the capabilities of the
Internet. Besides, it also provides extensive functionality to support businesses running
on the World Wide Web (WWW) as well as traditional mission critical OLTP and Data
Warehousing applications.
Oracle9i Database also supports the high scalability requirements of the most
demanding Internet-based and traditional mission-critical applications, as well as the
highest availability requirements. It is capable of handling all type of information for all
types of applications and provides outstanding, across-the-board, and transparent
scalability from low-end processor to high-end symmetric multi processor systems and
multi node clustered configurations.
The Oracle9i Database has evolved over more than 20 years. From the earliest
relational database ad hoc SQL, through to the Internet era the database now can support
the web based business applications. Oracle9i Database has been designed to provide the
most complete and low cost solution for any business information management
requirements and is the only solution available today that can:
i.
Guarantee the critical business information is available when needed.
ii.
Provide proven performance, scalability and capacity on demand for any
business requirements.
iii.
Integrate business information from disparate sources including thirdparty database and file systems.
iv.
Consolidate and manage all developer Internet content.
v.
Reduce the time takes for a business to make better business decisions by
analysing more data faster.
Although the advantages of Oracle9i Database offered also found in Microsoft
SQL Server 2000, there is no guarantee on Fastest Time-to-Market element that offered
by Microsoft SQL Server 2000. Furthermore, for those who are not familiar with
Oracle9i, they will face a difficulty in handling the data transaction between the web
based-system and the database.
2.3.1
Programming Languages
Nowadays, there is a lot of programming languages that developers can choose to
develop the web-based system such as VB.NET, PHP, ASP.NET, etc. Each language has
its own strengthens and weaknesses. It depends on the developers themselves to choose
the best for their development.
VB.NET and PHP are the most promising programming languages in web-based
development. As for SPAKE system development, the developer has chosen the VB.NET
language as their programming language.
This subsection focuses on the definition, overview of strengthens and
weaknesses of VB.NET and PHP. There are a lot of factors need to be considered before
the developer choose the languages because different projects may appeal to a different
technology.
2.3.4.1 VB.NET
VB.Net or Visual Basic.NET is the new version of Visual Basic. This language is
a major part of Microsoft .NET initiative. Responding to pressure from the Visual Basic
community, VB.NET is a significant upgrade that is far more flexible and powerful than
previous versions. Microsoft has introduced a number of new features and moves it to
full object-oriented programming and greatly enhanced web design facilities (Michael,
2002).
VB.NET that is the incarnation of Visual Basic is not completely backward
compatible with previous versions of Visual Basic as it is a complete rewrite of the
software. Previous Visual Basic technology actually has a lot more in common with PHP
but with VB.NET is a complete framework for building web-based applications. One of
the principal features of this language is the flexibility to choose programming language.
VB.NET works with scripted languages such as VBScript, JScript, Perlscript and Python
as well as compiled languages such as C#, C, Cobol, Smalltalk and Lisp (Craig, 2003).
The VB.NET framework also provides for Object Oriented Programming (OOP)
where the inheritance, polymorphism and encapsulation are supported (Daniel, 1995).
The .NET class library is organized into inheritable classes based around particular tasks
such as working with XML or image manipulation.
Besides the programming language, the methodology and database access is a
significant concern. When developer develop the system using VB.NET, integration with
databases can be accomplished through ODBC which provides a consistent set of calling
functions to access your target database. The SPAKE system development has chosen
VB.NET as programming language due to consistency and easiness in integration of the
system to the database (Dianne, 1999).
Beside the consistency and easiness in database integration, VB.NET strength lies
clearly in its clean design and implementation. The language flexibility and with
sophisticated object-oriented features supported makes SPAKE developer chosen this
language. In that sense, it is truly interoperable with every programmer existing skills.
Another strength of VB.NET is the development environment. For instance,
developers can use a community-supported tool, Visual Studio .NET or various Borland
tools such as Delphi and C++ Builder. Visual Studio has been used in SPAKE
development for instance, allows setting of breakpoints, tracing sections of code and
reviewing the call stack. It is a sophisticated debugging environment.
2.3.4.2 PHP
Different from VB.NET, PHP is a scripting language based on the model of
preprocessing HTML pages. When the PHP preprocessor in your web server notices a
PHP language tag, the PHP engine is invoked to execute that code. PHP will be familiar
to any programmers who have worked with imperative programming languages. It has a
similarity with Perl, C and Java. Frankly, Java is an imperative programming language,
but it also makes use of object-oriented constructs and concepts. PHP borrows from this
structure when it is convenient but it is not a pure OOP language (Edward, 1994).
The advantages of the PHP can be found by price of it, developer does not have to
worry about licensing issues. PHP is an open source, so an entire programming
community will keep a close eye on development, identifying bugs and making sure they
get fixed. If there is a feature programmer does not like, they can dabble with the code.
Other than that, PHP has a smaller code path, meaning there's less server-side
code executed to parse and execute your PHP page which results in more efficient
memory and usage and faster execution.
In the discussion of VB.NET above, the ODBC driver integrate the system to the
database. In PHP, you can also use ODBC to integrate the system to databases. The point
that SPAKE developer does not interested in this language is the lack of exceptions,
event-based error-handling instances that interrupt the normal flow of a program where it
will jump your code to a special error-handling section. The programmers still can
manage errors in PHP, but the structure is not standardized, so programmers are left to
their own devices on how to implement error handling, leading to less consistency and a
tendency to reinvent the wheel. Moreover, PHP function names are case insensitive. This
matters make some programmers might find this feature annoying.
CHAPTER III
METHODOLOGY
3.0
Introduction
SPAKE system development is implemented based on RAD methodology and
standard modelling technique in order to assure that the communication between
processes becomes easier to control and maintain. The SPAKE system considers a
number of aspects such as paradigm, methodology, technical requirement and suitable
tools to be used in every phase involved in the development.
This chapter will discuss the methodology and software development used in
SPAKE system. It comprises of the software development process from the first step till
the last step and the usage of software development methodology. Every phase involved
in the methodology used will be elaborated detail.
3.1
Software Process
As discussed in Literature Review, the Rapid Application Development (RAD)
model has been used to develop the SPAKE system. The RAD is a technique for
compressing the analysis, design, build and test phases of a software development project
into a series of short and iterative cycles.
There are four phases involved in RAD life cycle. These phases are used to ensure
that each phase is delivered on time and on budget (Grady, 1996). The phases involved in
RAD are:
3.3.1
i.
Planning Phase.
ii.
Design Phase.
iii.
Rapid Construction Phase.
iv.
Deploy Phase
Planning Phase
The first phase in RAD is the planning phase which is used to make a functional
specification. After the functional specification has been done it will be presented to the
user for specification signoff.
In this sub section, the explanation involving the
techniques used for planning the project is discusses. It will also specify the method that
has been used in the analysis process.
3.1.1.1 SPAKE Requirement Analysis Critical Success Factors
Requirements cover the discovery, documentation and analysis of functions to be
implemented in software. Requirements analysis is a critical activity on any software
project because if developer do not get the requirements right, project will fail no matter
how well they perform in all other activities.
Getting requirements right has proven to be one of the more difficult areas of
software engineering. This is due to requirements analysis being open ended in nature,
the interfaces with many different project participants and the fact that time spent on
requirements is often short-changed based on the mistaken idea that projects should move
on to design and construction as fast as possible.
In SPAKE system development, the requirements gathered from many methods.
The requirement analysis critical success factors for SPAKE system development are as
follow:
i.
Choose the right member of SPAKE team
Some people are great programmers and others are good with people and
have exceptional communication skills. In SPAKE development, team
member with the best people and communication skills used to find and
handling the requirements gathering. He or she needs to be able to meet
with the customer and communicate effectively with a non-technical
audience.
ii.
Meet with the customer early and often
As discussed, SPAKE has chosen a RAD as the project methodology.
Since the JAD needs client work together with the IT technical resources,
it is imperative that they are involved from the inception of the project.
Literally meeting with the client in person and on the phone is a very
important piece of the process which great for confirming and verifying
details and also getting a big picture view of the functional requirements.
iii.
Ask questions
SPAKE system developer is concern in knowing how and when to use
powerful questions to get the client to think in depth about the current and
proposed process. This will not only help project mission but can also
improve the business process.
iv.
Clarify what the system will not do
As important as clarifying what the system will do is being clear on what
it will not do. In addition, it is essential that the SPAKE developer clarify
what the users will do versus what the system itself will do. A good
practice is to clearly indicate the scope and requirements documentation
not only what functionality will be provided but also what will be
excluded. In SPAKE development, use cases and flowcharts can also be
very helpful to illustrate and document process flow while differentiating
roles.
3.1.2
Design Phase
The design process is very important in SPAKE system development. From a
practical standpoint, as a labourer, they would not attempt to build a house without an
approved blueprint thereby risking the structural integrity and client satisfaction. The
emphasis in design is on quality. This phase provides the representation of software that
can be assessed for quality.
During the SPAKE system design process, the software specifications are
transformed into design models that describe the details of the data structures, system
architecture, interface and components. Each design product is reviewed for quality
before moving to the next phase of RAD software development. At the end of the design
process a design specification document is produced. This document is composed of the
design models that describe the data, architecture, interfaces and components.
There is a number of design specification models involved in SPAKE
development such as data, architectural, interface and component level design. These
models help developer in achieving the SPAKE system goals.
3.1.2.1 Data Design
The SPAKE data design created by transforming the analysis information model
including the data dictionary and Entity Relationship Diagram (ERD) into data structures
required to implementing the software. Part of the data design may occur in conjunction
with the design of software architecture. More detailed data design occurs as each
software component is designed.
3.1.2.2 Architectural Design
Architectural design defines the relationships among the major structural elements
of the SPAKE system. It composed of the design patterns than can be used to achieve the
requirements that have been defined for the system and the constraints that affect the way
in which the architectural patterns can be applied. SPAKE system architectural design
derived from the system specification, the analysis model and the subsystem interactions
defined in the analysis model, which is in Flow Chart.
3.1.2.3 Interface Design
The interface design in SPAKE describes how the software elements
communicate with each other, with other systems and with users. The data flow and
control flow diagrams provide much of the necessary information required in interface
design.
3.1.2.4 Component Level Design
As for component level design, it is created by transforming the structural
elements defined by the SPAKE architecture into procedural descriptions of software
components using information obtained from the process specification, control
specification and state transition diagram.
3.1.3
Rapid Construction Phase
In Rapid Construction phase, the system development and testing involve directly
to SPAKE system. In SPAKE system development, RAD used the iteration element in it
development. Therefore, all changes for the system will be rapidly constructed until the
user satisfies the system. At this phase, the prototype of the system may be generate and
present to the client. This phase is complete when the users test the system and signoff
for each iteration made.
During the Rapid Construction phase, all remaining components and application
features are developed and integrated into the product. Beside, all features are thoroughly
tested. There are a number of objectives why the Rapid Construction phase is important
for the SPAKE system. The primary objectives of the Rapid Construction phase in
SPAKE development include:
i.
Minimizing development costs by optimizing resources and avoiding
unnecessary scrap and rework.
ii.
Achieving adequate quality as rapidly as practical.
iii.
Achieving useful versions such as prototype and other test releases as
rapidly as practical.
3.1.3.1 Prototype
The system prototype has been built along SPAKE system development. These
prototype are used to be the dummy system that would be the guidance for building up
the actual SPAKE system.
In SPAKE system development, prototyping in early implementation involves the
implementation of a design specification in a small number of representative pieces of
equipment for the purpose of demonstrating the feasibility of a concept or the correctness
of the specification. Making SPAKE prototype models usually requires modeling
involves hardware as well as software. The use of a SPAKE prototype model is to
validate a standard or set of standards involving the following steps:
i.
A clear agreement is reached on which parts of the standard are to be
modeled in the prototype.
ii.
A full schedule of tests to be performed and the expected results is
prepared and agreed before prototype testing begins.
iii.
Prototype models are built using parts and methods that ensure that the
models are completed as quickly and as accurately as possible within the
constraints of available resources.
iv.
Testing is performed according to the agreed schedule.
Prototyping is likely to be an iterative process where the modifications to the
standard and process as a result of the testing are incorporated into the prototype models
and retested.
3.1.4
Deploy Phase
Once the SPAKE project has been implemented, the Deployment phase will
begin. This phase consists of defining a testing plan that will be used to verify that all
features have been implemented according to the specifications defined during the
Requirements Analysis phase, which is in Planning phase of the project. All defects will
be tracked on the online web-based project portal that the client can view as well as add
defects themselves.
Once the SPAKE system has been tested and verified, developer will implement
the application or deploy the application to the client servers. As for SPAKE project, the
Deployment phase is accomplished with close contact with the client personnel. Beside,
the extensive training is provided to end-users. Historical data is prepared and transferred
into the new information system.
For the SPAKE project, the developer found that the Deployment phase is very
important, since the results of both developer and client teams is tried in a real business
environment. All critical functions are tested before they will be inserted into all
Semboyan bases involved in a real workflow.
The Deployment phase involved in SPAKE system includes the following tasks.
i.
Obtain signoffs whether pilot project will go on or not go on decision.
ii.
Train business and technical customer support.
iii.
Begin pilot deployment to selected Semboyan bases.
iv.
Monitor the pilot project.
v.
Evaluate pilot feedback and initiate change management.
vi.
Obtain signoffs from the client whether deployment will go on or not go
on decision.
vii.
Execute deployment plan.
In SPAKE system development, the deployment phase has 2 main parts, which
are the Quality Testing phase and Delivery and Acceptance phase.
3.1.4.1 Quality Testing Phase
When the development team has tested every module involved in SPAKE system,
the modules are delivered to the Quality Assurance server for integration and Quality
Assurance testing by the Tester.
Based on the comments from Quality Assurance that is from IT technical
resources and client, the modules and related documentation are adapted, retested and
released to Quality Assurance. For example modules may pass through this cycle a few
times between development and deployment in order to attain the required quality.
During Quality Assurance Testing bugs are tracked and logged as a new releases
between development and deployment. At the end of this phase the project has reached
the testing milestone and it is ready for delivery to the client.
3.1.4.2 Delivery and Acceptance Phase
Delivery and acceptance phase happened in SPAKE system development when
the project is installed in the client production environment. Since this is probably the
first time the project functions in its real environment with real interfaces and
connections, a thorough testing is important.
Bugs and problems reported during acceptance testing are collected and resolved.
At regular intervals update releases are installed and regression tested. At the end of the
acceptance the provisional acceptance of the SPAKE system is signed-off, marking the
delivering milestone.
In parallel with the acceptance testing, the documentation is finalized and
technical, administrator, training and user documents are prepared and delivered during
this phase. The signature of the provisional acceptance starts a period of extended
evaluation by the customer. Then the developer begins the maintenance and
administration training for the client with the new system.
3.2
Problem Solving Methodology
There is lots of problem occur during the development of SPAKE system. It is
important to make sure that the system runs smoothly in real system environment.
Problem solving methodology section will describes the problems occurred and the way
that developer used to solved the problem that arises in the SPAKE system development.
3.2.1
Database Optimizing
SPAKE system is a huge web-based system and the system will be implement
throughout Malaysia. In that sense, the database for the system need to be optimized and
minimized to ensure the space available is use effectively. SPAKE developer has
implemented the code involved as representative for certain information such as Gender,
State, Position and Location. Using the database-optimizing concept, the database will
only store the code for each attribute and this would bring an advantage for the SPAKE
system where it will save lots of space in the database. Need to be stated, that the code
has been defined at a first stage to avoid any miss understood if too many codes need to
be store in the database.
3.2.2
Interface Grouping
Usually for each interface, the developer will allocate a related data fields on that
particular interface. The problem arises when there are to many data fields involved in
one interface unit. The space is not enough even when we arrange them accurately. To
solve the problem, SPAKE developer have make a meeting with the client in order to
arrange the only important data fields on the main interface. The sub interface is used
when it is needed. Consultancy plays it roles where developer and client sit together to
discuss the main interface and sub interface in every module involved in SPAKE system.
3.2.3
Programming Error Handling
When SPAKE system programmers make a program for each module, sometime
there are some bugs or errors occur during the program running. Programmers handle the
problem by using the debugger embedded with the Microsoft Visual Basic. The debugger
is used for keep track the error in the system. This technique is efficient because it makes
the system reuse this component every time the debugger trap the errors or bugs occurs.
3.2.4
Filter the Information
There is lots of information need to be filter when a report been generating by
each level of users. The edited page forms also need to filter where there is some part that
certain level of user cannot edit. Therefore, filtering information is the most important
part before the system installation been done by the developer. It is also important to
ensure that certain user would not misuse the data or information involved in SPAKE
system. In order to solve this problem, the developer has to manipulate the SQL
statement based on the requirement gathered in Analysis phase.
3.3
Unified Modeling Language
The Unified Modeling Language or UML has been released by a consortium of
companies led by Rational Software Corporation and was certified as an industry
standard by the Object Management Group (OMG) in November 1997. The UML
attempts to unify the diagrams and to a degree the methodologies of Booch, Object
Modeling Technique (OMT) and Object Oriented Software Engineering (OOSE) (Grady,
1996).
In SPAKE project, UML has been used as a standard language that is used for the
purpose of software development object oriented modeling where it can identify, build
and document the artifacts in a software system. UML has been used for all process
through system development cycle and over assorted implementation. It also enables the
developer to model the system whether logically or physically. In that sense, the SPAKE
model can be represented in a consistent way.
The objectives that SPAKE system make used the UML are to determine the
increasingly and repeating development process. Beside, the UML also used for listing
the phase, product and main activities for every development process phase involved. By
using the UML, some notations and techniques have been used. The notations and
techniques including the Use Cases, Sequence Diagrams, Collaboration Diagrams and
also State Diagrams.
3.4
Documentation Standard
The documentation for all documents involved in SPAKE development is using
the IDIS standard with DOD-STD-2167A. This standard harmonizes to define a set of
activities and documentation suitable for the Malaysian Military Automated Information
System. This standard ensures the compatibility with recent changes in instructions and
standards.
Furthermore, this standard can be applied in any phase of the system life cycle. It
can be applied to contractors, subcontractors or Government agencies performing the
software development.
The standard is not intended to specify or discourage of any particular software
development method. The developer is responsible for selecting software development
methods that support the achievement of contract requirements.
This standard is compatible with non-hierarchical methods. A system is
decomposed into software units, which may or may not be related to each other in
hierarchical manner. Design, testing and configuration management are based on the
developer designated software units. That means, this standard is more flexible in term of
using a methods that best suited to project such as object oriented analysis and design.
CHAPTER IV
PROJECT DISCUSSION
4.0
Introduction
This chapter discusses the overall project discussion during the development of
SPAKE project. The project discussion will describe a brief on project flows in
Maintenance module. Need to be state that the module will not discusses in detail due to
restricted flow and information (the related documentation regarding the project can be
referred to IDIS)
4.1
SPAKE System Features
SPAKE system is introduced to help people form Semboyan Department to keep
communication equipments information instead of keeping them using forms involved in
every process. SPAKE system is actually the transition from manual to paperless
information system. It is easy to use and encourage user acceptance even for those with
no computer experience.
4.2
SPAKE User Interface
For SPAKE system development, user interface of the system is very important.
As discussed, the quality of the interface is one of critical success factor that can impact
the system successes. The reasons that make it very important are that the good user
interface increases the efficiency and productivity of user and reduces error. About half
time and effort in design stage spent on SPAKE interface as well. SPAKE system
interface is designed to make information easy to find and provide the information in a
form which is easy to use.
4.3
Output Analysis
Before the existing of SPAKE system, Ministry of Defense especially in
Semboyan department have to make a request for all processes involving the department
manually by filling a form at their bases. As for traditional and conservative ways, all
information about communication equipments that is requested has to be filled in a form
and submitted to the officer at certain department. The officer then has to manually sort
the request and archive the form into files. By introducing the SPAKE system, the
communication equipments management can be manage through the Internet.
Furthermore, all the information can also be browsed at all time to check the status of
their requested process.
This subsection focuses on the output analysis from every sub module in
Maintenance module that has been done by the author. Every sub module is discussed
detail in term of processes involved. Furthermore, the screen shots are also been shown to
ensure a clear understanding about all processes.
4.3.1 Login
Figure 4.1 : Login Interface
There are several users involved in Maintenance Module. Every user has his/her
own Login ID and Password. Users need to enter their ID and Password in order to use
the SPAKE system. If the user does not enter the correct ID or Password, they are not
allowed to enter the system. Figure 4.1 shows the interface for user login.
In Maintenance Module, people from Receive and Issues (R&I) department,
Workshop, Workshop Quality Control department, Testing Unit and Semboyan
department are involved in all process. They have their own job and authorities to access
the system.
4.3.2 Pembaikan Swasta Sub Module
Pembaikan Swasta or Private Repairing sub module is used when the
communication equipments are not under guarantee and workers from Workshop cannot
repair those equipments. Because of that, the equipments will be sending and distribute to
private sector for repairing.
For the first step, user from R&I department will enter the system because all
communication equipments are actually under their supervision. Figure 4.2 shows the
first screen appear when the R&I user enter the system. After the default screen appear,
they need to click on ‘TAMBAH’ (add new job) link to enter all data for equipments that
need to be repair.
Figure 4.2 : Default Interface for R&I Users
Figure 4.3 : Equipments Chooser Interface
Secondly the R&I will choose the equipments that need to be repaired. In this
interface user also need to choose their Unit name, equipment categories, equipment
name and equipment serial number. Need to be stated that all Units have their own
equipments, when they choose their Unit name, the equipments that they can choose are
only the equipment and serial number under their supervision. From this depended entity,
users cannot simply enter the equipments that are not under their supervision.
Figure 4.4 : Repairing Form
After the R&I user enter the serial number in equipment chooser interface as
shown in Figure 4.3, the system will automatically go to the Repairing Form interface
where the user need to enter all the data for equipments repairing request. After they enter
the field needed, user needs to click the ‘Hantar’ (sending) button where the data will be
stored in the database.
Figure 4.5 : Conformation Repairing Form
After the R&I user press on ‘Hantar’ button, the ‘Ya’ (Yes), ‘Papar’ (View) and
‘Selesai’ (End) button will replace the ‘Hantar’ button. Here, user needs to confirm that
the data enter are correct. If the data enter are correct, the ‘Ya’ button need to be press
and after that the ‘Selesai’ button also need to be press. If user needs to show and print
the report, user will press ‘Papar’ where the report will be preview before user can print
it. Figure 4.5 shows the Conformation Repairing Form.
Figure 4.6 : Default Interface With New Job Status
After the “Selesai” button has been pressed, the default interface will appears
again. Here, the new job will be listed in the data grid. Figure 4.6 shows that there is one
new job listed for Workshop action. Then, the R&I user can logout and wait for
Workshop action. To logout from the system, they need to click “LOGOUT” at the left
side of the toolbar.
Figure 4.7 : Default Interface for Workshop Users
Workers for Workshop are responsible to repair all communication equipments
send by the R&I department. When they login the system the default interface appears
are actually the jobs that need to be done. Figure 4.7 shows the data grid that lists the jobs
for Workshop. Workshop users need to click on the ‘No. Kerja’ (working number) to
access the Repairing Form requested by R&I department user.
Figure 4.8 : Workshop Job Form
When the user click the ‘No. Kerja’ link, job description from R&I will be shown.
Then they need to enter all repairing action taken for that particular job. In Private
Repairing case, Workshop user will select ‘SWASTA’ (privatize) in Repairing drop
down list to privatize the equipments. Workshop user also can print the Workshop Job
Form by pressing the ‘Papar’ button. Figure 4.8 shows the Workshop Job Form that need
to be filled up for every job that they done.
Figure 4.9 : Default Interface With New Job Status
After the “Hantar” button has been pressed, the default interface will appears
again. Here, the new status of particular job will be listed in the data grid. Figure 4.9
shows that the job status has been change to ‘SWASTA’ where it means that the
equipments need to be privatized. Then, the Workshop user can logout and wait for
Workshop Quality Control department action.
Figure 4.10 : Default Interface for Workshop Quality Control User
Next, the Workshop Quality Control department user will login the system to
approve the Workshop job. When the Workshop Quality Control user login, the default
interface will be shown where the data grid of their job are listed. They need to click on
the ‘No. Kerja’ link to access the data enter by Workshop user.
Figure 4.11 : Approval Form
Workshop Quality Control department is responsible to make a comment that
approve the Workshop job. Figure 4.11 shows the Approval Form for Workshop job
description. After the Workshop Quality Control users have made a comment, they need
to approve the form by pressing the ‘Sah’ (approve) button.
Figure 4.12 : Default Interface With New Job Status
After they approve the job, new job status will be shows to ensure the approval
job have been done by the Workshop Quality Control user. Figure 4.12 shows the new
job status has been made after the Workshop Quality Control user approve the Workshop
job. Then, the Workshop Quality Control user can logout and wait for Semboyan
department action.
Figure 4.13 : Default Interface for Semboyan Department
Figure 4.13 shows the default interface for Semboyan department. When the
Semboyan department login the system, the data grid that shows their job will be appear.
Here, the Semboyan department needs to click on ‘Pilih’ (select) link to show their job.
Figure 4.14 : Privatize Information Form
After the Semboyan department user click on the ‘Pilih’ button, the information
of the privatized equipments will be shown. Figure 4.14 shows the example of the
privatized equipment request information. Here, Semboyan department user will press the
‘Laporan Sebut Harga’ button to fill up the price quotation report.
Figure 4.15 : Page One of Price Quotation Report
Figure 4.15 shows the page one of Price Quotation Report. Here the Semboyan
department user needs to fill the basic data for Price Quotation Report. After the user
enter all information needed, they will press the ‘Hantar’ button to fill up the page two of
Price Quotation Report.
Figure 4.16 : Page Two of Price Quotation Report
Figure 4.16 shows the page two of Price Quotation Report. Here the user need to
enter all information about the company interested to repair the equipment with the price
offered. The ‘Jumlah’ (count) button is use to automatically calculate the price offered by
the company. Here, some imbedded formula has been write in the coding part for that
button. All the data will be save in the database when the user pressed the ‘Simpan’
(save) button.
Figure 4.17 : Default Interface With New Job Status
After the ‘Simpan’ button has been pressed, the default interface will appears
again. Here, the new status of particular job will be listed in the data grid. Figure 4.17
shows that the job status has been change to ‘Swasta-Call Pembekal’ where it means that
the Semboyan department user need to call the company that been offered to repair the
equipments.
4.3.3 Pembaikan Dalam Jaminan Sub Module
As for Pembaikan Dalam Jaminan or Under Warranty Repairing Sub Module, the
user for R&I department also need to enter the same process as shown in Figure 4.2 and
Figure 4.3. The different between Privatized Repairing and Under Warranty Repairing
Sub Module is when the R&I choose the equipment for repairing, the system will
automatically pop-up a message shows that the equipment are under warranty. The
example of the pop-up message is shown in Figure 4.18.
Figure 4.18 : Under Warranty Pop-Up Message
Figure 4.19 : Status Data Grid for R&I User
After the pop-up message appears and ‘OK’ button have been pressed, the R&I
user also need to follow the process as shown in Figure 4.4 and Figure 4.5. The different
is after the process involve as Figure 4.5, the status will be change to ‘Jaminan-RNI’
(Under Warranty-RNI) as shown in Figure 4.19.
Figure 4.20 : Default Interface for Testing Section User
Next, the Testing Unit user will login the system to approve that the equipment
repairing request are under warranty. When the Testing Unit user login, the default
interface will be shown such as Figure 4.20 where the data grid of their job will be listed.
They need to click on the ‘Pilih’ link to access the data enter by R&I user.
Figure 4.21 : Approval Form
Testing Unit is responsible to make a comment that approve that the equipment
repairing request are under warranty. Figure 4.21 shows the Approval Form for Testing
Unit request description. After the Testing Unit users have made a comment, they need to
approve the form by pressing the ‘Sah’ (approve) button. The user also can print the
Approval Report by pressing the ‘Cetak’ (print) button.
Figure 4.22 : Default Interface With New Job Status
After they approve the job, new job status will be shows to ensure the approval
job have been done by the Testing Unit user. Figure 4.22 shows the new job status has
been made after the Testing Unit approves the equipment repairing request are under
warranty. Then, the Testing Unit user can logout and wait for Semboyan department
action.
Figure 4.23 : Default Interface for Semboyan Department User
Next, the Semboyan department user will login the system to approve that the
equipment repairing request are under warranty. When the Semboyan login, the default
interface will be shown such as Figure 4.23 where the data grid of their job will be listed.
They need to click on the ‘Pilih’ link to access the data enter by Testing Section user.
Figure 4.24 : Approval Information Form
Semboyan department is responsible to approve the equipment repairing request.
Figure 4.24 shows the Approval Information Form for Semboyan department request
description. Semboyan department user needs to approve the form by pressing the ‘Sah’
(approve) button.
Figure 4.25 : Default Interface With New Job Status
After the ‘Sah’ button has been pressed, the default interface will appears again.
Here, the new status of particular job will be listed in the data grid. Figure 4.25 shows
that the job status has been change to ‘Jaminan - Pembekal’ where it means that the
Semboyan department user needs to call the equipment supplier to repair the equipments.
4.3.4 Lawatan Sengaraan Sub Module
Lawatan Senggaraan or Maintenance Visiting Sub Module is used for make a
report for each maintenance visiting done in every Workshop. Usually maintenance
visiting being done by Workshop Quality Control, four times a year base on date that
being set up by Semboyan department.
To set up the date for each maintenance visiting, Semboyan department need to
login the system and select ‘Lawatan Senggaraan’ item in Senggaraan toolbar as shown
by Figure 4.26.
Figure 4.26 : Senggaraan Toolbar for Semboyan Department
Figure 4.27 : Yearly Date Set Up for Maintenance Visiting Form
After the Semboyan department user click on ‘Lawatan Senggaraan’ item, the
yearly date set up for Maintenance Visiting Form such as Figure 4.27 will appear and
user need to set up the maintenance visiting date for every Workshop Quality Control
department. When the date set up being done, user will press the ‘Simpan’ button to save
the data in the database. Then the Semboyan department users can logout from the
system.
Figure 4.28 : Senggaraan Toolbar for Workshop Quality Control Department
As for Workshop Quality Control department, they need to login to search their
date for visiting the Workshop under their supervision. To do that, they need to click on
‘Jadual Lawatan Senggaraan’ item at Senggaraan toolbar as shown in Figure 4.28.
Figure 4.29 : Searching for Maintenance Visiting Page
After the Workshop Quality Control department user click on ‘Jadual Lawatan
Senggaraan’ item, the searching page for every maintenance visiting date for Workshop
Quality Control will be shown such as Figure 4.29. From the searching page, the
Workshop Quality Control department user can search the dates that have been set up by
the Semboyan department. When the user click on ‘Pilih’ link, the Maintenance Visiting
Report Form will be appear.
Figure 4.30 : Page One of Senggaraan Visiting Form
After the Semboyan department user click on ‘Pilih’ link, the first page of
Maintenance Visiting Form will be appear. Here, the users need to enter the basic data for
the visiting report such as date and inspection members. When finished, the user will
press the ‘Simpan’ button to store the data in the database and press the ‘Seterusnya’
(next) button to go to the second page of Maintenance Visiting Form.
Figure 4.31 : Page Two of Maintenance Visiting Form
After the Semboyan department user pressed ‘Seterusnya’ button, the second page
of Maintenance Visiting Form will be appear. Here, the users need to enter the
equipments checking for the visiting report such as equipments categories and
equipments name. When finished, the user will press the ‘Simpan’ button to store the data
in the database and press the ‘Seterusnya’ button to go to the last page of maintenance
visiting page.
Figure 4.32 : Page Three of Senggaraan Visiting Form
Again, after the Semboyan department user pressed ‘Seterusnya’ button, the third
page of Maintenance Visiting Form will be appear. In the third page of maintenance
visiting page, users need to put some comments in certain matters such as documentation
comment, management comment and overall comment. When finished, the user will
press the ‘Simpan’ button to store the data in the database.
4.3.4 Kecacatan dan Ubahsuai Sub Module
Kecacatan dan Ubahsuai or Defect and Modification Sub Module is used for
achieving all data regarding modification made to every communication equipments
repaired. The archiving is useful for the R&I department because they can use a correct
action for the certain equipment problems.
The Semboyan department is responsible to enter all equipments defect and
modification made. To enter the equipment defect and modification data, Semboyan
department need to login the system and select ‘New Kecacatan dan Ubahsuai’ item in
Senggaraan toolbar as shown by Figure 4.26.
Figure 4.33 : Defect and Maintenance Form
After the Semboyan department user click on ‘New Kecacatan dan Ubahsuai’
link, the defect and maintenance form will be appear as shown in Figure 4.33. Here, the
users need to enter the equipments data regarding to defect found and maintenance taken
for equipments involved. When finished, the user will press the ‘Simpan’ button to store
the data in the database.
Figure 4.34 : Defect and Maintenance Searching Page
The Semboyan department user also can search certain equipments defect and
maintenance. They only need to click on ‘View Kecacatan dan Ubahsuai’ link and the
defect and maintenance searching page will be appear as shown in Figure 4.34. Here, the
users need to choose the equipments name in the drop down list and press the ‘Cari’
(search) button. The list of equipments required and defect type will be listed in the
searching data grid. When the user click on ‘Pilih’ link, the equipment defect and
maintenance data will be appear for their information.
4.4
Related Documentation
In developing the SPAKE system there is numbers of document produced by the
developer. This section discussed the documentations done by the SPAKE developer that
using the Malaysian Military Standard. Need to be stated that the documents cannot be
shown due to the SPAKE confidentiality with the Ministry of Defense Malaysia.
4.4.1
Software Requirements Specification
Software Requirements Specification or SRS is a document that describes the
requirements of a computer system from the client point of view. In SPAKE project, SRS
document specifies the required behavior of a system in terms of input data, required
processing, output data, operational scenarios and the interfaces. Beside, the attributes of
a system including performance, security, maintainability, reliability, audit ability,
availability and safety requirements and design constraints also been discussed in SRS
document.
4.4.2
Software Test Description
The Software Test Description or STD describes the test preparations, test cases,
and test procedures to be used to perform qualification testing of a CSCI or a software
system. The STD enables the acquirer to assess the adequacy of the qualification testing
to be performed in each module in SPAKE system.
4.5
Constraints
In early deployment of SPAKE system, developer has found a constraint that
occurs in SPAKE system. The constraint found in SPAKE system is the system is
developed using the Windows environment. Therefore, the system only suits to Windows
base user only. If there is any requirement from other operating system platforms such as
UNIX and LINUX, the new system development is required.
4.6
Problems
A number of problems have been found when the developers developed the
SPAKE system. The problems detected during the development are:
i.
Pressure of limited time where the developer have to develop the actual
system in one month while the prototype system takes two months of
development. This is happened due to the dateline of the system is to close
to delivery phase.
ii.
Changes of requirements always been made by the client. When the
prototype of the system has been presented to the client, supposedly there
should be no more changes of requirement made by the client but in real
situation the client always changed their requirements. To resolve this
problem, the programmers have discussed to the project manager and a
requirements sign-off has been made at a critical stage of development.
iii.
An unrealistic dateline setting for every phases setting by someone outside
the software development teams also contributed to the pressure of
SPAKE system development. When this matter happened, it has caused a
difficulty in defining the software requirement and in designing the
system.
iv.
Underestimate of the amount of effort and number of resources that will
be required to do the job. Moreover, all programmers job have been
allocated to the practical trainees. This is not right, because the practical
trainees are supposed to help the IT technical resource not as developers of
the system.
v.
Less support from IT Analysts from IDIS because they are busy with
different project. The management has made the decision that the IT
Analysts in SPAKE development have to work with different project.
4.7
Recommendation
To resolve all the problems discussed, IDIS can take the actions that are
recommended as follows:
i.
Time management needs to be concerned on developing the system. IDIS
project leader need to have a clear understanding in which phases need a
long duration of time and which one does not. This is important because
the pressure of time constraint will contribute to the failure of the system
delivery.
ii.
The requirements sign-off needs to be done after the system has been
presented to the client. The developers have to be strict in this matter
because if the requirements are always changing, the programmers may be
confused in their design. The last minute sign-off is not advisable because
it will contribute to time constraint problem.
iii.
The project dateline of every phase need to be done by the project leader
and not the administration personnel. The administration personnel only
need to concentrate in their job and not to plan any dateline for every
phase involved in SPAKE development.
iv.
It is not ethical for a company to use only the practical trainees as their
programmers. Since the practical trainees are only university students and
still learning, it would be difficult for them to develop the huge system
such as SPAKE system. The project manager also needs to allocate
enough manpower in each module to ensure it can be done in allocated
time line.
v.
IT Analysts need to concentrate in one project at a time. If they can
concentrate only in SPAKE development, the system development phases
can meet the dateline allocated.
CHAPTER V
CONCLUSION
5.0
Introduction
The industrial attachment or industrial training is a way to maximize the
synergistic relationship between universities and industries. This relationship has given
lots of advantages to students and industries themselves. By placing students in the
industry, students would gain knowledge that sometime did not being taught in
universities while industries may channel their expertise to universities. As we know,
software engineers must be prepared to deal with advanced technologies and by having
the industrial attachment, students would benefits themselves in this aspect. Besides,
industrial exposure also would prepare students to accommodate themselves to work with
other disciplines and also to accept new engineering disciplines.
Every minute, the information technologies and knowledge takes on a new
dimension, to ensure the university students prepared in this fast changing environment,
industrial exposure will able changes the students mindsets to not only use the technology
provided by software but also be a creators who will develop the original local software.
In this last chapter, the author will share the lesson learn and comment in SPAKE
project.
5.2
Lesson Learnt
During the project duration, lots of software engineering experience has been
gathered in IDIS. The theory lessons learnt in universities combined with practically
works in IDIS have matured the author in term of experience in software engineering.
This experience gained is valuable for the author and may be used in his careers. The
numbers of experiences have been identified as follow:
i.
The developers must work in a team. The teamwork makes the
development better because more ideas may be gained from each member
of the team. The brainstorming from teammates may ensure that the right
decision will be taken for a certain matters. Need to remember that
sometimes the problems that we cannot solve can be handle by another
members of the team.
ii.
In order to solve big problems, developers are actually having lots of
method to solve them. They can refer to programming books, implements
try and error technique, surfing the programming web sites and join the
discussion forums via Internet to get the solutions for that problems. By
using this methods, developers may convenient themselves to get the best
solutions for the problems because the sharing expertise element provided
by Internet is helpful for software engineers.
iii.
Programmers need to manage their work properly. It is advisable to
accomplish the development phase before the dateline. This is because,
extra time may be need to used for debugging a minor error before the real
testing phases take place.
iv.
Communication between developer and client makes strong relationship
among them. Beside, the communication between programmers also
important to ensure the harmonize working environment may achieve.
v.
In this industrial attachment, lots of new technologies have been learnt.
The exposure of Microsoft Server 2000 and .NET platform is a most
valuable experience that never been taught in universities. This experience
may be useful for the author’s future careers.
vi.
Proper project management is most important things in system
development. Proper planning and risk management is discussed among
the SPAKE team members to ensure the process development successes
can be achieved and the system can be sustainable for a long time period.
5.3
Comments
The author believes that the objective for doing a project in industrial
environment and the expectation from Center of Advanced Software Engineering to
produce the quality software engineer is successful. Within five months of industrial
attachment, students have gain lots of experience in real life of software development.
The experience gain may help the students to maintain themselves when they enter the
working environment.
REFERENCES
1.
Craig, B. and Johnson, S. Microsoft Visual Studio .NET 2003. USA: Microsoft
Press. Feb 12, 2003
2.
Daniel,
T.R.P.
Object
Oriented
in
Application
Development.
The
Benjamin/Cummings Publishing Company Inc. 1995
3.
Dianne, S. Visual Basic Developer’s Guide to SQL Server. San Francisco : Sybex.
1999
4.
Edward, Y. Object Oriented System Design – An Integrated Approach. Prentice
Hall Inc. 1994
5.
Grady, B. and James, R. The Unified Modeling Language User Guide. Addison
Wesley. 1996
6.
Grady, B. Object Oriented Analysis and Design with Application. Addison
Wesley Longman Inc. 1994
7.
Hans, V.V. Software Engineering Principles and Practice 2nd Edition. John Wiley
and Sons Ltd. 1997
8.
Michael, H. Microsoft Visual Basic.NET Step by Step. Redmond Washington :
Microsoft Pres
9.
s. 2002
Turner, R. Software Engineering Methodology. Reston USA : Reston Publishing.
1984
10.
Wayne, S.F. Hands On SQL Server 7 With VB6. Singapore : Pirma Tech. 1999
11.
William, J.O. Visual Basic Application. Livermore, California : SAMS
Publishing. 1995
APPENDIX A
Position / Role
Responsibility
Project Manager
x Allocates resources for all programmer and IT
Consultant.
x Establishes a set of practices that ensure the integrity
and quality of project artifacts.
x Ensure the team’s progress is in accordance with the
planned activities.
x Ensure equal usage of resources for the project.
x Guides the project team in achieving the project’s
vision and goals.
A: Roles and Responsibility
APPENDIX A (CONT…)
Position / Role
IT Consultant
Responsibility
x Involves in meeting with clients to analyzing
problems, determine requirements, planning
timescales and the resources needed, making
recommendations and developing agreed solutions.
x Identifying configuration items and associated
documentations.
x Designing, testing, installing and monitoring new
systems.
x Preparing documentation and presenting progress
reports to customers.
x Liaising with staff at all levels of a client organization
the configuration.
x Defining software, hardware and network
requirements.
x Presenting solutions in written or verbal reports.
A: Roles and Responsibility
APPENDIX A (CONT…)
1.1.1.1. Responsibility
Position / Role
IT Analyst
x Applies the principles and techniques of computer
science, engineering and mathematical analysis to the
design, development, testing and evaluation of the
systems.
x Analyzes user’s needs and design.
x Create and modify software applications.
x Produces definitions, process flow documentation,
rules and instructions as a basis for the work of
designers and programmers.
x Uses data modeling to generate different possible
solutions as a means of finding the best one for the
client.
x Responsible for one or more design packages or
design subsystems, including any classes owned by
the packages or subsystems.
Programmer
x Support analysis, design and programming of systems.
x Keep the customer involved once the coding begins.
x Capable of managing an entire project from to finish.
x Write clean, well-engineered code that is readable,
adequately commented, robust and adheres to
standards.
x Solicit feedback on features of the site as soon as they
are available.
A: Roles and Responsibility
APPENDIX B
Download