47
CƠNG 4
PHẦN MỀM XẢNH
4.1 GIỚI THIU
Nhng phn khác ca cun sách này s nhm vào các thut gii s dng trong x
nh s và các thành phn phn cng để thc hin nhng công ngh y. Trong
chương này, chúng ta s nói v s t chc ca nhng chương trình y tính thc
hin các phép toán. Đặc bit, chúng ta s xem xét phn mm được thiết kế, phát trin
và đưa ra cho ngưi s dng như thế nào. Kiến thc v quá trình này ích đối vi
các nhà phát trin cũng như ngưi s dng. Đi vi các nhà pt trin, th
tránh s c gng ung phí s thc hin chán ngt. Đối vi người s dng, nó
th tr giúp s định giá phn mm và s thc hin d án.
Chương này cung cp mt i nhìn khái quát v nhng ch đề quan trng u
trên. Chúng tôi lưu ý rng s quan trng ca nhng vn đ đó liên quan đặc bit
đến biu din s và ch ra nhiu tài liu quan trng v ch đề này.
Trong dng đầy đủ nht ca nó, như vi sn phm phn mm thương mi, quá
trình phát trin phn mm bao gm nhiu giai đon. Pha thiết kế nhn thc thiết lp
các đặc tính hot động và m cơ bn, sau đó mt thut gii s nghiên cu.......hn
chế nhng ng ngh th thc hin được. Tiếp theo, pha hoá to ra......đầu
tiên... b phn mm. Trong pha chy th duyt li, nhng thiếu sót v k thut s
được sa cha nhng ý tưởng mi s được hp nht vào chương trình. S cung
cp tài liu người s dng miêu t cách thc điu khin h thng s cung cp tài
liu ng ngh gii thích cu tc vt và logic ca nó. Cui cùng, phn mm được
phát hành h tr trên th trường. Hot động sau ng bao gm hướng dn khách
hàng, h tr công ngh tiếp tc bo t phn mm. (nhng du .... là do photo b
m không đọc được)
Mt d án ng dng khác mt d án phát trin ch mt cái s dng phn cng
hin ti mt i s dng phn mm đ gii quyết bài toán riêng. Điu y bt đầu
vi s la chn nn phn cng và b phn mm được s dng. Tiếp theo pha thiết kế
nhn thc s tp hp mt b nh dùng đ phát trin và kim tra. Theo sau s phát
trin thut gii thc s vic thc hin kim tra sau đó đưa ng ngh đi vào s
dng. Điu này phi bao gm vic chng minh và công b ng ngh, hướng dn
hc tp nghiên cu trong khong thi gian hn chế, hoc i đặt h thng trong vài
hot động hướng vào s sn xut (production-oriented).
4.2 CÁC H THNG XNH
Các h thng y tính được s dng ph biến nht cho x nh được chia thành
bn hng: (1) Apple Macintosh, vi phn mm h điu hành sn ca giao
din ngưi s dng; (2) các máy tính tương thích IBM-phn cng, s dng h điu
hành đĩa (DOS, PS/2,...) Microsoft WindowsTM thường xuyên cũng như IBM
OS/2TM; (3) c trm làm vic đ ho, đin hình s dng h điu hành UNIX
môi trường XWINDOWS; (4) các h thng máy tính ln (mainframe), vi tài nguyên
rng ln dùng chung (share) cho nhiu người s dng (multiple users) đnh v ti các
trm làm vic t xa. Các nhóm h thng gn nhau thường dùng chung tài nguyên
d liu thông qua mng cc b (Local Area Network-LAN). Chúng cũng thường
xuyên truy cp đến mng din rng (WAN).
48
4.2.1 Khuôn dng file d liu nh
Vi tư cách mt phm vi hot động, nói chung x nh s to ra mt lượng ln
các file d liu ln liên quan cha nh s. Nhng file này phi được lưu tr
chúng luôn cn được trao đi gia nhng người s dng nhng h thng khác
nhau. Bt buc phi vài khuôn dng tiêu chun cho vic lưu tr và truyn các file
nh s.
Nhiu dng file nh s đã được định nghĩa s dng. Mt vài dng đã đưc s
dng khá rng rãi tr thành tiêu chun ph biến (de facto) không ít t nhiu. (Xem
d bng 4-1) Hu hết nhng chương trình x nh thương mi sn th đọc
và ghi vài khuôn dng file nh ph biến. Các chương trình khác hin có hoàn toàn có
th đọc hin th nh lưu tr dưới nhiu dng file khác nhau chuyn đi chúng
t dng này sang dng khác. Các chương trình đó t động hiu dng file đầu vào đã
định, t phn m rng tên file hoc t thông tin định danh trong chính bn thân file.
Khi lưu li nh hin th vào mt file, người s dng th ch khn dng file
mong mun.
BẢNG 4-1 KHUÔN DẠNG FILE D LIỆU NH
Tên Kiu ch s dng
Tagged image format
Encapsulated PostScript
Graphical interchange format
Bit-mapped format
Presentation manager
Macintosh
*.TIF
*.EPS
*.GIF
*.BMP
*.BMP
*.PICT
DOS, UNIX and Macintosh images
Publishing industry format
CompuServe graphics format
Microsoft Windows format
IBM OS/2 Bit-mapped format
Apple Macintosh images
Đa s các khuôn dng file nh lưu tr nhãn chú thích tm vào d liu nh. Chú
thích này có th d liu v s to ra khuôn dng nh, cũng như cthích ca
ngưi s dng.
Thông thường, các thiết b hin th đơn sc ng mch chuyn đổi s-tương t
(DAC) 8 bit để to ra tín hiu video điu khin độ sáng các đim nh hin th trên
màn hình. Thiết b này kh năng cung cp 256 trng thái m. Các thiết b hin th
màu s dng các b chuyn đổi s-tương t (DAC) 8 bit to ra bao tín hiu video
điu khin các thành phn độ sáng đỏ (red), lc (green), lam (blue) ca nh hin th.
thế, chúng kh năng hin th 224, tc là hơn 16 triu màu khác nhau. Do s
thiếu hoàn chnh thông thưng trong các ng hin th s hn chế ca mt người
nên s lượng màu có th nhn thy rõ ít đi mt cách đáng k.
nh s không nhng xut hin khuôn dng đơn sc và màu, mà n các mc
độ khác nhau ca đ phân gii đo ng (photometric resolution) (s màu hoc trng
thái xám). Vi nh đơn sc, s lưng trng thái xám trong thang xám (gray scale)
ph biến nht là 2, 16 hoc 256 ng vi 1, 4 hoc 8 bit/đim nh. Nhng độ phân
gii riêng biêt này d dàng đưc đóng gói thành nhng byte 8 bit trong b nh và các
file trên đĩa. Nhng độ phân gii khác nhau cũng được s dng trong các ng dng
nào đó.
Bng màu (palette) mt bng tra cu (look-up) liên kết mi giá tr đim nh
trong nh vi màu hin th tương ng. Mt nh màu 4 bit s dng 16 màu c th
chn trong bng 16 triu màu ca nó để hin th.
Đối vi nh màu, s lượng u quy đnh đưc biu th bi các giá tr đim nh
khác nhau. Mt nh màu 4 bit ch th hin ra 16 màu phân bit trên thiết b hin
th. Mt bng màu đnh nghĩa pp ánh x t 16 giá tr đim nh th tn ti sang
s lưng màu hin th ln nht. S la chn 16 màu c th ý mun ca người lp
trình thường b người s dng b qua. nh màu 8 bit được hin th vi 256 màu
riêng bit và nh màu 24 bitphm vi th hin 16 triu màu. Bng màu ch phép
49
ánh x đối vi mt nh màu c th thông thưng được bao hàm trong file d liu nh
và điu khin thiết b hin th khi nh được hin th hay in ra.
4.3 GIAO DIỆN NGƯỜI S DỤNG
Thi k đầu ca máy tính, giao din ch yếu gia người s dng vi h thng
phn mm h điu hành ca nhà sn xut. Mc dù đã có tính mm do, nhưng nhng
b sn phm y ràng là cng knh trong s dng hàng ngày. Gn đây hơn, xu
hưng ngày càng tiến ti vic sn xut giao din phn mm k thân thin vi người
s dng. Điu y to cho thao tác viên (operator) mt môi trường tin li và thoi
mái đ phát trin và s dng phn mm x lý nh s. Mt giao din người s dng
như trên đòi hi các công c thun tin sn, vi chi phí ti thiu. Các b phn
mm x lý nh s hin đại đặt kh năng x tính mm do vào tay người s
dng mt cách nhanh d dàng. Thiết kế ca chúng phc v cho trc giác ca
ngưi s dng và điu này làm cho chúng d dàng để hc và s dng.
4.3.1 B thông dch dòng lnh (Command-Line Interpreter)
Kiu giao din người s dng cũ nhtđơn gin nht là b thông dch dòng lnh
(Hình 4-1). S dng ngôn ng nguyên văn (textual language) nh riêng, yêu cu
ngưi s dng phi biết các tu chn sn, t b nh hay tài liu m trên bàn.
đưa ra trước mt ngưi s dng mt du nhc (prompting character) trên n hình
báo hiu rng sn ng xut phát, nhưng không cung cp s h tr vn đề gì
mà có th thc hin được. Điu này yêu cu độ tin cy cao vào tài liu được viết, đc
bit trong giai đon hc (learning phase). Tình hình được ci thin đáng k bng cách
s dng nhng file batch hay script, đnh rõ mt lot các bước x th được
gi bng mt lnh đơn. Tp các file script phong phú có th làm cho mt b thông
dch dòng lnh gii quyết d dàng.
HÌNH 4-1
Hình 4-1 Giao din b thông dch dòng lnh
4.3.2 Giao din điu khin bng trình đơn (Menu-Driven Interface)
Thế h th hai, giao din điu khin bng trình đơn, đưa ra mt danh sách các
chn la trên màn hình, s la chn có th được hoàn thành bng mt hoc hai phím
bm (Hình 4-2). Điu này gim bt vic phi ghi nh ph thuc ca thao tác viên
vào tài liu được viết rt nhiu, cũng như đòi hi s c gng để đưa mt quá trình chi
tiết vào hot động.
Trong s hin din tiến b hơn ca mình, giao din người s dng điu khin
bng trình đơn hot động đáp ng li thiết b con tr đồ ho (graphic pointer device)
(mouse, trackball,...). Đây giao din tr kích (point-and-click), người s dng
50
th di chuyn con tr đến khu vc đã gán nhãn thích hp nhn mt nút trên
thiết b. Người s dng cũng có th kéo xung (pull down) mt trong nhiu trình đơn
(menu) t thanh trình đơn trên đỉnh n hình hin th nếu cn thiết, theo cách đó s
làm gim bt s ln xn trên màn hình, sau đó người s dng kích vào mt chn la
tu ý và trình đơn xut hin.
Các trình đơn th hin hu theo cu trúc phân cp. Vic chn mt mc trên
trình đơn làm xut hin mt trình đơn con nhiu la chn c th hơn. Mi trình đơn
hay mc tn trình đơn th cũng kết hp vi mt thông báo tr giúp (help
message) gii thích các tu chn và cách s dng ca nó. Điu này cũng có th xut
hin ti nhng nơi mà thao tác viên yêu cu trên màn hình.
HÌNH 4-2
Hình 4-2 Giao din điu khin bng trình đơn trong môi trưng ca s
4.3.3 Giao din đ ho (Graphical User Interface)
Thế h th ba là giao din người s dng bng đồ ho (GUI- phát âm là gooey”).
Thao tác viên điu khin mt phn h thng theo ngôn ng trc quan (visual
language) thay ngôn ng nguyên văn đơn thun như vi b thông dch ng lnh.
GUI biu din c tu chn cho sn không phi bng văn bn, như trong mt trình
đơn, mà bng các biu tượng đồ ho hin th trên màn hình. Nhng biu tượng (icon)
này không nhng biu th các quá trình, n biu din d liu (d như nh s)
và các thiết b phn cng ( đĩa, máy in,...).
Vi s thc hin GUI đầy đ, ta có th khi đầu mt công vic - ví d, in mt nh
đã lưu tr - bng k thut kéo th (drag and drop). S dng thiết b con tr, thao
tác viên có th chn ra biu tượng biu din nh, di chuyn sang biu tượng khác
biu din máy in và nh nó ra, và quá trình in bt đầu. Điu này không ch nhanh hơn
vic gõ dòng lnh mà còn thú v hơn.
4.3.4 Giao din lung d liu (Data Flow Interface)
Mt kiu GUI khác s dng mng (network), biu đồ lung d liu (data-flow
diagram) bng đồ ho, din đạt bng hình tượng (symbology) (Hình 4-3). đây,
nn ng trc quan hu như được s dng riêng bit. Ta li mt trình đơn các
biu tượng (các nét chm-glyphs) biu din các thiết b, d liu và quá trình sn sàng
để s dng. Tuy nhiên, trong trường hp này, bng cách ng con tr kéo các biu
tượng, ta có th to ra mt lưu đồ (flowchart) miêu t dãy các bước x đã định trên
màn nh. Mi biu tượng mt hoc nhiu đường (pad) vào và/hoc ra (các đim
kết ni) nh riêng. Người s dng đnh rõ lung x lý bng cách liên kết các đưng
vi các dòng k s dng thiết b con tr.
51
HÌNH 4-2
Hình 4-3 d v biu đồ lung d liu GUI
Mi biu tượng cũng các đường điu khin, khi đưc chn bng con tr, mà
bt đầu thc hin quá trình hoc khiến các trình đơn xut hin bt k, do đó cho phép
ngưi s dng đnh nghĩa các chi tiết ca quá trình. Mi biu tượng biu th mt ch
báo (indicator) trng thái cho biết (1) được định nghĩa đầy đủ hay không, (2) sn
sàng hot động hay không, (3) đã thc s hoàn thành các hot đng ca nó chưa.
4.3.5 Ca s
Trong nhng ngày đu ca x nh, người s dng cơ s để nhn ra rng
nhiu màn nh hin th đã tăng kh năng s dng ca nó trong h thng lên rt
nhiu. Ví d, thích hp để s dng các ch hin th khác nhau đối vi giao din
ngưi s dng và đối vi hin th nh. Mt s la chn hin nay (r hơn) là s
dng thiết b hin th khuôn dng đơn và ln cho các hàm khác nhaung mt lúc.
Môi trường hướng ca s (Window-oriented environment) là mt b phn mm
s dng màn hình hin th hiu qu để trình bày nhng đối tượng độc lp khác
nhau cùng mt lúc. Ngưi s dng th m (chng hn, thiết lp hay định nghĩa)
nhiu ca s hin th khác nhau s dng mi ca s cho mt mc đích hin th
khác nhau, ngay c khi ta s dng nhiu àn hình hin th. Mi ca s th được
định v và đnh kích thước li tn màn hình, đin nh ng thiết b con tr o
nhng đưng biên ca nó. đây các ca s chng lên nhsu, mt ca s (ca s hot
động) che khut mt phn hay toàn b ca s hoc các ca s dưi” , như s
chng đè lên nhau ca các nh trên màn hình nn.
Xu hướng thiết kế giao din người s dng c ý nhiu vào ngôn ng trc
quan, tr giá bng ngôn ng nguyên văn. Cm gc vi giao din trc quan d
dàng hơn cho người bt đầu hc nhanh hơn cho chuyên gia s dng so vi vic
đánh máy văn bn t bàn phím. Đầu o bng tiếng nói cũng là vn đ thêm vào hu
ích vi chut và bàn phím. Tiếng nói tng hp cho phép h thng tr li thao tác viên
đúng như vy. Giao din bng li như trên đặc bit hu dng khi thao tác viên phân
chia s cý ca mình cho nhiu công vic khác. Trong vài trường hp, chui các
tín hiu video s hoá th cung cp s tr giúp trc tuyến (on-line) giá tr khi
cn thiết.
4.4 QUÁ TRÌNH PHÁT TRIỂN PHẦN MM
Trong nhng ngày đầu ca lp trình máy tính nói chung xnh s nói riêng,
quá trình phát trin phn mm, theo cách i bây gi, không cu trúc
(unstructured). Nhng người lp trình máy tính không ch hiếm, ging như nhng
kiu người tiên phong khác, mà còn có tính cht ch nghĩa cá nhân.
l ch vi mt khái nim mơ h vng vic mà mt phn mm mi được yêu
cu làm, người lp trình đã có th bt tay vào viết lnh, tng hp mt vn đề
phc tp t nhng phn đơn gin hơh trong quá trình. Sau đó, toàn b thiết kế dược
phát trin song song vi vic thc hin. Nhng s gii quyết thiết kế ch yếu được
thc hin theo cách t đầu đến đi. Thông thường các đun (module) được phát
trin t dưới lên, vi các chương trình con (routine) cơ bn nht được viết đầu tiên và