Proses Pengembangan Aplikasi WEB

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.
https://lizana89.files.wordpress.com/2010/12/11.jpg?w=477&h=357
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.
https://lizana89.files.wordpress.com/2010/12/t21.jpg?w=477&h=238
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.
https://lizana89.files.wordpress.com/2010/12/t31.jpg?w=477&h=371
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