Web Engineering 2010 Pertemuan ke-01 Pengantar Rekayasa Web Husni Husni.trunojoyo.ac.id Komputasi.wordpress.com
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 2
Aplikasi Web • 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. 3
Aplikasi Web: 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. 4
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) 5
Masalah Utama Proyek Aplikasi Web • Gagal memenuhi kebutuhan bisnis • Molornya jadwal proyek • Kebanyakan anggaran yang habis • Kurangnya fungsionalitas • Kualitas produk yang buruk 6
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. 7
Istilas terkait • Web site engineering • Hypermedia engineering • Document engineering • Content engineering • Internet software engineering 8
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 9
Kategori Aplikasi Web 10
Karakteristik Aplikasi Web • Terkait produk (product) • Terakit pemanfaatan (usage) • Terkait pengembangan (development) 11
12
Karakteristik Terkait Produk • Merupakan blok utama dari aplikasi web • Terdiri dari content, struktur hypertextual (struktur navigasi) dan presentasi (user interface) • Setipa bagian bukan aspek statis tetapi berperilaku dan dinamis 13
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. 14
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. 15
Masalah pada Hypertext • Tidak linier • Dis-orientasi dan cognitive overload • Tugas: jelaskan pengertian 2 masalah di atas! 16
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. 17
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 18
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. 19
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. 20
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 21
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. 22
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. 23
Tim Pengembangan • 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. 24
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. 25
Proses Pengembangan • Framework bagi semua karakteristik terkait pengembangan • Flexibility. Sesuai dengan kondisi • Parallelism. Pengembang dibagi kedalam beberapa kelompok 26
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. 27
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. 28
Rangkuman 29
Pertanyaan? 30