web engineering mengenal rekayasa web
TRANSCRIPT
Aplikasi Web
• Aplikasi web modern merupakan sistem yang kompleks
• Perlu pendekatan engineering secara metodologi
• Web Eng. Terdiri dari pemanfaatan pendekatan sistematis dan terukur dalam rangka menyelesaikan spesifikasi, implementasi, operasi, dan perawatan aplikasi web berkualitas tinggi
• Aplikasi web dapat memiliki dokumen terpusat, interaktif, transaksional atau ada dimana-mana (ubiquitous) atau fitur-fitur dari semantic web.
• Requirement dari Web Eng. merupakan karakter khusus aplikasi web dalam area produk software sendiri, pengembangannya dan pemanfaatannya.
• Evolusi adalah karakteristik yang meliputi ketiga area di atas.
Motivasi
• WWW sangat mempengaruhi hidup kita (Ekonomi, Industri, Pendidikan, Kesehatan, Layanan publik, Hiburan, dll)
• Web bergerak dari media informasi menjadi media aplikasi.
• Aplikasi web kini adalah sistem software kompleks. Menyediakan layanan interaktif, data intensive, customizable. Dapat diakses dari perangkat berbeda.
Aplikasi Web
• Sistem software yang berbasis pada teknologi dan standard Konsorsium WWW (W3C) yang menyediakan sumber daya khusus web seperti content dan layanan melalui suatu user interface, web browser.
• Melibatkan teknologi dan Interaksi pengguna• Web tanpa komponen software, bukan
aplikasi web (misal: HTML Statis)
Masalah Utama Proyek Aplikasi Web
• Gagal memenuhi kebutuhan bisnis• Molornya jadwal proyek• Kebanyakan anggaran yang habis• Kurangnya fungsionalitas• Kualitas produk yang buruk
Web Engineering
• Cabang independen dari software engineering• Terapan dari pendekatan (konsep, metode,
teknik, tool) yang sistematis dan terukur untuk mengefektifkan analisis kebutuhan, perancangan, implementasi, pengujian, operasi dan perawatan aplikasi berkualitas tinggi
• Bidang ilmiah yang fokus dengan kajian mengenai pendekatan di atas.
Istilas terkait
• Web site engineering• Hypermedia engineering• Document engineering• Content engineering• Internet software engineering
Prinsip Dasar Web Eng. & Software Eng.
• Tujuan dan Kebutuhan didefinisikan dengan jelas
• Pengembangan sistematis dari aplikasi web dalam tahapan-tahapan
• Perencanaan tahapan-tahapan ini dengan teliti
• Audit terus menerus terhadap proses pengembangan lengkap
Karakteristik Aplikasi Web
• Terkait produk (product)• Terakit pemanfaatan (usage)• Terkait pengembangan (development)
Karakteristik Terkait Produk
• Merupakan blok utama dari aplikasi web• Terdiri dari content, struktur hypertextual
(struktur navigasi) dan presentasi (user interface)
• Setiap bagian bukan aspek statis tetapi berperilaku dan dinamis
Content
• Membuat,menyediakan, mengintegrasikan dan mengupdate content adalah sangat penting. Sama dengan mengembangkan & mensetup aplikasi web.
• Web developer bertindak sebagai author• Karakter Document-centric & multimediality• Tuntutan kualitas. Content harus update,
exact, konsisten dan reliable.
Hypertext
• Elemen dasar dari model hypertext adalah node, link dan anchor
• Node: unit informasi yang dapat diidentifikasi secara unik. Dapat diwakili oleh dokumen HTML yang dapat dicapai melalui suatu URL
• Link: path (jalan) dari satu node ke node lain.• Anchor: area di dalam content dari suatu node
yang menjadi asal atau tujuan dari suatu link. Hanya dalam dokumen HTML.
Masalah pada Hypertext
• Tidak linier• Dis-orientasi dan cognitive overload
• Tugas: jelaskan pengertian 2 masalah di atas!
Presentasi• Fitur khusus pada level ini adalah aesthetics
dan self-explanation• Estetika: “look and feel” dari user interface
merupakan faktor penting. Tren dan menentukan sukses atau gagal.
• Self-explanation: dapat digunakan tanpa manual (dokumentasi), langsung start. Sistem navigasi & perilaku interaksi harus konsisten dalam setiap tampilan aplikasi. Pengguna dapat cepat familiar.
Karakteristik Terkait Pemanfaatan
• Pemanfaatan aplikasi web sangat heterogen• Jumlah dan latar belakang budaya,
karakteristik hardware & software pada perangkat akses, waktu dan lokasi tak dapat diprediksi
• Developer tak dapat memaksa pengguna berbeda mengikuti jalan tertentu.
• Karakteristik dibagi 3: social context, technical context, dan natural context
Social Context: Pengguna
• Aspek khusus pengguna yang mengakibatkan derajat heterogen yang tinggi.
• Spontanitas (spontaneity). Pengguna boleh datang dan pergi kapan pun. Pengguna memilih yang menguntungkan. Kurang puas, ganti. Bingung? Tanya search engine.
• Multiculturality. Banyak kelompok pengguna, anonymous. Beragam kemampuan, pengetahuan, dan ketertarikan.
Technical Context: Jaringan & Perangkat
• Properti terkait koneksi jaringan (QoS) dan hardware & software dari perangkat yang digunakan untuk mengakses aplikasi web, multi-platform delivery
• Quality of Service (QoS).
Aplikasi web berbasis client/server. Karakteristik media transmisi: bandwitdh, reliability, stabilitas koneksi harus dipertimbangkan.
Technical Context: Jaringan & Perangkat
• Multi-platform delivery. • Layanan untuk banyak jenis perangkat. Mobile
punya spec. Beda (ukuran monitor, kapasitas memory, software)
• Ada banyak web browser, beda fungsi dan keterbatasan
• Software & hardware tak sesuai standard• Pengguna mengubah konfigurasi browser
Natural Context: Lokasi & Waktu
• Terkait dengan lokasi dan waktu akses. • Globality.
Aplikasi web dapat diakses dari mana pun, tak terbatas negara dan benua. Ada masalah jaringan, keamanan, dan testing.
• Availability.
Mekanisme cepat saji. Harus aman. 24/7. Stabilitas. Perhitungan waktu.
Karakteristik Terkait Development
• Pengembangan aplikasi web dicirikan dengan resource yang dibutuhkan seperti tim pengembangan, infrastruktur teknis, proses pengembangan itu sendiri dan integrasi yang diperlukan dari solusi yang telah hadir.
Development Team
• Multi disiplin. Pengembangan web memerlukan pendekatan multi bidang.
• Usia rata-rata muda. Banyak belum berpengalaman. Inovatif & Kreatif. Tertarik teknologi dan tool baru. Semangat ngoprek.
• Community Development.
Open source melibatkan komunitas, lintas negara, bebas. Tergantung Internet.
Infrastruktur Teknis
• Inhomogeneity.
Pengembangan aplikasi web tergantung pada komponen eksternal: Server & Browser. Server dapat dikonfigurasi oleh programmer, browser tidak. Beda browser, beda versi, plug in.
• Immaturity.
Karena meningkatnya tekanan time-to-market. Ada bug & kurang fungsi.
Proses Pengembangan
• Framework bagi semua karakteristik terkait pengembangan
• Flexibility.
Sesuai dengan kondisi• Parallelism.
Pengembang dibagi kedalam beberapa kelompok
Integrasi
• Mencakup aspek teknis dan content.• Integrasi Internal.
Melibatkan aplikasi atau content internal• Integrasi Eksternal.
Melibatkan sumber daya eksternal, termasuk jalur komunikasi, database dan perijinan.
Evolusi• Mempengaruhi semua dimensi: produk,
pemanfaatan dan pengembangan• Continuous change. Aplikasi berubah cepat.
Harus adaptasi terhadap requirement dan kondisi = ciri aplikasi web.
• Competitive pressure. Time-to-market pressure. Memaksa siklus hidup produk menjadi lebih pendek, siklus pengembangan juga pendek.
• Fast pace. Harus sering update. Cepat atau tidak layak, tidak relevan dengan jaman.