Anda di halaman 1dari 7

Rekayasa Software

www.develop-course.co.cc
Formulasi dan Perencanaan Aplikasi Web

Formulasi dalam membuat sebuah aplikasi web adalah sebuah urutan proses web engineering
yg dimulai dengan mengidentifikasi keperluan bisnis dilanjutkan dengan mendeskripsikan
objektif2 dari aplikasi web yg akan dibuat, menentukan fitur2 dan fungsi2 utama aplikasi web
dan menghimpun keperluan2 (requirement gathering) utk pembuatan sebuah model analisa.
Pada saat perumusan formulasi, stakeholder dan tim pengembang aplikasi web menyatukan
tujuan dan objektif dari pembuatan aplikasi web itu sendiri.

Hal2 yang perlu di perhatikan dalam merumuskan formulasi sebuah aplikasi web antara lain:
• Apa motivasi utama (dari segi bisnis) dari pembuatan WebApp?
• Objektif apa saja yang harus dipenuhi oleh WebApp?

• Siapa yang akan menggunakan WebApp ini ?

Untuk menjawab pertanyaan diatas, kita lihat sebuah contoh sebuah perusahaan SafeHome yg
bergerak di bidang pengaman rumah dan usaha kecil. SafeHome menawarkan berbagai
macam alat2 pengamanan rumah dari mulai alarm, sensor hingga control panel. Untuk
jawaban pertama diatas adalah aplikasi web yg akan dibuat adalah menyediakan akses bagi
pelanggan untuk dapat mengkonfigurasi dan membeli alat2 yang diperlukan untuk menginstal
sistem pengamanan rumah. Jawaban kedua adalah objektif2 yang harus dipenuhi oleh aplikasi
web yang akan dibuat diantaranya: 1) memungkinkan pelanggan membeli alat2 SafeHome
langsung sehingga mengurangi rantai distribusi dan dan menambah marjin keuntungan, 2)
diperkirakan akan meningkatkan penjualan hingga 25% dan 3) melebarkan sayap bisnis ke
tempat2 yang belum terdapat outlet SafeHome. Jawaban terakhir adalah pengguna aplikasi
web ini meupakan pemilik2 rumah dan juga pemilik usaha kecil.

Dari jawaban2 yang didapat diatas maka dapat disimpulkan bahwa sebuah aplikasi web akan
merumuskan tujuan (goals) sbb:
• Informational goals : mengidentifikasi secara spesifik isi dari konten dan informasi
utk end-user
• Applicative goals : mengidentifikasi kemampuan untuk melakukan fungsi2 dalam
WebApp

Langkah selanjutnya yang dilakukan setelah tujuan (goals) dan profil pengguna sudah di
tentukan adalah melakukan penghimpunan keperluan2 (requirement gathering) untuk
pembuatan aplikasi web.

Tujuan utama dari menghimpun keperluan2 dari sebuah aplikasi web adalah:

• Mengidentifikasi keperluan dari segi konten

• Mengidentifikasi keperluan fungsional

• Menjelaskan skenario dalam hal berinteraksi utk user dengan kelas/tipe yg berbeda

Langkah2 yang mesti dilakukan dalam rangka memenuhi tujuan2 diatas antara lain:

• Membuat kategori user

User di kategorikan berdasarkan tujuan utama user menggunakan aplikasi web, latar belakang
dan kemampuan user menggunakan sebuah aplikasi web, akses user ke dalam aplikasi dan
kesukaan/ketidaksukaan user terhadap fungsi2 atau fitur2 dalam aplikasi web. Dalam sebuah
e-commerce, ada berbagai macam user yang dapat dibedakan berdasarkan tujuan antara lain:
user yang tertarik mencari informasi (browsing), user yang ingin membandingkan harga dengan
produk lain dan user yang memang ingin membeli produk yang dijual dalam aplikasi web tsb.
Dari segi latar belakang, user dibedakan berdasarkan kemampuan user secara teknis. Apabila
user memiliki kemampuan teknis yang tinggi maka menampilkan konten dan fungsi2 yang dasar
tidak akan menarik bagi user ini.

• Melakukan komunikasi dengan stakeholder dan end-user

Pada prinsipnya mengumpulkan informasi dari banyak pihak akan membuat penghimpunan
keperluan2 dalam membuat aplikasi web lebih jelas dan terperinci. Hal ini juga sangat berguna
untuk melakukan formulasi dan analisa.

Cara berkomunikasi dapat dilakukan dalam beberapa hal, antara lain:

• Bertemu secara langsung dalam sebuah grup --- merupakan langkah awal guna
membahas pengembangan aplikasi web dari sudrut pandang stakeholder

• Pertemuan tidak langsung (electronic discussion) – pertemuan lanjutan untuk


mengetahui progres dari perkembangan pembuatan aplikasi web

• Survey yang berkelanjutan -- dillakukan secara bertahap kepada representasi user utk
mendapatkan jawaban2 dari persoalan2 yg ada pada aplikasi web

• Eksploratif survey – melakukan web-based survey terhadap aplikasi web yang hampir
sama dengan aplikasi yang akan dibuat yg ditujukan kepada user. Biasanya diberikan
dalam bentuk pertanyaan2 dan diberi hadiah/imbalan setelah user bersedia melakukan
survey.

• Melakukan skenario untuk user -- User diminta untuk membuat sebuah skenario
mengenai interaksi antar user dan aplikasi web.

• Melakukan analisa terhadap informasi yg didapat :

Analisa dilakukan pada dua hal yang mendasar, yakni: kelas user dan tipe transaksi.
Tujuannya adalah untuk mendapatkan objek2 yang berada di dalam aplikasi, kegiatan2 yang
diaplikasikan terhadap objek2 dalam transaksi user, fungsi2 yg disediakan aplikasi web untuk
user dan kegiatan2 non-fungsional yang tercatat pada saat penghimpunan data/keperluan2.

• Membuat Use Case

Sebuah diagram use case dapat memberikan penjelasan bagaimana seorang user (aktor)
berinteraksi dengan aplikasi web untuk melakukan kegiatan tertentu. Kegiatan yang dilakukan
dapat berupa kegiatan yg mudah seperti mengambil konten yg terdefinisi hingga kegiatan
kompleks seperti melakukan navigasi untuk user untuk mendapatkan data tertentu dalam
sebuah database online.

Tujuan dari use case antara lain untuk: membantu developer untuk mengerti pemahaman user
dalam berinteraksi dengan sistem, menyediakan ditel penting untuk membuat model analisa
yang efektif , membantu memilah2 tugas Web engineering dan menyediakan petunjuk bagi
mereka yang melakukan pengujian pada aplikasi web.
Contoh use case # 1:

Gambar 1. Customer (aktor) berinteraksi dengan sistem dalam


kegiatan transaksi online 2

Contoh use case # 2:

Gambar 2. Student (aktor) berinteraksi dengan sistem dalam


kegiatan mendaftar di sebuah universitas

2
http://www.agilemodeling.com/artifacts/useCaseDiagram.htm

Setelah formulasi dan penghimpunan keperluan2 sudah dilakukan maka langkah selanjutnya
adalah melakukan model analisa. Analisa2 dilakukan dengan menggunakan use case dan
notasi UML lainnya.

Perencanaan / Planning

Perencanaan tidak hanya dilakukan untuk membuat sebuah proyek besar namun berlaku untuk
proyek dalam skala apapun. Sekalian melakukan perencanaan, faktor resiko, penjadwalan dan
pengawasan pengawasan dalam pelaksanaan juga harus diperhatikan dalam membuat sebuah
aplikasi web.

Prinsip dasar dalam melakukan perencanaan dalam Rekayasa Perancangan Lunak meliputi:
• Mengerti skala proyek
• Melibatkan customer dalam aktifitas perencanaan
• Melakukan perencanaan adalah hal yg berulang – tidak bisa melakukan
perencanaan tanpa ada perubahan2 atau pembetulan
• Estimasi berdasarkan pengetahuan Anda
• Perhatikan resiko2 dalam membuat perencanaan
• Realistis
• Mengubah-ubah detail dalam perencanaan
• Menjelaskan bagaimana caranya memastikan kualitas yg baik
• Menjelaskan bagaimana mengakomodir perubahan
• Menelusuri perencanaan dan buat perubahan2 yg diperlukan

Web Engineering Team


Dalam melakukan pembuatan sebuah Aplikasi Web diperlukan berbagai macam orang dengan
keahlian dan latar belakang yang berbeda untuk bergabung dalam suatu tim / team.

TEAM = Together Everyone Achieves More !!!!

Siapa saja yang yang dapat di kategorikan sebagai anggota tim dalam pembuatan aplikasi web:

• Content Developer/Providers
Bertanggung jawab pengumpulan konten atau data yang akan digunakan dalam aplikasi
web. Bagian ini bisa diisi oleh orang yg tidak memiliki latar belakang software.
• Web Publisher
Setelah seorang content developer memberikan konten yang beragam ke dalam aplikasi
maka seorang web publisher akan mengatur konten2 tersebuat agar menyatu atau
sinkron dengan aplikasi tersebut. Seorang web publisher juga sering bertindak sebagai
“middle-man” antara web engineer dan content developer.
• Web Engineer
Terlibat dalam berbagai macam aktifitas mulai dari pengembangan awal termasuk
pengumpulan keperluan2 utk aplikasi, analisa, desain, implementasi hingga pengujian.
Web engineer juga harus menguasai arsitektur client/server, teknologi web (HTML,
XML) juga database teknologi dan memiliki pemahaman yang baik tentang konsep
multimedia dan networking.
• Business domain experts
Seseorang yang dapat memberi solusi mengenai tujuan dan objektif bisnis serta
keperluan2 yg berhubungan dengan aplikasi web yang akan dibuat.
• Support Specialist
Bertanggung jawab dalam kelanjutan support sebuah aplikasi web. Ini dikarenakan
perkembangan aplikasi web dari waktu ke waktu sehingag support specialist dapat
mengadaptasi perubahan2 atau perkembangan2 yang terjadi.
• Administrator (a.k.a. “Web Master”)
Bertanggung jawab dalam kegiatan sehari2 sebuah aplikasi web termasuk didalamnya:
pembuatan kebijakan2 operasional dari aplikasi web, pembuatan prosedur support dan
feedback, keamanan akses, trafik web site , kordinasi perubahan prosedur pengawasan
dan juga melakukan kordinasi dengan support specialist. Administrator juga dapat
terlibat dalam kegiatan teknis yg dilakukan oleh web engineer dan support specialist.

Manajemen Proyek
Dalam membuat proyek atau membuat sebuah aplikasi web, dapat dilakukan dengan 2
cara, yaitu: outsource (dilakuakan oleh pihak ketiga) atau in-house development
(dilakukan oleh tim internal). Satu opsi yang dapat dilakukan adalah menggabungkan
keduanya outsource dan in-house.

Gambar 3. Perbedaan organisasi in-house development dan outsourcing

Pada gambar diatas terlihat bahwa pada pengembangan sebuah aplikasi secara in-house,
sebuah tim dapat berkomunikasi secara langsung (direpsentasikan dengan garis putus)
sedangkan untuk pembuatan oleh pihak ketiga (outsource) komunikasi antara tim (content
developers, stakeholder, web engineer dll) dengan pihak ketiga harus dijembatani oleh seorang
dari perusahaan yang ingin membuat aplikasi tersebut.
Out source
Garis besar yang harus diperhatikan apabila sebuah organisasi/perusahaan ingin melibatkan
pihak ketiga dalam pembutan aplikasi web, yaitu:
• Membuat bagian awal dari aplikasi yang mencakup:
• Mengumpulkan requirements
• Membuat “rough design”
• Membuat “rough schedule” dengan tanggal selesai
• Membuat daftar pertanggung jawaban (internal dan outsource)
• Jelaskan fungsi dan tanggung jawab penghubung “liaison”
• Memilih kandidat pihak ketiga untuk outsource
• Apakah harga yang ditawarkan valid dan bisa diandalkan sebagai estimasi
• Apakah penawaran harga memiliki pengembalian investasi scr langsung/tdk
langsung?
• Apakah pihak ketiga menawarkan harga berdasarkan profesionalitas dan
pengalaman?
• Mengerti tingkat kerumitan dari manajemen proyek yang akan dibuat
• Dapat mengakses jadwal pengembangan
• Mengatur ruang lingkup kerja

In-house development
Langkah2 yang harus diambil sebuah tim dalam membuat aplikasi web adalah:
• Mengerti skala, dimensi perubahan dan batasan proyek
• Membuat strategi utk mengatasi peningkatan proyek
• Melakukan analisa resiko
• Membangun estimasi dengan cepat
• Memilih kumpulan tugas (proses deskripsi)
• Merumuskan jadwal
• Membuat mekanisme pengukuran proyek
• Membuat pendekatan manajemen perubahan

~||~

Anda mungkin juga menyukai