Phân tích thiết kế hệ thống (tmduc90)
MỤCLỤC
MỤCLỤC..........................................................................................................1
LỜINÓIĐẦU....................................................................................................4
CHƯƠNG 1 ĐẠICƯƠNGVỀCÁCHỆTHỐNGTHÔNGTIN QUẢN LÝ6
1.KHÁINIỆMVỀHỆTHỐNG, HỆTHÔNGTIN QUẢN LÝ.......................6
2.VAITRÒ, NHIỆMVỤ CỦAHỆTHỐNGTHÔNGTIN..............................7
2.1.Vai trò..........................................................................................................7
2.2.Nhiệmvụ......................................................................................................7
3.CÁCBỘ PHẬN HỢPTHÀNH HỆTHỐNGTHÔNGTIN..........................7
4.CÁCPHƯƠNG PHÁPPHÂNTÍCHVÀTHIẾTKẾHỆTHỐNGTHÔNG TIN.....................................................................................................................8
4.1.Phương pháp thiết kế hệ thống cổ điển (thiết kế phi cấu trúc)..................8
4.2.Phương pháp phân tích thiết kế hệ thống bán cấutrúc..............................10
4.3.Phương pháp phân tích thiết kế hệ thống có cấutrúc................................10
5.CÁCGIAIĐOẠN PHÂNTÍCHTHIẾTKẾ...............................................11
CHƯƠNG 2 KHẢO SÁTHIỆNTRẠNGVÀ XÁCLẬPDỰÁN.................13
1.MỤCĐÍCH..................................................................................................13
2.TÌMHIỂUVÀ ĐÁNH GIÁ HIỆNTRẠNG................................................13
2.1.Quan sát,tìmhiểu hệthống hiệntại..........................................................13
2.2.Tập hợp phân loại thông tin.......................................................................15
2.3. Phát hiện cácyếu kém cuả hiện trạngvà cácyêu cầutrong tương lai.....16
3.XÁCĐỊNH PHẠMVIKHẢ NĂNG MỤCTIÊU DỰÁN.........................17
4.PHÁCHOẠ CÁCGIẢIPHÁPCÂNNHẮCTÍNH KHẢTHI..................18
5.LẬPDỰTRÙVÀ KẾHOẠCHTRIỂN KHAIDỰÁN.............................21
5.1. Hồ sơ vềđiềutra và xáclập giải pháp......................................................21
5.2. Dự trù về thiết bị.......................................................................................21
5.3. Kế hoạch triển khai dự án.........................................................................22
CHƯƠNG 3 PHÂNTÍCH CHỨCNĂNG CỦAHỆTHỐNG.....................23
1.MÔ HÌNH PHÂN RÃCHỨCNĂNG.........................................................23
1.1.Định nghĩa.................................................................................................23
1.2.Cácthànhphần..........................................................................................23
1.3.Đặc điểmvà mục đíchcủa môhình..........................................................25
1.4.Xâydựng môhình....................................................................................25
1.5.Cácdạng môhình phân rã chứcnăng.......................................................28
2.MÔ HÌNH LUỒNG DỮLIỆU.....................................................................29
2.1.Khái quát...................................................................................................29
2.2.Định nghĩa................................................................................................29
2.4.Một sốquytắc vẽ biểu đồ luồng dữ liệu...................................................32
2.5.Xâydựng môhình luồng dữ liệu...............................................................33
2.6.Chuyển từ môhình luồng dữ liệu vật lý sangmôhình luồng dữ liệu logic
..........................................................................................................................35
2.7.Chuyển từ DFD củahệ thống cũ sang DFD củahệ thống mới.................36
2.8.Hoàn chỉnh môhình DFD.........................................................................37
Tácdụng...........................................................................................................38
2.9.Phânmức ...................................................................................................39
2.10.Hạn chế củamôhình luồng dữ liệu.........................................................39
3.Bài tập ứng dụng...........................................................................................39
CHƯƠNG 4 PHÂNTÍCHVÀTHIẾTKẾ DỮ LIỆU...................................42
1.TỔNG QUAN..............................................................................................42
1.1.Cáckhái niệm............................................................................................42
1.2.Cácbướctiếnhành phân tích và thiết kế CSDL.......................................42
2.MÔ HÌNHTHỰCTHỂLIÊN KẾT............................................................43
2.1.Mục đích....................................................................................................43
2.2.Cácthànhphần.........................................................................................44
2.3.Xâydựng môhình thực thể liên kết của hệ thống.....................................47
3.MÔ HÌNH QUANHỆ..................................................................................51
3.1.Khái niệm..................................................................................................51
3.2.Cácdạng chuẩn.........................................................................................54
4.THIẾTKẾLOGIC CSDL............................................................................56
4.1.Chuyển đổi từ môhình thực thể liên kết thành cácbản ghi logic.............57
4.2.Chuẩn hoáquan hệ....................................................................................60
4.3.Hoàn thiện môhình CSDLlogic...............................................................63
5.THIẾTKẾVẬTLÝ CSDL..........................................................................65
5.1.Cácvấn đề liên quan khi thiết kế vật lý CSDL.........................................65
5.2.Xemxét hiệu suấtthực thi CSDL..............................................................66
5.3.Điều chỉnh thực thi CSDL.........................................................................68
5.4.Ví dụ một mẫu thiết kế.............................................................................68
CHƯƠNG 5 THIẾTKẾGIAO DIỆN GIỮANGƯỜIVÀMÁY..............71
1TỔNG QUAN...............................................................................................71
1.1.Mục đích ...................................................................................................71
1.2. Cácloạigiaodiện.....................................................................................71
1.3.Cácnguyên tắc chung khi thiết kế giao diện............................................71
2.THIẾTKẾCÁCMẪUTHUTHẬPTHÔNGTIN......................................72
2.1.Yêu cầu.....................................................................................................72
2.2.Phương pháp thu thập thông tin................................................................72
2.3.Xác định khuôn mẫu thu thập thông tin....................................................72
4.4.Mã hoá........................................................................................................73
3.THIẾTKẾCÁCTÀI LIỆU RA, CÁC BÁOCÁO......................................75
4.THIẾTKẾMÀN HÌNHVÀ ĐƠN CHỌN..................................................76
4.1.Yêu cầu thiết kế:........................................................................................76
4.2.Hình thức thiết kế......................................................................................76
CHƯƠNG 6 THIẾTKẾKIỂMSOÁTVÀ CHƯƠNGTRÌNH.................87
1.THIẾTKẾKIỂMSOÁT..............................................................................87
1.1.Mục đích....................................................................................................87
1.2.Kiểmsoát cácthông tin thu thập và cácthông tin xuất.............................88
1.3.Kiểmsoát cácsự cốlàm giánđoạn chương trình......................................88
1.4.Kiểmsoát cácxâmphạmtừ phía con người.............................................89
2.THIẾTKẾCHƯƠNGTRÌNH......................................................................91
2.1.Mục đích....................................................................................................92
2.2.Lập lược đồ chươngtrình.........................................................................93 a. Modulechương trình....................................................................................93 b. Công cụ đểdiễntả LCT................................................................................93
2.3.Đặc tả cácmodule.....................................................................................97
2.4.Đóng gói thành moduletải........................................................................97
2.5.Thiết kế cácmẫuthử.................................................................................97
CHƯƠNG 1 ĐẠICƯƠNGVỀCÁC HỆTHỐNGTHÔNGTINQUẢN LÝ
1.KHÁINIỆMVỀHỆTHỐNG, HỆTHÔNGTIN QUẢN LÝ
-Hệthống:Làtậphợpcácphầntửcónhữngmốiquanhệràngbuộclẫn nhaucùnghoạtđộngchungchomộtsốmụctiêunàođó.Tronghoạtđộngcó trao đổi vàora với môi trường ngoài.
-Hệthốngquảnlý:Làmộthệthốngcómộtmụcđíchmanglạilợinhuận hoặclợiíchnàođó.Đặcđiểmcủahệthốnglàcósựthamgiacủaconngườivà có traođổi thông tin.
Hệthống quảnlý chia thành hai hệ thống con:
+Hệtácnghiệp(trựctiếpsảnxuất):gồmconngười,phươngtiện,phương pháp trựctiếpthựchiệnmụctiêu đã đề ra.
+Hệ quảnlý (gián tiếp sảnxuất): Gồmconngười, phương tiện, phương pháp cho phép điều khiển hoạt động củahệ thống.
Hệnàylại chia thành hai hệ con:
-Hệ quyết định : Đưa ra cácquyết định
-Hệ xử lý thông tin : Xử lý thông tin
-Hệthốngthôngtin(informationsystem):Làmộthệthốngsửdụngcông nghệthôngtinđểthuthập,truyền,lưutrữ,xửlývàbiểudiễnthôngtintrong mộthaynhiều quá trình kinh doanh.
Hệthông tin phát triển qua bốn loại hình :
+Hệ xửlý dữliệu :lưu trữ vàcậpnhật dữliệu hàngngày,racácbáocáo theo định kỳ(Ví dụ: Cáchệ thống tính lương).
+Hệthôngtinquảnlý(ManagementInformationSystem-MIS):Mộthệ thông tingồm cơsởdữ liệuhợp nhấtvà cácdòngthông tingiúpconngườitrong sản xuất,quản lý và ra quyết định.
+Hệtrợgiúpquyếtđịnh:Hỗtrợchoviệcraquyếtđịnh(chophépnhàphân tíchraquyếtđịnhchọncácphươngánmàkhôngphảithuthậpvàphântíchdữ liệu).
+Hệchuyêngia:Hỗtrợnhàquảnlýgiảiquyếtcácvấnđềvàlàmquyếtđịnh mộtcáchthông minh.
2.VAITRÒ,NHIỆMVỤCỦAHỆTHỐNGTHÔNGTIN
2.1.Vai trò
Hệthôngtinđóngvaitròtrunggiangiữahệquyếtđịnhvàhệtácnghiệp trong hệ thống quảnlý.
2.2.Nhiệmvụ
-Trao đổi thông tin với môi trường ngoài
-Thựchiệnviệcliênlạcgiữacácbộphậnvàcungcấpthôngtinchocáchệ tác nghiệp và hệ quyết định.
3.CÁC BỘ PHẬN HỢPTHÀNH HỆTHỐNGTHÔNGTIN
-Dữliệu:lànguyênliệucủahệthôngtinđượcbiểudiễndướinhiềudạng:
vănbản, truyền khẩu, hình vẽ,... và những vật mang tin :Giấy, bảng từ, đĩa từ...
-Cácxử lý:Thông tin đầu vàoqua cácxử lý thành thông tin đầu ra.
4.CÁC PHƯƠNG PHÁP PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNGTIN
4.1.Phương pháp thiết kế hệ thống cổ điển (thiết kế phi cấu trúc)
Đặcđiểm:
-Gồmcácpha(phase):Khảosát,thiếtkế,viếtlệnh,kiểmthửđơnlẻ,kiểm thử trong hệ con, kiểmthử trong toàn hệ thống.
-Việchoànthiệnhệthốngđượcthựchiệntheohướng“bottom-up”(từdưới lên)vàtheo nguyên tắc tiến hành tuần tự từ pha này tới pha khác Nhược điểm:
-Gỡ rối, sửa chữa rất khó khăn và phức tạp.
Vídụtronggiaiđoạnkiểmthử(test)nếucólỗinàođóxuấthiệnởgiaiđoạn cuốiphakiểmthử.Lúcđó,tuỳtheomứcđộnghiêmtrọngcủalỗi,cóthểbuộc phảisửađổihàngloạtcácmođun.Khimộtlỗiđượcpháthiện,khóchẩnđoán mođunnào (trong số hàngtrăm, hàng ngànmôđun)chứa lỗi.
-Vìthựchiệntheonguyêntắctuầntựcácphanênsaukhiđãkếtthúcmột pha,ngườitacóthểkhôngcầnphảibậntâmđếnnónữaàNếuởphatrướccòn lỗithìcácphasausẽphảitiếptụcchịuảnhhưởngcủalỗiđó.Mặtkháchầuhết
cácdựánthườngphảituânthủtheomộtkếhoạchchungđãấnđịnhtừtrước=>
kếtquả sẽkhó màđược như ý với mộtthời gian quy định.
4.2.Phương pháp phân tích thiết kế hệ thống bán cấutrúc
Đặcđiểm:
-Mộtloạtcácbước“bottom-up”nhưviếtlệnhvàkiểmthửđượcthaythế bằnggiaiđoạnhoànthiện“top-down”.Nghĩalàcácmodunmứccaođượcviết lệnh và kiểmthử trước rồi đến cácmodunchi tiếtở mứcthấphơn.
-Pha thiết kế cổ điển được thay bằngthiết kếcó cấu trúc.
Nhượcđiểm:
Ngườithiếtkếnóichungliênlạcrấtítvớiphântíchviênhệthốngvàcảhai chẳngcóliênhệnàovớingườisửdụng=>Quátrìnhphântíchvàthiếtkếgần nhưlà tách ra thành hai pha độc lập.
4.3.Phương pháp phân tích thiết kế hệ thống có cấutrúc
Đặcđiểm
-Phươngphápnàybaogồm9hoạtđộng:Khảosát,phântích,thiếtkế,bổ sung,tạosinh,kiểmthửxácnhận,bảođảmchấtlượng,môtảthủtục,biếnđổi cơ sở dữ liệu, càiđặt.
-Cáchoạtđộngcóthểthựchiệnsongsong.Chínhkhíacạnhkhôngtuầntự nàymàthuậtngữ“pha”đượcthaythếbởithuậtngữ“hoạtđộng”(“pha”chỉmột khoảngthờigiantrongmộtdựántrongđóchỉcómột hoạt độngđượctiến hành).Mỗihoạtđộngcóthểcungcấpnhữngsửađổiphùhợpchomộthoặc nhiều hoạt động trướcđó.
Mộtsố phương pháp phân tích cócấu trúc: Các phương pháp hướng chức năng
-PhươngphápSADT(Structured AnalysisandDesignTechnie)củaMỹdựa theophươngphápphânrãmộthệthốnglớnthànhcáchệthốngconđơngiản hơn.
-Nócóhệthốngtrợgiúptheokiểuđồhoạđểbiểudiễncáchệthốngvàviệc traođổithôngtingiữacáchệcon.KỹthuậtchủyếucủaSADTlàdựatrênsơ đồluồngdữliệu,từđiểndữliệu(DataDictionnary),ngônngữmôtảcócấu trúc,matrậnchứcnăng.NhưngSADTchưaquantâmmộtcáchthíchđángđối với mô hình chức năng của hệthống.
-PhươngphápMERISE(MEthodpourRassemblerlesIdeesSansEffort)
củaPhápdựatrêncácmứcbấtbiến(còngọilàmứctrừutượnghoá)củahệ thốngthôngtinnhưmứcquanniệm,mứctổchức,mứcvậtlývàcósựkếthợp với môhình.
-CASE(Computer-AidedSystemEngineering)-phươngphápphântíchvà thiết kế tự động nhờ sự trợ giúp của máytính.
Từkinhnghiệmvànghiêncứutrongquátrìnhxâydựnghệthống,hãng Oracleđãđưaramộttiếpcậncông nghệmới- Phương pháp luậnphântíchvà thiết kế hệ thống CASE*Method. Đây là một cách tiếp cận theo hướng "topdown"vàrấtphùhợpvớiyêucầuxâydựngmộthệthốngthôngtintrong cácdoanh nghiệpsản xuất kinh doanh thương mại.
Các phương pháp hướng đối tượng
-Phươngpháp HOOD(HierarchicalObjectOrientedDesign)là mộtphương pháp được lựa chọn để thiết kế cáchệ thống thời gian thực.
Nhữngphươngphápnàylạiyêucầucácphầnmềmphảiđượcmãhoábằng ngônngữlậptrìnhADA.Dovậyphươngphápnàychỉhỗtrợchoviệcthiếtkế cácđối tượng màkhông hỗ trợ cho cáctính năng kế thừa vàphân lớp.
-PhươngphápRDD(ResponsibilityDrivenDesign)dựatrênviệcmôhình hoá hệ thống thành cáclớp.
Cáccôngviệcmàhệthốngphảithựchiệnđượcphântíchvàchiarachocác lớpcủahệthống.Cácđốitượngtrongcáclớpcủahệthốngtraođổicácthông báo với nhau nhằmthực hiện công việcđặt ra. Phương pháp RDDhỗ trợ chocác khái niệmvề lớp, đối tượng và kế thừa trong cáchtiếp cận hướng đối tượng.
-PhươngphápOMT(ObjectModellingTechnique)làmộtphươngpháp được xemlà mớinhất trong cáchtiếp cận hướng đối tượng.
Phươngphápnàyđãkhắcphụcđượcmộtsốnhượcđiểmcủacácphương pháp tiếp cận hướng đối tượng trướcmắcphải.
Trênmặtlýthuyếttathấycáchtiếpcậnhướngđốitượngcócácbướcphát triểnhơnsovớitiếpcậnhướngchứcnăng.Nhưngtrongthựctếviệcphântích vàthiếtkếhệthốngtheocáchtiếpcậnhướngđốitượnggặprấtnhiềukhókhăn vì chưacónhiều cáccôngcụphát triển hỗtrợcho việcthiếtkế hướngđối tượng. Chính vì vậy cáchtiếp cận này vẫn chưađược phát triển rộng rãi.
5.CÁC GIAIĐOẠN PHÂNTÍCHTHIẾTKẾ
Cácphươngphápphântíchvàthiếtkếhệthốngdùđượcpháttriểnbởinhiều tácgiảkhácnhau,cónhiều điểm,thuậtngữ,quyướckhácnhau,nhưngtựu trunglạicácphươngphápluậnnàyđềuđịnhracácgiaiđoạncơbảnchoquá trình phát triển dự án:
1.Khảosát hiện trạng và xác lập dự án.
2.Phântíchhệthống:Phântíchcácchứcnăngvàdữliệucủahệthốngcũđể đưa ra môtả của hệ thống mới.
3.Thiết kế hệ thống
4.Xâydựng hệthống
CHƯƠNG 2 KHẢO SÁTHIỆNTRẠNGVÀ XÁC LẬPDỰÁN
1.MỤCĐÍCH
- Mụcđích:Quaquátrìnhkhảosáttừsơbộđếnchitiếthệthốnghiệntạita phảicóđượccácthôngtinvềhệthốngquađóđềxuấtđượccácphươngántốiưu để dự ánmangtính khảthi caonhất.
-Khảosát thường được tiến hành qua bốn bước:
+Bước1:Khảosátvàđánhgiáhiệntrạnghoạtđộngcủahệthốngcũ.Tìmhiểu cáchoạtđộngcủahệthốnghiệntạinhằmxácđịnhcácthếmạnhvàcácyếukém củanó
+Bước2:Đềxuấtmụctiêuchohệthốngmới.Xácđịnhphạmviứngdụngvà cácưunhượcđiểmcủahệthốngdựkiến.Cầnxácđịnhrõlĩnhvựcmàhệthống mới sẽlàm,những thuận lợi và những khó khăn khi cải tiến hệ thống
+Bước3:Đềxuấtýtưởngchogiảiphápmớicócânnhắctínhkhảthi.Pháchoạ cácgiảiphápthoảmãncácyêucầucủahệthốngmớiđồngthờiđưaracácđánh giávềmọimặt(Kinhtế,xãhội,thuậntiện...)đểcóthểđưaraquyếtđịnhlựa chọn cuốicùng.
+Bước4:Vạchkếhoạchchodựáncùngvớidựtrùtổngquát.Xâydựngkế hoạchtriểnkhaichocácgiaiđoạntiếptheo.Dựtrùcácnguồntàinguyên(Tài chính, nhânsự, trangthiếtbị...)để triển khai dự án.
2.TÌMHIỂUVÀ ĐÁNHGIÁ HIỆNTRẠNG
2.1.Quansát, tìmhiểu hệ thống hiện tại
- Việcquansáttìmhiểuvàđánhgiáhệthốngtheocáchnhìncủanhà tinhọc.Điềuđócónghĩalà xácđịnhcáclĩnhvựcnào,côngviệcnàothìnêntin học hoá,lĩnh vựcnào thì tin họchoá không có tác dụng hay không có tính khả thi
- Việcquan sátchia làm4 mứckhác nhau:
+Mứcthaotácthừahành:Tìmhiểucáccôngviệccụthểmàngườinhânviên thừa hành trên hệ tin học hiện có.
+Mứcđiềuphốiquảnlý:Tìmhiểucácnhucầuthôngtinchomứcnày.Tham khảo ý kiếncủa người thực hiện về khả năng cảitiếnhệ thống hiện có.
+Mứcquyếtđịnhlãnhđạo: Tìmhiểucácnhucầuthôngtincủabanlãnhđạo,các sách lược phát triển doanh nghiệp nhằmtìmđúng hướng đi cho hệ thống dự kiến.
14
+Mứcchuyêngiacốvấn:Thamkhảocácchiếnlượcpháttriểnnhằmcủngcố thêmphương hướng phát triển hệ thống dự kiến.
- Cáchìnhthứctiếnhành:Cóbaphươngpháplàquansát,phỏngvấnvàđiều tra thămdò
a.Phương pháp quan sát gồmcó 2 cách
uQuansáttrựctiếp:quansátbằngmắt,tạichỗtỉmỉtừngchitiếtcôngviệc của hệ thống cũ, củacácnhân viên thừa hành.
uQuansátgiántiếp:quansáttừxa,hayquaphươngtiệntổngthểcủahệ thốngđểcóđượcbứctranh kháiquátvềtổchứcvàcáchthứchoạtđộng trong tổ chức đó.
Vaitrò: giúpchongườiquansátthấyđượccáchquảnlýcáchoạtđộngcủatổ chứccần tìmhiểu.
Ưu điểm:
üDễthực hiện đối với người quan sát
üTheo dõi trực tiếp hoạt động của hệthống trong thực tế
Nhược điểm:
-Kếtquả mangtính chủ quan
-Tâmlý củangười bị quansát có những phản ứng nhất định
-Sự bị động của người quan sát
-Tốn kémthời gian
-Thông tin bề ngoài, hạnchế không thể đầy đủ
b.Phương pháp phỏng vấn
-Chuẩnbịrõnộidungchủđềcuộcphỏngvấn,cáccâuhỏi,cáctàiliệuliênquan, mục đích cầnthu được cácthông tin gì sauphỏng vấn.
-Mộtsố lưu ý khi tiến hành phỏng vấn:
+Phảitổchứctốtcuộcphỏngvấn:Chọnsốngườiphỏngvấn,thốngnhất trước nội dung, chủ đề cuộc phỏng vấnđể cácbên cóthời gianchuẩn bị.
+Lựachọncáccâuhỏihợplý:Xácđịnhrõloạicâuhỏisẽđưara,câuhỏi mởhaycâuhỏiđóngtuỳtheoyêucầunộidungphỏngvấn.(Câuhỏimởcónhiều cáchtrả lời, câuhỏi đóng cáccâu trả lời xác định trước).
+Luôn giữ tinh thần thoải mái,thái độ đúng mựckhi phỏng vấn.
Vaitrò:chophéptanắmđượcnguồnthôngtinchínhyếunhấtvềmộthệthống
15
cầnphát triển trong tương lai và hệ thống hiện tại
Ưu điểm:
-Thông tin thu thập được trực tiếp nên có độ chính xáccao
-Biếtđược khá đầy đủ cácyêu cầu củangười sửdụng đối với hệ thống mới
-Nếucónhiềudựánxâydựnghệthốngthôngtinkhácnhauđốivớicùngmộttổ chứcthì quaviệcphỏng vấn lãnh đạo có thể xácđịnh được quan hệ giữa cácdự án nàyđểcóthểtậndụngcácthànhquảđãcóhayđảmbảosựnhấtquáncũngnhư tạo được cácgiao tiếp với hệ đó.
Nhược điểm:
-Kếtquảthuđượcphụthuộcnhiềuvàocácyếutốkháchquannhưsựthânthiện giữa người phỏng vấn và người được phỏng vấn,cácyếu tố ngoại cảnh,cácyếu tố tình cảm.
-Nếukhông được chuẩn bị tốt thì dễ dẫn đến thất bại
-Bấtđồng về ngôn ngữ cũng như cáckhái niệmđược đề cập.
-Cầnhỏi được trựctiếpngười cầncó thông tin của họ
c.Phương pháp điều trathămdò
Vaitrò:Đượcthựchiệnđểnắmnhữngthôngtincótínhvĩmô.Phươngphápnày thích hợp với việc điềutra tần suấttrong nghiên cứukhả thi.
-Phiếu thămdò: là câuhỏi có nội dung trả lời sẵn,người trả lời lựa chọn
-Cótập cácđối tượng cần thămdò, tuỳ theo mụctiêu
Ưu điểm:
-Bổsung cho 2 phương pháptrên để khẳngđịnh kếtquả khảo sát
-Là mộtphương pháp hiệu quả điều tra tần suấttrong nghiên cứu khả thi.
Nhược điểm:
Việcxâydựngbảnhỏiđểcóthểđápứngđượcnhucầuthểhiệnđượccácthông tin cần biết làkhó khăn
Ngoài3phươngpháptrêncòncómộtphươngphápđượcsửdụngtrongviệc nghiên cứu hiệntrạng củatổ chứclà Phương pháp nghiên cứutài liệu.
2.2.Tập hợp phânloại thông tin
-Phân loại thông tin theo tiêu chuẩn
+Hiệntạivàtươnglai:Thôngtinnàochohệthốnghiệntạivàthôngtinnàocho hệ thống tương lai.
16
+Tĩnh/động/biếnđổi
l Tĩnh:Thôngtinítcótínhthayđổi,biểudiễncácmặtổnđịnh,bền vững củahệ thống như cơ cấu, tổ chức, khuôn dạng.
l Động:Thôngtinluônthayđổitheothờigianhaykhônggian.(Theokhông gian: Các dòng thông tin di chuyển giữa cáctiếntrình haygiữa cáchệ thống con với nhau.)
l Biếnđổi : Là cácquytắc nghiệp vụ thực hiện việc biếnđổi thông tin.
+ Nộibộ/môitrường:Chúýđánhgiátácđộngqualạigiữahệthốngvàmôi trường xungquanh. Cácảnh hưởngcủamôitrườngxung quanhnhư điềukiệnlàm việc:nhiệtđộ,ápsuất,độẩmlêncácmáymóc.Cácảnhhưởngngượclạicủahệ thống lên môi trường xung quanh, lên điều kiện làmviệc.
-Tập hợp thông tin
+Các thông tin chung chohiệntại, thông tin chotương lai
+Xemxétthôngtinđãthuthậpởmứcchitiếtnhấtcóthểđượcdướicáckhía cạnh:tần xuất xuất hiện, độ chính xác, sốlượng, thời giansống
Tómtắt thông tin thu thập được:
2.3. Phát hiện cácyếu kémcuả hiện trạng và cácyêu cầu trong tương lai
Sựyếu kémthể hiện ở cácmặt:
l Hiệuquảthấp:Hiệuquảcôngviệcởmộtsốbộphậnhaytoànbộhệthống khôngđápứngđượcyêucầupháttriểncủadoanhnghiệp(phươngphápxử
lýkhông chặt chẽ,giấytờ tài liệu trình bày kém, sựùn tắc quá tải,..)
l Sựthiếuvắng: Chứcnăngxửlý,cơcấutổchứchợplý,phươngpháplàm việchiệuquả...
l Tổnphícao:Dohiệuquảlàmviệcthấp,docơcấutổchứcbấthợplý,do tốc độ cạnhtranh caodẫn đến cácchi phí cao không thể bù đắp được.
-Phương hướng phát triển hệ thống cho tương lai:
l Trêncơsởxácđịnhrõcácnguyênnhânyếukém,đềracácbiệnphápđể khắcphụccácyếukémđó.Cụthểnhữngnhucầuvềthôngtinchưađược đáp ứng, cácnguyện vọng của nhânviên,dự kiếnkế hoạch của laođộng...
l Nóichungkhôngthểkhắcphụcngaymọiyếukémcủahệthốngtrongmột lần.Cầnxácđịnhmộtchiếnlượcpháttriểnlâudàigồmnhiềubướcdựa trên hai nguyên tắc:
Thayđổihệthốngmộtcáchdầndần: Vừathayđổiđượchệthốngcũnhưngcũng không gây ra những thay đổi đột ngột trong hoạtđộng của doanh nghiệp.
Cácbướcđiđầuphảilànềntảngvữngchắcchocácbướcđisau.Cácbướcđisau phảithểhiệnđượcsựcảitiến,nângcaosovớibướcđitrước,đồngthờikếthừa cácthành quả của cácbước đi trước đó.
3.XÁC ĐỊNH PHẠMVIKHẢ NĂNG MỤCTIÊU DỰÁN
-Thống nhấtcácmụctiêutrướcmắtvà lâudài trong việcpháttriểnhệthống.Căn cứvàokếtquảkhảosát,đánhgiáhệthốngcũvàcácphươnghướngpháttriểnđã đềranhàphântíchvànhàquảnlýcầnxácđịnhrõmụctiêuchungcầnđạtđược, từ đó đi đến thống nhất phạmvi củahệ thống tương lai.
-Phạmvi : Khoanh vùng dự án cụthể thực hiện theo cácphương pháp:
+Khoanh vùng hẹp đi sâugiải quyết vấn đề theo chiều sâu
+Giải quyết tổng thể toàn bộ vấn đề theo chiềurộng
-Phạmvi củadự ánliênquan đến cácmặt sau
+Xácđịnhcáclĩnhvựccủadựán:Mỗilĩnhvựclàmộtbộphậntươngđối độc lậpcủa hệ thống.
Vídụ :Bán hàng, muahàng
+Xácđịnhcácchứcnăng:Xácđịnhrõcácnhiệmvụchotrêntừnglĩnhvực củadự án.
Vídụ :Trong bánhàng : tăng cường tiếp thị, cải tiến cơ cấu bánhàng.
Mục tiêu : Khắcphục cácyếu kémhiện tại đáp ứng yêu cầu trong tương lai
Hạnchế :Vềtài chính, con người, thiếtbị, môi trường, thời gian
CHƯƠNG3 PHÂNTÍCHCHỨC NĂNG CỦAHỆTHỐNG
1.MÔ HÌNH PHÂN RÃ CHỨCNĂNG
Xácđịnhchứcnăngnghiệpvụlàbướcđầutiêncủaphânhệthống. Đểphân tíchyêucầuthôngtincủatổchứctaphảibiếtđượctổchứcthựchiệnnhững nhiệmvụ,chứcnănggì. Từđótìmracácdữliệu,cácthôngtinđượcsửdụngvà tạoratrongcácchứcnăngcũngnhưnhữnghạnchế,cácràngbuộcđặtlêncác chức năng đó.
1.1.Định nghĩa
Môhìnhphânrãchứcnăng(BFD)làcôngcụbiểudiễnviệcphânrã có thứbậcđơngiảncáccôngviệccầnthựchiện.Mỗicôngviệcđượcchiaralàm cáccôngviệccon,sốmứcchiaraphụthuộckíchcỡvà độphứctạpcủahệ thống.
1.2.Cácthànhphần
a.Chức năng
-Chức năng:làcôngviệcmàtổchứccầnlàmvàđượcphântheonhiều mứctừ tổng hợp đến chi tiết.
-Cáchđặttên:Tênchứcnăngphảilàmộtmệnhđềđộngtừ,gồmđộngtừ vàbổngữ.Độngtừthểhiệnhoạtđộng,bổngữthườngliênquanđếncácthực thể dữ liệu trong miền nghiên cứu.
Chúý: Têncácchứcnăngphảiphảnánhđượccácchứcnăngcủathếgiới thựcchứkhôngchỉdùngchohệthôngtin.Têncủachứcnănglàmộtcâungắn giải thích đủ nghĩa của chức năng,sử dụng thuật ngữ nghiệp vụ
b.Quan hệphân cấp
-Mỗichứcnăngđượcphânrãthànhcácchứcnăngcon.Cácchứcnăng con có quan hệ phâncấp với chức năng cha
1.3.Đặc điểmvà mục đíchcủa môhình
uĐặc điểm
ü Cung cấpcáchnhìn khái quát chức năng
ü Dễ thành lập
ü Gần gũi với sơ đồ tổ chức.
ü Không đưa ra được mốiliênquan về thông tin giữa cácchức năng.
uMục đích
ü Xác định phạmvi của hệthống cần phân tích
ü Chophépmôtảkháiquátdầncácchứcnăngcủamộttổchứcmột cáchtrựctiếpkhách quan.Chophéppháthiệnchứcnăngthiếu, trùng lặp
ü Giúplàmviệcgiữanhàthiếtkếvàngườisửdụngtrongkhiphát triển hệthống.
1.4.Xâydựng môhình
a.Nguyêntắcphân rã các chức năng
Trongquátrìnhtiếpcậnmộttổchứctheophươngpháptừtrênxuống,tanhận đượcthôngtinvềcácchứcnăngtừmứcgộp(dolãnhđạocungcấp)đếnmức chi tiết(docácbộ phậnchứcnăng cungcấp).Cáchphân chonàyphù hợpvới sự phâncôngcácchứcnăngcôngviệcchocácbộphậnchứcnăngcũngnhưcho cácnhân viêncủa mộttổ chức. Cáchphân chia này thường theo nguyên tắcsau:
l Mỗichứcnăngđượcphânrãphảilàmộtbộphậnthựcsựthamgiathực hiện chức năng đã phânrã ra nó.
l Việcthựchiệntấtcảcácchứcnăngởmứcdướitrựctiếpphảiđảmbảo thực hiện được cácchứcnăng ở mứctrênđã phân rã ra chũng
Quytắcnàyđượcsửdụngđểphânrãmộtsơđồchứcnăngnhậnđượccònđang ởmứcgộp.Quátrìnhphân rã dầnthườngđượctiếptụcchođếnkhitanhận đượcmộtmôhìnhvớicácchứcnăngởmứccuốimàtahoàntoànnằmđượcnội dung thực hiện nó.
b.Tiến hành
B1: Xác định chứcnăng
l Tronghầuhếtcáchoàncảnh,cácchứcnăngchavàchứcnăngcontrong hệthốngcóthểđượcxác địnhmộtcáchtrựcgiáctrêncơsởthôngtin nhận được trong khảo sát.
l Ởmứccao nhất, một chức năngchính sẽ làm một trong ba điều sau:
+Cungcấp sảnphẩm(VD:Phát hàng)
+Cung cấp dịchvụ (VD: Đặt hàng)
+Quản lý tài nguyên (VD: Quản lý nhânsự, bảo trì kho..)
l Mỗichứcnăngcómộttênduynhất,cácchứcnăngkhácnhauphảicótên khácnhau.Đểxácđịnhtênchochứcnăngcóthểbànluậnvànhấttrívới người sử dụng.
B2: Phân rã cácchức năng
l Phânrã có thứ bậc
üThực hiện việc phân rã chức năngtheocácnguyên tắcphân rã
üKhiphânrãmộtchứcnăngthànhcácchứcnăngconcóthểcăncứvàomột sốgợi ý:
Ø Xácđịnh nhu cầu hoặckế hoạch mua sắm.
Ø Mua sắmvà/hoặc càiđặt.
Ø Bảo trì và hỗ trợ.
Ø Thanh lý hoặc chuyển nhượng
l Cáchbố trí sắpxếp
üKhôngnênquá6mứcđốivớihệthốnglớn,khôngquá3mứcđốivớihệ thống nhỏ.
üSắpxếp cáccông việc trên mộtmứccùng mộthàng đảmbảo cânđối.
üCácchức năngconcủa cùngmộtmẹnêncó kíchthước, độphứctạp vàtầm quan trọng xấp xỉ như nhau.
üCácchứcnăngmứcthấpnhấtnênmôtảđượctrongkhôngquánửatrang giấy,nóchỉcómộtnhiệm vụhoặcmộtnhómnhiệmvụnhỏdotừngcá nhân thực hiện.
l Yêu cầu :
Môhìnhphânrãchứcnăngchotamộtcáinhìnchủquanvềhệthốngnêncần tạo ra môhình tốt và đạtđượcsự thống nhất với người sử dung
B3: Mô tả chi tiết chứcnăng mức lá
Đốivớimỗichứcnănglá(mứcthấpnhất)trongmôhìnhcầnmôtảtrìnhtựvà cáchthứctiếnhànhnóbằnglờivàcóthểsửdụngmôhìnhhaymộthìnhthức nào khác. Môtả thường bao gồmcácnội dung sau:
l Tên chứcnăng
l Cácsự kiện kích hoạt (khi nào?cái gì dẫn đến?điều kiện gì?)
l Quytrình thực hiện
l Yêucầu giao diệncần thể hiện (nếu có)
l Dữliệu vào (cáchồ sơsử dụng ban đầu)
l Công thức (thuật toán)tính toán sửdụng (nếucó)
l Dữliệu ra (cácbáo cáo hay kiểmtra cần đưa ra)
l Quytắc nghiệp vụ cầntuânthủ
Vídụ: Môtảcácchứcnăng lá“kiểmtrakhách hàng”:Người tamởsổkhách hàngđểkiểmtraxemcókháchhàngnàonhưtrongđơnhàngkhông?(họtên, địachỉ,…)Nếukhôngcó,đólàkháchhàngmới.Ngượclạilàkháchhàngcũthì cầntìmtênkháchhàngtrongsổnợvàxemkháchcónợkhôngvànợbaonhiêu, có quá sốnợ cho phép b không và thời gian nợ có quá thời hạn hợp đồng không
1.5.Cácdạng môhình phân rã chứcnăng
Môhìnhphânrãchứcnăngnghiệpvụcóthểbiểudiễnởhaidạng:dạng chuẩn và dạng côngty. Chọndạng nào để dùng là tuỳ thuộc vàochiến lược xử lý dữ liệu của công ty và vào tầmquantrọng và độ mềmdẻo củahệ thống.
a.Mô hình dạng chuẩn
Dạngchuẩnđượcsửdụngđểmôtảcácchứcnăngchomộtlĩnhvựckhảosát (haymộthệthốngnhỏ). Môhìnhdạngchuẩnlàmôhìnhcây:ởmứccaonhất chỉgồmmộtchứcnăng,gọilà“chứcnănggốc”hay“chứcnăngđỉnh”;những chức năng ở mức dưới cùng (thấp nhất)gọi là“chức năng lá”
b.Mô hình dạng công ty
Dạngcôngtyđượcsửdụngđểmôtảtổngthểtoànbộchứcnăngcủamột tổchứccóquimôlớn.ởdạngcôngty,môhìnhthườnggồmítnhấthaimôhình trởlên.Một“môhìnhgộp”môtảtoànbộcôngtyvớicácchứcnăngthuộcmức gộp(từhaiđếnbamức).Cácmôhìnhcònlạicáccác“môhìnhchitiết”dạng chuẩnđểchitiếtmỗichứcnănglácủamôhìnhgộp.Nótươngứngvớicácchức năng màmỗibộ phận của tổ chứcthựchiện,tứclà mộtmiềnđượckhảo cứu.
Với cáchtiếpcậncôngty,phântíchtoànbộcôngty,xácđịnhtấtcảcác chứcnăngnghiệpvụmứccaonhất.Bấtcứdựánnàođangđượcpháttriểnđều là mộtphần của một trong những chứcnăng mứccao này.
2.MÔ HÌNH LUỒNGDỮLIỆU
2.1.Khái quát
Mục đích:
l Bổxungkhiếmkhuyếtcủamôhìnhphânrãchứcnăngbằngviệcbổxung cácluồng thông tin nghiệp vụ cần đểthựchiệnchức năng.
l Cho ta cáinhìn đầyđủ hơn về cácmặt hoạt động củahệ thống
l Là một trong số cácđầu vào cho quá trình thiết kế hệ thống.
Phươngpháp:Phươngphápphântíchtop-down.Hệthốngđượcmôtả bởi nhiều DFD ở nhiều mức
2.2.Định nghĩa
Môhìnhluồngdữliệu(DFD-DataFlowDiagram)làmộtcôngcụmôtả mốiquan hệ thông tin giữa cáccông việc.
2.3.Cácthànhphần
a.Chứcnăng (Tiến trình)
-Địnhnghĩa:Làmộthoạtđộngcóliênquanđếnsựbiếnđổihoặctácđộng lênthôngtinnhưtổchứclạithôngtin,bổsungthôngtinhoặctạorathôngtin mới.Nếutrongmộtchứcnăngkhôngcóthôngtinmớiđượcsinhrathìđó chưa phải là chức năngtrong DFD.
-Cách đặt tên: Động từ + bổ ngữ.
-Biểu diễn : hình chữ nhật góctròn hoặc hình tròn
Chúý:Trongthựctếtênchứcnăngphảitrùngvớitênchứcnăngtrongmô hình phân rã chức năng.
b.Luồng dữ liệu :
-Định nghĩa: Là luồng thông tin vào hoặc ra khỏi chức năng
-Cách đặt tên : Danh từ + tính từ
-Biểudiễn : là mũitên trênđó ghi thông tin di chuyển
vChúý:Cácluồngdữliệuphảichỉrađượcthôngtinlogicchứkhôngphải
tàiliệu vật lý. Cácluồng thông tin khácnhau phải có tên gọi khác nhau.
c.Kho dữliệu
-Địnhnghĩa:Lànơibiểudiễnthôngtincầncấtgiữ,đểmộthoặcnhiềuchức năng sử dụng chúng.
-Cách đặt tên : danh từ + tính từ. Chỉ nội dung dữ liệu trong kho
-Biểudiễn : cặp đườngthẳngsongsong chứa thông tin cầncất giữ
d.Tác nhân ngoài
-Địnhnghĩa:Làmộtngườihoặcmộtnhómngườinằmngoàihệthốngnhưng cótraođổitrựctiếpvớihệthống.Sựcómặtcủacácnhântốnàytrênsơđồ
chỉragiớihạncủahệthống,địnhrõmốiquanhệcủahệthốngvớithếgiới bên ngoài
-Tên :Danhtừ
-Biểudiễn : hình chữ nhật
e.Tác nhân trong
-Làmộtchứcnănghoặcmộthệthốngconcủahệthốngđangxétnhưngđược trình bày ở một trang khác củamôhình.
Mọisơđồluồngdữliệuđềucóthểbaogồmmộtsốtrang,thôngtintruyền giữa cácquá trình trêncáctrang khác nhau được chỉ ra nhờ kí hiệu này.
-Tên: động từ + bổ ngữ
2.4.Một sốquytắc vẽ biểu đồ luồng dữ liệu
l Cácluồngdữliệuvàocủamộttiếntrìnhcầnkhácvớicácluồngdữliệura củanó.Tứclàcácdữliệuquamộttiếntrìnhphảicóthayđổi.Ngượclại, tiếntrìnhlàkhôngcầnthiếtvìkhôngtácđộnggìđếncácluồngthôngtin điqua nó
l Cácđốitượngtrongmộtmôhìnhluồngdữliệuphảicótênduynhất:mỗi tiếntrìnhphảicótênduynhất.Tuynhiên,vìlídotrìnhbàycùngmộttác nhân trong, tácnhân ngoài và kho dữ liệu có thể được vẽlặp lại.
l Cácluồngdữliệuđivàomộttiếntrìnhphảiđủđểtạothànhcácluồngdữ liệu đi ra.
l Nóichungtênluồngthôngtinvàohoặcrakhotrùngvớitênkhovìvậy khôngcầnviếttênluồng.Nhưngkhighihoặclấytinchỉtiếnhànhmột phần kho thì lúc đó phải đặt tên cho luồng
l Khôngcómộttiếntrìnhnàochỉcócáiramàkhôngcócáivào.Đốitượng chỉ có cái ra thì có thể là tác nhânngoài (nguồn)
l Khôngmộttiếntrìnhnàomàchỉcócáivào.Mộtđốitượngchỉcócáivào thì chỉ có thể là tác nhân ngoài(đích)
l Khôngcó cáctrường hợp sau
2.5.Xâydựng môhình luồng dữ liệu
-Bước1: Xây dựng mô hình luồng dữ liệu mức khung cảnh (mức0)
üMôhìnhluồngdữliệumứckhungcảnhgồmmộtchứcnăngduynhấtbiểu thịtoànbộhệthốngđangnghiêncứu,chứcnăngnàyđượcnốivớimọitác nhân ngoàicủa hệ thống.
üCácluồngdữliệugiữachứcnăngvàtácnhânngoàichỉthôngtinvàovàra củahệ thống
b.Xây dựng mô hình luồng dữliệumức đỉnh (mức 1)
-Vớimứcđỉnhcáctácnhânngoàicủahệthốngởmứckhungcảnhđượcgiữ nguyên với cácluồng thông tin vào ra.
-Hệthốngđượcphânrãthànhcácchứcnăngmứcđỉnhlàcáctiếntrìnhchính bên trong hệthống theomôhình phânrã chứcnăng mức1.
-Xuấthiệnthêmcáckhodữliệuvàluồngthôngtintraođổigiữacácchức năng mứcđỉnh.
c.Xây dựng môhình luồng dữliệu mức dưới đỉnh (mức 2 vàdưới 2)
-ở mức nàythựchiệnphân rã đối với mỗi chức năngcủa mứcđỉnh.
-Khithựchiệnmứcphânrãnàyvẫnphảicăncứvàomôhìnhphânrãchức năng để xác định cácchức năng con sẽ xuất hiện trong môhình luồng dữ liệu
-Việcphân rã có thể tiếp tục cho đến khi đủ sốmứccần thiết
-Khiphânrãcácchứcnăngphảiđảmbảotấtcảcácluồngthôngtinvàoraở chứcnăngmứccaophảicómặttrongcácchứcnăngmứcthấphơnvàngược lại.
*Chúý:
-Các kho dữ liệu không xuất hiện ở DFD mức khung cảnh.
-Nênđánh số cácchức năng theo sựphân cấp.
-Các kho dữ liệu, cáctác nhân ngoài có thể xuất hiện nhiềulần.
-Số mức phụ thuộc vào độ phứctạp của hệ thống.
2.6.Chuyển từ môhình luồng dữ liệu vật lý sangmôhình luồng dữ liệu logic
l TrongthựctếngườitathấytạoramộtmôhìnhDFDchohệthốngthực dưới dạng vật lý không có lợi:
üTốnnhiềuthờigianvàtiêutốnnguồntàinguyênpháttriểndựán mộtcáchkhôngcầnthiết.Cóthểxemquátrìnhnàylàviệcsaochép côngviệccủakỹthuậtviênđiềutra,saochéptấtcảnhữnggìđang thực hiện hiện tại.
üKhitạoramôhìnhthìphảitạoranhữngđiềuchỉnhtượngtrưngcho nó,xửlýnónhưmôhình logic,kếtquảlàhệthốngmớichỉđơn thuầnlàtinhọchoáhệthốngcũvớirấtnhiềulỗimàcáitacầncuối cùng làmôhình DFD logic.
l Môhìnhlogicloạinhữngràngbuộc,cácyếutốvậtlý,nóchỉquantâm chứcnăngnàolàcầnchohệthốngvàthôngtinnàolàcầnđểthựchiện cho chức năng đó.
l Cácyếu tố vật lý cần loại bỏ:
ü Cácphươngtiện,phươngthức:tựđộng,thủcông,bànphím,màn hình,..
ü Cácgiámangthông tin: cáctệp, chứng từ
ü Cácchứcnăngxửlýgắnvớicáccôngcụhaycáchthứccàiđặtcụ thể
l Tiếnhànhcácloạibỏvàchỉnhđốnlạicấutrúc. Loạibỏ:loạibỏcácngôn từ,hìnhvẽbiểudiễncác phươngtiện,giámangtin,..giữlạicácchức năng và nội dung thông tin
*Chú ý:
+Nênxâydựngmôhìnhlogiccầncóbằngcáchđiềuchỉnhmôhìnhlogic thực tại.
+Khôngcósựphânchiarõrệtgiữalogicvàvậtlý.Môhìnhcàngphânrãở mứcthấp thì càng thêmnhiều yếu tố vật lý.
+Cànggiữchomôhìnhcủamìnhđượclogicnhiềunhấtkhiđisâuvàochi tiết càng tốt.
2.7.Chuyển từ DFD củahệ thống cũ sang DFD củahệ thống mới.
l Giaiđoạnnàycóýnghĩavôcùngquantrọngảnhhưởngtolớnđếnsự thành công của hệthống mới.
l Tronggiaiđoạnnàynhàquảnlývànhàphântíchphảihợptácchặtchẽđể tìmcáchhoàhợpcơcấutổchức,nhậnthứcđượcvaitròcủamáytínhđể thayđổi hệ thống cũ.
l ĐểchuyểntừDFDcủahệthốngcũsangDFDcủahệthốngmớitrước tiênphảixácđịnhcácmặtyếukémcầncảitiến,thayđổitronghệthống cũ.
l Cácyếukémchủyếudosựthiếuvắnggâyra
l Xemlại môhình luồng dữ liệu
+Nếu thiếu vắng thì bổ xung
+Nếu thừa thì loại bỏ
+Nếu thayđổi bắtđầu từ mứcđỉnh
ü Khoanhvùng vùng sẽ được thay đổi
ü Giữnguyên cácluồng vào và luồng ra của vùng
ü Xácđịnh chức năng tổng quát của vùng
ü Xoábỏmôhìnhluồngdữliệubêntrongvùngđượckhoanh,lậplại cácchức năng từ mứcthấp nhất.
ü Thành lập kho dữ liệu và luồng dữ liệu cần thiết.
l Sửalại môhình phân rã chứcnăng theo môhình luồng dữ liệu.
l Kiểm tralại cácmôhình dữ liệu điều chỉnh lại cho hợp lý.
2.8.Hoàn chỉnh môhình DFD
Khiđãhoànthànhsơđồluồngdữliệucầnkiểm travềtínhđầyđủvànhất quán của nó. Phải làmcho sơđồ đơn giản, chính xác vàlogicnhất có thể được.
Cóthể xảyra cáctình huống saunên tránh:
-Hiệu ứng mặttrời bừng sáng: Một chứcnăng có quá nhiều dòng vào ra. Khắc phục : Gomnhómhoặcphân rã tiếp một sốchức năng chưa hợp lý.
Khắcphục xoábỏ chức năng không biến đổi thông tin.
Xuấthiệnmộtchứcnăngcócácchứcnăngconkhôngcóliênquanvềdữ liệu(khôngcódòngthôngtinnộibộgắnvớinhauhoặckhôngsửdụngkhodữ liệu chung) => Phân bố sơđồ phân rã chức năng chưa hợp lý cầnxemxét lại.
vChúýkhithayđổimôhìnhluồngdữliệuthìphảisửalạimôhìnhphânrã chức năng cho phù hợp.
Tácdụng
-Xácđịnh nhu cầu thông tin ở mỗichức năng
-Chomộtthiếtkế sơ bộ về thực hiện chứcnăng
-Là phương tiện giao tiếp giữa người phân tích thiết kế và người sửdụng
-Luôncóhaimứcdiễntảvậtlývàlôgíc.Mứcvậtlýtrảlờicâuhỏinhưthế nào, mứclôgíc trảlời câuhỏi làmgì.
2.9.Phânmức
-Sơđồluồngdữliệuđầyđủcủahệthốnglàrấtphứctạpkhôngthểxếpgọn trong một trang => Cần dùng tới kỹ thuật phân rã sơ đồ theomột sốmức.
-Cácmứcđượcđánhsốthứtự,mứccaonhất(mứckhungcảnh)là0sauđó đến mứcđỉnh 1, cácmức dưới đỉnh 2,3,...
Mức 0:Tên chứcnăng là tên toàn bộ hệ thống.
Mức1:Mỗichứcnăngđượcgắnvớimộtsốvàsẽđượcmangtiếptheovới cácchỉsốchỉmứcphụ thuộc,xemnhưmộtcáchđặttêntheosốchotừng chức năng con củanó. Bắt đầu ở mức 1 mới có cáckho dữ liệu
2.10.Hạn chế củamôhình luồng dữ liệu
-Khôngchỉrađượcyếutốthờigian(Vídụ:Thôngtinchuyểntừtiếntrình nàysangtiếntrình khác hết baonhiêu thời gian)
-Không xácđịnh được trật tự thực hiện cácchức năng.
-Khôngchỉrađượcyếutốđịnhlượngđốivớidữliệucóliênquan(tốiđavà tối thiểunhững thông tin là cơbản trong quá trình phân tích)
CHƯƠNG 4PHÂNTÍCHVÀTHIẾTKẾ DỮLIỆU
1.1.Cáckhái niệm
l Cơsởdữliệu(CSDL):CSDLmáytínhlàmộtkhochứamộtbộsưutậpcótổ chức cácfile dữ liệu, cácbản ghi và cáctrưường.
l Hệquảntrịcơsởdữliệu(HQTCSDL)làmộtphầnmềmđiềukhiểnmọitruy nhập đối với CSDL.
l CácHQTCSDLđược phân loại theo môhình dữ liệu như sau:
ü CácHQTCSDLphâncấpứngvớimôhìnhphâncấp(VD:IMScủa
IBM)
ü CácHQTCSDLmạngứngvớimôhìnhmạng(VD:IDMScủaCullinet
Software)
ü CácHQTCSDLquanhệứngvớimôhìnhquanhệ(VD:ORACLEcủa
Oraccle, DB2của IBM,Accessvà SQLserver của Microsoft)
ü CácHQTCSDLhướngđốitượngứngvớimôhìnhhướngđốitượng
(VD: Jasmine,…)
1.2.Cácbướctiếnhành phân tích và thiết kế CSDL
l Phântích – bước nàyđộc lập với cáchệ quản trị CSDL
ü Xácđịnhcácyêucầuvềdữliệu:Phântíchcácyêucầudữliệucủahệ thống để xác định cácyêu cầu về dữ liệu
ü Môhìnhhoádữliệu:Xâydựngmôhìnhthựcthểliênkếtbiểudiễncác yêu cầu về dữ liệu
l Thiết kế cơsở dữ liệu quan hệ
ü Thiết kế logic CSDL: độc lập với một hệ quảntrị CSDL
u Xácđịnhcácquanhệ:Chuyểntừmôhìnhthựcthểliênkếtsang môhình quan hệ.
u Chuẩnhoácácquanhệ:chuẩnhoácácquanhệvềdạngchẩnít nhất là chuẩn 3 (3NF)
ü Thiết kế vậtlý CSDL: dựa trên mộthệ quản trị CSDLcụ thể.
u XâydựngcácbảngtrongCSDLquanhệ:quyếtđịnhcấutrúc thực tế của cácbảng lưu trữ trong môhình quanhệ.
u HỗtrợcáccàiđặtvậtlýtrongCSDL:càiđặtchitiếttrong
HQTCSDLlựa chọn
2.MÔ HÌNHTHỰCTHỂLIÊN KẾT
2.1.Mục đích
lMôtảthếgiớithựcgầnvớiquanniệm,suynghĩcủata.Đâylàmôhìnhtốt với lượng thông tin ít nhất, môtả thế giới dữ liệu đầy đủ nhất
lViệcxâydựngmôhìnhnhằmthànhlậpmộtbiểuđồcấutrúcdữliệubao gồmdữ liệucần xử lý và cấu trúc nội tại của nó.
lVídụ một môhình thực thể liên kết
2.2.Cácthànhphần
Môhìnhthựcthểliênkếtcòngọilàmôhìnhdữliệulogichoặcsơđồtiêuchuẩn. Nóđượcxâydựngdùngbốnkiểukhốixâydựng:thựcthể,kiểuthựcthể,thuộctính, liên kết
a.Thực thể
Mộtthựcthểlàkháiniệmđểchỉmộtđốitượng,mộtnhiệmvụ,mộtsựkiện trongthếgiớithựchaytưduyđượcquantâmtrongquảnlý.Mộtthựcthểtương đương với một dòng trong bảng nào đó
VD:sinh viên LêAn, Đơn hàngsố 123, ...
b.Kiểu thựcthể
-Kiểuthựcthểlàviệcnhómtựnhiênmộtsốthựcthểlại,môtảchomộtloại thôngtinchứkhôngphảilàbảnthânthôngtin.Kiểuthựcthểthườnglàtậphợpcác thực thể có cùng bản chất.Tên kiểu thực thể: là mộtdanh từ.
-Vídụ:LêAnlàmộtthựcthể,đượcquantâmtớivìanhtađanghọctạimột trườngđại họcA,tức anhtalà mộtsinhviên.SINH VIÊN làmộtkiểuthực thểvì nó môtả cho mộtsố thực thể vàdựatrên đó thông tin được lưu giữ.
-Kiểu thực thể được biểu diễn dạnghình chữnhật
Chúý:Mộtcáchgọikhác củaKiểuthựcthể-Thựcthểđó làThựcthể-Thể hiện
củathực thể.
Vídụ: có thể nói kiểu thực thểSINHVIÊN có cácthực thể LêAn, HoàngThị Hà
Haythực thể SINHVIÊN có các thể hiện LêAn, HoàngThị Hà,…
Bàitập:Tìmcáckiểu thực thể trong hệ thống quản lý bến xe
(Khách hàng,Vé, Phương tiện, Nhà cung cấp,Đơn hàng)
c.Liên kết và kiểuliênkết
-Liên kết(còn gọi là quan hệ) là sựkết hợp giữa hai haynhiều thực thể phản ánh sự ràng buộc trong quản lý.
Đặcbiệt: Một thực thể có thể liên kết với chính nó tathường gọi là tự liên kết.
Giữahai thực thểcó thể có nhiều hơn mộtliên kết.
-Kiểuliênkết làtập hợpcácliên kếtcócùng bảnchất.Cáckiểu liênkếtcho biết sốthểhiệnlớnnhấtcủamỗithựcthểthamgiavàoliênkếtvớimộtthểhiệncủamột thực thể khác. Cóba kiểu liên kết: một-một, một-nhiều,nhiều – nhiều.
l Liên kết một – một (1-1):
MỗithểhiệncủathựcthểAquanhệvớimộtthểhiệncủathựcthểBvà ngược lại.
l Liên kết một – nhiều (1-N)
MỗithểhiệncủathựcthểAquanhệvớinhiềuthểhiệncủathựcthểB. Ngược lại mỗithể hiện của thực thể Bquan hệ với chỉ mộtthể hiện của thực thểA.
l Liên kết nhiều– nhiều(N-N)
MỗithểhiệncủathựcthểAquanhệvớinhiềuthểhiệncủathựcthểB. Ngược lại mỗithể hiện của thực thể Bquan hệ với nhiều thể hiện củathựcthểA
-Loạithànhviên:làđiềukiệnmộtthểhiệncủathựcthểthamgiavàoliênkết vớimộtthựcthểkhác.Nócóthểlàbắtbuộchaytuỳchọntrongquanhệ.Cácloại thànhviênchobiếtsốthểhiệnnhỏnhấtcủamỗithựcthểthamgiavàoliênkếtvới mộtthể hiện của mộtthực thể khác.
Chú ý :
-Môhìnhdữliệukhôngchỉlàcôngcụphântíchthiếtkếmàcònnhưmột phươngphápkiểmtrachặtchẽcácyêucầunghiệpvụcủangườisửdụng.Liênkết một-nhiềubiểuthịràngbuộclàmộtphầncủamôtảyêucầunghiệpvụ:Khichiều mộtnhiềulà mở,không xácđịnh (kháchhàngcó thểcó nhiềuđơnhàng)thì chiềutừ nhiều sangmột là hoàntoàn xác định (một đơn hàngphải thuộc về mộtkhách hàng).
-Nếu hai thực thể có quanhệ một-một thường có ít lý do để coi chúng như hai bảng tách biệt => người ta thường gộp hai thực thể làm mộtbảng với mỗidòng dài hơn.
-Nếu hai thực thể có quanhệ nhiều -nhiềuthì không cósự khác biệt về bảnchất giữa cácchiều(không nói lên được kẻ thống trị)=> ít khi được sử dụng.
Tómlại trong ba kiểu liên kếttrên, liên kết một nhiều là quan trọng hơn cả và hầu như cácmối quan hệtrong môhình thực thể liên kết đều là một nhiều.
d.Thuộc tính
-Thuộctínhlàgiátrịthểhiệnmộtđặcđiểmnàođócủamộtthựcthểhaymột liênkết.Mỗithuộctínhcómộttậpgiátrịgọilàmiềngiátrịcủathuộctínhđó.Ký hiệu miềngiá trị củathuộc tínhAlà D(A).
-Ví dụ:Thực thể SINHVIÊN có cácthuộctính như: MãSV, tên SV, ngàysinh, giới tính, địachỉ,…
-Cáckiểu thuộc tính :
ü Thuộctínhđịnhdanh(còngọilàđịnhdanhthựcthể,đôikhicòngọilàthuộc tínhkhoá):Làmộthoặcmộtsốthuộctínhmàgiátrịcủanóchophépphân biệtcácthựcthểkhácnhau.Mộtthựcthểbaogiờcũngđượcxácđịnhmột thuộctínhđịnhdanhlàmcơsởđểphânbiệtcácthểhiệncụthểcủanó.Ví dụ : Số hiệukhách hàng, Mãmặthàng, Mãsinh viên,...
ü Thuộctínhmôtả:Làcácthuộctínhmàgiátrịcủachúngchỉcótínhmôtả chothựcthểhayliênkếtmàthôi.Hầuhếtcácthuộctínhtrongmộtkiểuthực thể đều là môtả.
Một sốthuộc tính môtả đặc biệt:
uThuộctínhtêngọilàthuộctínhmôtảđểchỉtêncácđốitượng thuộcthựcthể.Thuộctínhtêngọiđểphânbiệtcácthựcthể(tách cácthực thể).
uThuộctínhkếtnối(thuộctínhkhoángoài):làthuộctínhchỉra mốiquanhệgiữamộtthựcthểđãcóvàmộtthựcthểtrongbảng khác.Thuộctínhkếtnốigiốngthuộctínhmô tảthôngthường trongthựcthểchứanónhưngnólạilàthuộctínhkhoácủamột thực thể trong bảngkhác
2.3.Xâydựng môhình thực thể liên kết của hệ thống
a.Các bướctiếnhành
B1:Xác định cácthực thểvà cácđịnh danh thực thể
l Xácđịnhcácthựcthểlàcácmụcthôngtincầnthiếtchohệthốngvàhệ thống cần lưu giữ.Tìmcácthực thể từ ba nguồn :
l Thôngtintàinguyên:conngười,khobãi,tàisản(VD:nhàcungcấp, mặthàng, kho...)
l Thôngtingiaodịch:làcácluồngthôngtinđếntừmôitrườngvàkích hoạtmộtchuỗihoạtđộngcủahệthống(VD:đơnhàng(mua,bán),dự trù, phiếu yêu cầu,...)
l Thôngtintổnghợp:thườngởdướidạngthốngkêliênquanđếncáckế hoạch hoặc kiểmsoát (VD: dự toán chi tiêu, tính lương...)
l Ghilại cáctên đồng nghĩa củathực thể trong từ điển dữ liệu.
l Kiểm trarằng mỗi thực thể thoả mãn:
ü Tên gọi là danhtừ.
ü Có nhiều thể hiện.
ü Có duy nhất một định danh.
ü Có ít nhất mộtthuộc tính môtả.
ü Có quan hệvới ít nhất một thực thể khác. B2:Xác định liên kết giữa cácthựcthể
l Thiếtlậpsựtồntạicủaliênkết(Vẽđườngthẳngvàđặttênquanhệtại hai đầu)
l Xácđịnhloạiliênkết(1-1,1-N,N-N)vàloạithànhviên(tuỳchọnhay bắt buộc).
l TáchliênkếtN-Nthànhhailiênkết1-Nvớimộtthựcthểkếthợp.Khi đóthựcthểkếthợpsẽcóđịnhdanhđượctạothànhtừhai thuộctính định danh của cácthực thể ban đầu.
B3: Xácđịnh cácthuộc tính môtả cho cácthựcthể
ü Mỗi thuộc tính chỉ xuất hiện một lần trong thực thể tương ứng.
ü Nếukhôngchắcchắnlàthuộctínhhaythựcthểcầntiếptụcnghiêncứu và phân tích nó.
ü Chúý:KhimộtthuộctínhcủathựcthểAcónhiềugiátrịtasẽmôhình hoáthuộctínhđólàmộtthựcthểBcóquanhệphụthuộcvớithựcthể A.ĐịnhdanhcủathựcthểBsẽbaogồmcácthuộctínhđịnhdanhcủa thựcthểAvàmộtsốthuộctínhkháccủathựcthểB.Liênkếtgiữathực thểAvàthựcthể Bđược gọi làliên kếtphụ thuộc.
Vídụ:Mộtnhânviêncóthểcónhiềutrìnhđộngoạingữvớicácngôn ngữkhácnhau.Khiđótrìnhđộngoạingữcủanhânviênkhôngđược môhìnhhoálàmộtthuộctínhmàđượcmôhìnhhoálàmộtthựcthể như sau:
3.MÔ HÌNH QUAN HỆ
3.1.Khái niệm
a.Quan hệ
-Cácthành phần trong môhình quan hệgồm: Các quan hệ -cácbộ -cácthuộc tính.
Tương ứng với cácthành phần trong môhình thựcthể liên kết là: Cácthựcthể–
cácthể hiện củathực thể – cácthuộc tính.
Môhình thực thể liên kết => Mô hình quan hệ => Các bảng trong HQTCSDL. So sánhtương ứng giữamôhình thực thể liên kết,môhình quanhệ và hệ quản
trị CSDL
Chúý:
l Cácbộ trong mộtquan hệ không được trùng nhau.
l Thuộctínhđượcxácđịnhbởitên,thứtựcủacácthuộctínhtrongquanhệlà khôngquantrọng.Trongmộtquanhệ,têncácthuộctínhphảikhácnhau(các miềngiá trị củacácthuộc tính không nhất thiết khác nhau)
b.Khoá
l Khoáchính:Khoáchínhcủamộtquanhệ(PrimaryKey-PK)làmộthoặcmột nhómthuộctínhxácđịnh duynhấtmộtbộtrongquanhệ.Khoáchínhcủa quanhệlàđịnhdanhcủathựcthểtươngứng.Trongquanhệcácthuộctính thuộc khoá chính được gạchchân và được gọi là cácthuộc tính khoá.
Khichọnkhoáchínhcầnphảixemxétcáctiêuchuẩnsau:khoáchínhphải xácđịnhđượcduynhấtmộtbộtrongquanhệ,phảicósốthuộctínhítnhất, phải không thayđổi theo thời gian.
l Khoághép: Khoá ghéplà khoá có từ hai thuộc tính trở lên.
l Khoángoài:Mộtkhoángoàiđượcsửdụngđểthiếtlậpmộtmốiquanhệ.Đó làthuộctínhmôtảcủaquanhệnàynhưngđồngthờilạilàthuộctínhkhoá trongquanhệkhác.Trongquanhệcácthuộctínhkhoángoàiđượcinnghiêng hoặc gạch chânbằng nét đứt.
l Khoágiả:Làthuộctínhdoconngườiđặtrađểlàmkhoáchính.Thuộctính nàykhôngmôtảđặcđiểmcủacácđốitượngquantâmmàchỉcótácdụngđể xácđịnhduynhấtđốitượngđó.Vídụ:mãSV,sốhoáđơn…Thôngthường khikhoáchínhcótừ3thuộctínhtrởlênngườitathườngđặtramộtkhoágiả làmkhoá chính để tiện lợi hơn trong việctruy vấn dữ liệu.
-Ràngbuộcthựcthể:làmộtràngbuộctrênkhoáchính.Nóyêucầukhoáchính phảitốithiểu,xácđịnhduynhấtvàkhôngnull.(Giátrịnulltứclàkhôngcógiátrị. Nó khác với giá trị 0 haydấu cách.)
-Ràng buộcthamchiếu (ràng buộc khoángoài): liên quan đến tính toàn vẹncủa mốiquan hệ tức là liên quan đến tính toàn vẹn củakhoá ngoài. Một ràng buộc tham chiếu yêu cầumột giá trị khoá ngoài trong một quanhệ cần phải tồn tại là một giá trị khoá chính trong mộtquan hệ khác hoặclà giá trị null.
l Cácràngbuộcđượcđịnhnghĩabởingườidùng:đâylàcácràngbuộcliên quan đến miền giá trị của dữ liệu thực tế.
3.2.Cácdạng chuẩn
a.Phụ thuộc hàm
-TrongmộtquanhệR,thuộctínhBphụthuộchàmvàothuộctínhA(haythuộc tínhAxácđịnhhàmthuộctínhB)kýhiệuAàBnếuvớimỗigiátrịcủathuộctínhA xácđịnh mộtgiá trị duy nhất củathuộc tính B.
-Phụ thuộc hàmgiữa nhiều thuộc tính: thuộc tính Bphụ thuộc hàmvào các
thuộctínhA1 vàA2ký hiệu{A1,A2} → Bnếu với mỗicặp giá trị củaA1 vàA2 xác định duynhất mộtgiá trị của B.
-Cácloại phụ thuộc hàm
l Phụthuộchàmđầyđủ:ThuộctínhBgọilàphụthuộcđầyđủvàotậpthuộc tínhA (cótừ2thuộctínhtrởlên)nếunóchỉphụthuộchàmvào A vàkhông phụthuộchàmvàobấtcứtậpconnàocủaA.NgượclạiBgọilàphụthuộc hàmbộ phận vào tập thuộc tínhA.
l Phụthuộchàmbắccầu:NếucóA1-> A2vàA2->A3thìA1->A3.Khiđó
A3được gọi là phụ thuộc bắc cầuvàoA1.
-Địnhnghĩakhoátheoquanniệmphụthuộchàm:TrongquanhệR,tậpcác thuộctínhKlàkhoácủaquanhệnếucóK->BivớiBilàtấtcảcácthuộctínhcòn lại.
b.Các dạng chuẩn
-Dạngchuẩn1(1NF):Mộtquanhệlàởdạngchuẩn1nếutoànbộcácmiền thuộc tính đều là cácmiền đơn vàkhông tồn tại nhómthuộctính lặp.
Mộtthuộc tínhAlà thuộc tính lặp nếu với một giá trị cụ thể của khoá chínhcó nhiều giá trị củathuộc tínhAkết hợp với khoá chính này.
-Dạngchuẩn2(2NF):Mộtquanhệở dạngchuẩn2nếunóđãởdạngchuẩn1 và không tồn tại phụ thuộc hàmbộ phận vào khoá
*Chúý: Quan hệ có khoá chính làmột thuộc tính luôn ở dạng chuẩn2
-Dạngchuẩn3(3NF):Mộtquanhệở dạngchuẩn3nếunóđãởdạngchuẩn2 vàkhôngtồntạiphụthuộc hàmbắccầuvàokhoá(hayphụthuộchàmgiữacác thuộc tính không khoá).
4.THIẾTKẾLOGICCSDL
Cóhai hướng tiếp cận để môhình hoá dữ liệu:
l Vẽmôhìnhthựcthựcliênkết–Cáchtiếpcậntừtrênxuống(Top-down): Đểxâydựngmôhìnhthựcthểliênkếtcầnxácđịnhmộtcáchtrựcgiáccác đốitượngquantrọngmàmộthệthốngcầnphảilưutrữnhưdữliệu(đólàcác thựcthể)vàxácđịnhcácthuộctínhmôtảchocácthựcthểđócùngvớiquan hệgiữacácthựcthể.Nếuápdụngđúngcácluậttrongmôhìnhthựcthểliên kết thì ta sẽ cócácquan hệ đãđược chuẩn hoá.
l Chuẩnhoá–Cáctiếpcậntừdướilên(Bottom -up):Đểchuẩnhoácầnnhóm tấtcảcácthuộctínhliênquancủahệthốngvàotrongmộtquanhệ.Ápdụng cácluậtchuẩnhoáđểtáchquanhệđóthànhcácquanhệcócấutrúctốthơn giảmbớt dư thừadữ liệu.
**Mỗicáchtiếpcậnđềucóưuđiểmvànhượcđiểmriêngvìvậytrongthựctế ngườitathườngphốihợpcảhaicáchtiếpcậnnàyđểcóđượcmộtmôhìnhdữliệu chính xác nhất.
Kếtquảcuối cùng của phần thiết kế logic CSDLlà tập cácbản ghi logic biểu diễn cácquanhệ trong CSDL.
4.1.Chuyển đổi từ môhình thực thể liên kết thành cácbản ghi logic
a.Các luật chuyểnđổi
l Mỗi thực thể trong môhình thựcthể liên kết trở thành một quan hệ.
l Mỗithuộctínhtrongmôhìnhthựcthểliênkếttrởthànhmộtthuộctínhtrong quan hệ tương ứng.
l Địnhdanhthựcthểtrongmôhìnhthựcthểliênkếttrởthànhkhoáchínhtrong quanhệtươngứng.Nếukhoáchínhkhôngđápứngđượccáctiêuchuẩnvề tínhtốithiểu,tínhxácđịnhduynhấtvàtínhổnđịnhthìđưavàomộtkhoágiả làmkhoá chính.
l Thi hành cácliên kết thông qua việc đặt khóangoài vào quan hệ
ü Vớiliênkết1-1:đặtkhoáchínhcủamộttronghaiquanhệvàoquanhệ kia làmkhoá ngoài.
ü VớiliênkếtN-N:Cầntáchthànhquanhệ1-Nrồi mớichuyểnthành quanhệ.Khiđóquanhệtươngứngvớithựcthểkếthợpsẽcókhoá ghép và mỗithuộc tính khoá của quanhệ nàylà mộtkhoá ngoài
ü Một sốliên kết đặc biệt:
u Tự liên kết:
Vídụ:Mỗinhânviêncókhônghoặcmộtngườiquảnlý(giámđốc khôngcóngườiquảnlýnào).Mỗinhânviêncóthểquảnlý0,1haynhiều nhânviên
4.2.Chuẩn hoáquan hệ
a.Các bướctiếnhành:
l B1.Từmột biểumẫu(tàiliệuxuất:hoáđơn,chứngtừ,…)lấyramộtdanh sách cácthuộc tính cho quan hệ chưưa đưược chuẩnhoá (dạng chuẩn0).
ü Mỗitiêu đề trong biểu mẫulà một thuộctính.
ü Bỏquaphầnđầuđềvàphầndưướicùng(mộtsốghichú,chữký…)
củabiểu mẫu.
ü Khônglấycácthuộctínhđưượcsuydiễntừnhữngthuộctínhkhác
(nhưthànhtiền=đơngiáxsốlượng)vàcácthuộctínhtrìnhbàynhưư
‘số thứtự’nếu có.
ü Bổsungthêmmộtsốthuộctínhđịnhdanhtươngứngvớimộtsốthuộc tính tên gọi chưa cóđịnh danhnếu cần thiết.
ü Xácđịnh nhóm thuộctính lặp,cácphụ thuộc hàmgiữa cácthuộc tính.
l B2.Chuẩn hoá vềdạng chuẩn 1 (1NF):Tách nhómthuộc tính lặp.
ü Táchcácthuộctínhkhôngnằmtrongnhómlặpthànhmộtquanhệ
(R1). Xác định khoá chính củaquan hệ này.
ü Cácthuộctínhcủanhómlặpvàkhoáchínhcủaquanhệtrên(R1)tạo thànhmộtquanhệ(R2).XácđịnhkhóachínhchoquanhệR2(khoá chínhcủaR2sẽlàmộtkhoághépgiữakhoácủaR1vàmộtthuộctính kháctrong R2)
ü Vídụ: R{A,B,C,D,E}vàkhoálà{A}.Tồntạinhómthuộctínhlặp
{C,D} thì tách thành 2 quan hệR1{A, B,E} vàR2{A,C,D}.
l B3.Chuẩnhoánvềdạngchuẩn2(2NF):Loạibỏphụthuộcbộphậnvàokhoá
(chỉ áp dụng với cácquan hệ có khoá ghép.
ü Táchcácthuộctínhthamgiavàophụthuộchàmđượcxácđịnhbởi mộtphầncủakhoávàomộtquanhệmới(R3).Khoáchínhcủaquanhệ là thuộc tính xácđịnh hàm.
ü Phầncònlạivớikhoáchínhcủaquanhệtrên(R3)làmộtquanhệgiữ nguyên khoáchính như quan hệ ban đầu.
ü Vídụ:R{A,B,C,D}vàkhoá là{A,B}.TồntạiphụthuộchàmAàC
thìtách thành 2 quanhệ R1{A,C}và R2{A,B, D}.
l B4.Chuẩnhoávềdạngchuẩn3(3NF):Loạibỏphụthuộchàmgiữacácthuộc tính không khoá.
ü Táchcácthuộctínhthamgiavàophụthuộchàmgiữacácthuộctính khôngkhoávàomột quan hệmới(R4).Khoáchínhcủaquanhệlà thuộc tính xácđịnh hàm.
ü Phầncònlạivàkhoáchínhcủaquanhệtrên(R4)làmộtquanhệgiữ nguyên khoáchính của quan hệ banđầu.
ü Vídụ:R{A,B,C,D}màkhoá là{A,B}.TồntạiphụthuộchàmCàD
thìtách thành 2 quanhệ R1{C, D} và R2{A,B, C}
4.3.Hoàn thiện môhình CSDLlogic
a.Một sốquy tắc
Saukhitiếnhànhtheohaihướngkhácnhau:xâydựngmôhìnhthựcthểliênkết và chuẩnhoádữ liệuchúngta sẽcóhaitập bảnghi logickhácnhau củacùngmộthệ thống. Khiđó cầnphảikết hợplại đểcómộtmôhìnhCSDLlogic thốngnhất chohệ thống.
Mộtsố nguyên tắckết hợp:
l Kiểmtrasựthốngnhấtvềtêngọicủacácquanhệvàcácthuộctính tronghaikếtquả.Nếucùngtênnhữngkhácnghĩathìphảiđặtlạitên chokhácnhau.Nếucùngnghĩanhưngkháctênthìphảiđặtlạitêncho giống nhau.
l Lấy tất cảcácquan hệkhác nhau từ hai kết quả.
l Vớihaiquanhệtrùngnhauthìlấytấtcảcácthuộctínhcótronghai quan hệ từ hai kết quả
5.THIẾTKẾVẬTLÝCSDL
5.1.Cácvấn đề liên quan khi thiết kế vật lý CSDL
PhầnthiếtkếvậtlýCSDLsẽphụthuộcvàomộtHQTCSDLmàbạnsẽsửdụng đểcàiđặtCSDL.Chúngtacầnchuyểntừcácbảnghilogicvớicácthuộctínhthành cácquanhệđượcbiểudiễndướidạngbảngvớicáctrườnghaycáccộtđượccàiđặt trong một HQTCSDLcụthể.
l Vớimỗibảng cần chỉ rõ:
ü Khoáchính (có thể gồm mộthaynhiều thuộc tính).
ü Mô tả củatất cả cáccột (trường).
l Vớimỗicột (trường)cầnphải có:
ü Một tên duy nhất (trong bảnglưu giữ nó).
ü Một môtả ngắn gọn.
ü Mộtkiểudữliệu(vídụ:integer,char,date,logical,…phụthuộcvào
HQTCSDLcụ thể càiđặt CSDL)
ü Một kích thước (mặc định hay chỉ rõ tuỳtừng kiểu dữ liệu)
ü Chúý:têncủabảng,cộtkhôngnênquádài,cầnđủnghĩavàthường không có dấu.
l Cáccột (trường)tuỳ chọn và cáccột (trường)bắt buộc:
ü Nếucột làbắt buộcthì ngườisửdụng cầnphải cungcấpmộtgiátrịcho cộtnàytrongmỗidòng(bảnghi) thêmvàobảngkhicậpnhậtCSDL. Cột sẽcần phải được chỉ rõ là NOTNULL
ü Nếucột là tuỳ chọn thì nó có thể nhậngiátrị null.
Chúý:cóthểlưutrữmộtgiátrị0chomộtcộttuỳchọnkhinókhông có giá trị những cáchnàykhông phải là cáchhay.
l Khoáchính và cáckhoá ngoài
ü HầuhếtcácHQTCSDLhiệnđạichophépchỉrõkhoáchính,khoá ngoài khi định nghĩa cácbảng.
ü NếucácHQTCSDLkhôngchophépđịnhnghĩatựđộngthìcầnphải chỉrõ.Khoáchínhcầnphảiduynhấtvànotnull.Khoángoàicầnphải liênquantớimộtthểhiệncủakhoáchínhđãcóhoặclànhậngiátrị null.
l Giátrị hợp lệ vàgiá trị mặc định
Vídụ:MộtmãKHđượcđịnhnghĩanằmtrongkhoảngtừ1đến1000(giá trị hợp lệ). Giá trị mặcđịnh cho số lượng bán là 1 (giá trị mặcđịnh).
l Thuậnlợicủaviệcchỉrõgiátrịhợplệlànósẽđượcgắnvàotrongtấtcả cácchươngtrìnhkhilậptrình.Đảmbảosựthốngnhấttrongviệckiểmtra tính đúng đắn của dữ liệu.
l Giátrịmặcđịnhcóthểđượcsửdụngđểgiảmbớtviệcgõmáychongười sử dụng. Nó giúp cho việcnhập dữ liệu nhanh hơn và giảmbớt lỗi.
l Khoágiả
ü Đểtăng tốc độ tìmkiếm,tiết kiệmkhông gian nhớ và giảmlỗi cáckhoá cầnphảingắn.Nếumộtvàikhoáquádàicầnphảithaychúngbằngmột khoá giả.
ü Có hai vấn đềkhi đưara một khoá giả:
uCầnphảithiếtlậpmộtkỹthuậtđểsinhtựđộngcácgiátrịduy nhất chokhoá (sinh khoá tự động)
uCầnphảicungcấpmộtràngbuộcduynhấtchocácđịnhdanhtự nhiênđểngănchặnviệclưutrữmộtvàibảnghichocùngmộtthực thể cócùng mộtdữ liệu nhưng chỉ khácnhau về giá trị khoá.
l Cácquan hệ
ü Cácquan hệ giữa cácbảngsẽ được thiết lập bởi cáckhoá ngoài.
ü Cần phải đảm bảo là cái ràng buộc khoá ngoài sẽđược cài đặt.
5.2.Xemxét hiệu suấtthực thi CSDL
CầnphảiđánhgiáviệcthựcthiCSDL,đólàtínhhợplýcủathờigianđápứng cáccâuhỏi truy vấn.
l Chạythử CSDLvới mộttập đủ lớn cácbản ghi trong môitrường thực tế.
l MôphỏngmộtsốngườidùngcùngthựchiệnmộttruyvấntrongCSDLđa ngườisử dụng.
l Chạytrộn lẫn mộtsố chứcnăng với thời gianquyđịnh.
a.Chỉ số
-XácđịnhmộtsốchỉsốtrongCSDLlàmộtvấnđềquantrọngcầnphảiquan tâmkhi thiết kế CSDL
l Theo quy luật chungcần phải có
ü Một chỉ sốduynhất cho mỗikhoá chính
ü Một chỉ sốtrên mỗi khoá ngoài
ü Nhữngdữliệuđượctruynhậpthườngxuyêncũngcầnphảitạochỉ số
l Vớichỉ số ghéptrên nhiều cột cầnphải cung cấp thứ tự cáccột.
-Ưu vànhước điểmcủa chỉ số
l ưuđiểm
ü Tăng tốcđộ tìmkiếmvà khôi phụccácbản ghi.
ü Có hiệu suấtcao trong việc truy nhậpnhiều bảng.
ü Tạo cáccáchsắp xếp khácnhau trên cùngmột bảng.
ü Tạo nhiềumứcsắp xếp bằngcáchtạo mộtchỉ sốtrên một sốcột.
l Nhượcđiểm
ü Cần nhiều không giannhớ hơn để lưu giữ cácchỉ số.
ü Tốn thời gian cậpnhật tất cả cácchỉsố khi cập nhật dữ liệu.
b.Phá vỡ chuẩn
Đôikhichúngtacầncânnhắcđưamộtsốdưthừadữliệuvàocơsởdữliệuđể tăngtốcđộtruyvấn.Khiđócóthểchúngtađãphávỡdạngchuẩncủacácquanhệ đã được chuẩn hoá.
-Phân rã: Căncứ vào yêu cầu sửdụng nếu có những cột thuộc tính hay dùng vàítdùnghoặcvìmộtlýdonàođó(vídụđểbảomật)thìphânrãchúngra.Những cột thuộc tính haydùng cho vào cùng một bảng.
Vídụ: Quan hệĐIỂMTHIgồmcácthuộc tính SBD,Số phách,điểm.Nhưng để đảmbảo bí mậtthường được tách thành hai bảng PHÁCH(SBD,số phách) và BÀI
THI(Số phách,điểm)
-Gộp hai hay nhiều bảng khi việcsử dụng chúng thường đi liền với nhau.
-Lặp lại cáccột thuộc tính từ cácbảngkhác nhau, thêm mộtsố cột thuộctính suydiễn vàobảng(ví dụ: thành tiền, tổng tiền) nếu nó được truy vấnthường xuyên.
-Lậpcácbảngchỉdẫncăncứvàođườngtruynhậpvàtheocáccộtthuộctínhcó tầnsốsửdụngcao.Thêmmộtsốbảngđểlưutrữcácthôngtinkếtquảtruyvấnsẽ được sử dụng lại.
Vídụ:Tronghệthốngtuyểnsinhvìyêucầuxemđiểmnhiềunêncóthểtạo ramộttệpcócácthuộctính SBDvàđiểmđểgiúpchoviệctìmkiếmthôngtin được nhanh chóng.
Trong hệthống bán hàng có thể thêm mộtsố bảnghỗ trợ cho việctính hàngtồn, tính thu chi.
5.3.Điều chỉnh thực thi CSDL
l Tạo cácthủ tục saolưu vàphục hồi CSDL.
l Tổ chứcbảo trì và bảo mật choCSDL.
l Thiết lập các ràng buộc toàn vẹn cho CSDL.
l Xácđịnh không gian nhớ cho cácbảng CSDLvà cácchỉ số.
l Thiết lập vùng nhớ đệmchoCSDL
l PhâncụmCSDL, tổ chức lưu trữ vật lý tối ưu cho CSDLtrên đĩa.
l Đảmbảo điều khiển tương tranh trong CSDLđa người sử dụng.
l Tạo ra cácview của CSDLcho từng đối tượng người dùng.
l Xácđịnhsựphântándữliệuvàxửlýgiữacácclientvàservertrongmộthệ thống phân tán
*Chúý:
ü Kiểudữliệuvàkíchthướccủacáccộtkhoángoàicầnphảigiốnghệt kiểu dữ liệu và kích thước của cáccột khoá chính tương ứng.
ü Khitạobảng,nếubảngAcócộtthuộctínhlàmkhoángoàitrongbảng
Bthì bảngAcần phải được tạo trước bảng B.
ü Khicàiđặt,cácđặctínhnhưkhuôndạng,giátrịhợplệ,khoáchính, khoángoài,…chínhlàcácràngbuộccủaCSDL.CácHQTCSDLhiện đạihỗtrợrấtnhiềuchoviệccàiđặtcácràng buộcnày.Nếumột HQTCSDLnàođómàkhônghỗtrợviệccàiđặtcácràngbuộcnàythì cần phải tạo cácthủ tục để kiểm tradữ liệunhập vào.
ü Đôikhitrongthựctếngườitakhôngsửdụngràngbuộckhoángoàivì mộtsốlýdo:vídụđểbiếthoáđơnlàdonhânviênnàolập,thuộctính mãNVđượcđặtlàmkhoángoàitrongbảng HOÁĐƠN.Ràngbuộc khoángoàiđòihỏithôngtinvềnhânviênchỉđượcxoákhitấtcảcác hoáđơnliênquanđếnnhânviênđóđãbịxoáhết.Nhưngthựctếngười talạicầnlưutrữcáchoáđơnliênquanđếnnhânviên,trongkhinhân viên đóđãrờikhỏicôngty.Vìvậytrongtrườnghợp nàyphải dùngmột thủ tục kiểm tra khácthaycho ràng buộc khoá ngoài.
CHƯƠNG5 THIẾTKẾGIAO DIỆN GIỮANGƯỜIVÀ MÁY
1TỔNG QUAN
1.1.Mụcđích
Thiết kế môitrường giao tiếp giữa người sửdụng và máythoả mãnđiều kiện:
-Dễ sửdụng :Giaodiện dễ sử dụng ngay cảvới những người không cókinh nghiệm
-Dễ học : Cácchức năng gầngũi với tư duy củangười sửdụng để họ có thể nắmbắt dễ dàng nhanh chóng.
-Tốc độ thao tác : Giao diệnkhông đòi hỏi cácthao tác phức tạp haydài dòng, hỗ trợ cácphímtắt, phímnóng.
-Dễ phát triển : Giao diện được xây dựng dễ dàng, sẵn sàngđáp ứng cácyêu cầu thay đổi của người sửdụng.
1.2. Các loại giao diện
-Hộpthoại:Làcácgiaodiệnphụcvụchoviệckiểmsoáthệthống,traođổi thôngtingiữangườisửdụngvàhệthống,kiểm traquyềntruynhập(Tên,mật khẩu),cáchướngdẫnsửdụnghệthống,cácthôngbáolỗisửdụnghaylỗihệ thống nếu có...
-Mànhình nhậpdữ liệu: Đólà cáckhung nhập liệu cho phépngười sửdụng tiến hành nhập dữ liệu cho hệ thống hay cungcấp thông tin cho việc tìmkiếm dữ liệu, đưa ra cácbáo cáotheoyêu cầu.
-Mànhình báocáo : Đó là cácbiểumẫuhiển thị cácthông tin được thu thập và tổng hợp theo yêu cầu củangười sử dụng.
1.3.Các nguyên tắc chungkhi thiết kếgiao diện
-Luôncungcấpthôngtinphảnhồivềcôngviệcđangtiếnhànhchongườisử dụng.
-Thông tin trạng thái : cung cấpcho người sử dụng thông tin về phần hệ thống đang được sử dụng.
Công việc tối thiểu : Hạn chếtối đa sự cố gắngkhông cần thiết của người sử dụng.
Vídụ : Đặt cácgiá trị thường xuyên sử dụng hay cácgiá trị tốt nhất cóthể là ngầmđịnh.
-Trợ giúp : Sẵn sàng cung cấpcáctrợ giúp khi người sửdụng cần.
Dễdàng thoát ra : Cho phép người sửdụng thoát ra khỏi hộp thoại dễdàng bằng cácthaotác quen thuộc.
Vídụ : ấn phímESC/Alt-F9...
-Làmlại : Chophép huỷbỏ cácthaotác đã tiến hành, tăng tính khoan dung của chương trình.
2.THIẾTKẾCÁC MẪUTHUTHẬPTHÔNGTIN
2.1.Yêu cầu
-Đáp ứng được yêu cầucủa người sử dụng
-Không có lỗi. (Muốn vậy phải kiểmtra khi nhập)
-Trình bàydễ hiểu, dễ dùng
-Gõ phímít nhất.
2.2.Phương pháp thu thập thông tin
-Trựctuyến (Ví dụ :Bánvé máybay trực tiếp lấythông tin và trực tiếp xử lý)
-Trì hoãn: Đưa qua trung gian
-Từ xa
2.3.Xác định khuôn mẫu thu thập thông tin
-Mẫucó hai dạng :
+Khung để điền
+Câuhỏi :
Câuhỏi đóng (chọn):Tất cả cáctuỳ chọnđượcđưa ra vàcho phép chọn một hoặc nhiều trong số đó.
Câuhỏi mở(gợi ý): Đưa ra một sốcâu hỏi gợi ý yêu cầutrả lời.
-Yêu cầu về mẫu
+Thuận tiện chongười điều tra
+Thuân tiện choviệcmãhoá
+Thuận tiện choviệcgõ phím.
+Nội dung đơn giản, rõ ràng, chính xác.
4.4.Mã hoá
-Mã:Tên vắn tắt gắn chomột đối tượng nào đó
-Đối tượng có thể là :
+Mộtứng dụng tin học
+Mộtchức năng hay nhiệmvụ
+Mộtchương trình
+Mộttệp
+Mộtthông tin trong cáctài liệu, trong cáctệp
+Các biến hàmdùng trong chương trình...
-Chất lượng cơ bảncủa sự mãhoá
+Không nhập nhằng:Không gâynhầmlẫn giữa đối tượng nàyvới đối tượng khác (Có ánh xạ 1-1 giữa tập đối tượng và tập mãhoá)
+Thích ứng với phương thức sử dụng
l Xửlý bằng tay:Dễ hiểu, dễ giải mã
l Xửlý bằng máyphải có cú phápchặt chẽ.
+Cókhả năng mởrộng hoặcxen thêm
l Mở rộng về phía trên hoặc phía dưới tập mã
l Xenthêmởbêntrongtậpmãnhưngphảiđảmbảomộttrìnhtự nào đó.
+Mãphải ngắn gọn
+Mãphải có tính gợi ý
-Cáckiểu mã
+Mãliên tiếp: Dùng các sốnguyên liên tiếp để mãhoá đối tượng
+Mãtheolát:Vẫndùngsốnguyênnhưngphânratừngkhoảnggiátrị cho đối tượng, trong mỗi khoảng dùng mãliên tiếp.
Vídụ: 0001 -0999 mãy phục gồm
0001-0099 Sơ minam
0100-0299 Sơ minữ
0300-0349 Quần
0350-0499Váy
+Mãphânđoạn:Đượcphânthànhnhiềuđoạnmỗiđoạncóýnghĩa riêng.Vídụ:Mãxemáy 29 S2 3219(Tỉnh-loạiphânkhối-liêntiếptrong lát)
+Mãphân cấp : Mãđược phân thành nhiều đoạn,mỗi đoạntrỏ vào một tập đối tượng.
-Lựa chọnmãhoá
+Nghiên cứu việcsử dụng saunày
+Nghiên cứu sốlượng đối tượng đượcmãhoá
+Nghiên cứu sựphân bố thống kê của cácđối tượng
+Tìmxemđã có những mãnàođược dùng
+Cầnthoả thuận với người sử dụng saunày
+Cầnthử nghiệm trước khi dùng chính thức
3.THIẾTKẾCÁCTÀILIỆURA, CÁC BÁOCÁO
-Hình thức tài liệu xuất : Đĩa, màn hình, giấyin,..
-Dạng tài liệu xuất:
+Cócấu trúc:Bảng biểu, phiếu
+Không định dạng :Trả lời theo nhu cầu (Người dùng phải hiểu ngôn ngữ thế hệ 4 hoặc dùng một trung tâmphiên dịch)
-Yêu cầu đối với tài liệu xuất
+Đầy đủ, chínhxác
+Dễ hiểu,dễ đọc
+Kích thước tài liệu phải phù hợp, cácmụcphải bố trí hợp lý.
-Cáchình thứcđưara
+Khung in sẵn
+Không có khung in sẵn
-Cáchtrình bày : Bốcục gồm3 phần
+Phần đầu : Các tiêu đề
+Phần thân : Chứanội dung cơ bản thường được gomthành nhómvà có mốiliên hệ logic với nhau
+Phần cuối : ngày tháng, cácchữ ký nếu có
-Có hai loại đưa ra
+Đơn chiếc
+Tập thể
4.THIẾTKẾMÀN HÌNHVÀ ĐƠN CHỌN
4.1.Yêu cầu thiết kế:
-Sáng sủa:Dễ nhìn, dễ đọc, có trật tự, nhất quán
-Chỉ thị rõ cần gì, muốngì
-Diễn đạt rõ cái gì phải thực hiện
-Định vị thông tin vào nơi cần thiết theo luật ra vào gần nhau
-Thao tác cầntối thiểu khi đối thoại
-Thông tin tối thiểu
-Ngầmđịnh : Đặt ra những thông số thường dùng
-Cung cấpcácthông tin trợ giúp :Hướng dẫn thao tác,thông báo lỗi
-Cung cấpkhả năng thoát ra khi cần thiết : Có hai loại thoát là huỷ bỏ thao tác hoặc hoàntất thaotác.
-Cung cấpcácthao tác tương đương: ấn phímsốhoặc phímchức năng.
4.2.Hình thức thiết kế
-Câu lệnhvà câu nhắc.
-Điền mẫu : Được dùng phổ biến với dữ liệu.
-Hỏi đáp : Máytính tự khởi động và kiểmsoát đối thoại.
-Biểu tượng : Cầncó phần mềmđồ hoạ chuyên dụng.
-Đơn chọn (Menu)
+Tổ chức đơn chọnphân cấp
+Thâmnhập nhanhvà dễ dàng
+Thoát ra ở bất kỳ chỗ nào (mức trong ra mức ngoài)
a.Giao diện hộp thoại
-Hỏi đáp : Cáccâu hỏi sắpxếp theo thứ tự, mỗi câuhỏi sẽ tương ứng với một bộ cáccâutrả lời.
-Đơn chọn : Cáclựa chọn được hiện lên màn hình như lời gợi ý, ta chỉ được phép chọn mộttrong cácmụclựa chọn đó.
Lưu ý số mục chọn nên< 9. Nếu có quá nhiều mục chọn thì phải tổ chứctheo kiểu phân cấp.
-Thanh công cụ : Các lựa chọn xuất hiện trên màn hình bằng cácbiểu tượng đồ hoạ. Người ta thường chia cácbiểutượng đó thànhcácnhómchức năng, mỗinhóm đượcchứa trong một thanh công cụ.Trên thanhcông cụ nàybiểu diễn chức năng tổng quát củanhómcácbiểu tượng đó.
b.Biểuđồ mạng đối thoại
- Biểuđồmạngđốithoạithểhiệntrìnhtựvàđiềukiệnthựchiệncáchộp thoại.Thườngđượcsửdụng trongcácchươngtrìnhcócấutrúcgiaodiện phức tạp, đòi hỏi nhiều hộp thoại nhất là cácxử lý trực tuyến
-Cácthành phần
+Vòng tròn : Biểudiễn mộthộp thoại, môtả trạng thái máychờsự can thiệp của người sử dụng.
+Cácđường nối (thẳng, cong) có hướng nối từng cặp vòng tròn, chỉ ra dòng thông tin trao đổi hay điều kiện thực hiệngiữacáchộp thoại
+Cáchình chữ nhật : Biểu diễncácchức năng xử lý.
c.Các kiểu màn hình nhập dữ liệu
-Mẫuđiền:Dữliệunhậpvàogồmnhiềuthànhphầngọilàcáctrường.Mỗi thành phần được đưa vào một vị trí xác định trên bảnmẫu
-Hộp chọn :Thường sử dụng khi dữ liệu nhập vàonằm trong mộttập giá trị hữu hạn xác định trước.VD: Danhsách cáctỉnh, danh sáchcácnước... Thường sốlượng cácgiá trị không quá lớn.
Cóthể kết hợp hai loại mànhình nhập liệu để thiết kế một màn hình nhạp thông tin cho hệ thống.
5.CÁCVẤN ĐỀKHITHIẾTKẾGIAO DIỆN
Cóbavấnđềkhithiếtkếgiaodiện:Thờigianđápứnghệthống,giảiquyết lỗi, trợ giúp người sử dụng.
-Thời gian đáp ứng hệ thống là thời gian kể từ khi người sử dụng bắt đầu yêu cầu (gõ lệnh haynhấn chuột)cho đến khi họ nhận được kết quảcủa yêu cầu đó.Thời gian đáp ứng có hai đặc trưng:
+Độ dài : Khoảngthời gian đápứng hệ thống(tính tuyệt đối)không dài
quá.
+Độ biến thiên : Khoảngthời gian đápứng hệ thống so với khoảng
thờigian đáp ứng trung bình. Độ biến thiên caocó thể gâycho người sửdụng sự mất cânbằng(thường nghĩ hệ thống có gì trục trặchaymìnhđã gâyra lỗi
gìđó)
-Giải quyết lỗi : Đó là cácthông tin hệ thống đưa ra khi nó gặp phải một lỗi nào đó (lỗi củahệ thống, lỗi của người sử dụng). Cácthông báolỗi nên:
+Dễ hiểuđối với người sửdụng. Có tính xâydựng để người sử dụng có thể tự khắc phục lỗi.
+Nêu cáchậu quả tiêu cựccó thể xảyra (biện phápkhắc phục nếu có)
+Cókèmtheo cáctín hiệu nghe thấy đượcvà nên có cácdặc trưng về màusắc,biểu tượng.
+Cótính "phiđánh giá" : không nên có hàmý trách móc người sử
dụng
-Trợ giúp người sửdụng : Nói chung mọingười sửdụng hệ thống đều cần đến sự trợ giúp khi sử dụng hệ thống màphần quantrọng nhất là khả năngtrợ giúp của chính hệ thống. Khả năngnàycàng cao thì hệ thống càngthân thiện với người sử dụng.
Cóhai loại trợ giúp :
+Trợ giúp theo ngữ cảnh : Khả năng trợ giúp cáctình huống có liên quan đến hành động, trạng thái hiện tại của hệthống. Đâylà loại trợ giúp được ưa chuộng.
+Trợ giúp phụ thêm: Có tính chất bổ xung thêmvào phầntrợ giúp theo ngữ cảnh. nó thường là cácthông tin về cáchcài đặt, sửdụng hệ thống, cácthành phầnchức năng chính,...
CHƯƠNG6 THIẾTKẾKIỂMSOÁTVÀ CHƯƠNGTRÌNH
1.THIẾTKẾKIỂMSOÁT
1.1.Mục đích
Thiếtkếkiểmsoátcómộtvaitròrấtquantrọngtrongsựtồntạivàphát triểncủahệthốngvìhiệnnaycórấtnhiềuhệthốngmáytínhhoạtđộngtrong môitrườngmở.Dođó,rấtcóthểhệthốngđangxây dựnglàmộtbộphận trongmộtcấuhìnhhaymộtmạngcungcấptruynhậprộngchonhiềungười khácnhaucảtrongvàngoàitổchức.Mộttrongnhữngquantâmchínhtrong thiếtkếcáchệthốngnàylàlàmsaođểcungcấptruynhậpthôngtinyêucầu vàđồngthờibảovệđượcthôngtinkhỏinhữngmụcđíchpháhoạicũngnhư những sự cố không mong đợi. Chính vì thế, thiết kếkiểm soát nhằmtránh một số nguy cơ sau:
l Sailỗi từ cácthông tin thu thập
l Sailỗi do các sự cốkỹthuật gâyra
l Sựthâm nhập trái phép củangười trong và ngoài hệthống.
l Rủi ro về môitrường như: cháy, bão lụt,...
Thiết kế kiểmsoát là đề xuất cácbiện pháp nhằmđảmbảo:
l Tính chính xác
l Tính an toàn
l Tính riêng tư
Tínhchínhxáccủahệthốngthểhiệntrướchếtởchỗhệthốnglàmviệc luônluônđúngđắn,khôngđưaracáckếtquảtínhtoánsailạc,khôngdẫntới cácquyếtđịnhkinhdoanhsailạc(chẳnghạnquyếtđịnhgiaohàngtrongkhi kháchhàngđãcóyêucầuhuỷđơnhàng,vàgiấyyêucầunàylạiđangtồn đọngđâuđótronghệthống).Bêncạnhđó,tínhchínhxáccũngcònđượcthể hiệnởchỗdữliệutronghệthốnglàxácthực,việckiểmtracácthôngtinthu thậpvàcácthôngtinxuấttừhệthốnglànhằmđảmbảotínhxácthựccủadữ liệu sử dụng.
Tínhantoàncủahệthốngthểhiệnởchỗhệthốngkhôngbịxâmhại(hay bịxâmhạikhôngnhiều)khicósựcốkỹthuật,hoặcnhữngxâmhạivôtình haycố ý từ phía con người.
Tínhriêngtưcủahệthốngthểhiệnởchỗhệthốngbảođảmđượccác quyền truy nhậpriêng tư đối với mỗiđối tượng sử dụng khác nhau.
1.2.Kiểmsoát cácthông tin thu thập và cácthông tin xuất
Đểđảmbảotínhxácthựccủacácthôngtinthuthậpđểđưavàomáy tínhcũngnhưcácthôngtinxuấttừmáytính,nhấtthiếtphảithiếtlậpcácbiện pháp kiểm trađối với cácthông tin đó.
l Sự sailệchthôngtincóthểở:nơithuthậpthôngtinđầuvào,trung tâm máytính hoặc nơi phân phối đầu ra.
l Mục đíchcủa việc kiểmtra là phát hiện lỗi và sửalỗi.
l Hìnhthức kiểm tra cóthể lựa chọn giữa nhiều phương án:
ü Kiểm trathủ cônghoặc kiểm tratự động (máykiểmtra).
ü Kiểmtrađầyđủhoặckhôngđầyđủ(chỉtậptrungvàomộtsố thông tin quan trọng để kiểmtra).
ü Kiểm tratrực tiếp hay gián tiếp.
Kiểmtratrựctiếplàsựkiểmtrakhôngcầndùngthôngtinphụ.Ví dụ:kiểmtrakhuôndạngcủathôngtinhaykiểmtragiátrịcủathông tin nằm trong một khoảng cho phép.
Kiểmtragiántiếplàsựkiểmtraquasosánhvớicácthôngtinkhác.Ví dụ: thôngtintuổithuthậpđượccóthểkiểm tralạikhibiếtnăm sinh(Tuổiđã khai = Nămhiện tại -Nămsinh, ...).
1.3.Kiểmsoát cácsự cốlàm giánđoạn chương trình
Cácsự cố làmgián đoạn chương trình có thể do:
l Hỏngphần cứng
l Giámang tệp có sựcố
l Môi trường
l Hệđiều hành
l Nhầmlẫn thao tác
l Lập trình sai
Khi mộttrongcácsựcốđóxảyrathìgâyrahậuquảlàmấtthìgiờ(vì phảichạylạichươngtrình)nhưngquantrọnghơnlàcóthểlàmmấthoặcsai lạc thông tin, ví dụ như thông tin trên tệp bị sailạc vì đang cập nhật dở dang.
Đểkhắcphụchậuquảcủacácsựcốtrênchúngtacóthểlựachọnmộtsố biện pháp sau:
l Khoátừngphầncơsởdữliệu:CSDLđượcphânhoạchthành cácđơnvịđểcậpnhật.Cácđơnvịcóthểlàtrường,bảnghi,tệp hoặcmộtsốphầnrộnghơncủaCSDL.Khimộtbảnsaocủamột đơnvịđượccậpnhậtthìbảngốcphảikhoálạivàngănmọitruy nhậpđếnnó.Khicậpnhậtkếtthúc,phiênbảnmớicủađơnvịthay thếphiênbảncũvàsựcậpnhậtđượchoànthành.Nếutrongquá trình cậpnhật, hệ thống có sự cố thì bản gốcvần còn nguyên vẹn.
l Tạocáctệpsaolục:cáctệpsaolụcbaogồmcáctệpnhậtkývà cáctệplưu. Tệpnhậtkýlàmộttệptuầntựchứacácbảnsao(hoặc hìnhảnh)củacácđơnvịCSDLtrướcvàsaukhichúngđượccập nhật.Cáctệplưugồmcácbảnsaotoànbộhoặcmộtphầncủa CSDLcóthểđượcthựchiệntheochukỳ.Vídụ:mộtbảnsaomột phầnbảyCSDLcóthểđượcthựchiệnhàngngàynhưngmộtbản sao toànbộ CSDLđược thực hiện mỗi tuần một lần.
l Tạothủtụcphụchồi:nhằmđưaCSDLtrởvềtrạngtháiđúng đắnmànócóngaytrướckhibịhỏngvìmộtsựgiánđoạnchương trình. Việctạothủtụcphụchồiphụthuộcvàonguyênnhâncủasự gián đoạn chương trình.
Nguyêntắccủa phục hồi:
+Khichạychươngtrìnhbìnhthườngthìđịnhkỳghilạimộtsố biến mốcquan trọng.
+Khi gián đoạn thì khởi động lại chương trình với biến mốcgần nhất.
1.4.Kiểmsoát cácxâmphạmtừ phía con người
Ngườitrongvàngoàihệthống(cóthểlàđốithủcạnhtranhcủacơ quanchủquảnhệthống)cốýhayvôtìnhlàmsailệchhoặcmấtmáthaylàm lộthôngtinmật,riêngtưđềugâyranhữngthiệthạicóthểlàrấtlớn.Chínhvì vậymàcácxâm phạmtừphíaconngười làrấtnguyhạichocơ quanchủquan hệthống.Ngườiphântíchthiếtkếhệthốngphảithựchiệnphântíchhếtsức chặt chẽ đểkiểm soát vấn đề này.
a.Xác định nhữngđiểm hở của hệ thống
Điểmhởcủahệthốnglàđiểmmàtạiđóthôngtincủahệthốngcókhả năngbịtruycậptráiphép,bịsửachữa,lấycắpthậmchípháhuỷthôngtin,có thể gâythiệt hại lớn cho cơ quan chủquản hệ thống.
Trong một hệ thống cácđiểmhở có thể là:
ü Luồng dữ liệu đi và đến tácnhân ngoài của hệ thống
ü Luồngdữliệucắtnganggiữaphầnthựchiệnbằngmáytínhvà phần thực hiện thủ công.
ü Cáckho dữ liệu hoặccáctệp.
ü Cácđường truyền trên mạng(đối với hệ phântán), ...
b.Xác định mứcđộ đe doạ từ cácđiểm hở
Căncứvàohậuquảthiệthạimàcơquanchủquảnhệthốngphảichịu khicósựthâmnhậptráiphéphoặckhicósựcốxảyravàkhảnăngphụchồi ngườithiếtkếkiểmsoátphảiđánhgiáđượcmứcđộ thiệthạinàyvàphân địnhmứcđộđedoạtừđócónhữngbiệnphápphùhợpphòng,tránh,khắc phục cácthiệt hại này.
Cóthể phân chia thành 3 mức độ đe doạsau:
l Mứcthấp:cósựsailệchvềdữliệunhưngcóthểkhắcphụcđượcvàít tốn kém.
l Mứctrungbình:cósựsailệchhoặcmấtmátdữliệu,kháảnhhưởng đếncơquanchủquảnhệthốngsongvẫncóthểkhắcphụcđượcnhưng rất tốn kém.
l Mứccao:khócóthểkhắcphụcđược(cóthểmấthếtdữliệu,hoặcsai
nhầmmộtloạtthôngtinquantrọngnhưngkhôngthểphụchồi,...).Từ đógâythiệthạilớnđếncôngtychủquảnhệthốngvàcóthểdẫnđến phá sản.
Lưuý: khi phân tích cácbiện pháp kiểmsoátcần có sựtham giacủa:
l Nhữngngười có tráchnhiệm trong hệ thống
l Nhữngngười rất amhiểu vềhệ thống
l Tuỳtừnghệthốngcóthểngườisửdụngđượcthamgiahoặckhông được thamgia.
c.Cácbiện pháp phòng ngừa, khắc phục
Căncứvàomứcđộđedoạvàdạngđedoạ(cóthểlàcốýăncắp,phá hoạihoặcvôýsaisót,...)nhàphântíchthiếtkếhệthốngsẽlựachọnmộtsố cácbiện pháp(mức bảo mật)phù hợp để thu được hiệu quả caonhất.
Các mứcbảo mật:
l Bảo mật vật lý: khoá, chuôngbáo động
l Nhậndạng nhân sự
l Mật khẩu
l Tạomậtmã:mãhoádữliệusangdạngmãkhônghiểuđược.Người hiểu được phải có quy tắc giải mãthíchhợp.
l Bảomậtbằnggọilại:sựtruynhậpthựchiệnmộtcáchgiántiếp,qua mộttrạmkiểmsoát,tương tự như gọi điện thoại quatổng đài.
d.Phân biệt riêng tư
Phânbiệt riêng tư là việcphân loại cácngười dùng để:
l Gáncho mỗi loại người dùng mộtsố quyền truynhập nhất định.
l Chophépmộtsốngườidùngđượcphépuỷquyềntứcgiaoquyềntruy nhập cho người khác.
Khôngcómộtchuẩnthốngnhấtchophânbiệtriêngtư,đểthựchiệnnó ta có thể thamkhảo trong mộtsố tài liệu khác.
2.THIẾTKẾCHƯƠNGTRÌNH
2.1.Mục đích
Cáckếtquảthuđượcquacácgiaiđoạnphântích,thiếtkếtổngthểvà thiếtkếchitiết(vềcácgiaodiện,kiểmsoátvàcơsởdữliệu)dùlàkháphong phúnhưngvẫncònlàchưađủđểcóthểchuyểnsanglậptrìnhđược.Cácyếu tố còn thiếu là:
CácchứcnăngxuấthiệntrongcácBLDchỉlàcácchứcnănglogic(thuộc lĩnh vực bài toán)màchưa có cácchứcnăng phù trợ cầnthiết như là:
l Cácchức năng đối thoại với người dùng
l Xửlý lỗi
l Xửlý vào, ra
l Tra cứu CSDL
l Cácchức năng điều hành (nhằmliên kết cácchứcnăng khác)
CácliênquangiữacácchứcnăngtrongBLDchỉlàcácchuyểngiaodữ liệu màkhông phảilàchuyển giaođiềukhiển(tức làchuyểngiao sựthựchiện khithihành).Mộtđặctrưngkhôngthểthiếutrongmộtchươngtrìnhlàđặc trưngđiềukhiển(sựtuầntự,chọn,lặpvàđặcbiệtlàlờigọigiữacácchương trình con). Đặc trưng nàychưa hề cótrong cácBLD.
VìcácthiếusótnàymàcácBLDthuđượctừgiaiđoạnphântíchcònphải đượcbiếnđổi,bổsungthêmchitiếtthìmớitrởthànhđầuvàothựcsựcho việclậptrìnhđược.Vìvậyphảicóthêmmộtgiaiđoạnthiếtkếchitiết,đólà thiết kếchương trình. Đâycũngchỉ làmộtgiaiđoạn củathiếtkế, nhằm đưara cácquyếtđịnhvềcàiđặt,chứchưaphảilàcàiđặt,chưaphảilàlậptrìnhthực sự.
Đầuvào cho việc thiết kếchương trình
l BLD của từng hệ thống con (thiết kế tổng thể)
l Cácgiaodiện
l Cáckiểm soát
l CSDL.
Đầura của thiết kếchương trình
l Lược đồ chương trình (LCT)chomỗi hệthống con
l Đặctả nội dung củatừng module trong LCT
l PhânbổcácmoduletrongLCTthànhcácchươngtrình(haymodule tải)
l Thiết kế cácmẫuthử
2.2.Lập lược đồ chươngtrình
Lượcđồchươngtrìnhcòngọilàlượcđồcấutrúclàmộtbiểudiễndưới dạngđồthịcủamộttập hợpcácmodulecùngvớicácgiaodiệngiữacác moduleđó (baogồmsựchuyển giao điều khiển vàchuyển giao dữ liệu).
a.Modulechương trình
Địnhnghĩa:trongđịnhnghĩalượcđồcấutrúcthìmoduleđượchiểulà mộtchươngtrìnhconhoặcmộtcụmcâulệnhnằmtrongchươngtrình haytrongmộtsốngônngữlậptrìnhcócácUNIT,CLASS,OBJECT thìđâythựcchấtlàcácnhómmodulechươngtrìnhtậphợpxungquanh mộtcấu trúcdữ liệu.
Cácthuộctính cơbản của module
l Thôngtinvào,ra:thôngtinnhậnđượctừchươngtrìnhgọinóhoặc thông tin trả lại cho chương trình gọi nó.
l Chức năng hàm biếnđổi từ vàothànhra.
l Cơ chế: phương thức đểthựchiệnchức năng trên.
l Dữliệu cục bộ: cácchỗ nhớ haycấu trúc dữ liệu dùng riêng chonó. b. Công cụ đểdiễntả LCT
-Biểudiễn cácmodule
-Moduleđượcbiểudiễnbằngmộthìnhchữnhậttrêncóghinhãnlàtên module.
-Trườnghợpmoduleđượcđịnhnghĩasẵntronghệthốnghaytrongthư
việnchương trình thì cáccạnh bên được vẽ nétđôi.
Kếtnối cácmodule: Cácmodulecóthểđượckếtnốivớinhaubằngcáclờigọi,
diễntả bởi mộtmũitên (cung).
ThứtựcácmoduletừtráiquaphảilàthứtựmàmoduleAgọiđếnmoduleđó trước.
Thông tin trao đổi giữa cácmodule
Cácthôngtinđượcgửikèmvớilờigọi(cácthamsố)vàthôngtintrảvề saukhithựchiệnlờigọiđượcthểhiệnbằngcác mũitênnhỏvẽdọctheo
cungbiểu diễn cho lời gọi, có kèmthoe tên củathông tin
c.Chất lượng của LCT
LCTsaukhiđượclậptachưanênxemxétlàdạngcuốicùngđểchấp nhận màchỉcoi đâylà phácthảobanđầu củathiết kếmodule,ta cònphải tiếp tụctinhchỉnhnóbằngcáchgộp,táchhaysansẻ lạinhiệmvụgiữacác moduleđể đạt được cáctiêuchuẩn về chất lượng sau.
-Sự tương liên
l Sựtương liên là mức độ ảnhhưởng lãn nhau giữa cácmodul.
l Một LCTtốt thì sự tương liên phải càng lỏng lẻo, càngđơn giản.
l Cácloạitương liên:
ü Tươngliênvềnộidung:vídụmộtmodulelàmthayđổinộidung(các lệnh)củamodulekhác, rẽ nhánhsangmộtmodulekháchaysử dụngdữ liệu của module được gọi. Cầnloại bỏ tương liênnày.
ü Tươngliênvềđiềukhiển:làtrườnghợpmộtmodulenàychuyểnđiều
khiểnchomộtmodulekhác. Tươngliênđiềukhiểnviphạmnguyêntắc che giấu thông tin.Vì vậytương liên điềukhiểncũng nên tránh.
ü Tươngliênvềdữliệu:đólàtrườnghợphaimoduletraođổidữliệucho nhau. Sự trao đổi dữ liệu càngđơn giảncàng tốt.
Sựcố kết
l Là sựgắn bó giữa cácphần bên trong củamộtmodule.
l Modulecàngcốkếtthìchứcnăngcủanócàngdễthấy,logicdođódễ phát hiện lỗi, dễ bảo trì.
Hìnhthái
l PhạmviđiềukhiểncủamộtmodulelàphầnLCTbaogồmmoduleđó và những modulephụ thuộc (đượcgọi)trực tiếp haygián tiếp từ nó.
l PhạmviảnhhưởngcủamộtquyếtđịnhlàphầnLCTbaogồmmọi modulechịu ảnh hưởng của quyết định đó.
MộtLCTtốt thì về mặt hình thái:
l Cácquyết định có miềnảnh hưởng càng hẹp càngtốt
l Mỗi phạmvi ảnh hưởng nằmtrong phạmvi điều khiển tương ứng.
2.3.Đặc tả cácmodule
SaukhilậpđượcLCTchomỗihệthốngcon,taphảiđặctảmỗimodule trong đó, tức là miêu tả rõ nội dung của module.
Đặctả một module ta cầnnêu rõ:
l Thông tin đầu vào (Input), thông tin đầu ra (Output)
l Cácthaotácthựchiệntrongchươngtrình:cácđốithoạivớingười dùng, cácxử lý lỗi, tracứu CSDL, cácxử lý, ...
l Cácdữ liệu cụcbộ của module
Lưuý:đểđặctảmộtmoduletacóthểletảilàmộtnhómmodule chương trình được tải vàobộ nhớ trong đồng thời.
ü NếumộtLCTdùng ngôn ngữ tựa ngôn ngữ lập trình hoặc sơđồ khối.
2.4.Đóng gói thành moduletải
l Moduhợpthànhmộtmoduletải:thờigiantiêutốnchoviệctảichương trìnhlàítnhấtnhưngbêncạnhđóthìdunglượngbộnhớđòihỏiphải lớn,nhiềukhikhôngđápđược.Ngượclại,nếumỗi modulelàmột moduletảithìtiếtkiệmbộnhớnhưngchiphíthờigiantảichương trình nhiều.Vì vậychúng ta cầncắt LCTthành cácmodule tải hợp lý.
l Thiết kế module tải phảicăn cứ vào cácyếu tố như:
ü Kíchcỡ bộ nhớ
ü Kíchcỡ cácmodule
ü Tần suất lần gọi module
ü Một module tải bao gồmnhiều nhất cácmodulegắn kết với nhau.
2.5.Thiết kế cácmẫuthử
l Mẫuthửcóthểđượcphátsinhngẫunhiênhoặckhôngngẫunhiên,tự động hoặc không tự động.
l Cáchthử chương trình bằng mẫu thử:
ü Thử tính đúng đắn
ü Sokết quả thu được với kết quả chờ đợi
ü Nếutrongquátrìnhthửphứctạp,yêucầuchươngtrìnhincácgiátrị trung gian
ü Kiểm tragiátrị trung gian
ü Kiểm travệt chương trình
ü Thửhiệunăng:cácmẫuthửphảiđủlớnvàcóthểthửnghiệmtrong mộtthời giandài.
Bạn đang đọc truyện trên: AzTruyen.Top