Giáo trình Phân tích thiết kế hệ thống hướng đối tượng

169 498 0
Giáo trình Phân tích thiết kế hệ thống hướng đối tượng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Giáo trình Phân tích thiết kế hệ thống hướng đối tượng CH M CL C NG I Đ I C NG V PHÂN TệCH THI T K H TH NG 1.2 Nhi m vụ, vai trò c a h th ng thông tin quản lý 1.3 Các thƠnh phần h p thƠnh c a h th ng thông tin 2 Các h th ng tự đ ng hóa Phơn tích thi t k lƠ gì, t i phải phơn tích thi t k h th ng ? 4.1 Phát triển h th ng thông tin – m t bƠi toán ph c t p 4.2 Chu trình phát triển phần m m (Software Development Life Cycle) 4.3 Các giai đo n c a quy trình phát triển phần m m Các cách ti p cận phơn tích vƠ thi t k h th ng thông tin 12 5.1 Ph ng pháp h ng cấu trúc 12 5.2 Ph ng pháp h ng đ i t ng 12 5.3 u điểm c a mô hình h ng đ i t ng 12 CH NG II T NG QUAN V PHÂN TệCH THI T K H NG Đ I T NG 13 Nhắc l i khái ni m c v h ng đ i t ng 13 1.1 Đ i t ng (Object) 13 1.2 L p (Class) vƠ thể hi n (instance) 13 1.3 Sự trao đ i vƠ thông p (message) 13 1.4 Sự phơn cấp (hierarchy) 14 1.5 Tính bao bọc (encapsulation) 17 1.6 Tính đa hình (polymorphism) 17 Gi i thi u ngôn ngữ mô hình hóa h p UML (Unified Modeling Language) 18 2.1 UML ? 19 2.2 Lịch sử phát triển vƠ t ng lai c a UML 20 2.3 T i dùng UML ? 22 2.4 M t s đặc điểm c a ph ng pháp phơn tích thi t k UML 24 2.5 Các thƠnh phần c a UML 25 2.6 M r ng UML 30 Công cụ hỗ tr Visual Paradigm 32 3.1 CƠi đặt phần m m 32 3.2 MƠn hình kh i đ ng Visual Paradigm 39 CH NG PHÂN TệCH H TH NG 42 Gi i thi u Case study 42 Xác định yêu cầu c a h th ng 43 Mô hình hóa Use case 45 3.1 Gi i thi u 45 3.2 Mục đích vƠ ký hi u Use case 47 3.3 Các kiểu k t h p (association) vƠ quan h (relationship) 50 3.4 S đ Use case 53 Mô hình hóa nghi p vụ (Business modeling) 65 5.2 S đ l p (Class diagram) 93 5.4 Xác định m i quan h l p 111 CH NG THI T K H TH NG 121 Thi t k l p 121 1.1 Các tiên đ vƠ h luận thi t k h ng đ i t ng 121 1.2 Thi t k l p 125 Thi t k Use case 134 2.2 Xác định l p tầng truy cập li u (data layer) 137 2.3 Xác định l p tầng giao di n ng i dùng (user interface layer) 153 Biên soạn: Nguyễn Thị Điệu Giáo trình Phân tích thiết kế hệ thống hướng đối tượng CH NG I Đ I C NG V PHÂN TệCH THI T K H TH NG Các h th ng thông tin NgƠy nay, h th ng thông tin đư đ c ng dụng lĩnh vựa khác c a đ i s ng xư h i Tuỳ theo quan điểm mƠ phơn lo i h th ng thông tin theo tiêu chí khác Xét v mặt ng dụng, h th ng thông tin đ c phơn chia thƠnh m t s d ng nh sau:  H th ng thông tin quản lý: Bao g m h th ng thông tin hỗ tr ho t đ ng nghi p vụ vƠ quản lý c a doanh nghi p, t ch c Ví dụ h th ng quản lý nhơn sự, h th ng k toán, h th ng tính c c vƠ chăm sóc khách hƠng, h th ng quản lý th vi n, h th ng đƠo t o trực n  Các h th ng Website: lƠ h th ng có nhi m vụ cung cấp thông tin cho ng i dùng môi tr ng m ng Internet Các h th ng Website có đặc điểm lƠ thông tin cung cấp cho ng i dùng có tính đa d ng (có thể lƠ tin t c d ng file đa ph ng ti n) vƠ đ c cập nhật th ng xuyên  H th ng th ng m i n tử: LƠ h th ng website đặc bi t phục vụ vi c trao đ i mua bán hàng hoá, dich vụ môi tr ng Internet H th ng th ng m i n tử bao g m n n tảng hỗ tr giao th c mua bán, hình th c toán, chuyển giao hàng hoá  H th ng u khiển: lƠ h th ng phần m m gắn v i thi t bị phần c ng h th ng khác nhằm mục đích u khiển vƠ giám sát ho t đ ng c a thi t bị hay h th ng Mỗi lo i h th ng thông tin có đặc tr ng riêng vƠ đặt yêu cầu riêng cho vi c phát triển h th ng Ví dụ, h th ng u khiển đòi h i yêu cầu v môi tr ng phát triển, h u hƠnh vƠ ngôn ngữ lập trình riêng; h website thực thi ch c m i tr ng m ng phơn tán đòi h i cách phát triển riêng Do vậy, m t ph ng pháp luận chung cho tất d ng h th ng thông tin Ph m vi c a tƠi li u nƠy nhằm gi i thi u m t s khái ni m c c a UML cho phát phiển h th ng vƠ để d dƠng minh ho s xem xét vấn đ phát triển d ng h th ng thông tin ph bi n lƠ h th ng thông tin quản lý Phơn tích thi t k gì, t i phải phơn tích thi t k h th ng ? H th ng thông tin tin học lƠ m t ng dụng đầy đ vƠ toƠn di n thƠnh tựu c a công ngh thông tin vƠo t ch c, quản lý NgƠy nay, không m t t ch c hay đ n vị nƠo lƠ nhu cầu xơy dựng h th ng thông tin Không nhu cầu xơy dựng h th ng thông tin tăng lên, mƠ quy mô vƠ m c đ ph c t p c a chúng không ngừng tăng lên Do đặc thù c a h th ng thông tin lƠ sản phẩm “không nhìn thấy”, nên phơn tích thi t k tr thƠnh m t yêu cầu bắt bu c để có đ c m t h th ng t t Trong thực t , để giải quy t m t vấn đ hay m t bƠi toán cần xác định rõ yêu cầu c a bƠi toán, xác định ph ng pháp b c để giải bƠi toán cho hi u nhất, nhanh vƠ k t xác Biên soạn: Nguyễn Thị Điệu Giáo trình Phân tích thiết kế hệ thống hướng đối tượng Phơn tích thi t k h th ng thông tin lƠ trình tìm hiểu vƠ mô ph ng l i hi n t ng, quy trình nghi p vụ th gi i thực từ xơy dựng h th ng để giải quy t bƠi toán đặt máy tính (Hình 1.1) Chất l ng phân tích thi t k lƠ nhơn t quy t định chất l phân tích không t t s dẫn đ n phần m m chất l      Không quản lý đ ng phần m m, không phân tích ng thấp: c thay đ i v yêu cầu Khó kiểm thử Khó bảo trì Không có tính ti n hóa Không tái sử dụng đ c Thế giới thực Thiết kế Lập trình Phần mềm Kiểm thử Hình 1.1 Mô trình phát triển HTTT Theo u tra c a IBM, sai sót phơn tích vƠ thi t k lƠm cho chi phí bảo trì trung bình c a h th ng thông tin chi m t i gần 60% t ng chi phí M t lỗi b sót giai đo n phơn tích đ n lập trình vƠ cƠi đặt m i phát hi n chi phí sửa chữa tăng 40 lần, vƠ n u để đ n giai đo n bảo trì m i phát hi n chi phí sửa chữa tăng 90 lần Thêm vƠo đó, n u thi u tài li u phơn tích thi t k dẫn đ n h th ng bảo trì Thi t k t t s đem l i m t sản phẩm phần m m chất l      D dƠng thay đ i theo yêu cầu c a ng ng t t: i sử dụng D dƠng kiểm thử D bảo trì Có tính ti n hóa cao Có khả tái sử dụng Do tầm quan trọng vƠ nhu cầu thực t , phơn tích h th ng thông tin đư tr thƠnh m t ngh nghi p có tính chuyên môn cao M t kỹ s công ngh thông tin không bi t đọc v phơn tích vƠ thi t k h th ng thông tin M t kỹ s CNTT sau m t năm tr thƠnh lập trình viên gi i, họ cần phải nhi u năm m i tr thƠnh m t nhƠ phơn tích vƠ thi t k viên vƠ sau nhi u năm m i tr thƠnh m t nhƠ phơn tích thi t k viên gi i Biên soạn: Nguyễn Thị Điệu Giáo trình Phân tích thiết kế hệ thống hướng đối tượng Các cách ti p c n phơn tích thi t k h th ng Trong năm 70 - 80, ph ng pháp h ng cấu trúc đ c coi lƠ ph ng pháp chuẩn để phát triển phần m m Tuy nhiên, ph ng pháp nƠy t không phù h p phát triển h phần m m l n vƠ đặc bi t lƠ hi u sử dụng l i - m t yêu cầu quan trọng công nghi p phần m m Thập niên 90 ch ng ki n n r nghiên c u vƠ xơy dựng ph ng pháp luận phát triển phần m m h ng đ i t ng vƠ nhanh chóng tr thƠnh ph bi n công nghi p phần m m ngƠy Để hiểu rõ phần nƠo khác bi t nƠy phần dành so sánh m t s khác bi t hai ph ng pháp nƠy 3.1 Giới thiệu phương pháp phát triển hướng cấu trúc Đặc tr ng c a ph ng pháp h ng cấu trúc lƠ phơn chia ch ng trình thƠnh nhi u ch ng trình con, ch ng trình nhằm đ n thực hi n m t công vi c xác định Trong ph ng pháp h ng cấu trúc, phần m m đ c thi t k dựa m t hai h ng: h ng li u vƠ h ng hƠnh đ ng - Cách ti p cận h ng li u xơy dựng phần m m dựa vi c phơn rư phần m m theo ch c cần đáp ng vƠ li u cho ch c Cách ti p cận h ng li u s giúp cho ng - i phát triển h th ng d dƠng xơy dựng ngơn hƠng li u Cách ti p cận h ng hƠnh đ ng l i tập trung phơn tích h phần m m dựa ho t đ ng thực thi ch c c a phần m m Cách th c thực hi n c a ph ng pháp h ng cấu trúc lƠ ph ng pháp thi t k từ xu ng (top-down) Ph ng pháp nƠy ti n hƠnh phơn rư bƠi toán thƠnh bƠi toán nh h n, r i ti p tục phơn rư bƠi toán cho đ n nhận đ c bƠi toán cƠi đặt đ c sử dụng hƠm c a ngôn ngữ lập trình h ng cấu trúc Ph ng pháp h ng cấu trúc có u điểm lƠ t phơn tích thi t k rõ rƠng, ch sáng s a d hiểu Tuy nhiên, ph ng pháp nƠy có m t s nh c điểm sau: - Không hỗ tr vi c sử dụng l i Các ch ng trình h ng trình ng cấu trúc phụ thu c chặt ch vƠo cấu trúc li u vƠ bƠi toán cụ thể, dùng l i m t modul nƠo phần m m nƠy cho phần m m m i v i yêu cầu v li u khác - Không phù h p cho phát triển phần m m l n N u h th ng thông tin l n, vi c phơn thƠnh bƠi toán nh phơn bƠi toán thƠnh modul vƠ quản lý m i quan h modul s lƠ lƠ d dƠng vƠ d gơy lỗi phơn tích vƠ thi t k h th ng, nh khó kiểm thử vƠ bảo trì Mô hình li u ph ng pháp nƠy trả l i cho cơu h i H th ng sử dụng li u gì? Mô tả li u s có h th ng vƠ m i quan h rƠng bu c chúng sử dụng s đ quan h thực thể, bảng thu c tính, rƠng bu c li u; mô hình thực thể (Entity Relationship Diagram - ERD) phản ánh h th ng đầy đ h n, b sung cho BFD (Bussiness Function Diagrammô hình phơn rư ch c năng); kho li u (Data store): Ký hi u đ ng kẻ song song hình chữ nhật tròn góc, biểu di n thông tin cần l u trữ (s lƠ file CSDL) Kho li u Biên soạn: Nguyễn Thị Điệu Giáo trình Phân tích thiết kế hệ thống hướng đối tượng Tác nhơn ngoƠi: Ng i/nhóm ng i/t ch c bên ngoƠi h th ng ti p xúc v i h th ng Đó lƠ ngu n cung cấp thông tin, lƠ ngu n s ng c a h th ng Tác nhơn trong: Ch c năng/quá trình h th ng Các mô hình có quan h mật thi t, xơy dựng theo th tự: BFD, ERD, DFD(Data Flow Diagram) định h ng lập trình, thể hi n rõ quan h N u cần lƠm rõ yêu cầu ng i dùng, DFD đ c xơy dựng tr c thể hi n quy trình nghi p vụ, sau xơy dựng BFD ERD Ví d : S đ phơn rư ch c cho h th ng Quản lý doanh nghi p Hình 1.2 Sơ đồ phân rã chức Hình 1.3 Mối quan hệ chức hệ thống 3.2 Giới thiệu phương pháp phát triển hệ thống hướng đối tượng Khác v i ph ng pháp h ng cấu trúc tập trung vƠo li u vƠo hƠnh đ ng, ng pháp h ng đ i t ng tập trung vƠo hai khía c nh c a h th ng lƠ li u vƠ hƠnh đ ng ph Cách ti p cận h ng đ i t ng lƠ m t l i t theo cách ánh x thƠnh phần bƠi toán vƠo đ i t ng ngoƠi đ i thực V i cách ti p cận nƠy, m t h th ng đ c chia t ng ng thƠnh thƠnh phần nh gọi lƠ đ i t ng, đ i t ng bao g m đầy đ li u vƠ hƠnh đ ng liên quan đ n đ i t ng Các đ i t ng m t h th ng t ng đ i đ c lập v i vƠ phần m m s đ c xơy dựng cách k t h p đ i t ng l i v i thông qua m i quan h vƠ t ng tác chúng Các nguyên tắc c c a ph ng pháp h ng đ i t ng bao g m: - Trừu t ng hóa (abstraction): ph ng pháp h ng đ i t ng, thực thể phần m m đ c mô hình hóa d i d ng đ i t ng Các đ i t ng nƠy đ c trừu t ng hóa m c cao h n dựa thu c tính vƠ ph ng th c mô tả đ i t ng để t o thƠnh l p Các l p Biên soạn: Nguyễn Thị Điệu Giáo trình Phân tích thiết kế hệ thống hướng đối tượng s đ c trừu t ng hóa m c cao h n để t o thƠnh m t s đ l p đ c k thừa lẫn Trong ph ng pháp h ng đ i t ng t n t i l p đ i t ng t ng ng, gọi lƠ l p trừu t ng Nh vậy, nguyên tắc c để xơy dựng khái ni m h ng đ i t ng lƠ trừu t ng hóa theo m c đ khác - Tính đóng gói (encapsulation) vƠ ẩn dấu thông tin: đ i t ng có ph ng th c thu c tính riêng (kiểu private) mƠ đ i t ng khác sử dụng đ c Dựa nguyên tắc ẩn giấu thông tin nƠy, cƠi đặt c a đ i t ng s hoƠn toƠn đ c lập v i đ i t ng khác, l p đ c lập v i vƠ cao h n lƠ cƠi đặt c a h th ng hoƠn toƠn đ c lập v i ng i sử dụng nh h th ng khác sử dụng k t c a - Tính modul hóa (modularity): bƠi toán s đ đ n giản vƠ quản lý đ c - Tính phơn cấp (hierarchy): cấu trúc chung c a m t h th ng h cấp theo m c đ trừu t ng từ cao đ n thấp u điểm n i bật c a ph ng pháp h ph ng pháp h ng cấu trúc: ng đ i t c phơn chia thƠnh vấn đ nh h n, ng lƠ đư giải quy t đ ng đ i t ng lƠ d ng phơn c vấn đ nảy sinh v i - Hỗ tr sử dụng l i mư ngu n : Ch ng trình lập trình theo ph ng pháp h ng đ i t ng th ng đ c chia thƠnh gói lƠ nhóm c a l p đ i t ng khác Các gói ho t đ ng t ng đ i đ c lập vƠ hoƠn toƠn sử dụng l i h th ng thông tin t ng tự - Phù h p v i h th ng l n: Ph ng pháp h ng đ i t ng không chia bƠi toán thành bƠi toán nh mƠ tập trung vƠo vi c xác định đ i t ng, li u vƠ hƠnh đ ng gắn v i đ i t ng vƠ m i quan h đ i t ng Các đ i t ng ho t đ ng đ c lập vƠ thực hi n hƠnh đ ng nhận đ c yêu cầu từ đ i t ng khác Vì vậy, ph ng pháp nƠy hỗ tr phơn tích, thi t k vƠ quản lý m t h th ng l n, mô tả ho t đ ng nghi p vụ ph c t p b i trình phơn tích thi t k không phụ thu c vƠo s bi n li u hay s l ng thao tác cần thực hi n mƠ quan tơm đ n đ i t ng t n t i h th ng Ví d : Cũng v i bƠi toán Quản lý doanh nghi p V i ph ng pháp ti p cận nƠy vi c phơn tích bƠi toán xoay quanh vi c xác định l p, đ i t ng c a bƠi toán: Nhơn Vật t Hàng hóa Đ n hƠng … Quy trình/Chu trình phát triển h th ng thông tin Vi c phát triển h th ng thông tin không đ n giản lƠ lập trình mƠ đ m t ti n trình hoƠn chỉnh c xem nh Tiến trình phần mềm phương cách sản xuất phần mềm với thành phần chủ yếu bao gồm: mô hình vòng đời phát triển phần mềm, công cụ hỗ trợ cho phát triển phần mềm người nhóm phát triển phần mềm Biên soạn: Nguyễn Thị Điệu Giáo trình Phân tích thiết kế hệ thống hướng đối tượng Nh vậy, ti n trình phát triển phần m m nói chung lƠ k t h p hai khía c nh kỹ thuật (vòng đ i phát triển, ph ng pháp phát triển, công cụ vƠ ngôn ngữ sử dụng, …) vƠ khía c nh quản lý (quản lý dự án phần m m) 4.1 Phát triển hệ thống thông tin – toán phức tạp Kinh nghi m c a nhi u nhƠ thi t k vƠ phát triển cho thấy phát triển phần m m lƠ m t bƠi toán ph c t p Xin nêu m t s lý th ng đ c kể đ n:        Những ng i phát triển khó hiểu cho ng Yêu cầu c a ng Yêu cầu th ng đ i dùng th i dùng cần ng thay đ i theo th i gian phát triển c miêu tả văn bản, dƠi dòng, nhi u mơu thuẫn Đ i quơn phát triển phần m m v n lƠ ng i “ngoƠi cu c”, khó nhận th c thấu đáo m i quan h ti m ẩn vƠ ph c t p cần đ c thể hi n xác ng dụng l n Khả nắm bắt li u ph c t p c a ng i (t i m t th i điểm) lƠ có h n Khó định l ng xác hi u xuất c a thƠnh phẩm vƠ th a mưn xác mong ch từ phía ng i dùng Chọn phần c ng vƠ phần m m thích h p cho giải pháp lƠ m t thách th c l n đ i v i Designer Phần m m ngoƠi cần có khả thích ứng mở rộng Phần m m đ c thi t k t t lƠ phần m m đ ng vững tr c bi n đ i môi tr ng, dừ từ phía c ng đ ng ng i dùng hay từ phía công ngh Ví dụ phần m m đ c phát triển cho m t Ngơn hƠng cần có khả tái sử dụng cho Ngơn hƠng khác v i sửa đ i hoƠn toƠn không cần sửa đ i Phần m m th a mưn yêu cầu đ c coi lƠ phần m m có khả thích ng M t phần m m có khả m r ng lƠ phần m m đ theo yêu cầu c a ng i dùng mƠ không cần sửa chữa nhi u Chính vậy, m t s khác m khuy t th        c thi t k cho d dƠng phát triển Hiểu ng ng gặp phát triển phần m m lƠ: i dùng cần Không thể thích ng cho phù h p v i thay đ i v yêu cầu đ i v i h th ng Các module không kh p Phần m m khó bảo trì vƠ nơng cấp, m r ng Phát hi n tr lỗ h ng c a dự án Chất l ng phần m m Hi u phần m m thấp Biên soạn: Nguyễn Thị Điệu  Giáo trình Phân tích thiết kế hệ thống hướng đối tượng Các thƠnh viên nhóm không bi t đ phải thay đ i c đư thay đ i cƠi gì, nƠo, đơu, t i 4.2 Chu trình phát triển phần mềm (Software Development Life Cycle) Vì phát triển phần m m cần phải có quy trình ? Phát triển phần m m lƠ m t bƠi toán khó, nên có l tr c h t ta cần điểm qua m t s công vi c c a trình nƠy Th ng ng i ta hay tập h p chúng theo ti n trình th i gian m t cách t ng đ i, xoay quanh chu trình c a m t phần m m, dẫn t i k t khái ni m Quy trình phát triển phần m m (Software development life cycle - SDLC) nh sau: Chu trình phát triển phần m m lƠ m t chuỗi ho t đ ng c a nhƠ phơn tích (Analyst), nhƠ thi t k (Designer), ng i phát triển (Developer) vƠ ng i dùng (User) để phát triển vƠ thực hi n h th ng thông tin Những ho t đ ng nƠy đ c thực hi n nhi u giai đo n khác nhau, đó:  Nhà phân tích (Analyst): lƠ ng i nghiên c u yêu cầu c a khách hƠng/ng i dùng để định nghĩa m t ph m vi bƠi toán, nhận d ng nhu cầu c a t ch c, xác định xem nhân lực, ph ng pháp vƠ công ngh máy tính lƠm để cải thi n m t cách t t     công tác c a t ch c nƠy Nhà thiết kế (Designer): thi t k h th ng theo h ng cấu trúc c a database, screens, forms reports – quy t định yêu cầu v phần c ng vƠ phần m m cho h th ng cần đ c phát triển Chuyên gia lĩnh vực (Domain experts): lƠ ng i hiểu thực chất vấn đ tất ph c t p c a h th ng cần tin học hóa Họ không thi t phải lƠ nhƠ lập trình, nh ng họ giúp nhƠ lập trình hiểu yêu cầu đặt đ i v i h th ng cần phát triển Quá trình phát triển phần m m có nhi u thuận l i n u đ i ngũ lƠm phần m m có đ c tr giúp c a họ Lập trình viên (Programmer): lƠ ng i dựa phơn tích vƠ thi t k để vi t ch ng trình (coding) cho h th ng ngôn ngữ lập trình đư đ c th ng Người dùng (User): lƠ đ i t ng phục vụ c a h th ng cần đ c phát triển Để cho rõ h n, xin lấy ví dụ v m t vấn đ đ n giản sau: Ng i bình th nhìn m t chi c xe ô tô th ng s có m t b c tranh từ bên ngoƠi nh sau: ng Vấn đ Hình 1.4 Nhìn vấn đề ô tô người bình thường Chuyên gia lĩnh vực s giúp nhƠ phơn tích "trình bƠy l i" vấn đ nh sau: Biên soạn: Nguyễn Thị Điệu Giáo trình Phân tích thiết kế hệ thống hướng đối tượng Hình 1.5 Nhìn vấn đề ô tô chuyên gia phân tích Chính tr giúp c a chuyên gia lĩnh vực đóng vai trò quan trọng nên giai đo n đầu c a trình phát triển phần m m, k t phơn tích nên đ c thể hi n cho d hiểu đ i v i chuyên gia lĩnh vực Đơy lƠ môt nhi u lý n cho ph ng pháp h ng đ i t ng đ c nhi u ng i h ng ng 4.3 Các giai đoạn quy trình phát triển phần mềm Quy trình c a m t phần m m đ        c chia thƠnh giai đo n nh sau: Nghiên c u s b (Preliminary Investigation hay gọi lƠ Feasibility Study) Phân tích yêu cầu (Analysis) Phân tích thi t k h th ng (Analysis and Design of the System) Xơy dựng phần m m (Software Construction) Thử nghi m h th ng (System Testing) Thực hi n triển khai (System Implementation) Bảo trì vƠ nơng cấp (Maintain and upgrade) a) Nghiên cứu sơ Tr c bắt tay vƠo m t dự án, b n phải có m t ý t ng cho Ý t ng nƠy song song v i vi c nắm bắt yêu cầu vƠ xuất hi n giai đo n kh i đầu Nó hoƠn tất m t phát biểu: "H th ng mƠ mong mu n s lƠm đ c vi c nh sau " Trong su t giai đo n nƠy, t o nên m t b c tranh v ý t ng đó, nhi u giả thuy t s đ c công nhận hay lo i b Các ho t đ ng th i gian nƠy th ng bao g m: thu thập ý tưởng, nhận biết rủi ro, nhận biết giao diện bên ngoài, nhận biết các chức mƠ h th ng cần cung cấp, vƠ tạo vài nguyên mẫu dùng để “minh ch ng khái ni m c a h th ng” Ý t ng đ n từ nhi u ngu n khác nhau: khách hƠng, chuyên gia lĩnh vực, nhƠ phát triển khác, chuyên gia v kỹ ngh , nghiên c u tính khả thi nh vi c xem xét h th ng khác t n t i M t khía c nh cần nhắc t i lƠ code vi t th i kỳ nƠy th ng s bị "b đi”, b i chúng đ c vi t nhằm mục đích thẩm tra hay tr giúp giả thuy t khác nhau, ch ch a phải th code đ c vi t theo k t phơn tích vƠ thi t k thấu đáo Trong giai đọan nghiên c u s b , nhóm phát triển h th ng cần xem xét yêu cầu c a doanh nghi p (cần dùng h th ng), ngu n tƠi nguyên sử dụng, công ngh nh c ng đ ng ng i dùng ý t ng c a họ đ i v i h th ng m i Có thể thực hi n thảo luận, Biên soạn: Nguyễn Thị Điệu Giáo trình Phân tích thiết kế hệ thống hướng đối tượng nghiên c u, xem xét khía c nh th ng m i, phơn tích khả l i-lỗ, phơn tích tr ng h p sử dụng vƠ t o nguyên mẫu để xơy dựng nên m t khái ni m cho h th ng đích v i mục đích, quy n u tiên vƠ ph m vi c a Th ng giai đo n nƠy ng i ta ti n hƠnh t o m t phiên thô c a lịch trình vƠ k ho ch sử dụng tƠi nguyên M t giai đo n nghiên c u s b thích đáng s lập nên tập h p yêu cầu (dù m c đ khái quát cao) đ i v i m t h th ng khả thi vƠ đ c mong mu n, kể v ph ng di n kỹ thuật lẫn xư h i M t giai đo n nghiên c u s b không đ c thực hi n thoả đáng s dẫn t i h th ng không đ c mong mu n, đắt ti n, bất khả thi vƠ đ c định nghĩa lầm l c – h th ng thừ ng chẳng đ c hoƠn tất hay sử dụng K t c a giai đo n nghiên c u s b lƠ Báo cáo kết nghiên cứu tính khả thi Khi h th ng t ng lai đ c chấp nhận dựa báo cáo nƠy lƠ lúc giai đo n Phơn tích bắt đầu b) Phân tích yêu cầu Sau đư xem xét v tính khả thi c a h th ng nh t o lập b c tranh s b c a dự án, b c sang giai đo n th ng đ c coi lƠ quan trọng công vi c lập trình: hiểu h th ng cần xơy dựng Ng i thực hi n công vi c nƠy lƠ nhà phân tích Quá trình phơn tích nhìn chung lƠ h c a vi c trả l i cơu h i “H th ng cần phải lƠm ?” Quá trình phơn tích bao g m vi c nghiên c u chi ti t h th ng doanh nghi p hi n th i, tìm cho nguyên lý ho t đ ng c a vƠ vị trí nơng cao, cải thi n Bên c nh lƠ vi c nghiên c u xem xét ch c mƠ h th ng cần cung cấp vƠ m i quan h c a chúng, bên nh v i phía ngoƠi h th ng Trong toƠn b giai đo n nƠy, nhƠ phơn tích vƠ ng i dùng cần c ng tác mật thi t v i để xác định yêu cầu đ i v i h th ng, t c lƠ tính m i cần phải đ c đ a vƠo h th ng Những mục tiêu cụ thể c a giai đo n phơn tích lƠ:      Xác định h th ng cần phải lƠm Nghiên c u thấu đáo tất ch c cần cung cấp vƠ y u t liên quan Xơy dựng m t mô hình nêu bật chất đ từ m t h s ng) ng nhìn có thực (trong đ i Trao định nghĩa vấn đ cho chuyên gia lĩnh vực để nhận đánh giá, góp ý K t c a giai đo n phơn tích lƠ Đặc tả yêu cầu (Requirements Specifications) c) Phân tích thiết kế hệ thống Sau có đ c yêu cầu từ phía khách hƠng, xác định đ cần xơy dựng, bắt đầu phơn tích h th ng c ch c c a h th ng giai đo n nƠy, s mô hình hóa h th ng d i d ng biểu đ Mục đích c a giai đo n nƠy lƠ giúp ng i phát triển có nhìn sơu h n v toƠn cảnh h th ng, v ho t đ ng s di n h th ng Từ xơy dựng li u c a h th ng Biên soạn: Nguyễn Thị Điệu 10 Giáo trình Phân tích thiết kế hệ thống hướng đối tượng dụng Do đó, v i đ i t ng ng i dùng khác mƠ giao di n đ c thi t k s khác v mục tiêu, trách nhi m, cách vận hƠnh vƠ hình th c trình bƠy Vi c xác định l p tầng giao di n g m hai b - c sau: V i l p (tầng nghi p vụ), n u l p có t ng tác v i m t tác nhơn ng i m t use case, th c hi n nh sau: o Xác định đ i t ng giao di n cho l p đó, trách nhi m nh yêu cầu c a đ i t ng nƠy Vi c nƠy đ h p tác c a use case c thực hi n cách phơn tích l i s đ o Xác định liên k t đ i t ng giao di n: l p giao di n gi ng nh l p khác, đ u có m i quan h v i l p tầng nghi p vụ tham gia m t use case v i Các m i liên k t nƠy đ c xác định t ng tự nh c a l p tầng nghi p vụ Sự liên k t nƠy th ng theo s đ d i đơy - Lặp l i b c vƠ tinh ch u điểm c a c a vi c sử dụng use case để xác định đ i t ng tầng giao di n lƠ tập trung vƠo ng i dùng vƠ đ a ng i dùng vƠo nh m t phần c a k ho ch thi t k nhằm tìm m t giao di n t t cho ng i dùng Khi đ i t ng nƠy đư đ c xác định, phải xác định thƠnh phần c đ i t ng đ c dùng công vi c nh lƠ hƠnh vi vƠ đặc điểm t o khác bi t c a lo i đ i t đ i t ng vƠ đ i t ng vƠ ng i dùng ng, bao g m m i quan h Biên soạn: Nguyễn Thị Điệu 155 Giáo trình Phân tích thiết kế hệ thống hướng đối tượng Tuy nhiên, thi t k giao di n đư xác định môi tr ng phát triển nên tìm hiểu khung mẫu (framework) nh th vi n mƠ môi tr ng hỗ tr để phát huy vi c tái sử dụng thi t k giao di n vƠ tận dụng t i đa hỗ tr từ môi tr M t d ng khung mẫu MVC (Model – View - Controller) đ c hỗ tr môi tr ng ng Java áp dụng cho thi t k giao di n ng dụng v i Java Xơy dựng m u (prototype) cho giao di n Vi c xơy dựng mẫu giao di n th ng đ c thi t k giai đo n xác định yêu cầu vƠ phơn tích h th ng Công vi c nƠy đ c thực hi n sử dụng m t công cụ gọi lƠ CASE Tool công cụ phát triển Bao g m ba b c sau: - T o đ i t ng giao di n (nh lƠ button, vùng nhập li u,…) - Liên k t vƠ gán hƠnh vi hƠnh đ ng thích h p t i đ i t ki n c a - Thử nghi m vƠ lặp l i b ng giao di n nƠy cm t Thi t k tầng giao di n cho h th ng ATM Xác định đối tượng tầng giao diện, yêu cầu trách nhiệm Đ i v i l p tầng nghi p vụ: NgơnHƠng, MáyATM, KháchHƠng, TƠiKhoản, GiaoDịch, GiaoDịchGửi, GiaoDịchRút xác định l p giao di n c a vi c quan sát s đ vƠ h p tác c a use case: Đăng nhập, Đăng nhập không h p l , Giao dịch, Biên soạn: Nguyễn Thị Điệu 156 Giáo trình Phân tích thiết kế hệ thống hướng đối tượng Rút ti n, Gửi ti n, Truy vấn thông tin tƠi khoản, Kh i đ ng h th ng, Đóng h th ng Chúng ta xác định đ c l p tầng giao di n sau đơy: KháchHƠngGD: biểu di n giao di n t Đăng nhập không h p l ng tác khách hƠng vƠ use case Đăng nhập, GiaoDịchRútGD: biểu di n t ng tác khách hƠng vƠ use case Rút ti n GiaoDịchGửiGD: biểu di n t ng tác khách hƠng vƠ use case Gửi ti n TƠi khoảnGD: biểu di n t ng tác khách hƠng vƠ use case Truy vấn thông tin tƠi khoản MáyATMKh iĐ ngGD: biểu di n t đ ng h th ng ng tác nhơn viên vận hƠnh vƠ use case Kh i Các đ i t ng giao di n GiaoDịchGửiGD, GiaoDịchRútGD có m t hình th c trình bƠy chung c a giao dịch vƠ thay đ i lo i giao dịch Do đó, gom l i thƠnh m t l p vƠ gọi lƠ: GiaoDịchGD Xác định liên kết lớp tầng giao diện với lớp tầng nghiệp vụ M ik th pđ c xác lập lƠ m i k t h p d ng aggregation nh sau: v i l p giao di n t o liên k t aggregation t i l p t ng ng tầng nghi p vụ M i liên k t nƠy cho bi t thể hi n c a l p tầng giao di n s sử dụng đ i t ng tầng nghi p vụ nh lƠ m t thƠnh phần để thực hi n g i thông p Xác định đối tượng giao diện điều khiển là: toolbar, menu, form điều khiển,… NgoƠi l p đ c xác định dựa vƠo use case, xác định thêm đ i t di n có nhi m vụ điểu khiển chính, giao di n chính, thực đ n, tool bar,… V i h th ng ATM có thêm m t đ i t giao di n c a máy ATM gọi lƠ MáyATM_GD ng giao ng giao di n u khiển ho t đ ng Vì đ i t ng c a l p MáyATM_GD s g i thông p đ n tất đ i t ng giao di n rút, gửi vƠ truy vấn thông tin nhằm u khiển giao di n nƠy Do đó, tr c g i thông p đ i Biên soạn: Nguyễn Thị Điệu 157 Giáo trình Phân tích thiết kế hệ thống hướng đối tượng t ng l p MáyATM_GD s phải t o đ i t ng nh lƠ m t thƠnh phần c a Chính mƠ s xác lập m i k t h p aggregation từ l p MáyATM_GD đ n l p: GiaoDichGD, TaiKhoanGD Thiết kế giao diện mẫu (prototype) Xác định method Mục tiêu c a đ i t ng giao di n lƠ cho phép ng i dùng thao tác v i h th ng nhằm phục vụ cho công vi c nghi p vụ nh lƠ: nhấn m t nút, nhập vƠo m t ký tự,… Các thao tác nƠy s đ c chuyển t i đ i t ng tầng nghi p vụ để xử lý Khi hoƠn thƠnh xử lý, giao di n s đ c cập nhật l i thông tin nhằm hiển thị thông tin m i m m t giao di n m i,… Xác định hƠnh vi cho đ i t ng giao di n cách xác định ki n mƠ c a h th ng phải đáp ng t ng ng t i thao tác ng i dùng giao di n vƠ hƠnh đ ng ki n xảy M t hƠnh đ ng đ c xem nh m t hƠnh vi vƠ đ c hình thƠnh b i k t h p m t đ i t ng v i m t thông p g i t i đ i t ng Xem xét l i đ i t ng giao di n theo use use case c a h th ng ATM lần l t xác định method cho l p giao di n KháchHàngGD - Use case Đăng nhập Khi khách hƠng đ a thẻ ATM vƠo máy ki n vƠ hƠnh đ ng: - Đ a thẻ vƠo máy -> hiển thị giao di n đăng nhập (KháchHƠngGD) - Khách hƠng chọn đ ng ý -> kiểm tra mật (KháchHƠng) -> hiển thị giao di n u khiển (MáyATM_GD) -> thông báo n u đăng nhập không thƠnh công (KháchHàngGD) -> đóng giao di n đăng nhập (KháchHƠngGD) - Khách hƠng chọn huỷ b -> đóng giao di n đăng nhập (KháchHƠngGD) Chúng ta xác định đ c method: KháchHƠngGD::+hiểnThị() KháchHàngGD::-thôngBáo(thôngBáo:String) KháchHƠngGD::+đóng() MáyATM_GD::+hiểnThị() Biên soạn: Nguyễn Thị Điệu 158 Giáo trình Phân tích thiết kế hệ thống hướng đối tượng S đ tinh ch tầng giao di n cho use case Đăng nhập MáyATM_GD Khi giao di n c a máy đ c hiển thị t ng tác c a khách hàng làm phát sinh ki n vƠ hƠnh đ ng: - Chọn nút rút ti n -> hiển thị giao di n rút ti n (GiaoDịchGD) - Chọn nút gửi ti n -> hiển thị giao di n gửi ti n (GiaoDịchGD) - Chọn nút xem tƠi khoản -> hiển thị giao di n xem thông tin tƠi khoản (TƠiKhoảnGD) - Chọn nút thoát -> đóng giao di n (MáyATM_GD) Biên soạn: Nguyễn Thị Điệu 159 Giáo trình Phân tích thiết kế hệ thống hướng đối tượng Chúng ta xác định đ c method GiaoDịchGD::+hiểnThị(lo iGD:String) TƠiKhoản::+hiểnThị() MáyATM_GD::+đóng() GiaoDịchGD - Use case Rút ti n Khi khách hƠng chọn dịch vụ rút ti n từ giao di n ki n vƠ hƠnh đ ng: - Chọn rút ti n -> hiển thị giao di n rút ti n (GiaoDịchGD) - Khách hƠng chọn rút ti n -> thực hi n rút ti n (TƠiKhoản)  thông báo k t (GiaoDịchGD)  in hoá đ n rút (GiaoDịchGD)  đóng giao di n rút ti n (GiaoDịchGD) - Khách hƠng chọn đóng -> đóng giao di n rút ti n (GiaoDịchGD) Chúng ta xác định đ c method: GiaoDịchGD::-thôngBáo(thôngBáo:String) GiaoDịchGD::-inHoáĐ n() GiaoDịchGD::+đóng() Biên soạn: Nguyễn Thị Điệu 160 Giáo trình Phân tích thiết kế hệ thống hướng đối tượng GiaoDịchGD - Use case Gửi ti n Khi khách hƠng chọn dịch vụ gửi ti n từ giao di n ki n vƠ hƠnh đ ng: - Chọn gửi ti n -> hiển thị giao di n gửi ti n (GiaoDịchGD) - Khách hƠng chọn gửi ti n -> thực hi n gửi ti n (TƠiKhoản)  thông báo k t (GiaoDịchGD)  in hoá đ n gửi (GiaoDịchGD)  đóng giao di n gửi ti n (GiaoDịchGD) - Khách hƠng chọn đóng -> đóng giao di n gửi ti n (GiaoDịchGD) Các method xác định use case nƠy gi ng nh c a use case Rút ti n Biên soạn: Nguyễn Thị Điệu 161 Giáo trình Phân tích thiết kế hệ thống hướng đối tượng Trong s đ cho rút ti n vƠ g i ti n, quan sát ba đ i t ng: KháchhƠng (tác nhơn), vƠ hai đ i t ng giao di n MáyATM_GD, GiaoDịchGD Bắt đầu dòng từ tác nhân khách hƠng mô tả thao tác khách hƠng giao di n vƠ trả l i c a h th ng từ giao di n Từ dòng nƠy, đ i t ng giao di n s t ng tác v i đ i t ng tầng nghi p vụ thông p nhằm thực hi n tác vụ c a h th ng TƠiKhoảnGD - Use case Truy vấn thông tin tƠi khoản3 Khi khách hƠng chọn truy vấn thông tin tƠi khoản từ giao di n ki n vƠ hƠnh đ ng: - Chọn xem thông tin tƠi khoản -> hiển thị giao di n truy vấn (TƠiKhoảnGD)  đọc thông tin tƠi khoản (KháchHƠng)  hiển thị thông tin tƠi khoản (TƠiKhoảnGD) - Khách hƠng chọn đóng -> đóng giao di n truy vấn (TƠiKhoảnGD) Chúng ta xác định đ c method: Biên soạn: Nguyễn Thị Điệu 162 Giáo trình Phân tích thiết kế hệ thống hướng đối tượng TƠiKhoảnGD::+hiểnThị() TƠiKhoảnGD::-hiểnThịThôngTin(tk:TaiKhoan) TƠiKhoảnGD::+đóng() MáyATMKh iĐ ngGD - Use case Kh i đ ng h th ng Khi máy đ c bật công tắc kh i đ ng ki n vƠ hƠnh đ ng: - Kh i đ ng máy hoƠn (MáyATMKh iĐ ngGD) thƠnh - Nhơn viên chọn đóng -> cập nhật s ti n cho hi n hƠnh cho máy (MáyATM) -> hi n thị giao di n kh i đ ng  thực hi n k t n i t i m ng ngơn hƠng (NgơnHƠng)  đóng giao di n kh i đ ng (MáyATMKh iĐ ngGD) Chúng ta xác định đ c method: MáyATMKh iĐ ngGD::+hiểnThị() MáyATM::+cậpNhậtS Ti n(s Ti n:float) NgơnHƠng::+k tN i() MáyATMKh iĐ ngGD::+đóng() Biên soạn: Nguyễn Thị Điệu 163 máy Giáo trình Phân tích thiết kế hệ thống hướng đối tượng Use case Đóng máy Khi nhơn viên bật công tắc tắt máy, ki n vƠ hƠnh đ ng: - Tr c tắt máy -> thực hi n đóng k t n i t i m ng ngơn hƠng (NgơnHƠng) Chúng ta xác định đ  tắt máy (MáyATM) c method NgơnHƠng::+đóngK tN i() MáyATM::-tắtMáy() Biên soạn: Nguyễn Thị Điệu 164 Giáo trình Phân tích thiết kế hệ thống hướng đối tượng M t giải pháp khác nhằm quản lý vi c u khiển l p nghi p vụ để đáp ng cho ki n tầng giao di n lƠ dùng đ i t ng u khiển Các thông p từ tầng giao di n s đ c ti p nhận b i đ i t ng điểu khiển vƠ đ i t ng nƠy s u khiển ho t đ ng c a đ i t ng nghi p vụ nhằm thực thi cho thông p Nh đ i t ng giao di n hiểu nh lƠ m t đ i t ng bao bọc tầng nghi p vụ từ đ i t ng tầng giao di n V quan ni m t ng quát, m t đ i t ng u khiển đảm nhận nhi u use case m t use case có nhi u đ i t ng u khiển Tuy nhiên, tất use case đ u phải có đ i tự ng u khiển, b i ý nghĩa c a đ i t ng u khiển lƠ t o ph i h p, đó, tr ng h p use case có m t l p ý nghĩa ph i h p không Trong UML l p u khiển lƠ m t stereotype vƠ có ký hi u nh sau: Biên soạn: Nguyễn Thị Điệu 165 Giáo trình Phân tích thiết kế hệ thống hướng đối tượng S đ cho use case Rút ti n có đ i t ng u khiển: Các l p tầng giao di n đ c đ c chọn m t kiểu stereotype phù h p: boundary, form, interface, page, webpage,… Ví dụ, s đ use case Rút ti n chọn stereotype cho l p giao di n lƠ boundary Quan sát s đ thấy đ i t ng giao di n s t ng tác (rút ti n) v i đ i t ng nghi p vụ qua m t đ i t ng u khiển, vƠ đ i t ng nƠy s u ph i ho t đ ng c a đ i t ng nghi p vụ (KháchHƠng, TƠiKhoản, GiaoDịch) để thực hi n vi c rút ti n thay s đ tr c đó, vi c u ph i nƠy đ i t ng giao diên đảm nhận Xác định thuộc tính lớp tầng giao diện Các thu c tính đ c xác định cho l p tầng giao di n ch y u lƠ thu c tính mô tả tham chi u M t lần nữa, dựa vƠo s đ tinh ch l i m i k t h p l p tầng giao di n vƠ l p tầng nghi p vụ: Biên soạn: Nguyễn Thị Điệu 166 Giáo trình Phân tích thiết kế hệ thống hướng đối tượng \ Các thu c tính tham chi u c a l p lần l t lƠ: L p MáyATM_GD -giaoDịchGD:GiaoDịchGD -tƠiKhoảnGD:TƠiKhoảnGD L p KháchHƠngGD -kháchHàng:KháchHàng L p GiaoDịchGD -tƠiKhoản:TƠiKhoản -kháchHàng:KháchHàng L p TƠiKhoảnGD -tƠiKhoản:TƠiKhoản -kháchHàng:KháchHàng L p MáyATMKh iĐ ngGD -máyATM:MáyATM Biên soạn: Nguyễn Thị Điệu 167 Giáo trình Phân tích thiết kế hệ thống hướng đối tượng S đ l p đầy đ ba tầng c a h th ng ATM: Biên soạn: Nguyễn Thị Điệu 168 Giáo trình Phân tích thiết kế hệ thống hướng đối tượng T NG K T Nh phần nƠy đư cung cấp cho b n nhìn t ng quan v thi t k h th ng (thi t k l p vƠ use case): - Cung cấp c v ki n trúc ba tầng (tree-layer) - Xác định đ i t ng tầng nghi p vụ - Xác định đ i t ng tầng truy cập li u vƠ thi t k method - Xác định đ i t ng tầng giao di n vƠ thi t k method Biên soạn: Nguyễn Thị Điệu 169

Ngày đăng: 04/08/2016, 13:23

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan