- 17
3.1 Định nghĩa bài toán
Đây làbướcmởđầucủaquátrìnhpháttriểnhệthống,nhiệmvụchủyếulàxácđịnh cácnhucầucủabàitoán.“Nhu cầu là mẹ của mọi sáng tạo”,chonênđểsángtạoramộthệ thốngmới,ngườipháttriểntrướchếtphảilàmquen,thâmnhậpvàochuyênmôn,nghiệpvụ màhệthốngđóphảiđápứngvàtìmhiểu,tậphợpcácnhucầucủahệthống.
Sau đâychúngtađịnhnghĩa bài toán làmcơsở đểmôtả cách thựchiệnphân tíchvàthiếtkếhệthống phầnmềmhướngđốitượng.Bàitoánđượcmôtảnhưsau:
Bàitoán:“Một Công ty muốn xây dựng Hệ thống phần mềm để phục vụ và quản
lý các hoạt động kinh doanh, bán hàng. Công ty có nhiều điểm bán hàng đầu cuối
(POST: Point Of Sale Terminal) đó là những cửa hàng siêu thị, do vậy hệ thống cần
phải ghi nhận các hoạt động bán hàng và xử lý các công việc thanh toán với khách
hàng, chủ yếu khách hàng mua lẻ. Ngoài ra hệ thống còn giúp Giám đốc Công ty theo
dõi được các hoạt động kinh doanh, tự động kiểm kê các mặt hàng tồn đọng trong kho, các mặt hàng bán chạy, v.v. để hỗ trợ ra quyết định trong các hoạt động kinh doanh
của Công ty. Trong mỗi cửa hàng đầu cuối đều có các thiết bị phần cứng như: máy
tính, máy đọc mã vạch ( bar code scanner) và phần mềm hệ thống để chạy hệ thống sẽ được xây dựng”.
HệthốngbánhàngviếttắtlàHBH,làchươngtrìnhphầnmềmđượcsửdụngđểghilại cácphiênbánhàng, xửlývàthanhtoánnhanhvớikháchhàng, chủyếulàphụcvụkhách hàngmualẻ. Thôngthườngthìmộthệthốngmớiđượcxâydựnglànhằmđểthaythếcho
- 46 -
mộthệthốngcũđãbộclộnhiềuđiềubấtcập.Chínhvìthếmàviệctìmhiểunhucầuvớihệ thốngmớithườngbắtđầutừviệckhảosátvàđánhgiáhệthốngcũ.
MụcđíchcủaHBH
Tăngnhanh hoặc tựđộnghoá việcbán hàng,ghi nhậncác mặthàng: loạisản phẩm, mô tảsản phẩm, số lượngvà xác địnhgiá bán, tínhtiền, v.v.,đáp ứng mọiyêu cầucủakháchhàng,
Thanh toán nhanh với khách hàng bằng các phương thức: tiền mặt, thẻ tín dụng(Credit Card),hayséc(Check),
Phântích,xửlýcáckếtquảbánhàngnhanh vàchính xácđểhỗ trợquyếtđịnh trongcáchoạtđộngkinhdoanh,
Thựchiện tựđộngkiểm kêcácmặthàngtrongkho,theo dõiđượcnhững mặt hàng bánchạy,nhữngmặthàngtồnkhođểcóđượcnhữngquyếtđịnhkịp thời trongkinhdoanh.
Tóm lại, hệ thống xây dựng nhằm tự động hoá các hoạt động kinh doanh, phục vụ khách hàng nhanh hơn, tốt hơn và rẻ hơn.
Cácchứcnăng,nhiệmvụcủahệthống
Chức năng của hệ thốnglànhữnggìmàhệthốngđượcyêucầuthựchiện.
Nhiệm vụ “X” sẽ là chức năng của hệ thống nếu trong mô tả bài toán có mệnh đề dạng: Hệ thống phải thực hiện X.
Tất nhiên trong giaiđoạn này, các tính chất, các yêu cầu về chấtlượng hệ thống nhưtính hiệuquả, an toànhệ thốngchưađược xem làchức năngcủa hệthống, nghĩa làchưaxéttớicácđặctínhphichứcnăngcủahệthống.
Cácchứcnăngcủahệthốngcóthểphânloạithànhcácphạmtrùtheocáclĩnhvực chứcnăng haytheo những mức ưu tiên khác nhau đểloại trừ sự lẫn lộn giữa chúng. Cácchứcnănghệthốngcóthểchiathành:
Những chức năng hiển (Evident):Nhữngchứcnăng cầnthựchiện vàNSD có
thể nhận biết, theo dõi được sự hoạt động của chúng. Ví dụ: khi người bán nhập cácmặt hàng mà kháchđã chọn mua ởtrong giỏ hàngvào hệthống thì mọithông tinliên quanđếntêngọi sảnphẩm,sốlượng, giábán,v.v.đềuphải đượchiệnlênmànhìnhvàkháchhàngcóthểtheodõimộtcáchtườngminh.
Những chức năng ẩn (hiddent): Những chức năng cần thực hiện và NSD
không theo dõi được. Thường đó là những chức năng kỹ thuật như những công việctổchứclưu trữ,xửlý dữliệuđểđảmbảosựbền vữngdữliệutrong các CSDL. Ví dụ: sau mỗi phiên bán hàng, nghĩa là sau khi khách đãtrả đủ tiền mua hàng,hệ thống bánhàng HBH phảithực hiện cập nhật lại số lượng củanhữngmặthàngvừabánđược.NhữnghoạtđộngnàyNSDkhôngtheodõi được.
- 47 -
Qui tắc # Chức năng
R1.1 Ghinhậncácmặthàngởtronggiỏhàngmàkháchhàngđãchọn. R1.2 Tínhtổngsốtiềnbánchokháchhàngđangmua.
R1.3 Nhập cácthôngtin vềcác mặthàngqua mãvạchbằngmáyđọc mã vạch hoặc nhập mã sản phẩm (UPC – Universal Product Code)trựctiếptừbànphím.
R1.4 Cậpnhật,trừbớtsốlượngđãbánsautừngphiênbánhàng. R1.5 Kếtthúcmộtphiênbánhàng.
R1.6 Ngườibánhàng(cashier)phải loginđểkhởi độnghệthống(cho biếttênIDvàpassword)đểsửdụnghệthống.
R1.8 Cung cấp cơ chế trao đổigiữa các tiến trình,trao đổithông tin giữacáchệthốngvớinhau.
R1.9 Hiển thịcác thông tin mô tảvà giá bán cácmặt hàng để khách hàngcóthểtheodõiđược.
Qui tắc # Chức năng
R2.1 Thu tiềnmặt, nhập số tiềnkháchđưavàtínhsố dưp hảitrảlại
R2.2 Thu tiềnbằngthẻtíndụng(Credit), nhậpthông tincủ a thẻtín
dụng của khách qua máy đọc thẻ hoặc nhập trực tiế R2.3 Thutiềnbằngséc,nhậpsốhiệuvàsốtiềncủatờ Chec
k,tínhsố
Một số chức năng tuỳ chọn (optional):Những chứcnăng cóthểbổ sung tăng
thêm mức độ thân thiện, tiện dụng cho hệ thống nhưng khôngảnh hưởng tới giátrịcũngnhưcácchứcnăngkháccủahệthống.
Cácchứcnăng củahệthốngphảiđượcchiathành cácnhóm theocácmốiliênhệ cố kếtvới nhau. Dựavào cáchphân chiacácchức năngđểsau nàychia nhỏ hệ thống thànhcácgói, cáchệthốngcontrongquátrìnhphântíchvàthiếtkếhệ thống.
Ví dụ: Các chức năng củahệ thống HBH có thể chia thành hai nhóm chính: các
chức năng bán hàng (cácchứcnăngcơsở)và các chức năng thanh toán.
Dựa trên những kết quả khảo sátbài toán bán hàng, nghiên cứu các sổ sách, tài liệu và trên cơ sởtrao đổi với những ngườibán hàng, với khách hàng,v.v. chúng ta xácđịnhđượccácchứcnăngchínhcủahệthốngnhưsau:
-48 -
Các chức năng hệ thống thường được đánh số theo các qui tắc tham chiếu (Reference Rule)đểtiệnchoviệcsửdụngthamchiếutrongcácmụcphântíchsaunày.
Chú ý: Trong đánh số các mục, phần, hay qui tắc, v.v. chúng ta sử dụng thống
nhất qui tắc đánh số dấu chấm (‘.’)nhưtrongcáctàiliệuvẫnsửdụng.
Cácthuộctínhcủahệthống
Thuộc tính của hệ thống là những yêu cầu phi chức năng (Non-functional
Requirement), đó là nhữngràngbuộc, những giớihạn và những yêu cầu kỹthuật mà
ngườipháttriểnhệ thốngphảituântheo. HệthốngHBHphảicócácthuộctínhsau:
Thời gian xử lý và trả lời nhanh, vídụ: khinhập vào mãtừng mặthàng(máy
đọc mã vạch, hay từ bàn phím) thì các thông tin về sản phẩm, giá bán phải đượchiểnthịngaytứcthì(sau5giâychẳnghạn).
Dễ sử dụng với những giao diện đồ hoạ thân thiện phù hợp với người bán
hàng:nhưcácwindowvàcáchộpthoại,v.v.
Hệ thống thực hiện trên những hệ điều hành phổ dụng như Microsoft Window
95,98,2000,NT,Unix,Linux, v.v.
Ngoài racònnhiềutínhchấtkháccủahệthốngphầnmềmnhưđãnêuởchươngI màhệthốngcũngsẽcầnphảiđápứng.
3.2Phântíchvàđặctảcác yêucầuhệ thống3.2.1 Casửdụng