Web Engineering Mengenal Rekayasa Web

28
Web Engineering Mengenal Rekayasa Web Husni [email protected] Husni.trunojoyo.ac.id

Transcript of Web Engineering Mengenal Rekayasa Web

Web Engineering

Mengenal Rekayasa WebHusni

[email protected]

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.