Model Sistem

Hal 1
                        Model sistem
    Ikhtisar
    Standar Formalisms notasi rekayasa perangkat lunak yang digunakan untuk menentukan perilaku diperlukan sistem interaktif tertentu model interaksi tujuan khusus model-model matematik interaktif sistem, yang digunakan untuk menggambarkan sifat-sifat kegunaan pada tingkat generik Status acara analisis contoh metode tingkat teknik menggambar pada pemodelan formal dan naif psikologi

Hal 2
                    Hubungan dengan dialog
    Dialog pemodelan yang terhubung ke semantik.
    Sistem semantik mempengaruhi struktur dialog.
    Tapi bisa  berbeda.
    Alih-alih menentukan tindakan terhadap hukum,
    formalisms ini memberitahu kan setiap tindakan pada
    sistem.

Hal 3
Ironi
    Komputer adalah inheren matematika mesin.
    Bukan manusia.
    Teknik formal yang baik diterima untuk model kognitif pengguna dan dialog (pengguna bagaimana). Teknik formal yang tidak belum juga diterima untuk mendikte bagaimana sistem untuk pengguna!


Hal 4
    Komputasi umum secara formal
    Formalisms standar rekayasa perangkat lunak dapat digunakan untuk menentukan sistem interaktif.
Disebut sebagai metode formal berbasis Model menggambarkan sistem Serikat dan
operasi
Z, VDM
Aljabar menggambarkan efek urutan tindakan
OBJ, Larch, ACT-satu
Logika diperpanjang menggambarkan ketika hal-hal yang terjadi dan siapa bertanggung jawab
temporal dan logika deontic
Hal 5
Menggunakan notasi formal SE untuk komunikasi
bahasa umum.
menghilangkan ambiguitas (mungkin)
ringkas dan tepat
Untuk analisis
internal konsistensi
eksternal konsistensi
    - dengan akhirnya program
    - sehubungan dengan persyaratan (keselamatan, keamanan, HCI)
Spesifikasi versus generik
Hal 6

Model berbasis formalisms

perbandingan matematika untuk kontruksi pemrograman umum


Pemrograman    matematika      
Jenis    Pengaturan      
tipe dasar    Pengaturan dasar      
Tipe penyusunan    Pengaturan penyusunan      
dokumen    unordered tupel      
daftar    rangkaian      
fungsi    fungsi      
prosedur    hubungan   

Hal 7

Model metode basis
Contoh: paket gambar grafis

Poin diperintahkan pasang.
Titik == N X N
Bentuk dapat dari berbagai jenis.
Bentuk jenis == line ellipse rectangle






Hal 8
Definisi jenis lainnya
Objek grafis adalah  didefinisikan  oleh jenis, bentuk,
lebar, tinggi, dan posisi pusat.

    Bentuk
    jenis: membentuk jenis
    lebar; tinggi: N
    Pusat: Pt

Koleksi benda-benda grafis dapat di identifikasi oleh pencarian seperti dalam kamus

[Id]
Bentuk dict == Id! 7 bentuk

Hal 9
Mendefinisikan Bagian

Keadaan sistem berisi Kamus objek dibuat dan satu set dari objek yang dipilih.
Bagian
bentuk: bentuk dict
pilihan: P Id
seleksi C domshapes

Pada awalnya, ada bentuk tidak ada dalam kamus.
Init  bagian
bagian '
Bentuk = fg


Hal 10
Mendefinisikan operasi
Perubahan rumusan diwakili sebagai dua salinan
rumus
sebelum | rumusan
setelah |  rumusan'

_State
bagian
bagian

Operasi Unselect untuk melepas setiap dipilihobjek.




Hal 11
Masalah – masalah antarmuka
penyusunan masalah: semua masalah lain tetap sama"dapat menjadi rumit dengan negara invariants Internal konsistensi melakukan operasi mendefinisikan setiap transisi hukum?
Eksternal konsistensi harus dirumuskan sebagai teorema untuk membuktikan jelas untuk diperbaiki, tidak begitu untuk keperluan pemisahan fungsi sistem dan presentasi bukanlah eksplisit

Hal 12
Notasi Aljabar
Model berbasis notasi menekankan membangun pernyataan eksplisit sistem negara.
Aljabar notasi menyediakan hanya implisit informasi tentang keadaan sistem.
Model berbasis operasi didefinisikan dalam istilah efeknya pada komponen sistem.
Operasi aljabar ditentukan dari segi mereka
hubungan dengan operasi lainnya.

Hal 13
Kembali ke contoh grafis
jenis
Negara, Pt
operasi
Init: negara
membuat elips: Pt X negara - negara
Pindah: Pt X negara - negara
Batalkan pilihan: negara - negara
menghapus: negara - negara
Aksioma
untuk semua st 2 negara; p _ 2 Pt
1. delete(make ellipse(st)) = unselect(st)
2. unselect(unselect(st)) = unselect(st)
3. move(p; unselect(st)) = unselect(st)

Hal 14
Masalah notasi Aljabar
Kemudahan menggunakan cara yang berbeda untuk berpikir dari
pemrograman tradisional

Konsistensi internal ada aksioma apapun
yang bertentangan dengan orang lain?

Eksternal konsistensi sehubungan dengan
eksekusi sistem kurang jelas

Eksternal konsistensi sehubungan dengan
persyaratan dibuat eksplisit dan otomatisasi memungkinkan
Kelengkapan yang setiap operasi benar-benar
didefinisikan?



Hal 15
Logika diperpanjang
Model berbasis dan notasi aljabar membuat penggunaan yang berkepanjangan dari logika predikat dan propositional.
Proposisi ekspresi terdiri dari atom
istilah p; q; r; ::: terdiri dengan
(; ); ^;_; :;), dll.
Predikat proposisi dengan variabel, misalnya,
p(x) dan quanti_ed ekspresi 8; 9.
Ini tidak nyaman untuk mengungkapkan waktu,
tanggung jawab dan kebebasan, pengertian kadang-kadang
diperlukan untuk HCI persyaratan.


Hal 16
Logika temporal
Waktu dianggap sebagai diluar waktu operator dasar:
selalu 2 2 (G lucu daripada A)
akhirnya 3 3(G understands A)
pernah 2: 2: (hujan di jadi. Cal.)
Operator Berikat lain:
p sampai q lebih lemah dari 2
p sebelum tha kuat q

Hal 17
Waktu eksplisit
Ini logika temporal tidak secara eksplisit menyebutkan waktu, sehingga beberapa persyaratan yang tidak dapat diungkapkan.
Daerah penelitian yang aktif, tetapi tidak begitu banyak dengan degradasi bertahap HCI lebih penting daripada waktu-kritis mitos mesin jauh cepat


Hal 18
Logika Deontic
Untuk mengekspresikan tanggung jawab, kewajiban antara agen terpisah (misalnya, manusia,
organisasi, komputer) izin obl perobligation misalnya,
memiliki (Jane; file 'fred'))
per (Jane; permintaan ('print fred'))
melakukan (Jane; request ('print fred')))
OBL (lp3; cetak (file 'fred'))

Hal 19
Masalah logika diperpanjang
Sifat keselamatan yang menyebutkan bahwa hal-hal buruk tidak terjadi Liveness properti AD bahwa hal-hal baik terjadi Executability versus ekspresi mudah menetapkan situasi mustahil; sulit untuk mengungkapkan eksekusi persyaratan;
puas akhirnya kelompok eksekusi masalah dan deontics kewajiban untuk sistem pengguna tunggal memiliki dampak pribadi;
untuk groupware, kita harus mempertimbangkan
implikasi untuk pengguna lain.

Hal 20
                        Model interaksi
    Model komputasi umum tidak dirancang dengan pengguna dalam pikiran.
    Kita perlu model yang duduk di antara formalism rekayasa perangkat lunak dan pemahaman kita tentang HCI. formal model PIE untuk mengungkapkan sifat-sifat interaktif yang umum untuk mendukung kegunaan informal arsitektur interaktif (MVC, PAC, ALV) untuk memotivasi pemisahan dan modularisasi fungsi dan presentasi status-acara semi formal analisis untuk melihat sepotong sistem interaktif yang mencakup beberapa lapisan

Hal 21
PIE model
Model kotak hitam
 
Hal 22
Lebih formal




Selain itu, kami dapat memperoleh transisi state fungsi dari PIE.




Hal 23
Mengekspresikan sifat
WYSIWYG
    Apa ini benar-benar berarti, dan bagaimana kita dapat menguji
Produk X untuk melihat apakah itu menandakan bahwa sebuah klaim
WYSIWYG?
    Lingkup terbatas sifat-sifat umum yang mendukung
WYSIWYG.
    Observability apa yang dapat Anda katakan tentang keadaan saat ini sistem dari tampilan prediktabilitas apa yang dapat Anda katakan tentang perilaku masa depan

Hal 24
Observability dan prediktabilitas
Dua kemungkinan interpretasi WYSIWYG:
Apa yang Anda lihat adalah apa yang Anda:
akan mendapatkan di printer
 punya dalam sistem
Prediktabilitas adalah kasus khusus dari observability

Hal 25
Secara resmi


Menentukan hasil dari tampilan:
 Menentukan efek dari tampilan:





Hal 26
Relaxing the property


Hal 27
Reachability dan undo
Reachability | mendapatkan dari satu bagian ke yang lain.

Terlalu lemah
Undo | reachability diterapkan antara arus
bagian dan bagian terakhir.

Mustahil kecuali sangat sederhana sistem dengan pada kebanyakan  bagian .
Lebih baik model Undo memperlakukannya sebagai perintah khusus untuk menghindari masalah ini

Hal 28

masalah untuk Pie properti
Cukup       :pembatasan diperlukan tapi tidak mencukupi untuk kegunaan properti.
Generik: dapat diterapkan untuk setiap sistem
Bukti     : kewajiban untuk sistem di definisikan di SE formalism
Skala     :cara untuk membuktikan banyak sifat besar sistem
Lingkup : membatasi penerapan tertentu Properti
Wawasan yang Diperoleh dari abstraksi dapat digunakan kembali



Hal 29
Status/kegiatan analisis
teknik semi formal "rekayasa" tingkat analisis berdasarkan model formal menggunakan naif psikologi jam dan kalender sebagai contoh status {analog menonton wajah acara {alarm

Hal 30
Sifat peristiwa
status perubahan acara
berlalunya waktu
peristiwa-peristiwa aktual dan dirasakan
biasanya beberapa kesenjangan
pemungutan suara
melirik menonton wajah
perubahan statusnya menjadi dirasakan acara
granularity
ulang tahun (hari)
janji (menit)

Hal 31
Implikasi desain
sebenarnya/dirasakan lag:::
pertandingan aplikasi skala waktu?
terlalu lambat
menanggapi peristiwa terlambat
misalnya, pembangkit listrik darurat
terlalu cepat
mengganggu tugas yang lebih langsung
misalnya, saham tingkat rendah

Hal 32
kegiatan secara psikologi
Memprediksi dimana terlihat oleh si pengguna
    mouse – letak posisi
    titik penyisipan - sebentar-sebentar
    ketika mengetik layar - jika Anda beruntung
peristiwa langsung
    terdengar Bel - {ketika di kamar (dan pendengaran)
    visi periferal - pergerakanerakan atau besar perubahan
penutupan
    kehilangan perhatian (inc. mouse )
    bersamaan aktivitas







Hal 33
Contoh antarmuka email
email sampai!
Garis pewaktu sesuai tingkatan


Pereceived kegiatan per menit
 jika ingin terjamin

Hal 34
Contoh layar tombol widget (I)

tombol layar seringkali terjawab,::
Tapi, kesalahan tidak terlihat
widget yang umum, kesalahan umum: Mengapa?

Penutupan
kesalahan mungkin  tindakan serentak
tidak melihat  semantik umpan balik

Solusi
umpan-balik widget untuk sebuah aplikasi
peristiwa yang dirasakan untuk pengguna
NB, slip ahli  pengujian tidak membantu







Hal 35
Tombol layar widget (ii)
HIT
aplikasi dialog layar pengguna
atau kehilangan
aplikasi dialog layar pengguna

Model sistem

Latihan 9.1
    Menggunakan pendekatan yang berorientasi pada model dengan program grafis contoh yang dijelaskan di bagian 9.2.3, menentukan operasi bergerak sebagai skema yang bertindak pada objek yang dipilih. Adalah operasi yang sudah Anda tetapkan kumulatif (dua berturut-turut bergerak dapat dilakukan sebagai satu bergerak yang merupakan jumlah dari dua lainnya) atau 'pelupa?' Mendiskusikan berbagai implikasinya membingkai masalah dalam definisi Anda.

Jawaban:

Studentsmay tidak memiliki keakraban besar dengan notasi Z digunakan dalam buku ini,
terutama jika mereka tidak memiliki latar belakang ilmu komputer yang menekankan
spesifikasi formal. Namun demikian, kami akan memberikan jawaban model untuk latihan ini dalam notasi Z dan meninggalkannya untuk instruktur untuk memutuskan apakah bahasa alternatif yang dapat digunakan untuk mengekspresikan ide-ide yang sama.
Untuk mengakomodasi spesifikasi operasi bergerak, kita pertama akan membutuhkan fungsi yang memungkinkan kita untuk menambahkan dua titik koordinat bersama-sama. Kami hanya menyediakan Deklarasi fungsi ini di sini.
+: Titik titik! Titik
Motivasi untuk fungsi ini adalah jadi thatwecan mendefinisikan amoveoperation dengan satu argumen, disebut delta? di bawah ini, yang akan menentukan berapa jauh untuk memindahkan pusat setiap bentuk yang dipilih. Pendekatan ini, menggunakan gerakan yang relatif, akan memungkinkan untuk dua berturut-turut bergerak untuk didefinisikan dengan gerakan keseluruhan menjadi jumlah yang bergerak individu. Pendekatan lain (yang akan menjadi cukup rumit untuk menentukan untuk satu set dari objek yang dipilih) akan menentukan operasi bergerak sebagai operasi mutlak, argument(s) untuk bergerak secara eksplisit menunjukkan nilai baru untuk centre(s) setiap bentuk yang dipilih. Definisi operasi ini tidak akan kumulatif.
63
4 Juni 1993 17:34 latihan lembar nomor 66 halaman nomor 64
64 model sistem
Pada awalnya, kita mungkin ingin mendefinisikan operasi bergerak hanya untuk memperbarui
Pusat posisi dari semua bentuk yang dipilih.
Bergerak
Negara
State0
Delta? : Point
8 id: dipilih shapes0 (id): Pusat = bentuk (id): Pusat + delta?
Ada sejumlah rincian dalam operasi ini ditetapkan yang dibiarkan (berbahaya) terbuka untuk interpretasi. Banyak dari ini adalah membingkai kondisi operasi bergerak. Sebagai contoh, apa yang terjadi pada bentuk yang tidak dipilih? Intuisi normal pada operasi ini akan bahwa mereka tetap menaruh, tetapi definisi di atas benar-benar memungkinkan mereka untuk mengubah cara apapun-termasuk kemungkinan menghilang sama sekali. Untuk memastikan bahwa benda-benda titiknya tetap sama seperti mereka sebelum operasi, kita harus menambahkan sebuah predikat definisi.
Bergerak
Negara
State0
Delta? : Point
8 id: dipilih shapes0 (id): Pusat = bentuk (id): Pusat + delta?
8 id: shapes0(id) (domshapes  dipilih) = shapes(id)
Kita juga perlu secara eksplisit menyatakan bahwa tidak ada bentuk baru yang diperkenalkan ke dalam
sistem, yaitu, bahwa domain bentuk tetap sama.
Bergerak
Negara
State0
Delta? : Point
8 id: dipilih shapes0 (id): Pusat = bentuk (id): Pusat + delta?
8 id: shapes0(id) (domshapes  dipilih) = shapes(id)
domshapes0 = domshapes
Bagi mereka yang akrab dengan Z, dimungkinkan untuk runtuh predikat tiga terakhir dalam skema diatas menggunakan predikat satu fungsional mengganti dari Z toolkit matematika dasar (Lihat Spivey, J.M., The Z notasi: A referensi Manual, Prentice Hall).
Membingkai masalah lain yang memiliki dampak pada gaya interaktif sistem grafis ini adalah menentukan apa yang terjadi pada set yang dipilih dari bentuk setelah operasi bergerak. Definisi arus kami mengatakan apa-apa tentang hal ini. Dua jelas pilihan 4 Juni 1993 17:34 latihan lembar nomor halaman 67 nomor 65 model sistem 65 Apakah set bentuk yang dipilih tetap sama atau menjadi kumpulan kosong (tidak ada objek yang dipilih). Untuk alasan compositionality (untuk mendefinisikan operasi bergerak berturut-turut atau berturut-turut operasi yang ditargetkan pada serangkaian bentuk yang sama) kita pilih mantan, dan menentukan ini di bawah ini.
Bergerak
Negara
State0
Delta? : Point
8 id: dipilih shapes0 (id): Pusat = bentuk (id): Pusat + delta?
8 id: (dom bentuk  dipilih) shapes0(id) = shapes(id)
domshapes0 = domshapes
selected0 = dipilih
[Catatan: Z berpengalaman pengguna mungkin memilih override fungsional
(-) operator untuk lebih ringkas Check predikat tiga diatas.]


Latihan 9.2

     Menulis skema yang sama untuk mengubah ukuran. Ini harus memiliki berikut informal
semantik. Atribut yang lebar dan tinggi adalah bentuk meloncat-loncat kotak.
      Mengubah ukuran operasi harus membuat satu sudut melompat-lompat kotak akan pada posisi mouse saat ini (disediakan sebagai pos saat ini argumen?).

Petunjuk: lebar kotak adalah dua kali perbedaan antara koordinat x
Pusat dan koordinat x setiap sudut:
wid = 2 j Pusat: x  sudut: x j







Jawaban :

Sebenarnya, ada beberapa kesalahan dalam penggunaan Z untuk petunjuk dalam latihan ini.
Tipe Point bukanlah tipe skema, dan jadi ianya tidak bermakna untuk menggunakan skema
pilihan, seperti dalam ekspresi seperti Pusat: x dan sudut: x. waspada Z mahasiswa harus
meneruskan kesalahan ini. Namun, semangat petunjuk masih berlaku. Untuk membuat hal-hal hukum
dalam Z, kita dapat mengubah Deklarasi titik sebagai berikut.
Titik
x; y: R
Untuk terbaik menentukan operasi Resize ini, kita akan membutuhkan untuk secara eksplisit model
kotak yang melompat-lompat bentuk. Kami memperkenalkan jenis, yang disebut BoundingBox yang
4 Juni 1993 17:34 latihan lembar nomor halaman 68 nomor 66
66 model sistem
akan mewakili sudut-sudut kotak sekitarnya yang mendefinisikan tingkat
bentuk. Pada kenyataannya, dalam gambar 9.1, kita telah diambil kotak melompat-lompat untuk lingkaran tetapi
kami tidak membuat informasi yang eksplisit dalam spesifikasi dalam teks ini
Bab. Kita menghilangkan rincian dalam jawaban sampel ini pada "persegi" kendala untuk
sudut-sudut kotak melompat-lompat (misalnya, atas yang tersisa dan memiliki sudut kanan
nilai-nilai koordinat y yang sama tetapi koordinat x-sudut kiri adalah benar-benar
kurang dari koordinat x di sudut kanan atas, dll.
BoundingBox
upperleft; upperright;
lowerleft; lowerright: Point
upperleft:x upperright:x
upperleft:y = upperleft:y
: : :
Kita dapat menambahkan kotak melompat-lompat sebagai informasi yang diketahui tentang bentuk, dengan memperluas
definisi bentuk. Kendala di kotak yang melompat-lompat, dimotivasi oleh
petunjuk untuk latihan ini, adalah bahwa yang lebar dan tinggi yang sama dengan lebar dan
tinggi dari bentuk. Selain itu, Pusat koordinat terkait dengan lebar
dan tinggi. Catatan di bawah ini bahwa kita menggunakan nama tinggi dan lebar dalam definisi
Bentuk untuk meningkatkan mudah dibaca.
Bentuk
jenis: membentuk jenis
Lebar: R
tinggi: R
Pusat: Point
BB: BoundingBox
lebar = 2 (Pusat: x  bb:upperleft:x)
tinggi = 2 (Pusat: y  bb:upperleft:y)
lebar = (bb:upperleft:x bb:upperright:x)
tinggi = (bb:upperleft:y bb:lowerleft:y)
Mengubah ukuran dapat dilihat sebagai mengubah ukuran kotak yang melompat-lompat. Di relatif
tingkat abstrak, kita hanya dapat menentukan operasi Resize dengan satu argumen
menunjukkan kotak melompat-lompat baru untuk bentuk dipilih. Prasyarat untuk
operasi adalah bahwa ada hanya satu bentuk yang dipilih.
4 Juni 1993 17:34 latihan lembar nomor halaman 69 nomor 67
Model sistem 67
Mengubah ukuran
Negara
State0
newbb? : Berlari kotak
#selected = 1
8 id: dipilih shapes0 (id): bb = newbb?
forallid: shapes0(id) (domshapes  dipilih) = shapes(id)
domshapes = domshapes
dipilih = dipilih

Latihan 9.3

Di bagian 9.2.5, kami katakan bahwa  aljabar spesifikasi Zdraw bisa
diperluas untuk mengatakan bahwa Pindahkan, mengubah atau membatalkan pilihan setelah menghapus tidak berpengaruh.
Aksioma untuk unselect terlihat seperti ini:
(ix) unselect (delete (g)) = Hapus (g)
Menulis dua lebih aksioma (x) dan (xi) yang mengatakan hal yang sama tentang bergerak dan
mengubah ukuran. Sekarang menunjukkan penggunaan aksioma (iv) dan (v untuk menunjukkan bahwa (ix) menyiratkan kedua
Aksioma baru Anda.

Jawaban:

Aksioma tambahan tiga adalah:
(9) unselect (delete (st)) = Hapus (st)
(10) langkah (p; Hapus (st)) = Hapus (st)
(11) ukuran (p; Hapus (st)) = Hapus (st)
Aksioma 4 dan 5 adalah:
(4) bergerak (p; unselect (st)) = unselect (g)
(5) ukuran (p; unselect (st)) = unselect (g)
Untuk menunjukkan bahwa aksioma 10 derivable dari aksioma 4 dan 9 kita bisa berdebat sebagai
berikut:
bergerak (p; delete(st))
= bergerak (p; unselect (delete (st)) oleh aksioma 9
= unselect (Hapus (st)) oleh Aksiom 4
= Hapus (st) oleh aksioma 9
Argumen yang sama menunjukkan bahwa aksioma 11 derivable dari aksioma 5 dan 9

Latihan 9.4

A two-fungsi Kalkulator memiliki berikut buttons 0-9, +, - dan =. Ini
akan terdiri dari set perintah (C) model PIE Kalkulator. The
negara (E) akan terdiri dari tiga komponen: dua saat ini nomor yang
masuk, nomor terakhir (untuk dioperasikan pada) dan operasi tertunda (+
atau -). Layar (D) adalah hanya sejumlah ditandatangani. Untuk contoh ini, mengabaikan
hasil.
Tuliskan (semi formal) fungsi receh memperbarui negara untuk masing-masing
perintah pengguna dan fungsi layar berkaitan dengan saat ini negara (E)
Menampilkan (D). Untuk memeriksa definisi Anda: apa yang memang memiliki tampilan di atasnya
setelah user terdaftar memasukkan ' 2 + 3 +'? Kebanyakan Kalkulator akan menunjukkan 5, Apakah
Anda?
Mempertimbangkan menampilkan setelah urutan '2 + 2' ' 2 +' dan efek pada
masing-masing dari masukan pengguna tambahan 3. Apakah Kalkulator memuaskan
Properti transparansi?




Jawaban

Definisi fungsi receh dapat melanjutkan sebagai berikut. Kita akan menggunakan Z
notasi dalam jawaban sampel ini. Set karakter didefinisikan sebagai:
C:: = 0 j 1 j 2 j 3 j 4 j 5 j 6 j 7 j 8 j 9 j 0 j + j  j =
Ini akan berguna untuk membedakan digit dan operasi (+ dan ).
Angka: C P
Op: P C
Digit = f 0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 0 g
Op = f +;  g
Negara didefinisikan sebagai memerintahkan empat-tupel, terdiri dari sekarang
yang dimasukkan, nomor terakhir (untuk dioperasikan pada) dan operasi tertunda.
E == seq Digit seq Digit Op
Layar adalah hanya proyeksi jumlah saat ini yang dimasukkan.
D == seq Digit
4 Juni 1993 17:34 latihan lembar nomor halaman 71 nomor 69
Model sistem 69
Tampilan: E! D
8 (arus; terakhir; op): E
Menampilkan (saat ini; terakhir; op) = arus
Fungsi receh didefinisikan di bawah oleh kasus kelelahan. Notasi o (c; l)
berarti untuk menerapkan operasi o c argumen dan l, sehingga 2 + 3 akan ditulis
+ (2; 3), dengan o = +, c = 2 dan l = 3.
receh: E C! E
8 c; l: seq Digit; d; d0: Digit; o; o0: Op
receh ((c; l; o) =) = (o (c; l) 0; o)
receh ((c l; o); d) = (d c; o) jika lastkey 2 f +; ; = g
(10c + d; l; o) jika tidak
receh ((c; l; o) o0) = (o (c; l) c; o0)
Tabel berikut jejak pelaksanaan Kalkulator.
C E D
(0,0, +) 0
2 (2,0, +) 2
+ (2,2, +) 2
3 (3,2, +) 3
+ (5,3, +) 5
Bandingkan tabel jejak untuk 'program' 2 + 3 dan 2 + 23.
C E D
(0,0, +) 0
2 (2,0, +) 2
+ (2,2, +) 2
3 (3,2, +) 3
C E D
(0,0, +) 0
2 (2,0, +) 2
+ (2,2, +) 2
2 (2,2, +) 2
3 (23,2, +) 23
Perhatikan bahwa tampilan setelah program 2 + adalah sama seperti itu setelah program
2 + 2, namun perilaku perintah 3 berikutnya yang berbeda. Oleh karena itu,
Kalkulator sebagaimana didefinisikan tidak memenuhi properti transparansi




Latihan 9.5

Bayangkan sebuah kalkulator, normal kecuali ini menampilkan A untuk 0, B untuk 1, hingga J untuk
9. jadi nomor 372 akan muncul sebagai DHC. Hal ini mempengaruhi formal
transparansi Kalkulator? Harus itu?
4 Juni 1993 17:34 latihan lembar nomor halaman 72 nomor 70
70 model sistem

Jawaban:

    Secara formal, ini tidak akan mempengaruhi milik transparansi Kalkulator. Fungsi apapun dari tampilan untuk efek yang diadakan untuk nomor akan juga memegang untuk rekan-rekan mereka abjad dengan hanya mengarang dengan kode A untuk 0, B untuk 1, hingga J 9.
     Tentu saja, kebanyakan orang mungkin akan menemukan menggunakan kalkulator disandikan cukup sedikit lebih sulit daripada yang digunakan sepuluh digit normal. Pelajaran penting di sini adalah bahwa ekspresi yang formal transparansi properti tidak menunjukkan betapa sulitnya itu adalah bagi manusia untuk memutuskan menentukan fungsi antara tampilan dan efek.
    Ekspresi yang formal hanya memerlukan bahwa ada beberapa fungsi. Dalam prakteknya, pengguna manusia mungkin akan menilai Kalkulator disandikan sebagai tak terduga (yaitu tidak transparan). Moral adalah bahwa meskipun kita dapat menangkap kegunaan properti secara resmi tidak berarti bahwa kami telah menangkap seluruh maksud dari properti. Transparansi properti harus
ditambah untuk mengukur kompleksitas dari perspektif pengguna fungsi antara tampilan dan efek.

Latihan 9.6
    Dapatkah Anda menyarankan perbaikan untuk masalah umpan balik tombol layar yang dibahas dalam Bagian 9.4 yang akan membedakan di antarmuka antara dua kasus memukul atau hilang tombol? Apakah ada jaminan dengan solusi Anda bahwa pengguna akan melihat perbedaan?

Jawaban:

    Some suggested perbaikan untuk masalah umpan balik tombol akan memiliki fungsi yang melekat pada tombol dipanggil ketika mousekey ditekan ke bawah, bukan sampai. Namun solusi ini tidak akan bekerja untuk fungsi-fungsi yang dijalankan pada menu pop-up. Kemungkinan lain adalah untuk memiliki beberapa umpan balik yang terlihat atau terdengar dari tombol yang terkait dengan doa fungsi pada rilis mousekey. Solusi ini tidak menjamin bahwa pengguna pemberitahuan efek yang ditambahkan kecuali mereka perhatian difokuskan pada efek visual atau aural yang ditambahkan. Kemungkinan lain, agak berbeda dari saran terakhir, akan mengaitkan penambahan lisan atau aural kiu untuk kasus kesalahan, ketika mouse sengaja slip off tombol antara tekan dan lepaskan tombol mouse.


0 Response to "Model Sistem"

Posting Komentar