A. POROSES
PENGEMBANGAN APLIKASI WEB
Metodologi
adalah cara-cara yang digunakan oleh seseorang secara rutin dalam menyelesaikan
suatu pekerjaan. Kata metodologi banyak digunakan dalam manajemen proyek.
Karena kesuksesan proyek juga ditentukan oleh pemilihan metodologi yang akan
digunakan dalam proyek itu. Demikian juga dalam proyek pengembangan aplikasi
website kita memerlukan metodologi yang tepat agar dapat menghasilkan aplikasi
web sesuai yang diinginkan.
Berikut
adalah metodologi pengembangan web yang biasa saya gunakan:
1. Fase
requirement, pada fase ini saya mencoba mencari tahu beberapa pertanyaan
berikut:
o
apa yang dibutuhkan?
o
apa tujuan dari aplikasi ini?
o
apa yang ingin dicapai?
o
apakah ada referensi atau contoh?
o
siapa sasaran penggunaan aplikasi ini?
Setelah
memperoleh jawaban dari pertanyaan itu maka saya baru memulai fase berikutnya.
1. Fase
penentuan feature dan fungsi, pada tahapan ini berdasarkan hasil penelusuran
kebutuhan dari aplikasi maka saya menentukan feature dan fungsi apa saja yang
akan dibuat untuk memenuhi kebutuhan yang ada. Feature dibagi menjadi feature
utama atau bagian besar terlebih dahulu baru kemudian didefenisikan menjadi
bagian yang lebih kecil. Misalnya pada aplikasi CMS salah satu feature utama
adalah blog, kemudian feature blog didefenisikan seperti feature tagging,
category, comment, dsb. Pada tahapan ini yang perlu diperhatikan adalah apakah
daftar feature dan fungsi yang dibuat telah memenuhi kebutuhan yang diinginkan.
2. Fase
pengumpulan data, konten, gambar, dan file lain yang dibutuhkan dalam
pengembangan aplikasi. Berdasarkan daftar feature dan fungsi yang akan
dikembangkan maka saya akan mengumpulkan data-data dan file yang diperlukan
untuk feature dan fungsi tersebut.
3. Fase
analisa dan perancangan, pada tahapan ini saya mencoba menganalisa data yang
telah dikumpulkan pada tahapan sebelumnya dan menuangkan hasil analisa kedalam
sebuah rancangan. Misalnya berdasarkan feature yang ada maka saya merancang
tabel database yang dibutuhkan oleh tiap feature. Berdasarkan konten dan
data yang ada saya juga melakukan perancangan tampilan aplikasi. Selain
itu saya juga menyusun struktur aplikasi seperti menu, sitemap, dsb.
4. Fase
coding, pada tahapan ini saya memulai menulis kode program. Biasanya dimulai
dengan mengubah template dari file image Firework ke html. Setelah itu membuat
kerangka aplikasi seperti struktur folder dan file dan memulai pengembangan
fungsi untuk tiap feature.
5. Fase
setup and testing, pada tahapan ini saya melakukan setup di server dimana
aplikasi web nanti akan akan dijalankan. Tentu setelah melakukan testing di
komputer lokal terlebih dahulu dan memastikan bahwa semua fungsi berjalan baik.
Pada server juga akan dilakukan testing untuk memastikan aplikasi dapat berjalan
baik pada server tersebut. Pada tahapan ini juga akan dilakukan beta test
dimana beberapa orang akan mencoba menggunakan aplikasi dan memberikan komentar
atau feedback terkait dengan fungsi aplikasi.
6. Fase
launching, pada fase ini setelah dipastikan aplikasi berjalan baik pada server
maka saya akan melakukan sosialisasi baik di dunia nyata atau maya. Beberapa
diantaranya adalah melakukan posting di forum, aplikasi social network seperti
facebook, membuat posting di blog, dan sosialisasi lainnya.
Siklus Hidup Pengembangan
Pada
model spiral klasik Boehm dan metode-metode modern untuk web dan rekayasa
perangkat lunak, tahapan pengembangan harus diterapkan di dalam cara iteratif
dan tambahan, dengan berbagai tugas yang diulang dan diperbaiki sampai mendapatkan
hasil dan menemukan kebutuhan bisnis.
Pengnmbangan
aplikasi mengalami beberapa siklus penemuan masalah/perbaikan
desain/implementasi, dan setiap iterasi menghasilkan suatu prototipe atau versi
parsial dari sistem. Pada setiap versi, versi terbaru dari sistem uji dan
dievaluasi, dan kemudian diperluas dan dimodifikasi.
Keseluruhan
proses diilustrasikan pada Gambar 1. Tahapan paling atas dari analisis dan
desain sering dipengaruhi oleh pengadopsian model koseptual.
Proses Pengembangan Aplikasi Web
Garis
besar dari proses pengembangan web adalah banyaknya langkah-langkah dan
aktivitas dari pengembangan sistem berbasis web. Proses ini dengan jelas
menggambarkan sekumpulan langkah-langkah yang dapat diiikuti oleh pengembangan
dan harus bisa dijejaki dan diukur.
Pengembangan
karakteristik aplikasi web biasanya sangat sulit dan memiliki tantangan yang
unik. Tantangan dalam pengembangan tersebut meliputi interaksi waktu nyata,
kompleksitas, kemampuan berubah, dan keinginan untuk menyediakan informasi
personal. Sebagai tambahan, usaha dan waktu sangat diperlukan untuk
mendesain dan mengembangkan aplikasi web. Meskipun begitu, keduanya biasanya
sangat sulit untuk diestimasikan.
Dalam
membangun aplikasi web, Ginige dan Murugenesan (2001) merekomendasikan suatu
proses evolusioner untuk pengembangan web, seperti yang ditunjukkan pada Gambar
2. Proses ini membantu pengembang dalam pemahaman konteks, dengan aplikasi yang
akan digunakan dan penyebarannya; membantu menangkap kebutuhan; kemungkinkan
pengintegrasian pengetahuan praktis dari disiplin yang berbeda; memudahkan
komunikasi antar berbagai anggota yang terlibat dalam proses pengembang;
mendukung pemeliharaan dan evolusi berlanjut; memudahkan manajemen untuk bisa
lebih mudah mengisi informasi; dan menbantu dalam kesuksesan mengatur berbagai
kompleksitas dan perbedaan dari proses.
Masukan
yang paling penting adalah sekumpulan kebutuhan bisnis untuk pengembangan
aplikasi. Kebanyakan kebutuhan ini berupa kebutuhan nonteknis yang menyatakan
tujuan jangka panjang dari pengembangan aplikasi dengan mengemukakan nilai
bahwa aplikasi tertentu diharapkan dapat menghasilakan sesuatu bagi pengguna
dan organisasi pengembangnya. Kebutuhan bisnis juga mengidentifikasi para aktor
bisnis yang mengambil keuntungan dari aplikasi, batasan-batasan antara aplikasi
dan sistem sebelumnya, dan faktor kualitas, seperti kualitas konten, layanan
antar muka, waktu tanggap, ketersediaan, keamanan, privasi, dan lain-lain. Gambar
3. Menunjukkan dasar-dasar masukan dan keluaran dari proses pengembangan
aplikasi web.
Masukan
yang kedua adalah sekumpulan batasan lingkungan yang mempengaruhi konstruksi
aplikasi tersebut. Batasan-batasan yang dimaksud adalah pembatasan yang
dikenakan oleh kondisi-kondisi dunia nyata untuk mencapai tujuan aplikasi
seperti batasan yang meliputi pembatasan arsitektur, kecocokan dengan aplikasi
dan sistem yang berjalan, ketersediaan keahlian teknis, dan pembatasan waktu
dan sumber daya.
Keluaran
dari prose pengembangan adalah sistem yang diimplementasikan yang terdiri dari
penyebaran arsitektur, modul-modul aplikasi yang terpasang pada arsitektur, dan
dokumentasi sistem. Berikut adalah uraian mengenai keluaran dari proses
pengembangan.
1. Penyebaran
arsitektur adalah perangkat keras, perangkat lunak, dan infrastruktur jaringan
yang memastikan kebutuhan tingkat layanan dan respek berasal dari
batasan-batasan teknik proyek.
2. Modul-modul
aplikasi adalah potongan-potongan perangkat lunak yang dikembangkan dan
mencakup penyimpanan data, template halaman dinamis, dan komponen bisnis.
3. Dokumentasi
sistem adalah sekumpulan produk nonperangkat lunak yang dikembangkan selama
siklus hidup aplikasi yang menetapkan aneka pilihan desain yang penting di
dalam pengembangan aplikasi. Potongan dari dokumentasi yang dihasilkan adalah
spesifikasi kebutuhan dan spesifikasi desain.
Karakteristik Pengembangan Web
·
Application-related characteristics
–
Content
–
Hypertext
–
Presentations
·
Usage-related characteristics
–
Natural Context
–
Unpredictable technical infrastructure
–
Diversity and magnitude of user base
·
Development-related characteristics
–
Development Team
–
Development Environment
–
Legacy Integration
–
Process
·
Evolution-related characteristics
Comments
Post a Comment