5 tahapan pengembangan program
1. Perencanaan (Planning)
Tugas utama dari
manajemen dalam tahap ini adalah untuk memperkirakan kebutuhan besarnya sumber
daya (khususnya jam kerja) yang dibutuhkan dalam pengembangan, pengadaan, dan
penerapan software. Jika, sebagai contoh, s/w di buat di rumah (in house),
manajemen harus berusaha untuk memperkirakan berapa jumlah baris kode (program)
yang di ketik atau banyaknya fungsi yang di buat.
Jika suatu software akan dikembangkan dan
diimplementasikan secara in-house, manajemen harus memanfaatkan lima teknik
perencanaan biaya yang di buat oleh Boehm (1984) sbb :
1.
Algorithmic
Models (model algoritma) : model ini akan memperkirakan jumlah sumber daya yang
dibutuhkan berdasar pada faktor biaya, sebagai contoh memperkirakan jumlah
instruksi yang harus di ketik (di tulis), bahasa pemrograman yang digunakan,
dan perubahan pada permintaan kebutuhan. Dengan menggunakan model COCOMO
(Boehm’s (1981)).
2.
Expert
Judgment (penilaian seorang ahli), seorang ahli dapat memperkirakan kebutuhan
sumber daya yang diperlukan dalam proyek / pembuatan program. Menurut
penelitian
Vicinanza et el’s (1991), seorang ahli dapat
menjadi pembuat perkiraan yang lebih baik untuk menentukan sumber daya jika
dibanding dengan model algoritma.
3. Analogy (analogi) : jika proyek software yang
sama pernah dibuat, penentuan sumber daya yang dibutuhkan dapat di dasarkan
pada pengalaman sebelumnya.
4.
Top-Down
Estimation (Perkiraan atas-bawah) : proyek di pecah kedalam beberapa tugas
(pekerjaan), dan penentuan sumber daya yang dibutuhkan oleh setiap tugas
tersebut baru dibuat.
5.
Bottom-Up
Estimation (Perkiraan bawah-atas) : jika tugas-tugas sudah di buat terlebih
dahulu, kebutuhan sumber daya untuk masing-masing dapat diperkirakan dan di
satukan / dikumpulkan untuk keperluan seluruh kebutuhan proyek.
Pengendalian (Control)
Pada tahap kontrol ini, ada dua tujuan utama
yaitu :
1. Untuk memonitor kemajuan dan beberapa tahap
pada siklus hidup s/w agar tidak bertentangan dengan rencana awal.
2. Mengontrol tugas pengembangan, pengadaan dan implementasi
s/w, agar s/w dapat di produksi secara autentik, akurat dan lengkap.
Untuk memonitor agar kontrol tidak
bertentangan dengan rencana awal, beberapa teknik dapat digunakan seperti :
a.
Work Breakdown
Structures (WBS), dengan teknik ini kita dapat mengidentifikasi tugas-tugas
yang spesifik untuk pengembangan, pengadaan, dan implementasi s/w yang
dibutuhkan. (Mc.Leod and Smith 1996).
b.
Gantt
Chart, dapat digunakan untuk membantu mengatur tugas (schedule). Teknik ini akan menunjukan kapan tugas harus dimulai dan
diselesaikan, tugas apa yang harus dibuat bersama-sama, dan tugas apa yang
harus dihasilkan secara serial.
c. Program Evaluation and review technique
(PERT), menunjukan tugas-tugas yang harus diselesaikan, bagaimana hubungannya, kebutuhan
sumber daya apa untuk setiap tugastugasnya.
Seorang auditor harus mempunyai dua perhatian
khusus pada kendali, pada tahap kontrol ini yaitu :
1. Auditor harus dapat mengevaluasi apakah fungsi
dari aktivitas kontrol dapat diterapkan juga pada software yang berbeda.
2. Seorang auditor harus dapat mengumpulkan bukti
apakah prosedur dari suatu kontrol sudah dijalankan dengan benar dan dapat
dipercaya.
2. Perancangan (Design)
Dalam tahap desain,
seorang programmer bertugas untuk menspesifikasikan struktur dan operasi dari
program untuk menemukan artikulasi yang dibutuhkan selama tahap proses
informasi sistem desain dari pengembangan sistem.
Selama tahap ini,
perhatian utama seorang auditor adalah untuk menentukan apakah programmer
menggunakan suatu tipe khusus dari pendekatan sistematik untuk desain. Auditor
harus mengubah keinginannya berdasarkan beberapa faktor seperti ukuran dan
bahan dari suatu program.
Seorang
auditor juga dapat memperoleh bukti dari proses desain dengan melakukan
interview, observasi, dan review dari dokumentasi. Mereka dapat berkomunikasi
dengan programmer, apakah mereka dapat memahami tentang kebutuhan dengan
menggunakan pendekatan yang sistematik untuk desain, jika ya, bagaimana
menggunakannya.
Auditor juga dapat mengamati apakah programmer
menggunakan pendekatan sistematik untuk mendesain program.
Mereka juga dapat meninjau dokumentasi
program, apakah memiliki struktur chart sebagai bukti programmer menggunakan
pendekatan yang sistematik untuk mendesain.
3. Pengkodean (Coding)
Tahap koding
(pengetikan / penulisan program) dilakukan pada saat s/w akan dibuat atau
dimodifikasi. Selama tahap ini, programmer akan menulis dan mendokumentasikan
source code (program sumber) dalam bahasa pemrograman untuk mengimplementasikan
desain program.
Strategi Implementasi modul dan integrasi
Tiga strategi utama dari implementasi modul
dan integrasi adalah sbb :
1.
Top-Down,
strategi ini digunakan jika, modul level atas (high-level modules) dibuat
(coding), di test, dan diintegrasikan sebelum modul level bawah (low-level
modules). Keuntungannya adalah kesalahan pada modul level atas dapat
teridentifikasi lebih dini, kerugiannya adalah pada saat uji coba program akan
menemui kesulitan ketika modul level bawah menemukan kesalahan fungsi
input-output yang sangat sulit.
2.
Bottom up,
strategi ini digunakan jika, modul level bawah di buat (coding), di test, dan
diintegrasikan sebelum modul level atas di buat. Keuntungannya adalah modul
level rendah yang merupakan operasi yang paling sulit di implementasikan dan
diuji terlebih dahulu. Kerugiannya adalah pendekatan ini sangat sulit untuk di
teliti seluruh operasinya, sebelum programnya selesai dibuat.
3.
Threads
(rangkaian / untaian), strategi ini digunakan jika, keputusan dibuat terlebih
dahulu untuk fungsi program yang akan dibuat, kemudian modul yang akan
mendukungnya baru dibuat dan kemudian diimplementasikan untuk menghasilkan
fungsi yang penting. Keuntungannya adalah fungsi yang paling penting di
implementasikan terlebih dahulu. Kerugiannya adalah integrasi dari modul yang
Auditor perlu mencari
bukti yang benar dengan cara uji coba oleh manajemen program dalam memilih
strategi implementasi modul dan integrasi. Khususnya pada program yang besar,
penggunaan strategi yang salah (jelek) dapat mengakibatkan program yang
dihasilkan menjadi kurang berkualitas.
Auditor dapat melakukan
wawancara untuk menguji apakah manajemen menggunakan pendekatan sistematik
untuk memilih strategi implementasi modul dan integrasi. Mereka juga dapat
menguji dokumentasi program untuk memperoleh bukti tipe strategi yang telah di
adopsi (di pilih).
Strategi Coding
Menurut konvensi
(kesepakatan) program terstruktur, terdapat tiga dasar struktur utama dalam
struktur kontrol yaitu (lihat gbr.5.5) :
1. Urutan sederhana (simple sequence - SEQUENCE)
2. Pemilihan dengan seleksi (selection based on a test – IF-THEN-ELSE)
dan
3. Pengulangan kondisi (conditional repetition-DO WHILE)
Jika konvensi
pemrograman terstruktur di penuhi, dapat dipastikan bahwa para programmer akan
membuat source-code yang tingkat kesalahannya kecil, mudah untuk dimengerti dan
mudah untuk dirawat.
Auditor dapat mencari
bukti untuk memastikan apakah manajemen programming di jamin di buat oleh
programmer mengikuti struktur programming yang telah di sepakati. Mereka dapat
melakukan wawancara dengan manager atau programmer tentang tugas dan cara yang
dilakukannya dalam membuat program.
Auditor
juga dapat mengecek apakah programmer dalam membuat programnya menyediakan
fasilitas otomatis sebagai alat bantu untuk mereka. Beberapa tipe penggunaan
fasilitas koding otomatis anatara lain :
·
Shorthand
preprocessor, memungkinkan programmer untuk menulis kode secara singkat,
jugadapat menerjemahkan kode singkat ini dalam sintak yang lebih lengkap,
contoh
COBOL.
·
Decision-table
preprocessor, memindahkan bentuk teks program ke dalam bentuk
source-codemenggunakan bahasa pengolahan compiler.
·
Copy facility, memungkinkan penggunaan kode
secara berulang
·
Editor, yang memungkinkan kode di ciptakan, di
format, dan dimodifikasi secara mudah.
·
User-interface
management system, memungkinkan desain dari implementasi yang cepat,seperti
windows, icons, menus, dan dialog boxes.
·
CASE tools, berisi bermacam-macam fasilitas
yang dapat membantu proses koding.
Strategi Dokumentasi
Pedoman untuk menghasilkan dokumentasi yang
berkualiatas adalah sbb :
1. Sediakan petunjuk yang menunjukan proes
pembuatan program ke dalam beberapa tahap dankomponen secara keseluruhan dan
hubungan antara komponen-komponen tersebut.
2. Gunakan baris komentar dalam program secara
bebas untuk menerangkan jalannya (logika)program.
3. Beri nama untuk variabel, konstanta tipe,
paragraf, modul, dan seksi yang berarti kepada parapembaca source-code program.
4.
Buat lay-out dari source-program sehingga
mudah untuk dibaca.
5.
Kelompokan tipe kode yang saling berhubungan.
4. Pengetesan (Testing)
Materi
diberikan pada mata kuliah lain
Tugas
Kelompok :
Buat
tulisan tentang testing (pengujian) program mencakup :
a. Static
analysis test (kel.1)
1. Desk-checking
2. Structured walk-throughs
3. Design and code inspections
1. Black-box test (kel.2)
2. White-box test (kel.3)
c. Integration Testing (kel.4)
1. Top-down test
2. Bottom-up test
3. Regression test
d.
Validation Test (kel.5)
e. Basis path test (kel.6)
f. Control structure test (kel.7)
g. System test (kel.8)
Buku
referensi yang dapat digunakan :
1. Ron Weber, “Information Systems Control and Audit”,
Prentice-Hall,USA., 1999.
2. Roger S.Pressman, Ph.D, “Software
Engineering: A. Practitioner’s approach, fifth edition”, Mc-Graw Hill,
USA,2001,
5. Pengoperasian dan Pemeliharaan (Operation and Maintenance)
Dalam
sudut pandang Sistem Audit, perhatian utama pada operasional program adalah
bagaimana performance program tersebut dapat dimonitor setiap saat. Seseorang
harus bertanggung jawab untuk mengidentifikasi apabila program perlu perawatan,
kemungkinan lain adalah identifikasi dari kebutuhan perawatan mungkin tidak
terjadi. Akibatnya, bisa terjadi kekeliruan pada database program, kegagalan
dalam pencapaian keinginan user, atau operasi program tidak efisien.
Mekanisme
formal dalam monitoring status operasional program sangat diperlukan, ketika
pengguna dari program adalah seluruh anggota organisasi yang terdiri dari
berbagai macam latar belakang.
Ada 3 macam tipe dari perawatan (maintenance)
yang diperlukan agar program tetap beroperasi:
1.
Repair-maintenance-errors, perawatan dengan
cara memperbaiki kesalahan.
2.
Adaptive maintenance-users needs, perawatan
dengan mengadaptasi pada keinginan user.
3. Perfective maintenance, perawatan dengan
maksud agar diperoleh program yang sempurna.
Perhatian utama seorang auditor pada fase operation & maintenance
adalah untuk memastikan bahwa fase ini berjalan dengan efektif dan pelaporan
secara berkala dapat dilakukan, serta proses perawatan bisa di kontrol dengan
baik.
Auditor
harus bisa mencari bukti bawa manajemen telah meninjau sistem dengan baik dan
bertanggungjawab didalam monitoring status dari operasional program. Caranya
dengan melakukan interview (wawancara), observasi, tinjauan pada dokumen yang
menunjukkan bahwa sistem telah beroperasi dengan baik. Selanjutnya mereka harus
fokus pada kualitas dari kontrol proses maintenance.
Komentar
Posting Komentar