Bài giảng Thiết kế hướng đối tượng
Xác định các khái niệm
Cách khác để xác định các khái niệm
Các danh từ và cụm danh từ trong đặc tả yêu cầu
hoặc đặc tả ca sử dụng có thể là các khái niệm
Dựa vào hiểu biết và kinh nghiệm loại bỏ các danh từ
và cụm danh từ không là các khái niệm
Ví dụ: dựa vào kịch bản ca sử dụng “mua hàng”
Gạch chân các danh từ và cụm danh từ
h hàng không có ñủ tiền. Người bán hàng hủy bỏ việc bán. 3. Sự xác nhận mặt hàng không ñúng. Hiển thị lỗi. Hành ñộng của tác nhân Hành ñộng của hệ thống Lưu ý: ñịnh dạng ñặc tả các ca sử dụng không cần thiết phải chặt chẽ. 22 43 Ca sử dụng ở giai ñoạn Elaboration Xác ñịnh càng nhiều ca sử dụng một cách có thể Không ñi vào quá chi tiết, nhằm giảm ñộ phức tạp Một mô tả ngắn gọn về mỗi ca sử dụng là ñủ, có thể bỏ qua phần kịch bản, tham chiếu ñến ñặc tả yêu cầu, ñiều kiện trước và ñiều kiện sau. Bảo ñảm rằng các ca sử dụng bao quát hết các yêu cầu của hệ thống 44 Biểu ñồ ca sử dụng Biểu ñồ ca sử dụng mô tả quan hệ giữa các tác nhân và các ca sử dụng của một hệ thống. Kí hiệu Tác nhân Use case Kết hợp chỉ sự tham gia của tác nhân vào ca sử dụng Giới hạn của hệ thống 23 45 Biểu ñồ ca sử dụng Ví dụ Ghi nhận Mua hàng Trả hàng Khởi ñộng Người bán hàng Người quản lý Khách hàng 46 Biểu ñồ ca sử dụng Các tác nhân có thể có quan hệ thừa kế Ví dụ Khách hàng Cá nhân Công ty 24 47 Quan hệ mở rộng Có thể xảy ra trường hợp: một ca sử dụng tương tự với một ca sử dụng khác, tuy nhiên nó gồm thêm một số hành ñộng Ví dụ Ca sử dụng: Mua hàng bằng thẻ tín dụng Các tác nhân: Khách hàng, Người bán hàng Mô tả: Một khách hàng sau khi ñã chọn các mặt hàng, mang giỏ hàng ñến quầy thu tiền. Người bán hàng ghi nhận các mặt hàng, thông báo tổng số tiền. Khách hàng ñưa thẻ vào máy và nhập mã PIN. Khách hàng nhận phiếu bán hàng và mang hàng ñi. 48 Quan hệ mở rộng Ca sử dụng này là một biến thể của ca sử dụng “mua hàng”, tuy nhiên thêm vào các hành ñộng liên quan ñến trả tiền bằng thẻ Ca sử dụng “mua hàng bằng thẻ tín dụng” là một sự mở rộng của ca sử dụng “mua hàng” 25 49 Quan hệ mở rộng Kí hiệu Nếu một ca sử dụng kết hợp với một tác nhân, thì tất cả các ca sử dụng mở rộng ñều kết hợp với tác nhân ñó Mua hàng Mua hàng bằng thẻ> Quan hệ mở rộng 50 Quan hệ sử dụng Trường hợp nhiều ca sử dụng chia sẽ cùng một dãy các hành ñộng. Nếu phần chung là quan trọng và hướng tới một mục tiêu rõ ràng, như thế ta có thể xây dựng một ca sử dụng riêng Ví dụ: chúng ta muốn chấp nhận mua hàng trả tiền một lần và mua hàng trả góp Hai ca sử dụng “mua hàng trả tiền một lần” và “mua hàng trả góp” thực hiện một dãy các hành ñộng mà có thể ñược mô tả bởi ca sử dụng “ghi nhận các mặt hàng” 26 51 Quan hệ sử dụng ðặc tả của ca sử dụng “ghi nhận các mặt hàng” Ca sử dụng: ghi nhận các mặt hàng Các tác nhân: người bán hàng, khách hàng Mô tả: Khách hàng mang các mặt hàng ñến quầy tính tiền. Người bán hàng ghi nhận các mặt hàng và thông báo tổng số tiền phải trả. 52 Quan hệ sử dụng Kí hiệu Mua hàng trả một lần Mua hàng trả góp > Quan hệ sử dụng Ghi nhận các mặt hàng > Ngược với quan hệ mở rộng, các ca sử dụng trong quan hệ sử dụng không nhất thiết kết hợp với cùng tác nhân. 27 53 Cách xác ñịnh các ca sử dụng Phương pháp phỏng vấn Khó khăn, vì hai người khác nhau ñược phỏng vấn có thể ñưa ra ý kiến khác nhau Phương pháp hội thảo (workshop) Tập hợp tất cả những ai liên quan ñến hệ thống ñể thảo luận: các nhà tin học và khách hàng (người sử dụng) Mỗi người ñều ñưa ra ý kiến 54 Cách xác ñịnh các ca sử dụng Cách tiến hành hội thảo Liệt kê tất cả các tác nhân có thể Liệt kê tất cả các ca sử dụng có thể Phân tích, biện chứng mỗi ca sử dụng bằng cách viết ra một mô tả ñơn giản Mô hình hóa các ca sử dụng và tác nhân 28 55 Cách xác ñịnh các ca sử dụng Khuyến khích Không nên cố gắng tìm mọi ca sử dụng, • Trong quá trình phát triển các ca sử dụng sẽ lộ diện dần Nếu không thể biện chứng cho một ca sử dụng • Có thể ñó không phải là ca sử dụng 56 Sắp xếp các ca sử dụng Khi tất cả các ca sử dụng ñã ñược xác ñịnh Tiến trình phát triển gồm nhiều bước lặp Mỗi bước lặp thực hiện thiết kế, mã hóa và kiểm thử chỉ một vài ca sử dụng Làm sao chia các ca sử dụng vào các bước lặp? 29 57 Sắp xếp các ca sử dụng Lặp 1 Lặp 2 Lặp 3 A B C D Các ca sử dụng 58 Sắp xếp các ca sử dụng Các ca sử dụng nên ñược thực hiện trước Các ca sử dụng chứa các rủi ro/nguy cơ Các ca sử dụng kiến trúc chính Các ca sử dụng ñòi hỏi nghiên cứu mới, công nghệ mới Các ca sử dụng mà khách hàng quan tâm hơn 30 59 Bài tập 1 Máy rút tiền ATM có các chức năng chính như sau: Cấp phát tiền cho những ai có thẻ ngân hàng (cho phép rút một số lượng tiền bởi hệ thống thông tin của ngân hàng) và những ai có thẻ VISA (cho phép từ xa bởi hệ thống VISA) Cho xem kiểm tra số tiến tài khoản và bỏ tiền vào tài khoản bằng tiền mặt hoặc ngân phiếu ñối với những ai có thẻ ngân hàng Tất cả các giao tác ñều ñược kiểm tra an toàn Kiểm tra mã PIN Mã PIN nhập sai 3 lần thì thẻ sẽ bị “nuốt” Cần phải thường xuyên nạp tiền vào máy, lấy ngân phiếu và các thẻ bị nuốt ra Xác ñịnh các tác nhân, các ca sử dụng và vẽ biểu ñồ ca sử dụng 60 Bài tập 1 Các tác nhân Người có thẻ ngân hàng (bankcard) Người có thẻ VISA (VISAcard) Người vận hành máy (operator) Hệ thống VISA (VISA) Hệ thống thông tin ngân hàng (bank) 31 61 Bài tập 1 Các ca sử dụng Rút tiền với thẻ ngân hàng (withdraw by bankcard) Rút tiền với thẻ VISA (withdraw by VISAcard) Kiểm tra mã PIN (identify) Xem số tiền còn trong tài khoản (balance) Bỏ tiền vào tài khoản bằng ngân phiếu hoặc tiền mặt (deposit) Nạp tiền vào máy (put money) Lấy thẻ bị nuốt trong máy (get cards) Lấy ngân phiếu trong máy (get cheques) 62 Bài tập 1 VISAcard withdraw with VISA card VISA bankcard withdraw with bank card balance deposit deposit by cheque deposit by cash bank identify> > 32 63 Bài tập 1 operator put cash get cards get cheques 64 Bài tập 2 Quản lý ñào tạo nhân viên: Một công ty muốn mô tả bằng UML việc ñào tạo nhân viên ñể tin học hóa một số công việc. Việc ñào tạo ñược bắt ñầu khi người quản lý ñào tạo nhận ñược yêu cầu ñào tạo của một nhân viên. Nhân viên này có thể xem danh mục các chuyên ñề ñào tạo của các ñơn vị ñào tạo ký kết với công ty. Yêu cầu của nhân viên ñược xem xét bởi người quản lý ñào tạo và người quản lý sẽ trả lời là chấp nhận hay từ chối ñề nghị ñó. Trong trường hợp chấp nhận, người quản lý sẽ xác ñịnh chuyên ñề phù hợp trong danh mục các chuyên ñề, sau ñó gửi cho nhân viên nội dung của chuyên ñề và danh sách các khóa ñào tạo. Nhân viên sẽ chọn khóa ñào tạo và người quản lý sẽ ñăng ký khóa học với ñơn vị ñào tạo cho nhân viên. Trong trường hợp muốn hủy bỏ ñăng ký khóa ñào tạo, nhân viên phải thông báo sớm cho người quản lý biết ñể người quản lý thực hiện hủy bỏ. Cuối khóa ñào tạo, nhân viên chuyển phiếu ñánh giá kết quả học về cho công ty. Người quản lý sẽ kiểm tra hóa ñơn thanh toán tiền của ñơn vị ñào tạo. Xây dựng biểu ñồ ca sử dụng. 33 65 Nội dung Khái niệm cơ bản hướng ñối tượng Biểu ñồ ca sử dụng Thiết kế cấu trúc tĩnh Thiết kế cấu trúc ñộng Sinh mã 66 Cấu trúc tĩnh Mô hình khái niệm Biểu ñồ lớp Biểu ñồ ñối tượng 34 67 Mô hình khái niệm Xác ñịnh các “khái niệm” quan trọng trong hệ thống Mô hình khái niệm (conceptual model) mô tả các khái niệm trong các quan hệ của chúng UML không cung cấp mô hình khái niệm, tuy nhiên cung cấp kí hiệu và cú pháp ñể biểu diễn mô hình ñó chính là biểu ñồ lớp Ở giai ñoạn này, mô hình khái niệm còn ñược gọi biểu ñồ lớp phân tích (analysis class diagram) – lưu ý, khác với biểu ñồ lớp thiết kế (design class diagram) Ngoài ra, mô hình khái niệm cũng còn ñược gọi là mô hình lĩnh vực (domain model) 68 Mô hình khái niệm Mô hình khái niệm gồm: Các khái niệm của lĩnh vực nghiên cứu Các thuộc tính và các thao tác của các khái niệm này Các quan hệ của các khái niệm này Một khái niệm là biểu diễn ở mức cao (trừu tượng) về một sự vật Một khái niệm là một phần tử của lĩnh vực nghiên cứu, chứ không phải một phần tử của phần mềm hay hệ thống 35 69 Mô hình khái niệm Trong mô hình khái niệm, chúng ta sẽ nắm bắt các khái niệm nhận biết bởi khách hàng Ví dụ các khái niệm ñúng: khái niệm gắn liền với vấn ñề Thang máy trong hệ thống ñiều khiển thang máy Vé máy bay trong hệ thống ñặt vé máy may ðặt hàng trong hệ thống mua bán hàng qua mạng Ví dụ tồi về khái niệm: khái niệm gắn liền với giải pháp DanhSachKhachHang – bảng các khách hàng EventTrigger – tiến trình thực hiện duyệt hệ thống 10 phút một lần 70 Mô hình khái niệm Làm sao biết ñược một khái niệm là ñúng hay không? Nguyên tắc: “Nếu khách hàng không hiểu khái niệm, rất có thể ñó không phải là khái niệm” Mô hình khái niệm sẽ ñược chuyển dần sang biểu ñồ lớp thiết kế trong giai ñoạn xây dựng 36 71 Xác ñịnh các khái niệm ðể xác ñịnh các khái niệm, dựa vào ñặc tả yêu cầu, mà cụ thể hơn là dựa vào các ca sử dụng Ví dụ: ca sử dụng “mua hàng” Các khái niệm có thể: KháchHàng, NgườiBánHàng, TínhTiền, MuaHàng, MặtHàng, 72 Xác ñịnh các khái niệm Một số ứng cử viên của khái niệm từ ñặc tả hoặc ca sử dụng: Các ñối tượng vật lý (xe ôtô) Các vị trí, ñịa ñiểm (nhà ga) Các giao tác (thanh toán) Các vai trò của con người (người bán) Các hệ thống khác ở bên ngoài (cơ sở dữ liệu từ xa) Danh từ trừu tượng (sự khát, ăn uống) Các tổ chức (ñại học) Các sự kiện (cấp cứu) Nguyên tắc/chính sách 37 73 Xác ñịnh các khái niệm Cách khác ñể xác ñịnh các khái niệm Các danh từ và cụm danh từ trong ñặc tả yêu cầu hoặc ñặc tả ca sử dụng có thể là các khái niệm Dựa vào hiểu biết và kinh nghiệm loại bỏ các danh từ và cụm danh từ không là các khái niệm Ví dụ: dựa vào kịch bản ca sử dụng “mua hàng” Gạch chân các danh từ và cụm danh từ 74 Xác ñịnh các khái niệm Ví dụ Hành ñộng của tác nhân Hành ñộng của hệ thống 1. Một khách hàng ñưa hàng ñã chọn mua ñến quầy tính tiền. 2. Người bán hàng ghi nhận từng mặt hàng. Nếu một mặt hàng có số lượng nhiều hơn một thì người bán hàng có thể nhập vào một số. 3. Xác ñịnh mặt hàng, hiển thị các thông tin và giá mặt hàng. Số này ñược hiển thị. 38 75 Xác ñịnh các khái niệm Ví dụ 4. Sau khi ñã ghi nhận tất cả các mặt hàng, người bán hàng báo hiệu kết thúc việc ghi nhận hàng. 6. Người bán hàng thông báo tổng số tiền phải trả cho khách hàng. 7. Khách hàng trả tiền cho người bán hàng. 5. Tính và hiển thị tổng số tiền. Hành ñộng của tác nhân Hành ñộng của hệ thống 76 Xác ñịnh các khái niệm Ví dụ 8. Người bán hàng nhập số tiền khách hàng trả. 10. Người bán hàng xác nhận sự trả tiền, lấy tiền dư trả cho khách hàng và ñưa cho khách hàng phiếu bán hàng. 12. Khách hàng rời quầy thu tiền với túi hàng 9. Hiển thị tiền dư và in phiếu bán hàng 11. Ghi nhận phiên bán hàng. Hành ñộng của tác nhân Hành ñộng của hệ thống 39 77 Xác ñịnh các khái niệm Phân biệt giữa khái niệm (concept) và thuộc tính (attribut) Nếu một phần tử của lĩnh vực nghiên cứu không là một con số hoặc một chuỗi kí tự thì có thể ñó là một khái niệm Ví dụ: Cần xây dựng phần mềm quản lý các chuyến bay. ðích của một chuyến bay là thuộc tính của một chuyến bay hay là một khái niệm khác ? Trả lời: ñích một chuyến bay là một sân bay, không phải là một con số hay văn bản, ñó là một khái niệm 78 Xác ñịnh các khái niệm Lớp “MôTả” Lớp MôTả là lớp chứa thông tin mô tả các ñối tượng khác • Ví dụ: Lớp MặtHàng chứa các thông tin về Mặt Hàng MặtHàng mãMH tênMH: text giá sốXêri màuSắc Phương án 1 (chưa tốt) 40 79 Xác ñịnh các khái niệm Lớp “MôTả” MặtHàng sốXêri màuSắc Phương án 2 (tốt hơn) MôTảMặtHàng mãMH tênMH: text giá * 1ðược mô tả 80 Xác ñịnh các khái niệm Lớp “MôTả” Khi nào sử dụng lớp “MôTả” • Khi cần giảm bớt sự dư thừa, trùng lặp thông tin • Khi cần mô tả về ñối tượng ñộc lập với các ñối tượng cụ thể • Khi cần cần duy trì thông tin về ñối tượng cho dù các ñối tượng cụ thể bị xóa 41 81 Xác ñịnh các khái niệm Lớp “MôTả” Ví dụ: trong lĩnh vực hàng không, cần mô tả quan hệ giữa các chuyến bay và các sân bay ChuyếnBay ngày giờ sốHiệu SânBay tên* 1Bay ñến Phương án 1 82 Xác ñịnh các khái niệm Lớp “MôTả” MôTảChuyếnBay sốHiệu SânBay tên* 1Bay ñến Phương án 2ChuyếnBay ngày giờ * 1 42 83 Biểu diễn khái niệm Sử dụng kí hiệu của biểu ñồ lớp MôtảMặtHàng Khái niệm Các thuộc tính Các thao tác (chưa xét ñến ở giai ñoạn này) 84 Thuộc tính Các thuộc tính (attribut) của một khái niệm biểu diễn dữ liệu cần thiết cho các thể hiện (instance) của khái niệm Ví dụ MôtảMặtHàng Khái niệm Các thuộc tính mã tên: text Kiểu (không bắt buộc) 43 85 Thuộc tính Một thuộc tính chỉ ñại diện cho các dữ liệu liên quan ñến khái niệm sở hữu thuộc tính ñó Ví dụ NgườiBánHàng tên sốQuầy NgườiBánHàng tên Quầy số Sai ðúng 86 Thuộc tính Cách xác ñịnh các thuộc tính Các con số và chuỗi kí tự là các thuộc tính Nếu một tính chất của một khái niệm không thể làm ñược ñiều gì thì rất có thể ñó là thuộc tính Nếu nghi ngờ một thuộc tính là khái niệm, thì ñơn giản hãy coi ñó là khái niệm • Ví dụ: lương là thuộc tính hay khái niệm so với khái niệm công nhân ? • Nếu nghi ngờ ñó là khái niệm thì coi như lương và công nhân là hai khái niệm tách rời 44 87 Thao tác Khái niệm có thể có các thao tác (operation) Thao tác của khái niệm chính là khả năng thực hiện của một thể hiện của khái niệm Ví dụ MặtHàngBán Khái niệm Các thuộc tính ngàygiờBắtðầu: Time tổngTiền(): Integer Thao tác 88 Thao tác Ở giai ñoạn elaboration, mô hình khái niệm có thể không nhất thiết phải mô tả các thao tác của khái niệm Giai ñoạn construction sẽ thực hiện công việc này một cách chi tiết và ñầy ñủ 45 89 Kết hợp Kết hợp (association) biểu diễn quan hệ giữa các thể hiện của các khái niệm Ví dụ: kết hợp chứa giữa khái niệm cửa hàng và khái niệm mặt hàng Kí hiệu CửaHàng MặtHàngChứa > Kết hợp 90 Kết hợp Có thể tồn tại kết hợp của nhiều hơn hai khái niệm Ví dụ Person Company function Profession work employ 46 91 Kết hợp Bội số (multiplicity) của vai trò chỉ ra số thể hiện có thể của quan hệ tham gia vào quan hệ Các bội số có thể 1: chỉ ñúng một 1..*: từ một ñến nhiều *: từ 0 ñến nhiều m..n: từ m ñến n Ví dụ MặtHàngCửaHàng 1 *Chứa > 92 Hạn chế kết hợp (qualificator) Giảm số thể hiện tham gia vào một kết hợp Kí hiệu Mỗi thể hiện A với giá trị key xác ñịnh một tập con các thể hiện B tham gia vào kết hợp BA key qualificator 47 93 Hạn chế kết hợp (qualificator) Ví dụ Phân biệt các sinh viên học tại một ñại học dựa vào mã số sinh viên Phân biệt các mặt hàng thuộc vào một danh mục mặt hàng dựa vào mã số mặt hàng SinhViênðạiHọc No sinh viên MặtHàngDanhMụcMặtHàng ID 94 Chuyên biệt hóa Một khái niệm có thể về cơ bản giống với một khái niệm khác, chỉ có một vài sự khác nhau trên một số tính chất (thuộc tính, thao tác, các kết hợp) Khái niệm thứ nhất ñược gọi là chuyên biệt hóa (specialization) của khái niệm thứ hai Khái niệm thứ nhất ñược gọi là khái niệm chuyên biệt hóa (specialized concept), khái niệm thứ hai ñược gọi là khái niệm chung (general concept) 48 95 Chuyên biệt hóa Kí hiệu general concept specialized concept specialized concept 96 Thừa kế Khái niệm chuyên biệt hóa thừa kế (inheritance) tất cả các tính chất của của khái niệm chung. Các tính chất này bao gồm: Các thuộc tính Các thao tác Các kết hợp với khái niệm khác 49 97 Thừa kế Ví dụ Các khái niệm “ThanhToánBằngTiềnMặt” và “ThanhToánBằngThẻ” ñều có thuộc tính “tổng” và kết hợp “thanh toán” với khái niệm “PhiênBánHàng” ThanhToán tổng: Integer ThanhToánBằngTiềnMặt ThanhToánBằngThẻ PhiênBánHàng1 1thanh toán > 98 Khái niệm trừu tượng Tương tự như lớp, khái niệm trừu tượng không có các thể hiện Lưu ý, trong tài liệu viết tay có thể viết {abstract} dưới tên khái niệm trừu tượng ThanhToán tổng: Integer ThanhToánBằngTiềnMặt ThanhToánBằngThẻ PhiênBánHàng1 1thanh toán > Khái niệm trừu tượng ñược viết in nghiêng 50 99 Quan hệ hợp thành và quan hệ kết tập Quan hệ hợp thành (composition) và quan hệ kết tập (agregation) là hai kết hợp ñặc biệt chỉ sự sở hửu Quan hệ hợp thành: một khái niệm thành phần chỉ thuộc vào một khái niệm toàn phần Quan hệ kết tập: một khái niệm thành phần có thể thuộc vào nhiều khái niệm toàn phần ToànPhần MộtPhần ToànPhần MộtPhần 100 Quan hệ hợp thành và quan hệ kết tập Ví dụ Một thể hiện của “Point” không thể ñồng thời thuộc vào một thể hiện của “Triangle” và một thể hiện của “Circle” Point Triangle Style color isFilled Circle radius 13 11 51 101 Quan hệ hợp thành và quan hệ kết tập Quan hệ hợp thành nhấn mạnh sự sở hữu: nếu khái niệm toàn phần bị hủy bỏ thì khái niệm thành phần cũng bị hủy bỏ theo Trong trường hợp, thứ tự của các khái niệm thành phần là quan trọng, thì thêm vào kết hợp ñiều kiện {ordered} Ví dụ Polygon Point3..* {ordered} 102 Khái niệm kết hợp Có thể mô tả các tính chất của một kết hợp giữa hai khái niệm bởi một khái niệm kết hợp (association concept) Ví dụ employ Person work Company1..* * Employment begin, end: Date Khái niệm kết hợp 52 103 Bài tập 1 Xây dựng mô hình khái niệm của hệ thống/phần mềm bán hàng tại siêu thị Phần mềm bán hàng sử dụng tại siêu thị nhằm giúp ghi nhận hoạt ñộng bán hàng, xử lý các thanh toán với khách hàng. Phần mềm ñược sử dụng bởi người bán hàng và ñược quản lý bởi người quản lý siêu thị. Phần mềm nhằm tự ñộng hóa công việc của người bán hàng tại quầy thu tiền. 104 Bài tập 1 ThanhToan PhienBanHang KháchHàng NgườiBán DongHang DanhMucMatHangCuaHang NguoiQuanLy 1 1 1 1 1 1 1 1..* *1..* 1 1 1 1 NhânViên MatHang * 1 QuayTinhTien 1 * HeThongBanHang 11..*1 1..* 1 * MoTaMatHang* 1 1 * 53 105 Bài tập 2 Quản lý ñào tạo ở trung tâm tin học: Một công ty muốn mô tả bằng UML việc ñào tạo nhân viên ñể tin học hóa một số công việc. Việc ñào tạo ñược bắt ñầu khi người quản lý ñào tạo nhận ñược yêu cầu ñào tạo của một nhân viên. Nhân viên này có thể xem danh mục các chuyên ñề ñào tạo của các ñơn vị ñào tạo ký kết với công ty. Yêu cầu của nhân viên ñược xem xét bởi người quản lý ñào tạo và người quản lý sẽ trả lời là chấp nhận hay từ chối ñề nghị ñó. Trong trường hợp chấp nhận, người quản lý sẽ xác ñịnh chuyên ñề phù hợp trong danh mục các chuyên ñề, sau ñó gửi cho nhân viên nội dung của chuyên ñề và danh sách các khóa ñào tạo. Nhân viên sẽ chọn khóa ñào tạo và người quản lý sẽ ñăng ký khóa học với ñơn vị ñào tạo cho nhân viên. Trong trường hợp muốn hủy bỏ ñăng ký khóa ñào tạo, nhân viên phải thông báo sớm cho người quản lý biết ñể người quản lý thực hiện hủy bỏ. Cuối khóa ñào tạo, nhân viên chuyển phiếu ñánh giá kết quả học về cho công ty. Người quản lý sẽ kiểm tra hóa ñơn thanh toán tiền của ñơn vị ñào tạo. Xây dựng biểu mô hình khái niệm. 106 Biểu ñồ lớp Biểu ñồ lớp ñịnh nghĩa: Các lớp (class) • Các thuộc tính (attribut) của lớp: các biến và kiểu của chúng • Các thao tác (operation) của lớp: các phương thức (method), các tham ñối và có thể giá trị trả về Các quan hệ giữa các lớp 54 107 Biểu ñồ lớp Biểu ñồ lớp có cùng quy tắc cú pháp với mô hình khái niệm Thực ra, mô hình khái niệm sử dụng các cú pháp của biểu ñồ lớp trong UML Tất cả các kí hiệu và quy tắc (ñã trình bày) ñối với mô hình khái niệm ñều ñược sử dụng ñể xây dựng biểu ñồ lớp Biểu ñồ lớp ñược xây dựng dựa trên mô hình khái niệm Các lớp có thể chủ yếu là các khái niệm hoặc các thành phần khác Biểu ñồ lớp sẽ là nền tảng cho bước mã hóa 108 Biểu ñồ lớp ðối với biểu ñồ lớp, mỗi thuộc tính hay mỗi phương thức có thể có thêm mức khả kiến – khả năng nhìn thấy (visibility) Kí hiệu “–” mức riêng (priviate), thuộc tính hay phương thức chỉ ñược nhìn thấy bởi ñối tượng của lớp ñó “#” mức bảo vệ (protected), thuộc tính hay phương
File đính kèm:
- Bai_giang_phan_tich_thiet_ke_huong_doi_tuong_20150727_122011.pdf