Web Engineering
Mengenal Rekayasa Web Husni
[email protected] Husni.trunojoyo.ac.id
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
Kategori Aplikasi Web
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.