Phân tích thiết kế hệ thống
LỜI NÓI ĐẦU Phân tích thiết kế hệ thống là một giai đoạn quan trọng để xây dựng thành công một hệ thống thông tin. Xây dựng một hệ thống thông tin được gọi là thành công nếu hệ thống này đáp ứng được các yêu cầu của tổ chức đặt ra, có chu kỳ sống (life cycle) chấp nhận được, và hơn thế nữa có thể phát triển khi hệ thống yêu cầu. Trong thực tế nhiều hệ thống thông tin chỉ tồn tại trong một thời gian ngắn và sau đó không còn đáp ứng được nhu cầu của người sử dụng. Một trong những lý do là không quan tâm đến giai đoạn phân tích và thiết kế, để rồi khi tổ chức phát triển thì hệ thống không còn khả năng đáp ứng. Một lý do khác không kém phần quan trọng, là các nhà xây dựng hệ thống thông tin không được trang bị một cách đầy đủ các kiến thức và phương pháp cơ bản để có thể tiến hành việc xây dựng một hệ thống thông tin. Nếu phần phân tích thiết kế không hoàn chỉnh và đúng đắn thì sẽ dẫn đến việc cài đặt thất bại. Môn phân tích thiết kế hệ thống là một môn học chính cho các sinh viên chuyên ngành công nghệ thông tin trong các trường đại học và cao đẳng. Hiện nay có khá nhiều sách vỡ, tài liệu mô tả khá đầy đủ về các phương pháp phân tích thiết kế hệ thống thông tin của các chuyên gia tin học đầu ngành nhưng cũng không ít những tài liệu quá cô đọng hoặc rườm rà khó tiếp cận được. Trước nhu cầu học tập của đông đảo sinh viên chuyên ngành, với những kinh nghiệm thực tế và kinh nghiệm qua nhiều năm giảng dạy chúng tôi mạnh dạn viết giáo trình này. Đây cũng là một tài liệu tham khảo tốt cho những ai quan tâm đến việc phân tích thiết kế hệ thống thông tin. Trong giáo trình chúng tôi sử dụng các kiến thức về cơ sở dữ liệu, kiến thức và kỹ thuật lập trình do đó đòi hỏi người học cần trang bị trước những phần kiến thức liên quan. Giáo trình gồm 2 phần: phần thứ 1, gồm 5 chương đầu. nói về các phương pháp phân tích thiết kế hệ thống thông tin theo hướng chức năng; phần thứ 2, nói về phương pháp phân tích thiết kế hệ thống thông tin theo hướng đối tượng (bằng UML). Trong mỗi chương, mỗi nội dung chúng tôi có đưa các ví dụ thực tiễn, khuyến cáo cho độc giả những sai lầm có thể xảy ra trong quá trình phân tích thiết kế để phân tích viên khỏi mắc sai lầm khi làm việc. Chương đầu tiên giới thiệu tổng quan về hệ thống thông tin. Chương 2, chúng tôi trình bày các kỹ thuật thu thập và xử lý sơ bộ dữ liệu trong quá trình nghiên cứu hiện trạng một hệ thống thông tin. Các chương 3 và 4 chúng tôi trình bày khá chi tiết mô hình quan niệm và tổ chức của hệ thống thông tin. Chương cuối cùng, mức vật lý của hệ thống thông tin, trình bày các bước quan trọng để người phân tích chuẩn bị công việc mã hóa và cài đặt. Các chương của giáo trình được trình bày với những ví dụ thực tế để người đọc thấy được bức tranh toàn cục của hệ thống qua các bước thiết kế. Trong quá trình biên soạn, mặc dù đã cố gắng tham khảo nhiều tài liệu và giáo trình khác nhưng tác giả không khỏi tránh được những thiếu sót và hạn chế. Tác giả chân thành mong đợi những nhận xét, đánh giá và góp ý để cuốn giáo trình ngày một hoàn thiện hơn. Huế, Ngày 20 tháng 12 năm 2006 Tác giả 2 Chương 1 TỔNG QUAN VỀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN I. Tổng quan về hệ thống thông tin 1. Đặt vấn đề: !"#$%&'( )%*%&+,$- '."/(01 2%3'()$4561+ )7)(89:9 ;< "/=>?@A8'$%&'( %B " "6+ 9:9C" "6DE3FGHHI "JK+, ?L!+)MN>+,C:O " PM%&+9 )(89:9? @ 'H+ON 9'()$QRS.:O %& 1TUVWXTUYW" Phân tích về sai sót: Z[N 4 \]^ S.= 4 _]^ `17 4 V^ /+ +=a_ 4 _W^ /+ +=:'9)1 4 b^ Phân tích về chi phí R7> 4 ]\^ cM 4 \d^ Phân tích phân bổ hoạt động `7'. 4 T]^ c+, + += 4 ]W^ e 4 b]^ /+O+ +=271+ +=A)7a) f?N ?g)(89:9"/)89h2 )8L7?%&9i2)+, "6>1 LAjk9+=)(89:9?=> )%B)))(8g:A)>1O" 4 2. Hệ thống - Hệ thống thông tin l)&)),=N N 12 m1%29 ON 9)l+7' 3N >M!%&!"E%&FJ `+HI" l)&)j$)O )n%O @2:O2 " II. Các hệ thống thông tin thông dụng 69?L%2(%3%&+," 1. Hệ xử lý dữ liệu (DPS-Data Processing System) Chức năng X o,f p1kDCm" X J% %&%3'Ol)l"J p:qL j 1L" ',f=8L%3N7f))" 2. Hệ thông tin quản lý (MIS-Management Information System) N7f%&+,!:9'. ?j$)?r)h" s84N7f'8)= 5t7fl%<?5t7f8<?"""?N7f%3 1=5t7fl%<?5t7f1<? 5t7f#/e<?""" Chức năng X r&D',f p%" X JmB+a&)r&$D" X /)N7fH3 " X /=B9L7lHk)=uN$+," /'H'vN7fC=8 ! +,=?%l>%2 = r& N9p" 3. Hệ hỗ trợ quyết định (DSS- Decision Support System) S8 @)!9M N9p&)f l" Khả năng của hệ: X /)?+A)'9))%BHOu %3N9p" X /))(8?LMKLgjp" X / @))%B%OB+a% " Đặc trưng của DSS X r&N9pN> N9p" 5 X 61> D?=:7D)0=)(8" X 61l&O1 N9p" 4. Hệ chuyên gia (ES-Expert System) @)N7f7N9$a BJ``" ON 9-8(1?8=:7Dl)l?l)? %%3"/w1%B>l):918?u= L?p?""" III. Các thành phần của một hệ thống thông tin quản lý 6HN M >N7f%3=b )4 X 6)N9p4D N9p" X 6)4D9)l?',f?$% " X 6))4)L771B+a !" s84N7f'8)=)N9pR x?))EL D?)) )('%a?B+a+7'" /@ =MN ) N +B j%2(" 6 T P tyz{6P|# T P 6}#x6Q# T P 6~/#xQ•c Thông tin vào từ môi trường ngoài Thông tin ra từ môi trường ngoài Quyết Báo cáo Thông tin Điều Thông tin Kiểm tra Nguyên liệu Sản phẩm ra Hình 1.1: Hệ thống thông tin theo quan điểm hệ hỗ trợ ra quyết định /@ 9p- =87 4 !l)&))%B?(?)%B))', fg)N> N9p@31l" 6=4 Tổ chức4=MBN ?'8)?%3""" Phương tiện F)X)$I4 B+almMl)?',f?%? M7%8??1""" Nhân lực4L jl)M?( l)?',f?$ ?"""%3)M>" Thông tinFI4/%&+,?k%3 LO?k %3LO"6O?:= 9)7=99:€H=%4 "x 4)%B%%?- k?( """ "eM4DL7?( ?>7?" "tA9)l> " "s E 1)?% N9p" Phương pháp xử lý tin4O)l%>?l ? %3?)$" 6=1?%&k\984?)%B))',f ?%3)%B" IV. Các tính năng của một hệ thống thông tin X 63 734%&8Lg:73 k:%&9) l9:)l%&N9p%B29" X R7 N9p1= %& :" X eM+7)u )" X e%&%&',f" X P)1) " X P)1) ',f" X P)1)$@ " X Pl " V. Mục đích, yêu cầu phương pháp phân tích thiết kế HTTT 1. Mục đích X 666=E3FGHHI X /=Dr& N9p X /%B>CK+, ?L7 X •+,?=8' " 7 2. Yêu cầu X t M9)l!M4Lg'HL)l??D ),%&)7%&O"J=ML97 $=9)M " X t M)X‚4N M)(8kO'H%2k9)l !M9OL" X #l1%&k%&LL9 2>) M X #l1%&)',f " X Pp %&:9N71%&k 1)M 9r 1" VI. Xây dựng thành công một hệ thống thông tin 1. Khái niệm về một dự án công nghệ thông tin thành công 69% =OuMM'p%& %&'H"# 70 1> %3*:jf2 $N7 ="6OM=Ba %3 % +OuNA+ 4S %&'H=9==))( %&1N7f! M !?=MMOC4 X cm&)29%&1 !" X P1%&O9:9$ !" X /)8l)l%&" X /=l ?)%&u " /w1%8+ƒ+43 ?„3 p?>:9„:9'@O%LM*?+h O""" X `7)u=p'4% @A?:p)3?=f- 9 21DN7f?( %&+7)up !?+ +==M)v)" X JK?K2K+," X S$…?%2a?KL7>" 2. Quản lý và phát triển một dự án công nghệ thông tin SO N7f7L7)M666) %&+& :%&)121)v)F% (+?3 ?$: !I"P(:(N )M 666"t7f+9=:9111=ON 2 M1O?=MLAM:9@"#=L j\) 4ea1 8 X†l):91X6Xe9@"Sr) O +)7%&" _"T"ea1 P(L%2O N>N7f=+1 MN?)1+)1) "/1=4 X 69l)L X 69l)N 2: X 69l)+BL4L j4'pN)1?l) p>) X 69l)N7f4ML77+ ?)7l) N7f=N7%4L?$?'v? ! ?'p31)?k?""" X 69l)%3N7fl)l:f4#l:f g1?+:?? ??u+, :M " _"_"†l):91 x 1l)'p719 r1M"#l):91L j4 X c1:91$ X opu X S7)1?)%B=M:7 X c( =MN7f%& X cMp>+BL X op X †l):91(+L X 69l)7 X †l):91B+a _"b"6 6% :91B+a"# L j4 X 6M: :91B+a?% B+a4L j:a ?l)(L!j?p%21O2?H‡> >7L7%& +7)u1 " X 6@u9>H:91B+a4:9N7? $h1?j(+"6%3&)=M)7+, ! :91B+a)m&)" 9 X t7f+ !2:91B+a4 !%&)77 :91B+al:f " X R!+l:f 47+:K )7 %&l:f"#=)O2 MNH2 "#=)p+,M)(8? N9pl)L" X 6L$>148MO O "sL:p)3K9 OM=%& ML9 Om2 "P7L7+)&) =N7" _"\"e9@ SO 1?L j+ 4 X P=14+1%O :9p&8?k "/B %3.==)? r&N>" X 6!:9+ 4O'p%&C1?C9k+7)u ? N>>O=N>N7f?k=@ :+ " X e9@&)j4:f:9L7 f&)j2LOON " VII. Giới thiệu một vài phương pháp phân tích thiết kế thông dụng 1. Phương pháp phân tích thiết kế có cấu trúc (SADT-`H ˆ ++ JH+ 6HNHI c%B))')kS‰?f%aBL7 =)(.2 B7"`ˆJ6%&'( OVOf+ 4 X `,> X c(8:M6)X‚" X Jm>D>N FE%&5> 9:9<M7" X 6M8* X `,LMK%21j1 X c&)1 = X ŠOj+B9" Công cụ để phân tích: X `,+BjDR‹JFR+H++‹J I%j jJ‹JFJ ‹‚J I" X S>FJ SH+I 10 X #=@`†F`H† HI X 6kMFJ J I X R7(N9pFŒ H[I X PC79>FcH++`)HG I" c%B)))(89:9`ˆJ6=%M Of)(8= @?9:9H)()?L77k+7'$ "#%& M )%B)):L jL9>)(8=9: l=M% v>1mC)" 2. Phương pháp phân tích thiết kế Merise S•ŽQ`•9AkkSHH)Ž ++HLHH+QHv+` +•GGF)%B ))l)&)f%a:AI"c%B)) 3D l)OVW"o)k+- =OLa •"†"†HH1%31ˆ'X•XcHHXc)Oj 3a6(O Lp:‰lF/•6•I?%2+.1 "6 H"6 +)M = 2?S•ŽQ`•E%&mM$ :h+aE$'8)1: " Ý tưởng cơ bản của phương pháp Merise: Z%aBL7 )%B)))(89:9SH+H ObCBL7+ 4 Mặt thứ nhất4N (9:q+FGHHI N 14 6 vFxH+ IXt [ZXt7pX/9"/:q+=M:v kT]9_WD22" Mặt thứ hai4$l)9:qC% ?E%&:qk %&"Sr%&7%21>l)L jl)&)+8 '"6H=:+ %2D%a? 7:L9! =h !:+ > !"Sr>%&7N > ONA?Of@))Np"/=NA )v)Mk>+ >:$C8" Mặt thứ ba4CON 9:qN9p)7% :q + +7)u" PC% )%B))SH+H3',fg7L78: N N>)(8)>MK1L%2l)l" L j',f%&LMKaL 4 X SN F/H)I4'p) ',f" X S!F• ‘ I49= N @" X S)Fc+I4)%&M9%9" Công cụ để phân tích: 6OB+aL LL9 ?)%B)))(89:9 SH+H+,>%BOM)(89:9 " 11 MỨC DỮ LIỆU XỬ LÝ SN SN $ SN $',f S! S!$ S!$',f Slf Slf$ Slf$',f ŠM )%B)))(89:9S•ŽQ`•=B+a: A" )%B))%&m$ac)/(’:)7)(8 2"#%&M )%B))j:$"J=?M7N9 0)%B))%3% 9:v3 " 6>?@+…L+)%B))M>LL%2)( 89:9 /=M>L%2)M N > : L $4$) ?$LL9 $ 1)(89:9" Hình 1.2 Các bước phát triển của một hệ thống thông tin 12 Thiết kế Thực hiện Lập kế hoạch Phân tích Mức quan niệm Mức tổ chức Mức vật lý Thông tin Xử lý con người thiết bị [...]... mềm được sử dụng trong hệ thống Tóm lại, thiết kế bao gồm các công việc sau: - Thiết kế dữ liệu: xác định các đối tượng (tập thực thể) và cấu trúc dữ liệu được sử dụng trong hệ thống - Thiết kế chức năng: định ra các modun xử lý thể hiện các chức năng xử lý của hệ thống thông tin - Thiết kế giao diện: chi tiết hóa hình thức giao tiếp người - máy - Thiết kế an toàn hệ thống - Thiết kế phần cứng: tính toán... thuận sơ bộ vào giai đoạn này Nói tóm lại, kết thúc của giai đoạn này là một hợp đồng không chính thức giữa người phân tích thiết kế và chủ đầu tư 15 Hình 1.2: Sơ đồ xây dựng một hệ thống thông tin tin học hóa PHÂN TÍCH Hệ thống cũ họat động như thế nào? Hệ thống cũ làm gì? THIẾT KẾ Hệ thống mới phải làm gì? Tìm hiểu yêu cầu thực tế và yêu cầu sử dụng Xác định hệ thống mới phải làm như thế nào? THỰC HIỆN... gọi là hoàn tất nếu không còn một phản hồi nào từ phía chủ đầu tư 3 Thiết kế Thiết kế và phân tích không phải là hai giai đoạn rời nhau Thiết kế hệ thống sẽ cho một phương án tổng thể hay một mô hình đầy đủ của hệ thống thông tin Nó bao gồm tất cả các đặc tả về hình thức và cấu trúc của hệ thống Trong giai đoạn thiết kế người phân tích phải xác định một cách chi tiết: - Các thông tin - Các qui tắc... triển hệ thống sau này 5 Chuyển giao hệ thống Giai đoạn này là giai đoạn cuối cùng để người phân tích hiệu chỉnh hệ thống thông tin và đưa hệ thống vào khai thác, vận hành thử bằng số liệu giả để phát hiện sai sot Sau đo người phân tích phải đào tạo người sử dụng tại mỗi vị trí trong hệ thống 6 Bảo trì Bảo trì là quá trình sửa đổi, khắc phục những thiếu sót của hệ thống thông tin để làm cho hệ thống. .. chính thức giữa 3 phía: Người phân tích, Chủ đầu tư và Người sử dụng 2.3 Xây dựng mô hình hệ thống chức năng: Người phân tích dựa vào kết quả phân tích để xây dựng mô hình nghiệp vụ của hệ thống, từ đó làm rõ mô hình thông tin và mô hình họat động của hệ thống Trong toàn bộ hoạt động phân tích thì đây là giai đoạn quan trọng nhất Quá trình tìm hiểu và xây dựng mô hình hệ thống được gọi là hoàn tất nếu... đầu từ tình trạng của hệ thống thông tin cũ và từ sự thiếu hiệu quả của hệ thống cũ so với nhiệm vụ đặt ra của tổ chức 1 Lập kế hoạch (khảo sát hệ thống) Đây là giai đoạn đầu tiên thông qua việc tiếp xúc giữa người phân tích và chủ đầu tư nhằm xác định các công việc cần thiết trước khi có thể tiến hành nghiên cứu các lĩnh vực, bộ phận, hệ thống con, các tổ chức có liên quan đến hệ thống thông tin cần... dạy Ngoài các phương pháp phân tích thiết kế đã nói ở trên còn có phương pháp phân tích hướng đối tượng (OOA: Object Oriented Analysis) sẽ được bàn đến ở chương cuối cùng VIII Những sai lầm có thể xẩy ra khi phân tích thiết kế HTTT Những phương pháp phân tích hiện đại mong muốn và hướng tới giải quyết toàn bộ hoặc từng phần các tồn tại và khiếm khuyết trong quá trình phân tích như sau: - Thiếu sự tiếp... giai đoạn xây dựng một hệ thống thông tin tin học hóa Mọi phương pháp phân tích thiết kế hệ thống thông tin phải trải qua các giai đoạn sau: - Nghiên cứu nhu cầu (hệ thống cần gì?) - Nghiên cứu khả thi (cân nhắc giữa nhu cầu và khả năng) - Đề xuất một kiểu kiến trúc mới của hệ thống - Mã hóa (tổ chức dữ liệu và lập trình) - Thử nghiệm và khai thác Quá trình phát triển của hệ thống thông tin phải bắt... trong mỗi giai đoạn phân tích - Cần có một mô hình hoặc một ngôn ngữ để đối thoại với những người không chuyên tin học trong hệ thống thông tin - Cần có một ngôn ngữ mô tả các mức quan niệm khác nhau của hệ thống thông tin liên quan đến chu kỳ sống của hệ thống Có 3 mức trừu tượng của một hệ thống thông tin: 1 Mức quan niệm Mức quan niệm của một hệ thống thông tin là sự mô tả mục đích hệ thống thông tin... trọng trong mối quan hệ với mục đích của hệ thống Các mô tả này phải độc lập với mọi giải pháp cài đặt sau này Ví dụ, hệ thống thông tin quản lý các chuyến bay của một công ty hành không Cụ thể, ở mức quan niệm người ta cần mô tả: - Các đối tượng được sử dụng trong hệ thống - Các hiện tượng và các mối quan hệ thông tin giữa các đối tượng, giữa các hệ thống con trong hệ thống và giữa hệ thống với môi trường . về các phương pháp phân tích thiết kế hệ thống thông tin theo hướng chức năng; phần thứ 2, nói về phương pháp phân tích thiết kế hệ thống thông tin theo. thông tin. Nếu phần phân tích thiết kế không hoàn chỉnh và đúng đắn thì sẽ dẫn đến việc cài đặt thất bại. Môn phân tích thiết kế hệ thống là một môn học