Web
Engineering
Web Engineering (rekayasa web) merupakan sebuah sub-disiplin ilmu dari software engineering (rekayasa perangkat lunak) yang menggunakan pendekatan sains, sistematis, rekayasa, disiplin dan terukur untuk pengembangan, operasi dan pemeliharaan aplikasi berbasis web.
Web Engineering adalah bidang keilmuan yang multidisipliner dengan masukan dari ilmu-ilmu berikut:
- Human-Computer Interaction
- User Interface
- System Analysis and Design
- Software Engineering
- Requirement Engineering
- Hypermedia Engineering
- Information Structures
- Testing
- Modelling and Simulation
- Project Management
Teknik-teknik mendapatkan informasi akan kebutuhan pelanggan dalam membangun sebuah web :
1. Wawancara
Tujuan: Mendapatkan informasi tentang objektivitas dari aplikasi yang akan/sedang dikembangkan
Terdapat 4 langkah:
a. Identifikasi stakeholder
b. Persiapan wawancara (semua pertanyaan harus berorientasi tujuan)
c. Wawancara (perhatikan waktu dan tempat)
d. Dokumentasi wawancara
2. Brainstorming
a. Teknik ini meliputi pengumpulan informasi dan ide-ide dari semua stakeholder.
b. Jumlah partisipan dalam setiap pertemuan brainstorming sebaiknya tidak lebih dari 10 orang (best practice)
c. Harus ada 1-2 orang tambahan sebagai moderator, yang bertugas untuk menjaga diskusi tetap berorientasi pada tujuan pertemuan
d. Informasi yang muncul sebagai hasil akhir teknik ini biasanya belum detil. Jika ini terjadi maka perlu dilakukan wawancara pada setiap partisipan
3. Mapping
a. Sebuah konsep pembuatan/pembangunan peta-peta yang mengikuti jalan pikiran pembuatnya
b. Lebih efektif jika peta-peta tersebut dibuat menggunakan software mapping, agar lebih efektif jika ada orang lain yang ingin menambahkan node lain
c. Kelemahannya adalah sering terjadi istilah yang ambigu maupun pengertian proses yang rancu, jika tidak disertai dengan glossary atau deskripsi lanjutan
4. Storyboarding / Mockup Object
a. Teknik ini meliputi penyajian skematis (biasanya pada kertas) dari berbagai user interfaces yang berbeda (sketsa/draft)
b. Sketsa-sketsa yang ada harus dikelompokkan berdasarkan status tertentu: disetujui/fix, need revision, rejected, dll
c. Lebih banyak digunakan oleh, namun tidak terbatas pada praktisi multimedia (web designer)
d. Pengumpulan kebutuhan dengan cara ini biasanya dikombinasikan dengan salah satu Agile Method, yaitu: Scrum
5. Use Case Modelling
Suatu model use case terdiri dari:
1) Actor : elemen eksternal sistem (pengguna atau sistem lain)
2) Description : alur proses dan keterangannya
3) Hubungan diantaranya : include? extend?
Keuntungannya adalah bahwa teknik ini tidak hanya dipahami oleh pengembang namun juga oleh stakeholder yang kebanyakan dari mereka adalah orang-orang non-IT
Jika use case diagram dirasa kurang lengkap, pengembang bisa menambahkan diagram-diagram UML lain yang sesuai
6. Checklist (Kuisioner)
a. Teknik pengumpulan kebutuhan yang terdiri dari persiapan dokumen degnan pertanyaan yang memiliki jawaban singkat dan konkret, atau bahkan dengan sejumlah pilihan terbatas (checklist).
b. Kelebihannya adalah pengembang aplikasi dapat dengan cepat mengetahui kebutuhan stakeholder dan aplikasi yang akan dibuat.
c. Kelemahannya adalah pengembang haruslah orang-orang yang sudah berpengalaman/ahli dalam proses bisnis/domain masalah yang bersangkutan.
Website
Lifecycle
1. Planning
a. Audience Needs
b. Technical
c. Design
d. Content
e. Promotion
f. Marketing
2. Building
a. Document
b. Content Preparation
c. Project Manage
3. Sustaining
a. Day-to-day managing
b. Content
c. Technical
d. Promotion
e. Marketing
4. Improving
a. Website test
b. Review
c. Innovation
Advanced
Web
Programming
Dalam Advanced Web Programming, programmer menggunakan teknik MVC yang merupakan sebuah teknik pemrograman yang bertujuan untuk memisahkan unsur “Database Manipulation”, unsur “Presentation”, dan unsur “Business Logic” dari sebuah aplikasi berbasis web.
“M” atau “Model” dalam MVC berperan sebagai pelaku interaksi dengan sistem database (database manipulation).
“V” atau “View” dalam MVC bertugas untuk mengatur semua hal yang berhubungan dengan tampilan (presentation).
“C” atau “Controller” dalam MVC bertugas untuk mengatur semua hal yang berhubungan dengan business logic maupun interaksi dari user (business logic).
Teknik ini akan terasa bermanfaat saat digabungkan dengan desain sistem bergaya DDD (Domain-Driven Development) dan menggunakan pemrograman bergaya OOP.






Tidak ada komentar:
Posting Komentar