HDH Chuong 7

25
CHƢƠNG 7. GIAO DIỆN NGƢỜI SỬ DỤNG 7.0. Khái niệm về giao diện ngƣời sử dụng Chƣơng trình của ngƣời sử dụng không thể nhìn thấy cái gì đang xảy ra trong máy tính.Do đó, điều quan trọng đối với dịch vụ của chƣơng trình tƣơng tác là phải thiết kế trình xuất nhập,nhằm làm cho ngƣời sử dụng luôn luôn hiểu rằng,cái gì đƣợc anh ta chờ đợi.Kiểu và phƣơng pháp cho phép sử dụng tác động lên các chƣơng trìnhcủa một máy tính, đƣợc gọi là giao diện ngƣời sử dụng (user interface). Việc nhập vào một sự bày tỏ và xuất ra những dữ liệu đã đƣợc sử lý đóng một vai trò quan trọng. Bên cạnh những thiết bị xuất truyền thông nhƣ máy in, máy vẽ,....ngày nay, thay vào đó, tất cả các hình vẽ và dữ liệu đƣợc thể hiện len màng hình ngay trƣớc mặt. Tuy nhiên, giao diện ngƣời sử dụng tƣơng tác đồ họa ở các máy tính ngày nay đặt ra những yêu cầu rất cao về các ngƣờn tài nguyên cuả máy tính,nó đƣợc phát triển bởi phạm vi mã cũng nhƣ bởi việc chi tiêu nguồn tài nguyên của một trong các bộ phận chính của một máy tính cá nhân (CPU,bộ nhớ.....),các bộ phận này phải đƣợc gắn chặt trong hệ điều hành để hoạt động một cách có hiệu nghiệm. Do đó, trên góc độ phần cứng, các cạc (card) đồ họa đƣợc dự định với các bộ vi xử lý đồ họa hay với các bộ nhớ lặp lại hình nhanh. Ngay cả ở bộ vi xử lý chính, các lệnh máy phải đƣợc trợ giúp cho đồ họa (thí dụ máy tính Intel MMX) để tăng tốc đọ chuan đổi chƣơng trình. Sự trợ giúp của hệ điều hành cho giao diện ngƣời sử dụng tƣơng tác đồ họa là một tiếp giáp quan trọng đối với cấu trúc của tất cả các hệ điều hành hiện đại. Bởi lẽ đó, chúng ta sẽ làm việc trong chƣơng trình này với các yêu cầu thực tiễn, các ý tƣởng thiết kế và các câu hỏi thực thi về các giao diện ngƣời sử dụng trong sự bao quát về các bộ phận của các hệ điều hành truyền thống và các nguồn tài nguyên của máy tính. 7.1. Vấn đề thiết kế giao diện người sử dụng Giao diện đồ họa ngƣời sử dụng ngày nay dựa trên những công việc nền tảng của nhóm nghiêng cứu Xerox về máy tính STAR và bản dự án mang tên Smalltalk 80 vào đầu thập kỉ 80. Họ thiết kế không chỉ một máy tính cá nhân với một màng hình lƣới đồ họa (với những tƣơng quan lúc bấy giờ, nó đƣợc gọi là một cuộc cách mạng; bởi vậy, máy tính Xerox- STAR và bản sao của nó đã làm cho hệ thống Apple- Lisa trở nên ít hiệu nghiệm); đặc biệt họ đã phát triển một cách có hệ thống ngôn ngữ lập trình hƣớng đối tƣợng tổng quát với giao diện ngƣời sử dụng đầy tiện dụng.Do đó, họ đã mô hình hóa những vấn đề quản lí văn phòng trên màng hình; họ thu xếp mỗi đối tƣợng chẳng hạn nhƣ một trang giấy, một giỏ rác, một máy in, một tủ chứa nơi đật hàng... bởi biểu tƣợng; mà từ đó, ngƣời ta nhận biết đƣợc ý nghĩa của chúng. Các tác động bình thƣờng (nhƣ mở các chiếu đô, thiết đặ

description

tài liệu tìm hiểu về giao diện người sử dụng để có thể truy cập vào mạng

Transcript of HDH Chuong 7

  • CHNG 7. GIAO DIN NGI S DNG

    7.0. Khi nim v giao din ngi s dng

    Chng trnh ca ngi s dng khng th nhn thy ci g ang xy ra trong

    my tnh.Do , iu quan trng i vi dch v ca chng trnh tng tc l

    phi thit k trnh xut nhp,nhm lm cho ngi s dng lun lun hiu rng,ci

    g c anh ta ch i.Kiu v phng php cho php s dng tc ng ln cc

    chng trnhca mt my tnh, c gi l giao din ngi s dng (user

    interface). Vic nhp vo mt s by t v xut ra nhng d liu c s l

    ng mt vai tr quan trng. Bn cnh nhng thit b xut truyn thng nh my

    in, my v,....ngy nay, thay vo , tt c cc hnh v v d liu c th hin len

    mng hnh ngay trc mt.

    Tuy nhin, giao din ngi s dng tng tc ha cc my tnh ngy nay

    t ra nhng yu cu rt cao v cc ngn ti nguyn cu my tnh,n c pht

    trin bi phm vi m cng nh bi vic chi tiu ngun ti nguyn ca mt trong

    cc b phn chnh ca mt my tnh c nhn (CPU,b nh.....),cc b phn ny

    phi c gn cht trong h iu hnh hot ng mt cch c hiu nghim. Do

    , trn gc phn cng, cc cc (card) ha c d nh vi cc b vi x l

    ha hay vi cc b nh lp li hnh nhanh. Ngay c b vi x l chnh, cc

    lnh my phi c tr gip cho ha (th d my tnh Intel MMX) tng tc

    chuan i chng trnh.

    S tr gip ca h iu hnh cho giao din ngi s dng tng tc ha l

    mt tip gip quan trng i vi cu trc ca tt c cc h iu hnh hin i. Bi

    l , chng ta s lm vic trong chng trnh ny vi cc yu cu thc tin, cc

    tng thit k v cc cu hi thc thi v cc giao din ngi s dng trong s bao

    qut v cc b phn ca cc h iu hnh truyn thng v cc ngun ti nguyn

    ca my tnh.

    7.1. Vn thit k giao din ngi s dng

    Giao din ha ngi s dng ngy nay da trn nhng cng vic nn tng

    ca nhm nghing cu Xerox v my tnh STAR v bn d n mang tn Smalltalk

    80 vo u thp k 80. H thit k khng ch mt my tnh c nhn vi mt mng

    hnh li ha (vi nhng tng quan lc by gi, n c gi l mt cuc cch

    mng; bi vy, my tnh Xerox- STAR v bn sao ca n lm cho h thng

    Apple- Lisa tr nn t hiu nghim); c bit h pht trin mt cch c h thng

    ngn ng lp trnh hng i tng tng qut vi giao din ngi s dng y

    tin dng.Do , h m hnh ha nhng vn qun l vn phng trn mng

    hnh; h thu xp mi i tng chng hn nh mt trang giy, mt gi rc, mt

    my in, mt t cha ni t hng... bi biu tng; m t , ngi ta nhn bit

    c ngha ca chng. Cc tc ng bnh thng (nh m cc chiu , thit

  • ti liu...) c m hnh ha nh l cc tc ng gia cc hnh nh biu tng

    thc trn mt giao din vi mt bn vit o.

    Qua kinh nghim thc tin, ngi ta nhn thy rng, chng c ra nhng

    tng dn dt nh sau:

    Thay v phi ghi nh v phi g nhiu lin hip cc nt bn phm cho cc

    tc ng lnh, ngi s dng c th ch ra trc tip nhim v m anh ta mun

    hon thin. Thuc ci , chng c pht trin thnh mt thit b hin th, c

    gi l chut. S lng cc nt bm dn ra mt ti u thc hin l hai; mt lin

    hip gm c ba nt thng dnh cho nhng dch v phc tp; cn mt nt bm th

    t dng.

    Thay v phi ghi nh v phi g tt c cc lnh, chng c th c dn ra

    bi vic p dng danh sch la chn, gi l menu.Mi la chn ny cn c th

    c cu trc tri ra mt menu k tip. Kt thc qu trnh la chn l mt lnh no

    .

    S lng cc lnh phi t nht, v m bo tc dng ca chng va vn

    nng va c lp vi nhau, gi l tnh trc giao (orthogonal) ca cc lnh. Nhng

    lnh sau y c coi l t c nguyn tc : MOVE (di chuyn), COPY

    (sao), DELETE (xa), UNDO (phc hi), HELP(tr gip),v showProperties (cc

    ti nguyn thy c).Th d, ngi ta c th sao chp mt dng text trong trnh

    Editor cng nh ton b mt ti liu hay mt bc hnh vi lnh COPY; tuy nhin,

    iu ny cn n d nhiu chc nng khc nhau. Vi lnh ShowProperties, n ni

    v s m t mt trang d liu c th thay i tng h,m n cho php vic xut-

    nhp cc thng s ng cnh,th d x dch mt i lng no , thay i c php

    hay thay i loi......ti mt i tng ca bi text.

    Nhng lnh a nng c thu xp cho cc nt bn phm chc nng,

    cn gi l con ng tt(shortcut), chng cng c ch ra trn menu vi vic

    nhp nt chut phi.

    Tt c cc d liu v ti liu c gi chung l ti nguyn; chng xut

    hin nh s thay i cc d liu ang tn ti v nh s lm thch ng cc nhim

    v c bit cng nh nh cu trc di truyn mt i tng. Do , khng c lnh

    CREATE tn ti; cc tc gi cho rng ci qu phc tp i vi con ngi.

    Ngi s dng cn phi lun lun ch trn mt bnh din mt chng

    trnh; m t , anh ta c th khi u cc tc ng ca mnh, ch khng phi ch

    lm vic c nh trn mt mdun chng trnh, v ti , anh ta khng th bit

    c nhiu hn v:cu trc nhp d liu tn ti u v mi chuyn xy ra y

    nh th no(?).

    Hnh dng ca cc ti liu trn mn hnh phi ph hp vi cch biu l

    thc t. Do , mn hnh c t vo nh mt t giy, cng vic cn li l chn

    font ch v c ch.

    Vic la chn kiu ch qua vic r v nhp chut la chn cc kiu

    ch ln nh khc nhau c thc hin u tin.

  • Vn cn li l, hnh nh v mt thit b vt l c cm nhn trn biu

    tng (icon) ca n: ci g s xy ra vi mt ti liu, nu ngi ta r chut ti mt

    biu tng? C phi n khng b thay i trang vit khi thc hin sao chp trn

    my in? iu th khng thc cht, n c b bin mt khi in khng? Sau khi n

    b xa sch hay sau khi in th ci g s xy ra?

    iu ngc nhin l, vi mt li dn vo, ngy nay ngi ta tm thy nhiu

    php n d ca ca s son tho, m khng cn phi lu iu g c, li ch c th

    c chng minh mt cch thc nghim. ng le phi xc nh vic iu chnh ti

    u i vi cc ca s v cc biu tng (th d v mu sc, tnh t hp.....) trn c

    s c thit lp, n s cho php ngi s dng t gii quyt nhng g tt nht

    cho mnh(th d vic d tm giao din ngi s dng....).

    Tuy nhin, mt vi nguyn tc thit k c bn c c kt,chng c to

    ra nh nhng vic hng n to dng, cng nh, chng cn c lm y cho

    mi giao din ngi s dng, c th vi mt yu t tn ti b thya i bn cht ca

    n, nu cc chc nng mong mun c tr gip bi giao din. Vi Windows

    95, ngi ta c th dn ti nhng th d sau y:

    Ngi s dng vi vic iu khin (user in control):

    Ngi s dng khng ch i p m cn phi iu khin my tnh. iu

    y c ngha l, phi thc hin iu khin li vo cng tc mt cch t ng, m

    khng cn s dng trng thi giao din s dng. Trng hp khng cn thit phai

    i vng, th trng thi ny phi r rng v c thot khi mt cch d dng.

    S phn hi (feedback):

    i vi ngi s dng,giao din ngi s dng phai t sn sng s hi m

    khi nhp d liu hay mt phn ng no : th d phi ch r cho ngi s dng

    cc phng tin nhn thy hay cc phng tin nghe thy; t , ngi s dng

    c th thc hin nhng tc ng mong mun ca mnh. Nu khng, chng ta s

    thy trng rng nh mt mn hnh cht; tc l, n khng phn nh ci g c v

    vic nhp c thc hin trc . Di y chng ta nu mt vi v d:

    Con tr chut (mouse pointer)c th thay i hnh dng ca n trong mt

    ca s hay trong khi x l.

    i tng c th thay i hnh dng ca n mt cch c trng.

    Vic in vo menu khng th hin g c, nu ngay khi n b chn li.

    Mt dng trng thi s thng bo mt bc tin b bng hin th s hay

    hin th text .

    Mt ca s chuyn dng s m t bc thay i ca vic x l nh l mt

    b hin th ca s thay i (progress indicator).

    Mt ca s thng tin s c ny ra (directness visual):

    Cc chng trnh x l d liu bao gi cng cha ng mt s tng ng

    trc gic gia cc d liu v cc chc nng cn thit c to lp. Do vy, mc

    ch l cn phi s dng cc php n d ph bin (popular metaphor) cho ngi s

    dng. Khi s biu th ca ngi s dng s c thay i mt cch thun tin,

    anh ta hiu: anh ta ch i ci g giao din ngi s dng v vi giao din ny

  • anh ta phi tc ng nh th no(!).Ngi ta c th s dng cc php n d khc

    nhau, khi ngi ta mun m rng hay kin to thm cc giao din ny. Th d

    php n d work book (s cng tc), trong cc trang ca s ny, ngi ta c th

    nh s trang, a thm vo hay ly bt i cc bc hnh hay cc bi text; hay th

    d php n d pin board (bng hiu) dng m t cc thng tin hay cc bi texts

    gia mi ngi.

    Tnh c nh(consistency):

    Giao din ngi s dng khng cn phi phn ng mt cch t ngt trc

    cc tnh hung tng t quen thuc. Cc tc v tng t cn thit phi c mt

    s m phng tng t v mt qu trnh tng t. Sau y, ngi ta nu ln vi v

    d:

    Mt menu m ngi ta khng th la chn c na, th khng cn thit

    phi loi b; c bit n cn thit c ch dn thm bi vic to lp c nh.

    Nu ti cc v lu an ton cc d liu ng vi mt tin dng, cc d liu

    c lu tr ngay lp tc; khi ; mt tp tin phi c a vo mc chn la tp

    tin ca menu; do , n khng cn c nh na.

    Vic nhp chut c th la chn mt i tng hay mt ta ring l

    trong tt v cc chng trnh. Nu va bm nt chut va r chut, do , mt

    khong s c chn; th d trong mt text hay trong trng ha.

    Tnh n gin (simplicity):

    Khi m t trc quan, mt s gin xp phi lun lun c tm thy, nhm

    trnh din khng qu nhiu m cng khng qu t. V ci , c nhng cng ngh

    sau y c k ti:

    Vi lnh hay vi thng bo ngn v sc tch c s dng.

    Hin th tin b (progress dislosure): Khi cc thng tin c dn ra, nu

    nhng thng tin ny l cn thit, th u tin, cc hm tng quan c ph by

    mt cch th kchau , do nhu cu, n c ph by mt cch thanh nh hn

    hay mt cch chi tit hn.

    Tnh thm m (aesthetic):

    Mt giao din khng ch p ng y cc chc nng tc ng; i vi

    ngi s dng, nhng quan im trnh by thm m cng rt c coi trng:mt

    mn hnh mu m th nhn p hn mt mn hnh xm xt. Tuy nhin, v iu ny,

    ngi ta phi lu : khng c t b tnh n gin. V cc kin trc rm re

    lm hn n mn hnh. Cc yu t ha cn phi c t chc mt cch khi

    qut v c mc ch. V tt c cc yu t ny phi c chn lc trong s quan

    tm ca ngi s dng, do , ngi ta phi suy ngh tht tt: ci g ngi ta

    mun hng ti v ti sao vy(?).

    7.2. Cu trc giao din ngi s dng

    Mt giao din ha phc tp c th lm cho ngi s dng thc hnh mt

    cch n gin hn phc v cho mt chng trnh ng dng; n c th trnh by

    mt hng ro b sung hay lm phc tp thm vic dch v. Trn c s , iu

  • quan trng l phi thit k giao din ngi s dng mt cch k lng, v mt

    khc, khng c thay i giao din c dn ra.

    Nhng yu cu ny, c thc hin trc nht, khng phi mi chng trnh

    c to ra mt giao din c lp trnh mt cch t mn v c o, sao cho n

    khng ch tin dng trong qu kh, m mt giao din ngi s dng sn sng

    c s dng bi mt h iu hnh. S tc ng cn thit s tr gip nhiu ng

    dng; th d bao gm vic tr gip xut- nhp ni chung nh cc nt bm chc

    nng, chut, ca s, cc mt n xut- nhp..... Nhng chc nng ny c c kt

    li trong mt giao din, gi l giao din ha ngi s dng ( graphical user

    interfice:GUI); cc giao din ny c ngi lp trnh lm ph hp bi mt giao

    din chun, gi l giao din lp trnh ng dng (application programming

    interfice: API ). hnh 7.1 ch ra mt s khi qut v du hiu lp i vi vic

    sp xp mt giao din ngi s dng nh th.

    Hnh 7.1.Giao din ngi s dng v tng quan cu trc h thng

    Mt vn c bit na cng c t ra, nu ngi ta mun gii thiu mt

    giao din ngi s dng nh hng ha nh mt thit b u cui vi kh

    nng ha gii hn.iu ny c thc nghim vi d n trng im ca cc

    cng ty ch to thit b trn th gii; vi d n ny, giao din ngi s dng c

    tr gip khng ch bi mt v tr lm vic vi mng hnh ha mu; ma f cn vi

    mt thit b u cui trng en theo tiu chun ASCII. Cc b iu khin trnh

    din t bit m nhn vic m t nhng chc nng xut (d liu) nh vic to lp

    hay vic thc hin mt dng trng thi.

    7.2.1. Vic nhp (d liu)

    chuyn vn cc bi text hay cc lnh trong mt my tnh, ngi ta s

    dng phng php chuyn ti qua cc nt bn phm. Ni chung, bn cnh cc ch

    ci alphabet thun khit, cn tn ti cc nt phm b sung thc hin nhng chc

    nng iu khin c bit. Bn cnh cc nt phm di chuyn ( ) v cc

    im lu v con tr (cursor) lm nhim v nhp d liu, cn c cc nt phm

    chuyn i ch ci ln/nh (Shift v Caps LOCK), cc phm di chuyn cc

    dong ch lui/ti v nhng nt phm khc thc hin lnh nhp d liu.

    Ngi ta nhn thy rng, tng s lin hip cc nt phm c to ra v m

    phng bi b vi x l bn phm vi b m s ni b ; b m ny c chuyn i

    bi b kch to thit b ca h iu hnh thnh b m s c chun ha quc t

    chnh thc. C l do ngun gc ca chic my tnh u tin, cho nn b ch ci

    trong my tnhngy nay da theo alphabet ca M, chng bao gm 128 k t

    c chun ha. B m s c m t vi 7 Bit, n l b m chun ASCII

    (American standard Code for Information Inter change), xem hnh 7.2 di y.

  • Hnh 7.2. B m ha cc k t theo chun ASCII

    Ngoi bng ny ra, cn c b m ha ss c ghi chp bng phng php m

    t h m thp lc phn (hexa- decimal). Ga tr ca 4 Bit u tin c in vo

    cui bn tri theo ct thng; cn gi tr ca 4 Bit tip theo pha bn trn theo

    hng ngang. Hai hng u tin ca bng ny cha ng nhng k t iu khin,

    nh kt thc vic nhp EOT, b ghi hng ngang HT, quay tr li hng CR...By

    gi, th gii khng ch bao gm Bc M, do , iu cn thit l phi kt hp cc

    k t ca Chu u, nh u,a,x v vo trong b m ang tn ti. iu buc dn

    ti mt b m 8 Bit vi chun ANSI do t chc ISO (International Standard

    Organisation) a ra.

    Tuy nhin, th gii khng ch dng li chu u; iu cn thit c dn ti

    l phi m ta cc gi phn mm khc nhau cho th trng chu , nh Vit Nam,

    Trung Quc, n , Arp....; do , ngi ta phi m rng vic m ha cac k t

    nhiu hn 8 Bit.

    Mt cuc th nghim quan trng theo hng ny l vic pht trin mt b m

    a nng (unicode), trong cha ng ton b cc k t ca cc th ting ca

    cc quc gia trn th gii, goi l UNI1997. trong bng ny cn cha cc ch

    trng, do rt tin li cho vic m rng tip theo. Hnh 7.3 ch ra mt s dn gii

    v b m a nng ny: bt u vi m 16 Bit 000H v kt thc vi FFFFH.

    Hnh 7.3. S dn gii v b m a nng(UNI- code)

    Ngi ta nhn thy rng, b m a nng c thit k nh l s m rng b

    m ASCII, nhm to nn mt s hi ha vi cc h thng chun ang tn ti. Tuy

    nhin, c rt nhiu kiu ch (fonts); cho nn, b m a nng 16 Bit, ngi ta c

    th m bo y cc font ch, v cc thng tin c tch chia mt cch mnh

    m, bt k khi no v cch s dng nh th no u cha ng trong b m ny c.

    Tt c cc thng tin to dng (font ch, kiu trnh by, m/nghing....) u c

    b m k t qun l mt cch tch bit; chng l cc kiu dng cho trnh son tho.

    B m a nng c chun ha(ISO 10646) v khng ngng c pht trin.

    B m quan trng na l b m Unix nng cao 32 Bit (Extended Unix Code:

    EUC);n gii thiu mt s m rng ca kiu k t theo chun ASCII dng cho h

    iu hnh Unix. Cc k t chu v cc kiu phc hp khc c dn ra nh l

    kt qu ca nhiu ch ci alphabet theo chun ASCII trn bn phm thng thng

    v chng cng c lu tr nh chun EUC ca cc nc t bit.

    Th d v b m k t nhp Unix:

  • T bui u, h iu hnh Unix cng nh POSIX, kiu k t chun US-

    ASCII c dng mt cch rng ri. Gn y, trong cc n bng mi hn, cc

    kiu ny bao hm cc t im ring bit ca tng quc gia. Th d, cng ty

    Hewlett- Packard to lp c mt s t bit, gi l s tr gip ngn ng thiu

    s(native language support:NLS). N bao gm mt dy cc bin s ngoi vi

    (LANG, LC_XX), nu chng tn tai trong phm vi tin trnh ngi s dng v

    nu chng c thit t mt cch hp l; khi , chng iu khin phn cc b

    cc lp thc th vin (library routine)v cc lnh cu h iu hnh(ed,grep...).

    y, chng khng ch bao hm cc c im ngn ng t bit nh vic s dng

    ng n b m 32 Bit khi so snh chui c t hay nhn dng m ch ci(ch ci

    ln/nh, ch s, k t iu khin.....), m cn bao hm c vic ngs dng hp l

    i vi tng quc gia cho im v du phy khi biu din s cng nh c im

    tin t ca tng nc(th d biu din ng -la tin t ca M:1.568,74US$).

    Th d v b m k t Windows NT:

    Ngc vi h iu hnh Unix, Windows NT, khi thit k b m k t nhiu

    quc gia trn th gii, i vi h iu hnh, ngi ta khng nh rng, l mt

    b m a nng. iu ny c ngha l tt c cc chui k t,tn i tng, tn

    ng dn.... u phi dng b m k t a nng.

    Cc c trng ca tng quc gia nh mi gi, k hiu tin t, ting ni....c

    khng nh mt cch c lp vi ci khi to lp h thng v c lu tr tp

    trung.

    Bn cnh bn phm dng nhp cc k t, ngy nay cn c nhiu kh nng

    nhp khc na. Sau y, ngi ta nu ra mt vi phng php.

    Cc phm chc nng (function key ):

    Vic m rng n gin dn ti kh nng, s dng cc nt phm cho cc

    chc nng c bit. l mt bc quan trngi vi vic thit k giao din

    ngi s dng, v y, bn cnh vic nhp cc d liu bng s v ch ci, vic

    lm thch ng cc chc nng cng c to iu kin. Do , mt cch lgic, iu

    quan trng l phi gi vng cc d liu v cc chc nng c tch bit trong mt

    chng trnh ti mi trng nhp, v phi trnh mi s nhm ln. Ch c mt giao

    din ngi s dng ti mi pha tp hai chc nng, th d vic ngng xut d liu

    phi n hai phm CTRL+S, nhiu khi cn t hn, phi iu khin chng trnh

    bng nhiu phm k t ring l.

    Thit b ch th(pointer device):

    C mt bc quan trng nhp tng t, l vic dn vo cc thit b ch

    th nh chut, banh d (track ball). ay, v tr ca con tr ch th trn mn hnh

    c th c iu khin mt cch nhe nhng hn n cc nt phm chc nng

    (cursortaste).

  • Cc mm ha (graphic tablet):

    Mt s tr gip to ln em li vic xc nh v tr ca mt bt ch trn mt

    bng nhp in t c bit. Tuy nhin, chc nng ca n l mt thit b ch th, do

    , ngi ta c th truyn t cc hnh dng vo my tnh mt cch trc tip; th

    d cc d liu cu cc d n kin to hay cc mu y khoa, cc hm chc nng v

    cc biu hay c th s dng cc ch k kim duyt ngn phiu.

    Thit b qut hnh:

    Trong vi nm li y, cc bng ha c c nh vic p dng cc thit b

    d quang in vi phn gii cao, thit b ny gi l my qut (scaner) hnh hay

    ha. Tuy nhin, cng vi cc khuynh hng tn tin khc, cc kt qu qut

    ha khng ch c lu tr trn giy, chng cn c bin i thnh tn hiu in

    phc v nhng yu cu ca nghnh cng ngh thng tin v cc lnh vc khoa

    hc khc.

    7.2.2. Mnh ha v s phn gii

    i vi vic xut ra mt bng phc tho ha thng c s dng mt m

    hnh t bit, gi l m hnh mnh ha. Ngi ta s dng mt h thng ta

    cho cc du v phc; chng xut hin nh mt mnh mn hnh. Tht vy, ngi ta

    gi im ra(0,0) ca ta (x, y) l gc trn bn tri; cc du vt ca cc

    im nh c thu xp ging nh mt ma trn im. i vi mn hnh c kch c

    1024x786 im, th ma trn ta cc im c dn ra nh trong hnh 7.4 di

    y.

    Hnh 7.4. Ta cc im ca mnh ha

    M hnh mnh ho th khc vi phng php vec-t ha; phng php

    vec-t ha ch quan tm ti cc ta ca cc im hnh hc ( th d im u

    v im cui ca mt ng thng). Ngc li, phng php mnh ha phn

    b mi im mt gi tr mu c nh ngha, cc gi tr ny c lu tr nh

    nhng con s. Khi nh lp li hnh kiu ha mnh phi d nh trc mt n

    v b nh; cn trng hp vec-t ho ch cn nh tng im nh ca mn hnh

    ha. Cho nn trc y, ngi ta a chung phng php vec-t ha, v

    phng php ny s dng it khng gian b nh. Tuy nhin, vic lm ti

    (refresh) cc ha phc tp, phng php vec-t phi lm ti tt c cc phn t

    ha tong danh sch, do , qu trnh ny xy ra rt chm; ngoi ra n cn dn

    ti nhng im l ch trn bc ha va lm ti.

    Cng ngh hin i ca cc mn hnh mnh kt ni vi kiu dng mn hnh do

    ngi lp trnh t kin to, to nn ch ng vng vng cho cng ngh thit k

    cc phn mm d ha. y, mi im nh c m t thnh cc mu sc v

  • c biu din bi mt gi tr mu t cc Bit, gi l cc Bit mu(b0,b1,......,bn). i

    a s cc Bit c th c kt hp vi tng ch s ging nhau ca b iu khin

    trnh din (display controler) ti mt bc nh ha. Mt bc nh nh vyc

    biu th mt mc bnh din no .

    Th d v cc mc mn hnh:

    Ngi ta thy rng, mi im nh ca bc ha thng cha ng trong 8

    Bit (ng vi mt byte). Nu chng ta phn on 8 Bit ny thnh 6+2 Bit; vi ch

    nh, i vi mt phn mm ha, iu cn thit l phi thit t mt mt trc

    (front) khong 2 6 mu (cho hnh nh), cn mt nn(underground) kong 2

    2mu.

    V cc lnh phn cng, chng ta c th di chuan cc d liu ca mt mc (i vi

    mt trc); cho nn, mt hnh(figure) ha c th xut hin v di dich trn mt

    nn pha sau c nh(tng t nh mt phong cnh: xe c chuan ng, ni non

    ng yn). Khi trnh din cc phn mm tr chi (gam) trn my tnh, ngi ta

    thy cc hnh nh chuan ng chnh l nhng hnh vung nh to dng c iu

    hng trn mn hnh.

    Cc mu sc c pha trn t ba mu c bn l (rose), xanh l cy(Green)

    v xanh da tri (Blue). V c kt hp cng ba mu (mmi mu c 8 Bit)thnh

    mt tng duy nht (24 Bit) th cn dng qu nhiu Bit; cho nn, i vi mt im

    nh cn mt s lng ch cng ba mu c bn (R,G,B) th khng cn thit;

    m ngi ta ch vit ch s ca ba mu, gi l a ch mu(color address) vo trong

    mt bng c bit, gi l bng chiu mu(color lookup table:CLUT). S truy

    cp i vi cc gi t mu ca mt im nh khi ph din th chuan thnh a ch

    ca mt mc, tng t nh trnh by trong mc 3.3 chng trc. hnh 7.5

    l mt v d, n ch ra dngf d liu cho mt im nh c mu tm sng(bright

    violet) vi gi tr mu (R, G, B) = (215,175,240) v ttr (x, y), Ngi ta lu ,

    mi im nh ch dng 3 Bit ca khng gian b nh; nhng v chnh xc mau

    phi dng ti 24 Bit. S hn ch ca vic m t cc im nh trn 3 Bit khng ch

    tc ng ti chnh xc mu(color accuracy), m cn tc ng ti ch s ln nht

    trong bng chiu mu CLUT; v vy, n cng nh hng ti s lng cc mu c

    th c trnh by ng thi.

    trnh by cc gi tr mu (R, G, B) dng s thnh cc gi tr mu tng

    ng dng tng t; khi , ngi ta dng mt b bin i in t s/ tng t

    (D/A converter); th d cc gi tr mu 0.......255 tng ng vi cc mc in p

    0,0....1,0 volt; vi cc gi tr ny, cc ngun to mu(th d ngun in quang)

    c iu hng.

    Hnh 7.5. Xc nh gi tr mu nh bng chiu mu

    Tuy nhin , tng ny vn cn nhc im trong cc vng im nh. Nhng

    nh hng ca cc chc nng th ph thuc rt nhiu vo phn cng( tc l s

    phn gii c th ca mn hnh). y, cc hnh vung nh v cc ca s ni

  • chung ch phn gii mt cch ph hp vi kch thc mn hnh; c th, n

    khng phi l cac nt v lin tc y , k n ch l nhng khi im nh c

    xc nh theo mong mun ca ngi lp trnh. By gi, nu chng ta pha ln

    ha v bi text (bao gm cc k t); do , v tr ca bi text tong ca s ha

    ph thuc vo phn gii ca mn hnh; khi c th dn ti cc hiu qu ca

    bng thit k ni chung khng c cn i v p ; ng thi, n cng gy tr

    ngi cho mt giao din ca ngi s dng sau ny.

    Hnh 7.6. M t cch thc hin mt bng ha

    Mt quyt nh quan trng dn ti cc nt v nh hng im nh l nt v

    phn gii. cc net v ny, chng hn mt ch ci th khng c trng bi cc

    im nh ca n, m n c trng bi hnh bin v mu sc cung nh cu

    trc(texture) din tch cha ng cc im nh. iu ny th trc ht l bt tin

    v khng hiu ngh khi lu trx v trnh by; tuy nhn, khc vi trng cc im

    nh, vic m t ng bin c phng to hay thu nh mt cch bt k. Hnh7.6

    cho thy: bn tri m t nh hng cc im nh (a); bn phi m t mc phn

    b cho ch A (b). Do , nhng im nh m ngi ta nhn thy, n vn cn th

    kch.

    7.2.3. H thng ca s v qun l trnh din

    Mt trong cc phng tin trnh by quan trng nht c h thng cc my

    tnh Xerox-START m nhim, l s biu th cc d liu trong cc mt ct hnh

    vung ca mn hnh hay trong cc ca s. Ngy nay, k thut ny tr nn ph

    dung tt c cc my tnh; n dn ti kh nng phi xc nh a ch b nh lp

    nh ca mt n v biu th (th d thit b u cui, mn hnh ha...); do ,

    cn phi li vic xut cu trc t vi ca mt tin trnh trn mt phn c dch v

    xc nh ca mn hnh. Nu trc y cc chui k t c dn ra bi mt k t

    c bit (th d ESC ) th ng thi chng cng t c mt lnh cho b vi x l

    trnh din; do , iu ny c thay th ti cc h thng ca s nh cc chc

    nng tng hp; , cc s liu ca s (kch thc, v tr, mt ct...) c th c

    thay th mt cch tng tc nh cc thit b nhp (chut, cn li...).

    Cu trc tin trnh ca mt ng dung ha c bin i khng ngng.

    Nu trc y, chng trnh ng dung cn cha ng tt c cc th tc xut

    ha nh l mt th vin (xem hnh 7.7); do , ngy nay hu nh iu ny

    c tch bit.

    Hnh 7.7.*******************

    Cng vic trnh din nh xc nh v tr chut, kch chut, dn mt bi

    text...c qun l bi mt tin trnh xc thc hay bi mt ca s iu hnh

    (Window manager), (xem hnh 7.8). C hai tin trnh sau y c kt ni vi

  • nhau theo kiu quan h client/ server: tin trnh ngi s dung i din cho mt

    client, cn tin trnh ca ca s iu hnh i din cho mt server vi s trnh din

    cc ha mong mun.

    Do , vic qun l c thit k mt cch cn bn nh mt chng trnh lp

    i lp li; m ti , cc hot ng c thc hin nh mt phn ng khi trnh

    din ca ngi s dung.

    InitProcess

    LOOP

    WaitForEvent (Mouseclick, KeyBoard, DisplayUser Programms,...)

    ExecuteNecessaryProcedure;

    END (*LOOP*)

    Hnh 7.8*************************

    H thng cc tin trnh ca s gn nh c iu khin mt cch bin i, m

    , cng ging nh cc bin c khng ng b, khng ch cc vic trnh din

    c thc hin t bn ngoi (nhp chut ), m c cc cng vic ha ca chng

    trnh ng dung cng c thc hin t bn ngoi. y, h thng cc bin c trao

    i thng tin nhn c s tr gip, cho nn n em li s trnh din v cc

    nhim v khi to dng thng tin; v do , n cng mc ni vo hng i trung

    tm ca ca s qun l.

    Vic phn b cc chc nng gia chng trnh ngi s dung v ca s qun

    l lm yu cu thm v vic tch chia cc nhim v mt cch r rng; gia

    cc nhim v chun ca ca s qun l (cc nhim v ca giao din ngi s

    dng) v cc yu t ha c bit ca chng trnh ngi s dung c phn

    bit vi nhau, tc chng c nhng u im khc nhau nh sau:

    Cc kt qu ca nhiu tin trnh c lp c th c kt trong mt h thng c s ni chung; do , chng c lm sng t t hai v d sau y:

    Kt qu do cc b cm bin (sensors) khc nhau trong iu khin cng nghip th khc nhau.

    Vic m t song song cc kt qu ti nhiu chng trnh vi chc nng ging nhau th chnh xc li phn mm s mun mu mun v.

    H thng trnh din ha c th c chuan dch trn cc my tnh khc nhau trong mng my tnh, xem mc 7.2.5. di y. iu ny to ra nhng

    chc nng sau y:

    Kim tra mng: trn mi my tnh tn ti mt tin trnh i din (agent); trong s c lp vi mt chng trnh trung tm, tin trnh i din ny

    biu th trng thi ca my tnh trong mt ca s ring l.

  • Qun l mng: vic phn b v qun l cc phn mm c th c t chc bi mt khng gian lm vic tp trung; trong , c th trn mi my tnh

    c mt tin trnh lm cn bng thit b u cui tn ti nh mt tin trnh

    i din; m tin trnh ny ph by vic xut d liu trn mn hnh trnh

    din trung tm.

    Vic qun l ca s c iu chnh tp trung; cn i vi mt p dung, vic nhn thy v cm nhn (look and feel) th ging nhau.

    Vic s l cc bin c c th c chuan giao cho mt h thng con (chng hn cho mt server); v do , n lm gim ph ti cho b vi x l cu cc ng

    dung mt cch thc th

    tng ny c ngha rng, trng thi hin hnh ca mt ca s th khng ch

    quen thuc i vi chng trnh ngi s dung; m cn cho thy, cc gi tr ca

    cc bin trng thi (nh v tr ca s, kch thc ca s...) phi cto lp mt

    cch r rng bi mt server.

    Cc ca s c th xp chng ln nhau hoc c th b che ph tng phn. i

    vi cc phn khng c biu th ca cc ca s , c hai kin:

    Mt l, c s c server lu tr, do , k t khi ca s c m ra cho ti khi mt phn c s b che ph (th d khi m rng mt ca s, hay khi di

    chuen ca s chng ln trn) th ni dung ca s c in vo mt cch t

    ng. iu ny i hi nhiu dung lng b nh i vi tn trnh server; nhng,

    n trnh c cc th tc b sung in vo ni dung ca s cn thiu trong

    chng trnh ngi s dung.

    Hai l, trong trng hp c nhu cu, chng trnh ng dung phi biu th cc phn ca s cn thiu mt cch mi m. iu ny i hi dung lng b nh

    t hn, v vy, ngi ta c th s dung cc th tc chuyn dung chng trnh

    ngi s dung. Cho nn, n dn ti mt sc chu ti ng hc cao hn cho b vi

    s l ngi s dung.

    Vic thc thi c th th ph thuc vo h thng ca s c s dung. Nu

    ngi ta ph mc quyt nh ny cho cu hnh tn ti trong thi gian lm vic ca

    server(to lp vic lu tr) hay cho ngi lp trnh ngi ng dung; do , c th

    xut hin trng hp, khi lp trnh ng dung cng nh khi lu tr trn server, n

    s c gim thiu v do , vic ng dung s xy ra li vng ca s c thit

    lp; tuy rng vic lp trnh chang c li g c. Do , mc ch l phi quy nh

    cc quy c cht ch cho s ph din.

  • 7.2.4. Hin thc o

    Mi y, m phng hon ton cc cnh chuyn ng th cn phi dn xen

    vo nhng thit b xut nhp c bit; nhng thit b ny to ra khng gian 3 chiu

    (3 demension: 3D) trong giao din ngi s dng. C th, bao gm cc th t nh

    chut, cc b ch th; nhng th ny cho php iu chnh v tr theo 3 chiu;

    ngoi ra cn c cc thit b nhp, m v tr u d ca n (tracker) c xc nh.

    Nhng h thng tn tin hn cn xc nh c trng thi biu l ca con ngi

    nh h thng cc camera v cc sensor cm bin khong cch. Nh , cc kiu

    trnh din nh ng tc khoa chn ma tay (gestic) hay ng tc bt chc

    (mimic) l c th thc hin c mt cch d dng. Ngay c k thut trnh din

    ho cng c b sung thm nh cc h thng knh c bit hay cc thit b trnh

    din khc; v vy ngi ta c th iu hng vic trnh din bt c nh th no

    theo mun ca con mt, c mt khng gian y n tng xut hin trc mt

    khn gi.

    Ngoi cc kh nng cho n ny cha c lm y v ngoi chi ph kinh t v

    k thut cn qu cao; tuy nhin, k thut hin thc o khng gian mang li nhng

    suy ngh mi cho giao din ngi s dng, m chng ch lm hon ho thm v

    to iu kin cho nhng p dng mi, m vi iu kin ny, vic cn thit phi

    dn ti nhng vn b sung thm cho trng hp iu khin t xa. Tt c cc

    kh nng v cc vn c m t trong cc mc trc c chuyn ti mt cch

    trc tip trong ng cnh ba chiu (3D); do , i vi giao din 3D, vic phn loi

    h thng nu trn c coi l hon m trong mt cu trc client/ server.

    7.2.5. Qun l giao din ngi s dng

    Vai tr c bit ca giao din ho l chim lnh vic qun l cc i tng,

    m ngi gi l h thng qun l giao din ngi s dng (user interface

    management system:UIMS). Vic qun l ny cng chnh l qun l cc gi thng

    tin phn mm. Vi s tr gip ca vic xut nhp bng cc thit b khc nhau (nh

    chut, bng ho, loa m thanh), ngi ta c th phn on cc th tc ha

    thun khit nhm d dng qun l nhng bin c khi nhp v nhng mong

    mun khi xut. Hnh nh thng thng ca giao din ngi s dng chnh l s

    trnh by hnh thi cc i tng ho (th d thu hp mt ca s hay s dng

    cc biu tng), iu ny t c do c bc qun l ny. Giao din ny th

    c lp vi giao din ha ca ngi s dng (graphical user interface: GUI).

    Giao din ha ca ngi s dng c m t nh mt danh sch gm cc th

    tc, cc i tng v cc giao thc.

    thit lp mt s qun l nh th c nhiu phng php khc nhau. l

    vic trnh by cc quy tc cho cc bin c v thit lp vic qun l khi lp trnh

    trong h thng qun l giao din ngi s dng.

  • Th d v cch biu l:

    Nu mt biu tng (icon) c dng cho mt ti liu, n s c chn (bng

    cch nhp nt chut), c li i v sau c bung ra ti mt v tr mong

    mun. Vic li v th ny (drap and drop) tc dng ln h thng qun l giao din

    ngi s dng; khi , ti liu chi tit c di trt v c biu th ti v tr

    mun thit t ca ngi s dng.

    Kt qu ca gi h thng cng nh kt qu ca cc hnh v ho ca biu

    tng (th d biu tng v cc ti liu vn bn th du mnh trong ca s v ch

    printing, biu tng v my in printer th dn ti trng thi in, khi my in lm

    vic mt t giy in ti liu c dn ra chm chp) c m nhim bi h

    thng qun l giao din ngi s dng v chng th ging nhau ti cc chng

    trnh ngi s dng.

    Cch lm nh va ni c th c vit bng cc ngn ng lp trnh hay ngn

    ng logic t thc. u im ca h thng qun l giao din ngi s dng l ch,

    n c th thay i mt cch d dng v tp trung. Cho nn, vic lm thch hp cc

    chc nng cn thit cng nh cc vic sa li c tc dng c nh ging nhau

    tt c cc chng trnh ngi s dng.

    Khc vi cc thnh phn ca giao din ngi s dng chun, i vi cc

    chng trnh ng dng, cc giao din chun ny u ging nhau v hu nh chng

    cng c phn loi bi cc nh thit k h iu hnh; do , tnh trng ny c v

    khc nhau cc thnh phn ha chuyn dng. y, s n lc ht sc ca

    ngi lp trnh l rt cn thit, n c tn dng ngay mi chng trnh. ng

    thi, n gin ha cng vic lp trnh ny v cho php vic lp trnh tng

    tc m khng cn biu th v cc chc nng ca giao din ngi s dng, ngi ta

    nhn c nhiu phng php khc nhau:

    To lp cc tp tin c bit (recource files): Trong trnh son tho ha hay trong hp dng c kt cu ti nguyn ca h

    thng qun l giao din ngi s dng, ngi ta c th kt hp vi nhau mt cch

    ph hp cc yu t nh menu, biu tng (icon), cc nt chn (select button), cc

    bin c chut, cc chui m thanh (tone sequence) Cc bin c s c dn ti

    nh cc cu trc tp tin trong cc tp tin ngun v c np hay c s dng

    trong thi gian vn hnh h thng qun l giao din ngi s dng. Cc tn (c

    quy nh cc trnh son tho )ca cc i tng hnh thnh nn cc chng trnh

    ngi s dng, nhm p dng cc i tng thch hp c s tr gip ca giao din

    ha ngi s dng.

    To lp m chng trnh (programm code): Song song vi vic to lp v cc tc ng ha (tng tc trc quan) v cc

    phn ng vi s tr gip ca mt trnh son tho ho, iu cn thit l phi m

    t mt cch y cc gi chng trnh (program call) cho giao din ha

    ngi s dng bng mt ngn ng lp trnh no thnh mt tp tin. Nu tp tin

    c bin dch, chng ta s nhn c mt bc nh ha trong h thng qun l

  • giao din ngi s dng. Mt th d c trng cho h thng lp trnh, lp trnh

    kiu ny l ngn ng lp trnh DELPHI ca hng Borland; h thng ny c to

    lp bi m chng trnh trong lp trnh hng i tng PASCAL.

    7.3. H thng ca s v ho tit Unix

    Giao din ngi s dng trong Unix c tiu chun ho trong mi trng

    son tho c s (Common Desktop Envionment: CDE) nh UNIX-98 v UNIX-

    99. Vic thc thi c ngha nht i vi cc h thng Unix ny lin quan n mt

    h thng cc ca s c bit, gi l h thng X-Windows. Sau y chng ta s

    nghin cu h thng ca s ny tc dng nh th no (?)

    Mt trong cc d n quan trng ca nhng nm 80 l d n ANTHENA ca

    vin cng ngh Bossten; ti y, ngi ta bt u th nghim nhm thit c mt

    phm vi cng vic cho cc my tnh ni mng vi nhau. Mt phn quan trng ca

    d n nhn c s ti tr ca hng Intel; l vic thit lp mt giao din

    ngi s dng; giao din ny c tn ti trong mng mt cch phn b v c

    lp vi my tnh ang dng. Ngi ta gi phn ny l s k tc ca mt h thng

    ca s trc (Window System) c pht trin mt cch n gin tr thnh

    mt h thng mi c tn X-Window-System.

    Trong cc mc sau y, chng ta mun xem xt h thng ny mt cch k

    cng hn. Khi , chng ta s t c vic lm sng t cc m hnh v mt bn

    phc tho ha c bn.

    7.3.1. Phc tho ha kiu client/ server vi h thng X-Window

    H thng X-Window th bao gm mt th vin ho Xlip; th vin ny c trnh tin dng cc tin trnh server s dng; tin trnh server cha ng ca s

    qun l v cc cng c thc thi xut nhp trn giao din ngi s dng.

    Hnh 7.9********************

    Bn phc tho ha kiu client/server c thc hin mt cch n gin

    trong th vin Xlib. to ra mt s kt ni vi server cng nh m u cuc

    trao i, client phi thc hin mt gi h thng XOpenDiskplay(); gi h thng

    ny cha ng tn my tnh v s liu mn hnh nh l mt i s; tt c cc

    nhim v tip theo c tin hnh mt cch t ng a ch ny. Nu nhiu tin

    trnh cng c thc hin gi h thng ny trn cc my tnh khc nhau, do ,

    nhim v ca cc tin trnh ny u xy ra trn mt v ch mt server m thi.

    Nhng thng tin c li trong mng c th c ch r trn mn hnh ni

    chung, m trc khng cn phi tu chnh bi chng trnh ngi s dng.

    Cc thng tin v v tr v kch c ca ca s c ngi s dng sp xp mt

    cch tng tc trn mn hnh, cc thng tin ny th ch quen thuc i vi server.

  • Mt tin dng mun cho thy cc d liu v ca s ca n, trc heet, n phi bt

    u d tm vi lnh XGetWindow(). 7.3.2. Phc tho ca s vi h thng X-Window

    Th vin Xlip ch cha ng nhng chc nng ha n gin vi cc hnh

    thc trnh din khc nhau. i vi mt ca s tng hp vi thanh trt, xem hnh

    7.10, ngi s dng mt s lng ln cc gi h thng ca cc chc nng s cp

    ny.

    Bn phc tho logic v vic to lp v t tn ca s i vi h thng X-

    Windows l r rng v n gin. Xut pht t mt ca s c s, tt c cc ca s

    (c nh ngha theo ) c biu th bng mt hnh ch nht trong ca s c

    s ny; v nh ni, ci tr nn nh nhng mu bi bo tch bit (clipping).

    Di khi nim ca s, ngi ta hiu l mt hnh ch nht s cp. Hnh ch

    nht ny chim mt ng bin v mu nn, n c nh ngha trn bnh din

    ca th vin Xlip. Hnh 7.11 ch ra mt h thng cc ca s khc nhau; y, mi

    ca s c biu th bi mt ch ci.

    Mi ca s c th cha ng mt hay nhiu ca s con (subwindow), kiu cu

    trc ny c biu th qua mt cy, m im gc l ca s c s (root window).

    Ca s c s l ton b ca s ca mn hnh.

    7.3.3. M rng kiu dng ha

    Trn c s cc chc nng n gin ca th vin Xlib, cc lp mi cao hn phi

    c thit lp vi cc chc nng cao hn na. Lp trung gian gia cc gi h

    thng ca chng trnh ngi s dng v cc chc nng c chi tit ho ca th

    vin Xlib gi l Xtoolkit (hp cng c) v n c th c thc hin rt khc nhau.

    Cc i tng ha ca lp ny c gi l Dialogobjects (cc i tng hi

    thoi), chng c to lp rt khc nhau v tu thuc vo ngi lp trnh. gi

    vng cc u im ca mt giao din ngi s dng thng nht trn bnh din cao

    hn v tiu chun ha cc ha tit (motif) v cc tnh cht (look and feel) ca

    cc i tng hi thoi, mt giao din ngi s dng thng nht cho Unix c

    cp. l c s phn mm ha m rng (open software foundation), chng

    c dn gii theo mt hip nh ca cc nh sn xut. Bn cnh bn hng dn

    to kiu dng (motif style guide), cn c mt bn m t v vic qun l ca s cn

    thit (motif window manager), chng bao gm nhng i tng hi thoi nhm

    m rng kiu dng (motif widget) khi lp trnh hay thit k ha.

    Tuy nhin, cc m hnh to mu v to nh mnh ha c khuynh hng loi

    b mt cch trc tip cc chc nng ca th vin Xlib. Mnh ha ny lm vic

    vi cc b fonts im nh (pixelfonts) cha c x l. T l do ny, hng my

    tnh SUN thit t mt h thng ca s mng my tnh (network-window-

    system: NEWS). H thng ny l c s m rng ngn ng m t trang (post-

    script) cng nh s dng cc fonts v cc i tng ha c x l.

  • trong h thng X-Window, vi cc i tng hi thoi, ngi ta nhn c

    cc c im c bn sau y:

    + Cc nt bm c m phng c th n ln xung c (XmPushButton).

    + Cc bi texts (c nh) c th trnh din c (XmText).

    + Cc thanh trt c th lm dch chuyn ni dng trn ca s (XmScrollBar).

    + Cc trng nhp v ha c th di chuyn c (XmDrawingArea).

    + Cc tn ti mt ca s chn tp tin (XmFileSelectionBox).

    c lp vi cc tc ng ha tit ha, hng my tnh SUN cn to thm hp

    cng c Xview, cn hng my tnh AT&T to thm hp cng c Xt+, c hai u

    c bin son trong th vin Xlib.

    Giao din dng lp trnh ng dng c m t bi cc ha tit nh mt ngn

    ng c chun ho, gi l ngn ng giao din ngi s dng (user interface

    language: UIL). Trong ngn ng ny, cc yu t ca giao din ngi s dng cn

    thit c th c tip nhn m rng hm s v hnh hc. Hnh 7.13 ch ra s

    phn lp ca phn mm ha m rng

    Hnh 7.13*************************

    i vi nhng nhim v khc nhau, hp cng c c nhng cng dng sau y:

    + Vic to ra hay xa i cc ha tit ca bn thit k ha m rng c th

    thc hin mt cch nng ng.

    + Vic thay i cc ha tit m rng c th thc hin bt c khi no trong thi

    gian qun l ca s.

    + Vic xut- nhp hay vic to lp mt s trnh din quay hi c qun l tp

    trung.

    + Cc c ch trao i thng tin gia cc ng dng cng nh gia cc ca s

    ca chng lun lun c thit c sn sng. iu ny to ra mt thit b ca b

    m tp trung, cn gi l c cu bng kp ct v dn (clipboard- mechanismus

    cut-and-paste).

    Cc nhim v ny c gii quyt bi hp cng c cc ha tit vi cc phng

    tin lp trnh hng i tng. Hp cng c cha ng cc c cu di truyn li v

    cc kiu sp xp tng hp, m ngi lp trnh c th s dng mt cch thun li.

    Ngi ta nhn thy rng, vi cc nhim v lp trnh ha thng thng, ngi ta

    t c chc nng Xlib cho mt ng dng mt cch tin li, khng i hi nhiu

    cng vic phc tp.

    Mi mt s m rng v ha tit ha th biu th mt s thuc tnh no ;

    tc l, n c trng cho mt tnh nng no ; m vi tnh nng ny, mt khng

    gian b nh c phn b. Ngi ta c th c thy s che ph b nh ny khi

    khi xng i tng t mt tp tin ngun.

    C hai kiu m rng ha tit ha. l kiu n gin v kiu kt hp. Sau

    y, chng ta s ln lt ni v hai kiu ny:

  • Kiu m rng ha n gin: l kiu ha nguyn s; chng c dn xut t cp hng XmPrimitives (nguyn s) v c biu th st cnh nhau

    trn mn hnh.

    Ngi ta lu rng, mi lp c dn ra c mt ngha c bit i vi lp

    pha trn nh cc thuc tnh (vi cc bin) v cc phng php (vi cc th tc).

    Kiu m rng ha kt hp: Kiu m rng ny c tc dng nh mt thng ng a nng (container), chng cha ng nhiu kiu ha m rng khc

    nhau, gi l cc ha khi thu (primitives).

    Cc thng ng a nng xc nh cch b tr hnh hc ca cc kiu ha m

    rng ang cha ng. Hnh 7.15 l mt th d v dng v bn ngoi ca mt ca

    s; ca s ny lm nhim v xut cc thng tin ti ngi s dng. Kiu m rng

    ha kt hp vi thng ng a nng ny cn c gi l kiu m rng hn hp

    hay kiu m rng sp xp.

    Hnh 7.15*********************

    Bn phi hnh 7.15 l cu trc cc i tng ca kiu m rng kt hp; cu

    trc ny c lin quan ti quan h cha ng. Kiu ha m rng hn hp

    c biu th l kiu m rng cha (parent widget). Kiu sp xp c kt ni mt

    cch trc tip vi vic sp xp cc ca s. Bnh thng, mi kiu m rng c mt

    ca s hnh ch nht khp kn. Nh , mt s sp xp ca s u xut hin bi

    mt quan h cha ng s sp xp m rng. Ca s cha thuc kiu m rng cha,

    n cha ng ca s con; trong ca s con cng cha ng kiu m rng con tip

    theo

    Ca s cao nht (top- level-window) khi sp xp cc kiu m rng c nh

    ngha bi cng dng c gi l kiu m rng v (shell-widget). Ni mt cch

    chnh xc, n cha ng mt kiu m rng hn hp, trong , tt c cc kiu m

    rng khc c cha ng, v n dch v cho vic trao i thng tin gia ca s

    qun l v s sp xp cc kiu m rng hn hp. Nhng, n cng c th cha

    ng kiu m rng v tip theo; chnh l nt ny (pop-up). Nt ny s m ra

    cc ca s ( hng dn, qun l hay thng bo li), cc ca s ny c th

    thnh lnh xut hin v ri li bin mt

    7.3.4. Phng php din t cc s kin.

    Tin trnh server ca h thng X-Window bao gm nhng vn tng t nh

    cp trong th mc 7.2.3; ti mi vng lp vi gi h thng XtMainLoop(),

    chng ta kch chut trn mt i tng hi thoi, th ci g s xy ra ?

    Ca s iu hnh ca h thng X-Window s phn b tt c s trnh din cho

    i tng hi thoi; khi con tr chut ng ngay trn i tng ny v n c

    kch hot ( v tr pha trn ca danh sch trnh din). Nu ca s khng quan tm

  • ti bin c ny, th do , n s t c s sp xp t di ln trn, ti ca s

    cha v tip tc cho n khi: hoc l n t ti ca s gc, hoc l n lm ng nh

    khng hay bit g c.

    B sung thm kh nng ny, ngi ta c th iu chnh nh vic gn cht cc

    yu t mun quan tm (nh vic tho mt mt n cha ng cc s kin

    eventsmask-ca mt ca s). iu cn thit i vi mt ca s l phi dn ti cc

    yu t ca cc ca s k cnh (sp xp theo phng ngang) nh s che ph

    (grabbing) nh ni. iu ny th c li, nu ngi ta mun li mt ng

    thng vo trong phn che ph ca mt ca s; khi , chng trnh li cc

    ng thng cn dng im th hai trong ca s che ph ca n kt thc vic

    trnh din.

    By gi chng ta c th nh ngha nh th no v phng php din t bin c

    cho mt ng dng c th? V iu ny, mt phn ng mong mun phi c lp

    trnh nh mt th tc tc ng hay mt lp thc gi tr li (callback-routine) v

    c mc ni vi mt th tc c bit XtCallBack() trong thi gian chy

    (runtime). Nu mt bin c xut hin trong XtMainLoop(); do , bin c c

    ko di tip tc cho ti khi t c mt bin c i din ca cc ca s. Mt i

    din bin c nh vy c th hoc l n t biu th bin c, hoc l n c nhn lui

    trong bng chuyn i; khi , mt th tc no c gi. By gi, v tr ny,

    u tin, lp thc gi callback c gi ti.

    Vn biu th s l ch, ti mt li trong lp thc callback, mt s sa

    cha li bng tay bi ngi s dng l khng th c. Mi s trnh din c th

    c ch c xy ra trong XtMainLoop(), ngha l c mt ci g hn ch s

    tip din trong lp thc callback. Mt kh nng na l phi ghi chp li v phi

    kt thc lp thc callback. v tr thch hp trong chng trnh, ngi ta phi c

    chn trn cc li xut hin ln cui.

    7.4. H thng ca s trong Windows NT

    Giao din ngi s dng ca Windows NT c pht trin t giao din c ca

    Windows 3.1. iu c bit l, giao din 16 Bit c lp trnh v xut/ nhp

    ha (application programming interface: API) c m rng thnh 32 Bit, gi l

    Win 32 API v c trang b thm cc chc nng ca h iu hnh. Th d, ngi

    lp trnh c th truy cp trn mt h iu hnh a nhim, a tin trnh, c u tin

    v an ton. H iu hnh ny s dng mt h thng b nh 32 Bit tuyn tnh.

    Tuy nhin, tt c cc tn (tn cc tp tin, tn cc chc nng) c gi

    nguyn theo h thng c, ch c cc b ch th v cc th tc th khng c quan h

    g c vi m hnh b nh c da trn dy tun t, m ch c quan h vi m

    hnh b nh o tuyn tnh. Cc chc nng b sung cho vic ng b, cho cc c

    ch an ton i tng v cho vic qun l b nh th cho truy cp trn phn ln

    nhn h iu hnh Windows-NT-Executive.

  • H thng giao din m rng Win32-API c to ra nh mt trong cc h

    thng con (xem hnh 1.7). Do , tnh cht look-and-feel ca giao din c

    lm thch hp mt cch mnh m hnh dng bn ngoi ca Windows 3.1 quen

    thuc, nhm n gin ha s qu t Windows NT ti ngi s dng. version

    4 of Windows NT, phng php hp l khng ch lm thay i giao din ca h

    thng Win32-API trong cc nhn ca h iu hnh, m cn lm thch hp cc c

    trng look-and-feel ca Windows 95, n l phn k tc ca Windows 3.1.

    Tuy nhin, Windows NT l mt h thng a nhim, ch khng phi l h thng

    a ngi s dng. iu c ngha rng, nhiu ngi s dng khng c th lm

    vic ng thi trn mt my tnh. Vi iu ny, phng php hp l l, s tn ti

    cc tin trnh i din phi l ca cc ngi s dng xc nh. Khc vi h thng

    X-Window, hin nay trong Windows NT, khng c giao din ngi s dng phn

    b c tr gip. Mi ng dng c d kin thc hin mt nhim v ha, n

    phi thc hin nhim v ny trn mt my tnh cc b, ch khng th thc hin

    trn mt my tnh khc, gi l displaycomputer. Nhng, nu ngi ta mun t

    c nhim v thit k ha vi cc tin trnh khc nhau trn cc my tnh khc

    nhau, do , trn my tnh ny, mt tin trnh ph din c ngi s dng lp

    trnh phi c khi ng; tin trnh ny n nhn cc d liu (dng cho ng

    dng) qua mng my tnh (xem chng 6 v cc cu trc trao i thng tin khc

    nhau). Khi , nhim v s c chuyn giao trn displaycomputer h thng

    ha.

    7.4.1. Cc cu trc c s

    H thng con Win32 c phn thnh 5 b phn, cc b phn ny th ph hp

    vi h thng giao din ca Win32-API.

    Giao din Win32-API bao gm cc thnh phn ring l sau y:

    + Ca s qun l (windows manager);

    + Giao din thit b ha (graphic device interface: GDI);

    + B kch to thit b ha (graphic device driver: GDD);

    + Cc chc nng h iu hnh (vi tp tin kernel 132.dll);

    + Cc chc nng khuyn gii (console function) i vi vic xut/ nhp text.

    Cc b phn ny c cha ng trong cc th vin, gi l th vin kt ni

    nng ng (dynamic link library: DLL); khi khi ng, chng c np nh mt

    h thng.

    Giao din thit b ha GDI cho php v phc tho v thao tc cc i tng

    ha tng th n gin, nh im, ng (thng v cong), vng trn, ca s, cc

    thanh trtCc chc nng ha c son tho trn cc chc nng ca b

    kch to ha; cc b kch to ny li gi ti b kch to ca nhn h iu hnh

    v do , cc phn cng cng c iu khin thch ng. V mi ln gi cc gi

    cc chc nng ha ca chng trnh ngi s dng s thit lp mt chui cc

    nhn h iu hnh bao gm giao din thit b ha GDI, b kch to thit b

  • ha GDD,v do v cng mt thi gian! V th, gia tng hiu sut, mt

    cng ngh c tn arttribute caching (s tr du thuc tnh) c in thm: Ngi

    ta thy c nhiu gi h thng ca chng trnh ngi s dng gp nhau vi i

    tng tng t; cho nn, chng s c thu gom chng trnh ngi s dng v

    c dn tip nh l mt thng tin ring l ti giao din thit b ha GDI.

    i vi th vin GDI cng c quan tm bng mt cng ngh tng t. l

    cng ngh batching (s phn t) cho cc phn ng nhanh. Tt c vic gi hm

    chc nng c np vo hng i, cho ti khi hng i y hay cho ti khi nhp

    cc d liu. Tip , b m tng th s chuyn giao cho h thng con Win32 bi

    mt thng tin duy nht. C ch ny xy ra rt nhanh, khng c hiu ng li xut

    hin khi trnh din ha trn mt my tnh chun.

    Trnh iu hnh ca s to ra c tnh look-and-feel, trong , n dch v cc

    c cu ca s v nh cc nt n m rng hay thu nh ca s, to ra cc thanh

    trt, k c vic qun l danh sch trnh din (th d ca s no che ph tn ca s

    no); ngoi ra, n cng thit t vic nhp d liu cho mt ca s ca mt

    chng trnh tng ng. V vy, n cn s dng cc th tc xut/ nhp, thc

    hin chng trnh ng dng c lp vi cc thit b phn cng ang tn ti (th d

    kiu chut).

    V MS-Windows c coi l h thng chim t b nh, do , ca s qun l

    khng lu tr nhng phn ca s khng nhn thy, m n ch m nhim v

    bo hiu cho ng dng, nu ca s phi c phc ha mt cch mi m; v trc

    cc phn ca s khng th nhn thy th nay c nhn thy. Ngay c, vic

    qun l mt b nh trung gian ( h thng m rng) i vi cc i tng (th fuj

    clipboard) cng c n thc hin.

    Cc chc nng khuyn gii l cc chc nng tp trung xut/nhp cc k t

    v c cc h thng con s dng (POSIX, OS/2, MS-Windows). Vic xut-

    nhp cc bi text ca cc chng trnh bao gm cc giao din ngi s dng

    hng k t khng c s tr gip ha, chng c thc hin mt cch c mc

    ch trong cc ca s c bit, gi l ca s khuyn gii (consolewindow); ca

    s ny c h thng m mt cch t ng.

    7.4.2. Vi nt v thit k giao din ngi s dng

    Ngc li vi h thng m rng X-Window, h thng ca s ca Windows NT

    ch cn ngi ta nm c vi loi ca s tng hp. Thc ra, y ch phn bit

    c hai loi ca s: ca s chnh v ca s ph.

    Sau y, chng ta mun kho st vi k thut tng tc c bn, chng c tr

    gip bi h thng giao din Win32- API vi cc i tng v cc phng php

    ph hp. Mi ca s chnh trong Windows NT (cng ging nh ca s ha tit

    trong h thng X-Windows) c nhng phn chnh sau y:

  • + Khung ca s (frame): n c th c s dng khi kch chut thu nh hay

    phng to;

    + Thanh ghi tiu (title bar): trong ngi ta c th nhn thy tn ca ng

    dng;

    + Biu tng (icon): n l biu trng ca ng dng;

    + Thanh cun (scroll bar): ngi ta dng khi mun xem cc phn ni dng

    cha c th hin ca s;

    + Thanh menu (menu bar): ch ra cc trng khc nhau m ngi ta cn ti;

    + Cc nt n iu khin (control pop-up): dng thu nh, phng to hay ng

    ca s li;

    + Thanh trng thi (status bar): trn , cc thng tin trng thi c dn ra.

    Cc ca s c th c xp chng ln nhau hay c che ph; y, ca s

    hot ng l ca s khng b ca s khc che ph, n c biu th l ca s ni

    ln pha trc nht trong cc ca s th hin trn mn hnh.

    Thanh cun c dng lm dch chuyn thch ng th hin tng khong ti

    liu ln ca s son tho. Khong ti liu c nhn thy trn mn hnh ny l mt

    phn d liu ca ton b ti liu cha ng trong ca s ny.

    Ca s chnh ny cn c nhiu tnh cht cn c lu . Tht vy, ngi ta c

    th nh ngha s dng cc ca s pha di vi nhiu cch khc nhau. Khc vi

    h thng m X-Window, loi ny ch c vi kh nng.

    V Windows NT cch th hin cc d liu tp trung c dng ph bin, do

    i vi mi tp tin, ngi ta c th m mt ca s ring l; , trn thanh tiu

    , khng cn thy biu tng ca chng trnh tin dng, m ch xut hin cc d

    liu. Bn cht ca ca s d liu trong ca s chnh ca chng trnh ng dng

    c iu chnh nh giao din a ti liu. Giao din ny cho thy rng, ca s d

    liu cn gi l ca s con s c m rng ph hp vi mc bn ngoi v bn

    trong ca ca s tin dng. Ngoi ra, thanh tiu ca ca s d liu c b i;

    tn th c lm lan rng cng vi tn ca ng dng trong dng va c tn tp

    tin va c tn ca ng dng; cn biu tng v nt ny iu khin ca thanh tiu

    d liu xut hin trong thanh menu ca ng dng. Hnh 1.18 cho thy: bn

    tri th ca s d liu l mt phn thu nh trn ca s ng dng; cn bn phi

    th ca s d liu c ni rng ra trng kht vi ca s ng dng. Ca s d liu

    c kt ni trc tip vi ca s ng dng. Khi ca s ng dng ng li, do ,

    ca s d liu cng c ng li mt cch t ng.

    Nu cc ca s d liu thuc mt tp tin ring l, do , kh nng ny phi

    c s dng sm hn chia x ca s chnh thnh cc ca s thnh phn. Do

    , ngi ta c th d nh mt nt ny ha cho thanh cun, cng vic ny lm

    xut hin mt thanh tch. Vic m t cc d liu trong ca s l nhim v ca

    mt ng dng c th no .

    Khc vi ca s chnh, cc ca s ph c kch c c nh v c s dng

    thng bo hay m t cc thng s bn trong khi n c gi l ca s c

    tnh t biu. Cc ca s ph c lu ti v tr tng i ca chng trong ca

  • s chnh v c kt ni cht ch ti ca s chnh. Chng hn, nu mt ca s

    chnh s l ca s hot ng v c th nhn thy c mt cch y , do , ca

    s ph s c l ra mt cch t ng c nhn thy. Th d, i vi ca s

    ph c th va gi xong th tr thnh mt hp thoi tm v thay th, hp thoi

    in n, hp thoi chn font, hp thoi chn mu, cc ca s trn mu v ca s

    thng bo.

    Qua ca s chnh v ca s ph, h thng giao din Win32-API cn to ra mt

    s lng ln cc i tng hi thoi khc nhau nh nt ny iu khin, cc nt tu

    chn, cc nt kim tra, hp cc danh sch chn tnh ng, cc danh sch ny lm

    vic nh mt menu y hoc vi hay cc tp tin c by ra nh mt trnh qun l

    cc tp tin vi cc biu tng v cc bi text. Ngoi ra cn c cc vi cc bi

    text c sn hay c th son tho thm vo v cc thanh dng c.

    7.5. Cc bi tp ca chng 7

    Bi tp 7.1. V giao din ngi s dng v lp trnh trc quan

    Nu c ch gii php tp trung ca mt vn kiu tng t trong thc t th

    r, ngi ta c th m hnh ho n bng hnh v trong giao din ngi s

    dng.

    a). Bn cnh cc quan h c nh n gin gia m hnh v gii thut c to

    lp. S m phng ny c thit lp mt cch rt n gin, ngha l trong ,

    trnh c mi phin phc, th d nh vic s dng cc biu tng.

    b). Nu ngi s dng phi nhn thc s logic bn trong ca chng trnh, do

    , iu ny c thit k cho mt vic hc tp sng to; , u tin tnh tng

    hp c c c v rt thun tin trong qu trnh s dng.

    Bn hy thc hin cc nguyn tc ny cho mt v d n gin. i vi vic

    qun l cc d liu, ngi ta c th s dng cc cng vic trong mt nh kho lu

    tr nh cc hnh nh ca ngi lp trnh. y, vic cung cp, vic sp xp cc

    bao gi, vic cht kho v phn loi th r, chng tn ti nh mt s tham chiu

    ca ngi s dng.

    Cho ci bn hy thit k mt s , m , cc i tng tp tin (cc

    thuc tnh v cc phng php) c thu xp cho cc i tng trc quan.

    Bi tp 7.2. Bng phn nh mu

    Bn hy trnh by nhng vn sau y mt cch cht ch di quan im ca

    c nhn bn:

  • a).Gi s, chng ta m t mt cch trc tip mu sc ca mt im nh cho

    mt ha ng theo yu cu m khng cn CLUT vi chnh xc 24 Bit, gi l

    su ca mu. B nh nhc li nh cho mt nh c kch c 1024x768 (im nh)

    ti thiu phi bng bao nhiu? V, bng bao nhiu, nu n phi lu tr nh ny

    trn khng gian 3 chiu ?

    b). B nh nhc li nh ti thiu phi bng bao nhiu, nu 16 Bit mu c th

    ng thi nhn thy v mt s chuyn ch tng bc vi mt CLUT l c th?

    c). Bn hy khi qut v thit lp mt cng thc cho nhu cu b nh s khng

    c CLUT su ca mu khong f Bit/mt im nh v khi s lng im nh

    l N cng nh nhu cu b nh l sCLUT/s v bn hy ch ra rng, gi s quan h

    th nh hn 1 vi iu kin N>n.

    Bi tp 7.3.Giao din ngi s dng trong h iu hnh phn b

    Trong mc 7.2.3, bn phc tho v mt server trnh din c dn. Quyt nh

    cho ci c nhng chng trnh, m chng c th np hay biu th nhng bi

    text v nhng bc nh trn Internet; l cc trnh c lt siu text nh

    Netscape v Internet Explorer. Cc chng trnh ny b sung trn my tnh

    Dataserver ca Internet m nhim cng vic ; cc vic d tm cng nh cc

    nhim v tng t c th c thc hin mt cch cp tc bi trnh Browser. V

    vy, ngi ta c th hon thnh c nhiu cng vic vi mt h thng

    Application client v Display server.

    a). Bn hy so snh cc quan h client/ server trong c hai h thng.

    b). Nhng kiu trao i thng tin no thng lnh gia client v server?

    Bi tp 7.4. Cu trc client/ server

    Bn phc tho cc b v h iu hnh Windows NT c nhng u im v

    nhc im no trong s so snh vi h thng phn b X-Window? Bn hy suy

    ngh v tin hnh vi cc ng dng nh:

    + iu khin cc tin trnh ca mt nh my thp bng mt mng my tnh.

    + nh gi cc s liu ca cc phng ban khc nhau qua mng cc b cc my

    tnh ca nh my.

    + Thit lp mt phn mm qun l cho mt nhm my tnh kt ni mng.