Sebuah fungsi WebApp dapat menjadi sesuatu yang sederhana seperti menerapkan menu pull-
down atau serumit melakukan perhitungan canggih diperlukan untuk mendukung alur kerja
bisnis. Untuk menggambarkan spektrum kompleksitas fungsional, pertimbangkan beberapa
contoh:
Contoh 1: Client-side dukungan interaksi. Webapps sering menggabungkan fungsi client-side
ditujukan untuk memberikan dukungan untuk navigasi pengguna dan akses informasi (lihat
Gambar 11.1a). Contoh yang paling umum ini adalah menu drop-down, rollovers, dan
preloading gambar.
Contoh 2: Client-side manajemen informasi. Webapps kadang-kadang menerapkan kompleks
sisi klien manipulasi informasi (lihat Gambar 11.1b). Contohnya termasuk antarmuka berbasis
browser untuk aplikasi fungsional yang mendasari, dan aplikasi yang melibatkan manipulasi
informasi yang kompleks, termasuk preloading data dan aplikasi Ajax.
Contoh 3: Server-side konten penanganan. Webapps dapat menggabungkan fungsi server-side
untuk mengelola konten dinamis dan cepat berubah (lihat Gambar 11.1C). Contoh di sini akan
menjadi forum diskusi, wiki, dan situs menyajikan konten dari acara live (misalnya, situs berita,
situs olahraga). Contoh 4: manajemen Server-side set data yang besar. Webapps dapat
menggunakan fungsi server-side untuk mengelola besar set data yang kompleks (lihat Gambar
11.1d). Contohnya termasuk katalog produk, repositori dokumen, perpustakaan, dan daftar
personil.
Contoh 5: Proses dan / atau dukungan ow workfl. Webapps sering menerapkan proses
komputasi atau transformasional tertentu yang mendukung entri prosedural data, manajemen
transaksi, atau mengalir bisnis workfl (lihat Gambar 11.1e). Contohnya termasuk belanja
online, proses pendaftaran, dan survei online.
Apakah Ini Selalu Kemungkinan untuk Bedakan Antara Informasi dan Fungsi?
Seringkali, batas antara informasi dan domain fungsional kabur. Pertimbangkan arsitektur
WebApp informasi yang sudah termasuk remah roti (Bab 10) dalam desain dalam rangka
memberikan dukungan bagi pengguna untuk mempertahankan orientasi mereka dalam ruang
informasi. Desainer fungsional mungkin memutuskan untuk menerapkan karakteristik tertentu
dari arsitektur informasi dengan menambahkan beberapa kode ke server Web yang secara
otomatis menghasilkan dan menambahkan remah roti untuk setiap halaman yang disampaikan.
Dalam hal ini desain fungsional sedang didorong oleh kebutuhan tertentu dalam desain
informasi.
TABLE KATEGORI FUNGSI 11.1 webapp
Kelompok 1: User-Level (eksternal) Fungsi. Kategori ini meliputi fungsi yang secara langsung
mempengaruhi pengalaman pengguna dari WebApp dan biasanya langsung dipahami oleh
mereka.
Kategori 1A: User Interaksi Dukungan. Kategori ini fungsi meliputi apa saja yang
mempengaruhi cara di mana pengguna mungkin langsung berinteraksi dengan WebApp dan
mencakup berikut: dinamis mengadaptasi mekanisme akses (misalnya, menyoroti link ketika
mouse diposisikan di atasnya), memfasilitasi akses ke mekanisme navigasi (misalnya, menu
drop-down), adaptasi (online atau off-line, pribadi atau global) dari struktur navigasi dan
pilihan yang tersedia, dan menyediakan pilihan navigasi global (misalnya, menu utama situs)
dan dukungan lokasi (misalnya, remah roti) .
SafeHomeAssured.com contoh: Seperti yang ditunjukkan pada Gambar 9.4, pengguna
menerapkan satu set alat untuk menggambar tata letak ruang fl lantai. Kenaikan khusus ini akan
memerlukan dukungan gambar yang sangat canggih, seperti kemampuan untuk drag dan drop
item dari toolbox menggambar.
Kategori 1B: Informasi Dukungan Pengguna. Kategori ini mencakup setiap fungsi yang
mempengaruhi sifat informasi dan / atau bagaimana itu disajikan kepada pengguna dan
meliputi: konten dan presentasi adaptasi, memperbarui konten hidup atau dinamis, pengguna
modifi kasi konten, dan memberikan informasi kontekstual global ( misalnya, fungsi untuk
secara otomatis menyertakan situs banner atau menegakkan style sheet tertentu).
SafeHomeAssured.com contoh: Presentasi kepada pengguna data sensor hidup untuk
pemantauan keamanan (lihat Gambar 9.8).
Kategori 1C: User Task Support. Hal ini termasuk fungsi yang mendukung, membimbing, atau
mengontrol pengguna dalam mencapai tugas-tugas c spesifik. Contoh yang paling umum
adalah mencari dan manajemen alur kerja (misalnya, penanganan jalan workfl ow diikuti oleh
pengguna, termasuk berbagai pilihan dan pengecualian), tetapi juga meliputi berikut: generasi
trails dan remah roti, pemeriksaan dinamis dan umpan balik pada pengguna informasi -
provided, mekanisme login, dan kontrol akses.
SafeHomeAssured.com contoh: Produk manajemen pesanan.
Kelompok 2: Aplikasi-Level (internal) Fungsi. Kategori-kategori ini berhubungan dengan
fungsi yang diperlukan untuk mendukung WebApp, tetapi yang hanya akan terlihat oleh
pengguna sebagai efek orde kedua.
Kategori 2A: Aplikasi Interaksi Dukungan. Kategori ini meliputi fungsi tersebut
yang diperlukan untuk mengelola dan memelihara mekanisme interaksi tetapi tidak untuk
langsung mengendalikan elemen tertentu dengan mana pengguna berinteraksi. Ini akan
mencakup, misalnya, pelacakan dan pencatatan interaksi dengan pengguna tertentu (sehingga
evaluasi dan adaptasi berikutnya dapat terjadi).
Aspek-aspek lain meliputi: pencarian generasi indeks dan pemeliharaan, penggunaan logging
dan analisis, dan pemantauan untuk link yang rusak dan potensi kesalahan interaksi lainnya.
SafeHomeAssured.com contoh: Profi ling pengguna berdasarkan sejarah produk mereka.
Kategori 2B: Dukungan Informasi Aplikasi. Ini meliputi aplikasi-tingkat
pengelolaan informasi. Ini meliputi: pengembangan dan pemeliharaan sistem manajemen
konten (CMS), pemeliharaan database, dan pemantauan untuk konten kedaluwarsa atau gaya
perbedaan.
SafeHomeAssured.com contoh: Latar Belakang pemantauan sensor keamanan pelanggan pada
saat mereka belum login.
Kategori 2C: Aplikasi Task Support. Ini mencakup dukungan webapp internal yang untuk
tugas-tugas pengguna secara keseluruhan. Ini termasuk aspek-aspek seperti gateway ke
aplikasi lain (seperti sistem pembayaran dalam e-commerce webapp); otentikasi pengguna; dan
batch, off-line, atau waktu-kritis pengolahan tugas (seperti pengolahan pesanan dikirimkan
atau pemantauan dari kemajuan lelang online).
Contoh SafeHomeAssured.com: Batch processing pesanan pelanggan
GAMBAR 11.2
dan / atau kasus penggunaan selama kegiatan komunikasi). fungsi pengguna diwakili baik
sebagai model interaksi (urutan UML dan / atau diagram negara) dan model fungsional
(aktivitas UML diagram).
Desain fungsi pengguna dikembangkan secara paralel dengan arsitektur informasi untuk
memastikan bahwa mereka konsisten. Pada intinya Anda mulai dengan mempertimbangkan
kedua model analisis (Bab 7) dan arsitektur awal informasi (Bab 10) dan kemudian memeriksa
bagaimana fungsi mempengaruhi berikut:
Interaksi pengguna dengan aplikasi
Informasi yang disajikan
Tugas-tugas pengguna yang dilakukan
Desain fungsi pengguna akan dikombinasikan dengan desain informasi untuk menciptakan
arsitektur fungsional. Sebuah arsitektur fungsional adalah representasi dari domain fungsional
dari WebApp dan menggambarkan komponen fungsional utama dalam webapp dan bagaimana
komponen ini berinteraksi satu sama lain. Mengingat peran sentral, kita akan membahas
arsitektur fungsional secara rinci nanti dalam bab ini di bagian Arsitektur Fungsional.
GAMBAR 11.3
Arsitektur fungsional
Sebuah arsitektur fungsional adalah representasi dari domain fungsional dari webapp.
Representasi arsitektur menjawab dua pertanyaan kunci:
Bagaimana kita partisi fungsi menjadi komponen-komponen yang telah jelas peran dan
interface?
Di mana masing-masing komponen fungsional ada, dan apa yang berinteraksi dengan?
Dengan kata lain, arsitektur fungsional terurai webapp menjadi komponen fungsional
konstituen.
GAMBAR 11.4
GAMBAR 11.5
Pemilihan Informasi (yaitu, fungsi yang terkait dengan identifikasi dan / atau pemilihan
informasi yang akan disajikan kepada pengguna)
kompilasi Informasi (yaitu, fungsi terkait dengan penggabungan informasi bersama-sama ke
komposit yang akan dipresentasikan kepada pengguna)
Pengolahan informasi (yaitu, analisis atau perhitungan data)
Interaksi System (yaitu, fungsi terkait dengan interaksi dengan sistem lain eksternal ke
webapp)
Kami kemudian mempertimbangkan apakah spesifik c komponen skenario harus dipanggil
secara dinamis pada permintaan pengguna, secara dinamis pada inisiasi acara, atau secara
manual. Akhirnya, kami melakukan clustering, penggabungan, dan nement refi komponen
arsitektur. Sebagai contoh, perhatikan diskusi sidebar terkait dengan pengembangan arsitektur
fungsional untuk SafeHomeAssured.com.
GAMBAR 11.6
kesamaan yang kuat untuk model MVC, meskipun View dan Pengendalian aspek saling terkait.
Dalam banyak kasus, arsitektur fungsional WebApp didefinisikan dalam konteks lingkungan
pengembangan di mana aplikasi ini akan dilaksanakan (misalnya, ASP.net, JWAA, atau J2EE).
Jika Anda memiliki bunga lebih lanjut, lihat [Fow03] untuk diskusi lingkungan pengembangan
dan peran mereka dalam desain arsitektur aplikasi Web.
GAMBAR 11.7
GAMBAR 11.10
tindakan dari satu atau lebih pengguna, terutama ketika respon untuk satu pengguna akan
terpengaruh oleh apa yang pengguna lain do.Figure 11,10 menggambarkan diagram negara
untuk interaksi pelanggan baru untuk
SafeHomeAssured.com. Dalam diagram ini enam negara eksternal dapat diamati (diwakili oleh
persegi panjang bulat) diidentifikasi. State diagram menunjukkan peristiwa yang diperlukan
untuk memindahkan pelanggan dari satu negara ke negara lain, informasi yang ditampilkan
sebagai negara yang dimasukkan, pengolahan yang terjadi dalam negara, dan kondisi keluar
yang memungkinkan transisi terjadi.
Perilaku SafeHomeAssured.com seperti yang diamati oleh pengguna sebagian besar tergantung
dari apa yang pengguna lain lakukan, dengan pengecualian dari pelanggan dan
SafeHomeAssured.com karyawan yang berinteraksi selama pemantauan rumah.
Mempertimbangkan situasi di mana seorang pelanggan telah mendaftar untuk layanan
pemantauan. The SafeHomeAssured.com software monitoring dapat secara otomatis
memonitor kamera (melalui algoritma Pengolahan Citra) dan sensor lain di rumah pelanggan
dan mengidentifikasi situasi anomali seperti:
1. Sistem keamanan bersenjata, dan sensor pintu masuk mengindikasikan pelanggaran
keamanan kurang dari x detik. Hal ini mungkin terjadi ketika pemilik rumah memasuki rumah
tanpa terlebih dahulu melucuti sistem keamanan. Peringatan terdengar harus mengingatkan
pemilik rumah untuk melucuti sistem dalam interval waktu tertentu.
2. Sistem keamanan bersenjata, dan sensor menunjukkan pelanggaran keamanan yang mungkin
lebih besar dari x detik pada sebuah pintu masuk atau lebih besar dari y detik pada setiap sensor
lainnya. Ini mengindikasikan adanya pelanggaran keamanan yang benar.
3. Sebuah sensor dalam sistem keamanan menunjukkan kemungkinan kebakaran atau keadaan
darurat lainnya.