1. Trang chủ
  2. » Giáo Dục - Đào Tạo

TIỂU LUẬN môn (3)

224 3 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 224
Dung lượng 3,4 MB

Nội dung

2 Chương GIỚI THIỆU CÁC CASE STUDY 1.1 Giới thiệu Trong sách có sử dụng hai case study: CarMatch để minh hoạ làm ví dụ thực hành VolBank dành cho ví dụ thực hành tập tự làm 1.2 CarMatch 1.2.1 Tổng quan CarMatch CarMatch công ty hội viên (franchise company) thành lập với chức khuyến khích người dùng chung xe Ở nhiều thành phố, giao thông ùn tắc đe doạ đến chất lượng sống gây ô nhiễm môi trường đáng kể, bao gồm việc thải khí CO vào bầu khí Nhiều quốc gia đồng ý thực hiệp ước quốc tế giảm bớt lượng khí thải Carbon nhằm ngăn chặn tình trạng trái đất nóng dần lên, CarMatch giải pháp cho tình trạng Ở số khu vực, phương tiện giao thông công cộng không sử dụng nhiều số lượng xe riêng ngày tăng, sở hạ tầng hệ thống giao thông công cộng không đáp ứng nhu cầu lại người không sử dụng xe riêng Việc lên kế hoạch chia sẻ xe để dùng chung giải pháp tạm thời giúp giảm bớt lượng lưu thông mà không cần phải đầu tư sở hạ tầng cho phương tiện giao thông công cộng CarMatch tìm kiếm giải pháp khuyến khích việc dùng chung xe đưa dịch vụ chia sẻ xe cho người sống làm việc gần Trong nhiều người làm việc chung dùng chung phương tiện, người làm việc gần lại khó tìm người thích hợp để chung xe Trong vài công ty lớn, làm việc nơi người ta Cấu trúc CarMatch gồm ba lớp: lớp hoạt động toàn cầu mang tính phi lợi nhuận, công ty điều hành trung tâm quốc gia lớp hoạt động địa phương hội viên CarMatch trung tâm cung cấp dịch vụ cho quyền tổ chức có nghóa vụ pháp lý làm giảm lượng Chương 1: GIỚI THIỆU CÁC CASE STUDY lưu thông nước bang Nó quảng cáo dịch vụ đến với công chúng Những người tham gia phải trả khoảng lệ phí, gọi phí thành viên , số tiền hoàn lại CarMatch địa phương tìm người có nhu cầu chung với họ cung cấp phương tiện cho họ CarMatch địa phương thảo thoả thuận mẫu người tham gia để đảm bảo số tiền trao tay cho chi phí xăng coi thu nhập chịu thuế khuyên họ mua bảo hiểm đặc trưng cho việc dùng chung xe CarMatch địa phương đóng vai trò đại lý cho công ty bán hợp đồng bảo hiểm Nhân viên CarMatch địa phương học khoá huấn luyện toàn diện công tác tư vấn (vì họ phải giúp đỡ công ty quyền địa phương, tình trạng pháp lý quốc gia hay bang họï), yêu cầu bảo hiểm, cân nhắc an toàn cách điều hành hệ thống CarMatch Ở số quốc gia, ngành bảo hiểm yêu cầu nhân viên CarMatch phải đáp ứng qui định ngành CarMatch dự định thu lợi nhuận từ phí thành viên, phí tư vấn hoa hồng bán bảo hiểm CarMatch trung tâm lấy phần lợi nhuận, CarMatch địa phương giữ phần lại Khi hệ thống tính giá giao thông (road-price) dựa việc liên lạc sóng vô tuyến xe cộ hệ thống tiếp sóng ngày trở nên phổ biến, CarMatch địa phương bán cài đặt thiết bị, làm việc với quan chức thu phí cầu đường hệ thống tính giá giao thông để thương lượng chiết khấu cho thành viên sở cam kết giảm nhu cầu lưu thông 1.2.2 Hỗ trợ khách hàng CarMatch cần có hệ thống máy tính cho CarMatch địa phương, để có dịch vụ có hỗ trợ máy tính từ đầu Mỗi quốc gia phải có web-server Các web-server cung cấp cho CarMatch địa phương thông tin cập nhật thường xuyên dịch vụ môi giới bảo hiểm, cho phép thành viên đăng ký trực tuyến Thông tin thành viên sẽ tải xuống hệ thống CarMatch địa phương khu vực tương ứng Khi CarMatch địa phương thích hợp, CarMatch trung tâm cố gắng đáp ứng nhu cầu cho thành viên 1.2.3 Các yêu cầu CarMatch Các yêu cầu sau yêu cầu hệ thống mà CarMatch địa phương sử dụng (hệ thống trung tâm chủ đề trình phát triển độc lập khác) GIÁO TRÌNH NHẬP MÔN UML Phát triển hệ thống lưu trữ thông tin thành viên CarMatch 1.1 Lưu chi tiết khách hàng tiềm năng, dù họ cung cấp phương tiện tìm phương tiện để chung hai, lưu vị trí địa lý nhà họ địa nơi họ làm việc 1.2 Chuyển thông tin chi tiết khách hàng từ web-server họ đăng ký trực tuyến 1.3 Cung cấp giao diện cho hệ thống giao dịch thẻ tín dụng hệ thống chuyển ngân tự động ABTS (Automated Bank Transfer Sysytem) để xử lý việc trả hoàn phí thành viên Ghép thành viên với thành viên khác để dùng chung xe 2.1 Dựa vào vị trí địa lý thời gian lại để xếp người dùng chung xe 2.2 Lưu chi tiết xếp thành công Ghi lại việc bán bảo hiểm 3.1 Lưu chi tiết hợp đồng bán cho thành viên, xử lý gia hạn 3.2 Ghi nhận hoa hồng thu từ hợp đồng Lưu chi tiết thông tin khách hàng phạm vi hoạt động 4.1 Bảo trì danh sách địa mail khách hàng tiềm 4.2 Lưu chi tiết thông tin khách hàng cần tư vấn 4.3 Lưu lại hẹn gặp nhân viên (và tiếp xúc khác) khách hàng cần tư vấn Hệ thống phải có khả mở rộng để hợp thông tin phí cầu đường, hệ thống tính phí giao thông thiết bị bán cài đặt cho thành viên 1.3 VolBank 1.3.1 Tổng quan VolBank VolBank tổ chức phi lợi nhuận nhằm liên kết tình nguyện viên với cá nhân hay tổ chức cần giúp đỡ Mục tiêu nhằm tăng trách nhiệm công dân cộng đồng thông qua hoạt động tình nguyện địa phương Để thực việc cần phải lưu danh sách thông tin hoạt động tình nguyện có danh sách thông tin tình nguyện viên, để phân công hợp lý Phương châm VolBank làm cách để đưa người có kỹ đến với nhu cầu công việc phù hợp Vì tình nguyện viên cần phải đăng ký kỹ có, người nhận giúp đỡ nêu lên yêu cầu kỹ cần giúp đỡ Chẳng hạn như, Pete Duffield tình nguyện giúp việc quét sơn Chương 1: GIỚI THIỆU CÁC CASE STUDY trang trí Anh ta gửi đến tới khu vực địa phương sau trường học dành cho trẻ mười tuổi cần sơn lại Những đứa trẻ dành thời gian vui đùa nhà dưỡng lão địa phương Một người đó, bà Hernandez, dành thời gian cho muốn luyện tập đàm thoại tiếng Tây Ban Nha Pete Duffield tiếp xúc với bà ta để ôn lại tiếng Tây Ban Nha trước kỳ nghỉ Mexico Tên VolBank mang ý nghóa người ta gởi thời gian mà họ rỗi cho người khác, kỹ mà họ có để giúp đỡ người khác Các thông tin VolBank cung cấp rộng rãi phương tiện đài phát thanh, đài truyền hình, quảng cáo Internet VolBank đồng thời kết hợp với tổ chức tình nguyện địa phương để mở rộng hệ thống mạng lưới công tác tình nguyện tình nguyện viên Các tình nguyện viên đăng ký kỹ với VolBank cách gọi điện thoại đến người tổ chức đó, trực tiếp thông qua tổ chức tình nguyện địa phương điền thông tin chi tiết vào trang web Khi đăng ký họ gởi thời gian theo cách đăng ký Nếu người tình nguyện đăng ký qua tổ chức tình nguyện địa phương thông tin đưa tới người tổ chức để lưu lại tương tự trường hợp liên hệ trực tiếp điện thoại Các tổ chức tình nguyện cá nhân (bao gồm tình nguyện viên) đăng ký nhu cầu cần giúp đỡ cách liên hệ với người thuộc tổ chức tình nguyện Người cố xếp tình nguyện viên phù hợp với nhu cầu Thường xảy hai trường hợp: tình nguyện viên đáp ứng nhiều nhu cầu, nhu cầu có nhiều tình nguyện viên phù hợp Việc xếp thực dựa thông tin vị trí địa lý, sử dụng mã số vùng điện thoại mã bưu điện cách đối sánh kỹ Khi tình nguyện viên giao việc, họ thông báo chi tiết cần, thông tin họ chuyển đến tổ chức tình nguyện hay cá nhân yêu cầu giúp đỡ Có điều rõ ràng tình nguyện viên không tự nhiên chấp nhận Với số công việc, chẳng hạn làm việc với trẻ em, có thủ tục kiểm tra kỹ chí có tham gia cảnh sát tổ chức xã hội Đó trách nhiệm tổ chức đề nghị giúp đỡ 1.3.2 Hỗ trợ khách hàng VolBank cần hệ thống máy tính hỗ trợ việc liên kết tình nguyện viên với nhu cầu Hệ thống kết nối web-server VolBank GIÁO TRÌNH NHẬP MÔN UML Các tổ chức thành viên thông báo liên kết nhu cầu tình nguyện viên hoàn tất Việc thông báo thực email fax Tình nguyện viên thông báo thư 1.3.3 Chương CƠ BẢN VỀ UML Các yêu cầu VolBank Các yêu cầu dành cho hệ thống quản lý việc đăng ký, thực việc liên kết thông báo cho người tham gia Web-server hệ thống độc lập Phát triển hệ thống quản lý việc đăng ký thành viên quỹ thời gian họ 1.1 Ghi nhận thông tin chi tiết tình nguyện viên, kể kỹ địa người 1.2 Ghi nhận thông tin quỹ thời gian mà tình nguyện viên đăng ký 1.3 Chuyển từ web-server thông tin chi tiết tình nguyện viên thời gian đăng ký họ Quản lý ghi nhu cầu cần tình nguyện giúp đỡ 2.1 Lưu chi tiết thành viên tổ chức tình nguyện 2.2 Lưu nhu cầu cần giúp đỡ tổ chức tình nguyện 2.3 Lưu nhu cầu cần giúp đỡ cá nhân Kết hợp tình nguyên viên với nhu cầu ghi nhận lại kết 3.1 Kết hợp tình nguyện viên với hoạt động tình nguyện thích hợp 3.2 Kết hợp hoạt động tình nguyện với tình nguyện viên thích hợp khu vực 3.3 Lưu kết hợp tình nguyện viên hoạt động tình nguyện 3.4 Thông báo cho tình nguyện viên biết kết hợp 3.5 Thông báo cho tổ chức tình nguyện biết kết hợp 3.6 Ghi nhận thành công kết hợp lập cam kết cho kết hợp đạt Lập báo cáo thống kê số lượng tình nguyện viên nhu cầu, tổng quỹ thời gian mà tình nguyện viên bỏ tổng thời gian cần giúp đỡ 2.1 Giới thiệu Ngôn ngữ mô hình hợp UML (Unified Modeling Language) ngôn ngữ trực quan cung cấp cho nhà phân tích thiết kế hệ thống hướng đối tượng cách hình dung hệ thống phần mềm, mô hình hoá tổ chức nghiệp vụ sử dụng hệ thống phần mềm này; xây dựng chúng làm tài liệu chúng Công ty phần mềm Rational OMG (Object Management Group) đưa ba biểu đồ ký hiệu hướng đối tượng có ý nghóa, kết hợp với khía cạnh nhiều ký hiệu khác, tạo ngôn ngữ mô hình chuẩn nhằm biểu diễn cách thực hành tốt ngành công nghiệp phát triển phần mềm UML tiến triển chuẩn, trở thành chuẩn quốc tế tổ chức tiêu chuẩn quốc tế ISO (International Standard Organization) chấp nhận Chương giải thích lịch sử UML, mô tả trạng hướng phát triển tương lai Ngoài ra, chương giải thích cấu trúc UML cách làm tài liệu UML 2.2 Nguồn gốc UML Kỹ thuật phát triển phần mềm hướng đối tượng trải qua giai đoạn: Các ngôn ngữ lập trình hướng đối tượng phát triển bắt đầu sử dụng Các kỹ thuật phân tích thiết kế hướng đối tượng tạo nhằm giúp đỡ công việc mô hình hoá nghiệp vụ, phân tích yêu cầu thiết kế hệ thống phần mềm Những kỹ thuật ngày phát triển rộng rãi UML thiết kế nhằm kết hợp đặc điểm tốt số kỹ thuật ký hiệu phân tích thiết kế để tạo tiêu chuẩn công nghiệp 2.2.1 Các ngôn ngữ lập trình Simula-67 xem ngôn ngữ hướng đối tượng Simula 1, phát triển vào năm đầu thập niên 1960, GIÁO TRÌNH NHẬP MÔN UML ngôn ngữ dùng để mô biến cố rời rạc Một hệ thống mô sử dụng để phân tích tiên đoán hành vi hệ thống vật lý, chẳng hạn hệ thống giao thông, phản ứng hoá học hay dây chuyền lắp ráp Việc mô biến cố rời rạc mô hệ thống thực dạng trạng thái rời rạc nhằm đáp ứng biến cố xảy vào thời điểm cụ thể Đây khác biệt mô rời rạc mô liên tục (trạng thái tiến triển liên tục) Mô hình hoá giao lộ mô biến cố rời rạc: phương tiện giao thông đến đèn giao thông đổi trạng thái vào thời điểm xác định Một phản ứng hoá học thường mô mô liên tục: hoá chất phản ứng với liên tục tốc độ phản ứng phụ thuộc vào thay đổi yếu tố nhiệt độ áp suất Simula-67 Kristen Nygaard Ole-Johan Dahl thuộc đại học Oslo trung tâm máy tính Morwegian phát triển vào năm 1967 Nó xây dựng dựa Simula ngôn ngữ lập trình phổ thông Năm 1986, ngôn ngữ biết đến ngôn ngữ Simula gọi ngày Simula giới thiệu nhiều đặc tính ngôn ngữ lập trình hướng đối tượng, chẳng hạn lớp (class) thừa kế (inheritance) Ngôn ngữ lập trình hướng đối tượng tường minh Smalltalk, phát triển Alan Kay trường đại học Utah sau Adele Goldberg Daniel Ingalls Serox PARC (trung tâm nghiên cứu Palo Alto) vào năm 1970 Bản phát hành Smalltalk80 dùng phổ biến rộng rãi vào thập niên 1980 Smalltalk giới thiệu ý tưởng cách giao tiếp đối tượng qua cách truyền thông điệp thuộc tính đóng gói bên đối tượng Các thuộc tính truy cập từ đối tượng khác cách truyền thông điệp Sau Smalltalk, nhiều ngôn ngữ lập trình hướng đối tượng đời như: Objective C, C++, Eiffel CLOS (Common Lisp Object System) Kể từ phiên năm 1996, Java tạo quan tâm lớn phát triển hướng đối tượng Gần Microsoft đưa ngôn ngữ C# ( C-sharp) xem kết hợp tốt Java C++ Giữa Simula C#, nhiều ngôn ngữ trình hướng đối tượng phát triển phát triển tiếp tục phát triển, nhưng, với phát triển Internet, Java làm cho việc phát triển hướng đối tượng trở nên phổ biến 2.2.2 Phân tích thiết kế Sau Smalltalk xuất vài năm, sách phân tích thiết kế hướng đối tượng bắt đầu xuất Một số sách gắn liền với ngôn ngữ cụ thể (chẳng hạn Objective C C++), số lại có mục đích tổng Chương 2: CƠ BẢN VỀ UML quát Trong số đó, phải kể công trình Shaler & Melllor (1988) Coud & Yourdon (1990 & 1991) Phát triển sau Booch (1991), nhóm Rumbaugh, Blaha, Premerlani, Eddy & Lorencesen (1991), không lâu sau Jacobson, Christerson Jonsson & Overgaard (1992) Còn nhiều sách khác sách tác giả nói biết sử dụng hầu khắp Các tác giả khác dùng ký hiệu khác để biểu diễn lớp, đối tượng mối quan hệ chúng Thường họ lại dùng thành phần ký hiệu giống để biểu diễn cho thứ khác Ví dụ, Coad Yourdon dùng hình tam giác để biểu diễn cho quan hệ kết hợp whole-part (xem phần phụ lục), Rumbaugh cộng lại dùng hình tam giác để biểu diễn thừa kế Họ cung cấp phương pháp phân tích thiết kế, bao gồm các giai đoạn tiến hành, công việc phải làm đặc tả cần thiết Chúng định nghóa rõ ràng, nhiều hay Đầu thập kỷ 1990 đặc trưng phát triển đa dạng ký hiệu phương pháp, số tác giả gọi “chiến tranh phương pháp” (Method War) Từ 1989 đến 1994, ngôn ngữ mô hình từ mức chưa tới 10 ngôn ngữ phát triển 50 ngôn ngữ Khoảng thập niên 1990, tình hình thay đổi Các phương pháp ba tác giả chính, Rumbaugh Booch Jacobson, bật hẳn lên Rumbaugh sửa đổi công trình kỹ thuật mô hình hướng đối tượng OMT (Object Modelling Technique) thành OMT-2 Booch phát hành ấn thứ hai có tên Booch’93, phương pháp Jacobson biết đến tựa đề Công Nghệ Phần Mềm Hướng Đối Tượng OOSE (Object-Oriented Software Engineering) hay Objectory, tên công ty Jacobson 2.2.3 Sự xuất UML Cả ba phương pháp ba người bắt đầu trở nên tương họ kết hợp đặc tính tốt phương pháp khác Vào năm 1994, Rumbaugh Booch kết hợp làm việc chung với công ty phần mềm Rational để thống hai phương pháp họ Tháng 10 năm 1995, họ đưa phác thảo phương pháp hợp (Unified Method) phiên 0.8 Vào mùa thu năm 1995, Jacobson với công ty gia nhập vào Rational, ba bắt đầu phát triển UML qui trình phát triển phần mềm hợp USDP (Unified Software Development Process), phần lớn dựa phương pháp Objectory Vào tháng tháng 10 năm 1996, phiên 0.9 0.91 phát hành nhận phản hồi từ tổ chức quan tâm đến việc phát GIÁO TRÌNH NHẬP MÔN UML triển ngôn ngữ mô hình hướng đối tượng chuẩn Vào thời điểm OMG đưa Yêu Cầu Hợp Nhất RFP (Request for Proposal) cho ngôn ngữ mô hình hướng đối tượng chuẩn Rational nhận thấy có nhu cầu liên đới tiến trình hợp với hình thành mối liên kết thành viên UML với tổ chức IBM, HP, Microsoft Oracle – tổ chức sẵn sàng cung cấp tài nguyên cho phát triển xa UML phản hồi đến OMG Tháng năm 1997 thành viên UML số tổ chức khác đệ trình đề nghị đến OMG Sau họ đưa UML phiên 1.1 Vào tháng 11 năm 1997, UML phiên 1.1 nằm danh sách kỹ thuật chấp nhận OMG, OMG chịu trách nhiệm tương lai UML OMG thành lập Nhóm Xét Duyệt RTF (Revision Task Force) Cris Kobryn MCI Systemhouse phụ trách, RTF chịu trách nhiệm cải tiến UML – xử lý lỗi lập trình, điều chỉnh sai sót, giải mâu thuẫn khái niệm nhập nhằng Tháng năm 199 8, RTF đưa phiên sửa đổi (phiên 1.2) tháng năm 1999, đưa phiên hoàn chỉnh (phiên 1.3) 2.3 UML ngày OMG thành lập RTF để phát triển UML Kế hoạch phát triển UML tương lai giải thích mục 2.5 Phiên 1.3 sưu liệu đặc tả UML (UML Specification – Object Management Group, 1999a) Nội dung bao gồm Chương Tóm tắt UML Chương Ngữ nghóa UML Chương Hướng dẫn ký hiệu UML Chương Sơ lược chuẩn UML Chương Định nghóa giao diện UML CORBA Chương Đặc tả UML XMI DTD Chương Đặc tả ngôn ngữ ràng buộc đối tượng Phụ lục A Các thành phần chuẩn UML Phụ lục B Chú thích thuật ngữ mô hình UML Bảng 2.1: Nội dung đặc tả UML Đặc tả UML tài liệu viết cho người dùng bình thường, viết cho đối tượng sau tham khảo: thành viên 10 Chương 2: CƠ BẢN VỀ UML OMG, tổ chức, công ty tạo công cụ CASE, tác giả sách người làm công tác đào tạo – nói chung người muốn tìm hiểu chi tiết UML Đặc biệt, chương chương viết cho người xây dựng cộng cụ CASE Kiến trúc môi giới yêu cầu đối tượng chung CORBA (Common Object Request Broker Architecture) dùng ngôn ngữ định nghóa giao diện IDL (Interface Definition Language) để xác định nội dung kho liệu phù hợp với việc khởi tạo, lưu trữ thao tác mô hình UML Công cụ đặc tả DTD (khai báo kiểu tài liệu – Document Type Declaration) XMI (bộ chuyển đổi siêu liệu XML – XML Metadata Interchange) dùng ngôn ngữ đánh dấu mở rộng XML (eXtensible Markup Language) cung cấp đặc tả cách thức mà liệu mô hình UML chuyển đổi ứng dụng Chương lập tài liệu cho hai phác thảo chuẩn UML (các cách áp dụng UML cho dự án phát triển khác nhau): cho qui trình phát triển phần mềm cho việc mô hình hoá nghiệp vụ 2.4 UML gì? UML ngôn ngữ trực quan dùng qui trình phát triển hệ thống phần mềm Nó ngôn ngữ đặc tả hình thức (formal specification language) Chúng ta cần ý đến thuật ngữ “ngôn ngữ” Ngôn ngữ ngôn ngữ giống với ngôn ngữ tự nhiên người hay ngôn ngữ lập trình Tuy nhiên có tập qui luật xác định cách sử dụng Các ngôn ngữ lập trình có tập phần tử tập qui luật cho phép tổ hợp phần tử lại với để tạo chương trình hợp lệ Các ngôn ngữ đặc tả hình thức giống UML có tập phần tử tập qui luật riêng Với UML, hầu hết phần tử đối tượng đồ hoạ đường thẳng, hình chữ nhật, hình oval, Chúng thường đặt nhãn để cung cấp thêm thông tin Tuy nhiên phần tử đồ hoạ UML biểu diễn phần cần mô hình dạng hình ảnh Ta tạo mô hình UML dạng liệu (giống CORBA XMI DTD làm) Tuy nhiên cách biểu diễn hình ảnh giúp mô hình dễ hiểu trực quan Các qui luật UML mô tả đặc tả UML Có loại qui luật: cú pháp trừu tượng, luật well-formedness (luật hình thức) ngữ nghóa Trong cú pháp trừu tượng biểu diễn biểu đồ ngôn ngữ tự nhiên, luật well-formedness nằm ngôn ngữ ràng buộc đối tượng OCL (Object Constraint Language) Luật biểu diễn biểu đồ GIÁO TRÌNH NHẬP MÔN UML 11 12 Chương 2: CƠ BẢN VỀ UML dùng tập ký hiệu UML để xác định cách kết hợp phần tử Đây đặc điểm quan trọng UML, không cần phải tìm hiểu chi tiết Đặc điểm gọi kiến trúc siêu mô hình tầng (Four-Layer Metamodel Architecture) UML 2.4.1 Kiến trúc siêu mô hình tầng Xét UML qua lớp Mỗi lớp trừu tượng lớp bên định nghóa thuật ngữ lớp nằm Lớp thấp chứa đối tượng người dùng Chúng thể đối tượng hệ thống (hợp đồng bảo hiểm số 2123434), 21.34 (số thực 21.34), set_premium (phí bảo hiểm) hay (dịch vụ bảo hiểm 213) Lớp kế chứa mô hình Chúng khái niệm mô hình dùng để định nghóa đối tượng người dùng lónh vực mô hình cụ thể InsurancePolicy (hợp đồng bảo hiểm), monthlyPremium (phí bảo hiểm hàng tháng), setPremium (đặt phí bảo hiểm) hay InsuranceQuoteServer (dịch vụ bảo hiểm) Hầu hết công việc phân tích thiết kế hệ thống phụ thuộc vào việc xác định phần tử mô hình Lớp thứ ba lớp siêu mô hình (metamodel) Metamodel dùng để định nghóa phần tử mô hình, mô hình mô tả mô hình Các phần tử metamodel thành phần UML lớp (class), thuộc tính (attribute), thao tác (operation), thành phần (component) Lớp meta-metamodel OMF (OMG Meta Object Facility), xác định ngôn ngữ định nghóa metamodel Các phần tử MetaClass, MetaAttribute MetaOperation Giống metamodel, áp dụng để đưa mô hình nhiều lónh vực khác (như điều khiển không lưu, ngân hàng, tình nguyện viên, thư viện, dùng chung xe hơi, rô bô, viễn thông …), meta-metamodel dùng để xác định nhiều metamodel khác định nghóa ngôn ngữ đặc tả trực quan khác Để hiểu cú pháp trừu tượng UML, ta phải nắm rõ tầng metamodel 2.4.2 BehavioralFeature isQuery : bolean Cú pháp trừu tượng Cú pháp trừu tượng UML xác định cách dùng ký hiệu metamodel Ký hiệu tập ký hiệu UML, dùng biểu đồ lớp (class diagram) để xác định phần tử mô hình UML mối quan hệ chúng Hình 2.1 biểu diễn phần biểu đồ biểu diễn cú pháp trừu tượng gói nòng cốt (UML core package) Operation concurrency : CallConcurrencyKind Method * isRoot : Boolean isLeaf : Boolean body : ProcedureExpression +specification isAbstract : Boolean specification : String Hình 2.1: Một phần cú pháp trừu tượng gói nòng cốt Biểu đồ cho thấy Operation (thao tác) Method (phương thức) metaclass lớp metaclass trừu tượng BehavioralFeature, Operation specification (đặc tả) Method Trong specification số thuộc tính Operation, body thuộc tính Method Thuộc tính specification xác định chữ ký (signature) thao tác (gồm giá trị trả về, tên tham số) thuộc tính body thủ tục xác định phương thức thực thao tác Một thể thao tác thể Operation Trong đặc tả UML, ngôn ngữ tự nhiên đặc tả phương thức, thuộc tính quan hệ kết hợp sau: Phương thức (method) Phương thức cài đặt thao tác Nó xác định giải thuật thủ tục ảnh hưởng đến kết thao tác Trong metamodel, phương thức mô tả hành vi đặt tên Classifier (như class, actor, use case, data type, component, – xem phụ lục) thực (trong trường hợp trực tiếp) tập (trong trường hợp gián tiếp) thao tác Classifier Thuộc tính body Cài đặt phương thức Quan hệ kết hợp Specification Chỉ rõ thao tác mà phương thức cài đặt Thao tác phải thuộc Classifier (hoặc hậu duệ) sở hữu phương thức Đặc tả metaclass khác metamodel làm tương tự GIÁO TRÌNH NHẬP MÔN UML 2.4.3 13 Luật well-formedness 14 2.4.5 Chương 2: CƠ BẢN VỀ UML Hướng dẫn ký hiệu Luật well-formedness áp dụng cho thể metaclass Chúng cung cấp luật mà thể metaclass phải tuân theo tập bất biến invariant Invariant ràng buộc không phá vỡ, chúng phải thoả để mô hình có ý nghóa Các invariant ghi rõ OCL Ví dụ, đặc tả cho trạng thái metaclass Class lớp cụ thể (không trừu tượng), thao tác nên có phương thức thực Ràng buộc viết OCL sau: Đây phần lớn đặc tả UML phần hữu ích cho có ý định áp dụng UML Trong cú pháp trừu tượng mô tả ký hiệu metamodel, luật well-formedness mô tả OCL, ký hiệu UML mô tả tiếng Anh với hỗ trợ biểu đồ Tuy nhiên, sử dụng tiếng Anh, ký hiệu mơ hồ vài chỗ, cần phải tham khảo thêm phần khác đặc tả not self.isAbstract implies self.allOperation → forAll(op | self.allMethods → exists (m | m.specification → includes(op))) Phần bao gồm mục nói thành phần chung ký hiệu UML Trong giải thích biểu đồ bao gồm ngữ nghóa ký hiệu, ánh xạ ký hiệu metamodel, ví dụ sử dụng, nguyên tắc đặc trưng tuỳ chọn biểu diễn Các tuỳ chọn biểu diễn cách biểu diễn dùng khía cạnh khác ký hiệu vốn phần ký hiệu, chẳng hạn việc sử dụng màu sắc để phân biệt loại thông điệp khác Các ràng buộc metamodel áp dụng để kiểm tra mô hình phải tuân theo luật UML Lưu ý OCL sử dụng UML để làm tài liệu cho ràng buộc Ví dụ, có luật hệ thống CarMatch phát biểu sau: lộ trình (journey) liên kết đến thoả thuận phải thuộc người chia sẻ xe khác , phát biểu làm tài liệu OCL sau: context SharingAgreement inv: self.IsSharedIn→ forAll(i, j | (i.makes = j.makes) implies i = j) Ví dụ 2.1 Một biểu đồ use case tạo từ hình oval (biểu diễn use case) hình người (biểu diễn user) Chúng liên kết với đường thẳng để rõ user dùng use case Trong biểu đồ sau, biểu đồ hợp lệ ? Nghóa là, ngữ cảnh lớp SharingAgreement (IsSharedIn liên kết thoả thuận với lộ trình, makes liên kết lộ trình với người chia sẻ xe), hai lộ trình i j liên kết với thành viên hai lộ trình Nói cách khác, hai lộ trình khác thuộc thành viên không chia sẻ thoả thuận 2.4.4 B Register Car Sharer CarMatch Administrator Ngữ nghóa Ngữ nghóa UML sưu liệu tiếng Anh Ví dụ sau mô tả metaclass Operation Operation cấu trúc khái niệm, Method cấu trúc cài đặt Các đặc trưng thông thường chúng mô tả BehavioralFeature, xác định ngữ nghóa Operation Cấu trúc Method định nghóa lớp tương ứng BehavioralFeature Tuy nhiên, hầu hết thông tin thao tác tìm thấy định nghóa Class, bạn cần đọc toàn để hiểu ngữ nghóa cách đầy đủ Trả lời: Chỉ có A hợp lệ B C không (B biểu diễn use case hình chữ nhật C biểu diễn user hình oval) Ví dụ 2.2 Sau hai qui luật metalanguage dùng để định nghóa UML Tên stereotype (khuôn dạng – xem phụ lục) nằm > bắt đầu chữ thường (ví dụ ) Ký tự GIÁO TRÌNH NHẬP MÔN UML 15 16 Chương 2: CƠ BẢN VỀ UML từ, danh từ tính từ, nối thêm vào viết hoa (ví dụ , ) Các stereotype sau tuân theo qui luật cú pháp ? Trả lời: không thoả bắt đầu ký tự hoa, không thoả chứa khoảng trắng Hai stereotype lại thoả hai qui luật 2.4.6 Quản lý mô hình (model management) 2.4.6.1 Package Hình 2.3: Các package Foundation UML UML tổ chức thành package (gói) Mỗi package chứa số biểu đồ tạo nên UML Các metaclass nhóm vào package tuỳ vào mức độ liên kết chúng Hình 2.2 vẽ package mức cao phụ thuộc chúng Behavioral Elements Activity Graphs Model Management Collaborations Use Cases State Machines Foundation Common Behavior Hình 2.2: Các package mức cao UML Package Model Management (gói quản lý mô hình) chứa metaclass để tổ chức mô hình thành package Các package dùng dự án để tổ chức biểu đồ khác thành nhóm chặt chẽ Những package thuận lợi mặt tổ chức không cần phải khớp với hệ thống hệ thống hoàn chỉnh Hai package lại Foundation (gói sở) Behaviour Element (gói phần tử hành vi) tách thành package hình 2.3 2.4 Hình 2.4: Các package Behaviour Element UML Hình 2.5 minh họa package chứa package khác, dùng cấu trúc với dấu cộng vòng tròn vẽ cuối đường thẳng gắn với đối tượng chứa Kiểu chứa biểu diễn cách đặt package bên package cha hình 2.6, trường hợp tên package cha hiển thị thẻ thay hiển thị thân GIÁO TRÌNH NHẬP MÔN UML 17 18 Chương 2: CƠ BẢN VỀ UML Hình 2.5: Ký hiệu dạng Hình 2.7: Các hệ thống CarMatch Biểu tượng hệ thống phóng lớn chia thành ba phần: Operations mô tả thao tác, Specification Elements mô tả phần tử đặc tả Realization Elements mô tả phần tử thực Số phần đủ hay thiếu hoàn toàn linh động Hình minh họa cách dùng Hình 2.6: Ký hiệu khác Quan hệ package stereotype Như nói, package cung cấp chế tổ chức phần tử mô hình, ta dùng package biểu diễn view (khung nhìn) khác dự án, bao gồm Use Case View (khung nhìn use case), Logical View (khung nhìn logic) Component View (khung nhìn thành phần) 2.4.6.2 Hệ thống (subsystem) Các hệ thống biểu diễn đơn vị hệ thống vật lý, chúng tổ chức package, hình 2.7 Chúng stereotype biểu tượng hình chạc Trong hình 2.7 ta quan sát thấy quan hệ phụ thuộc package Hình 2.8: Hệ thống với thành phần GIÁO TRÌNH NHẬP MÔN UML 2.4.6.3 19 Mô hình (model) Mô hình trừu tượng hệ thống vật lý với mục đích Các mô hình tiêu biểu sử dụng cho giai đoạn khác qui trình phát triển hệ thống Mô hình mức cao hệ thống stereotype chứa mô hình khác, hình 2.9 Có thể thêm vào mô hình hình tam giác nhỏ (làm biểu tượng) để phân biệt với package hệ thống Cũng dùng stereotype 20 Chương 2: CƠ BẢN VỀ UML phát triển hệ thống, chưa ngã ngũ, họ có quan điểm cách biểu diễn mô hình hệ thống ký hiệu trực quan Một kết hợp chặt chẽ với UML USDP (Unified Software Development Process) Trong chương sau, giải thích nơi kỹ thuật mô hình hóa phù hợp với chu trình sống USDP 2.5 Tương lai UML RTF, thuộc tổ chức OMG, chịu trách nhiệm phát triển UML Kế hoạch phát triển trình bày báo Communications of the ACM tác giả Cirs Kobryn, chủ tịch RTF Ngoài thông tin phát triển tương lai UML đăng web site RTF Phiên tại, năm 2003, 2.0 RT F làm việc với phiên 1.4, sửa chữa 1.3, dựa thông tin phản hồi từ người dùng Người dùng đưa ý kiến họ lên web site RT F, RTF tham khảo thông tin Hình 2.9: Mô hình hệ thống chứa mô hình khác 2.4.7 Cái UML Đến biết UML ngôn ngữ trực quan khảo sát cấu trúc Bây tiến hành khảo sát quan điểm không UML UML ngôn ngữ lập trình, nghóa bạn dùng UML để viết chương trình Một số công cụ CASE dùng mô hình UML để phát sinh mã nguồn dạng số ngôn ngữ, Thường người phát triển phải viết mã để cài đặt phương thức UML công cụ CASE Có nhiều CASE cài đặt chuẩn UML đến qui mô rộng hẹp Một phần đặc tả UML viết cho nhà phát triển CASE để cài đặt chuẩn để hoán đổi mô hình ứng dụng sử dụng XMI DTD UML phương pháp, phương pháp luận hay qui trình phát triển phần mềm Ký hiệu UML áp dụng dự án nhằm sử dụng hướng tiếp cận khác cho qui trình phát triển phần mềm nhằm tách chu kỳ phát triển hệ thống thành hoạt động, tác vụ, giai đoạn bước khác Một điều xảy là, từ phát hành chuẩn UML, có số phương pháp phân tích thiết kế chuẩn hoá ký hiệu chúng cách dùng UML Quan điểm tác giả qui trình đúng, để áp dụng Những yêu cầu cho phiên 2.0 đưa vào tháng năm 2000,và dự định tung vào 2001 Đây sửa đổi quan trọng bao gồm thay đổi quan trọng cho đặc tả Những phần đáng quan tâm phiên 2.0 • Kiến trúc – Thêm đặc tả nghiêm ngặt cho metamodel, tách biệt rõ ràng chất UML định nghóa profile (xem mục sau) chuẩn • Khả mở rộng – Cải thiện chế mở rộng UML cho lónh vực riêng • Các thành phần – Hỗ trợ tốt cho việc phát triển dựa thành phần thông qua ký hiệu ngữ nghóa biểu đồ thành phần • Mối kết hợp – Định nghóa tốt ngữ nghóa quan hệ kết hợp, bao gồm phụ thuộc refine (tinh chế) trace (theo vết) • Các biểu đồ trạng thái hành động – Tách biệt ngữ nghóa loại biểu đồ cho biểu đồ hành động định nghóa độc lập với biểu đồ trạng thái • Quản lý mô hình – Tốt ký hiệu ngữ nghóa cho việc quản lý mô hình • Cơ chế tổng quát – Hỗ trợ kiểm soát mô hình chuyển đổi biểu đồ GIÁO TRÌNH NHẬP MÔN UML 419 • Xác định thành phần có cấu trúc (lớp đối tượng) cần thiết để thực chức use case thao tác • Xem xét scenario thay • Vẽ biểu đồ thể hiện: • − Đặt đối tượng từ trái sang phải − Bắt đầu thông điệp khởi đầu tương tác, đặt thông điệp trang theo chiều từ xuống Biểu diễn đặc tính thông điệp cần thiết để giải thích ngữ nghóa tương tác − Thêm tiêu điểm kiểm soát cần thiết để trực quan hoá hành động lồng thời điểm hoạt động diễn − Thêm ràng buộc thời gian cần − Thêm giải thích vào biểu đồ cần, ví dụ điều kiện đầu điều kiện cuối Nếu cần vẽ biểu đồ tổng quát để tóm tắt tất trường hợp biểu đồ thể 9.22 Là dòng công việc thiết kế (Design Workflow) dòng công việc kiểm tra (Test Workflow) 9.23 Chúng là: xác định lớp thiết kế tham gia (Indentifying the Participating Design Classes), mô tả tương tác đối tượng thiết kế (Describing Design Object Interactions), xác định giao diện hệ thống tham gia (Identifying the Participating Subsystems and Interfaces), mô tả tương tác hệ thống (Describing Subsystem Interactions) nắm bắt yêu cầu cài đặt (Capturing Inplementation Requirments) 9.24 Bốn bước hoạt động thiết kế kiểm tra bao gồm: thiết kế trường hợp kiểm tra tích hợp (Designing Integration Test Cases), thiết kế trường hợp kiểm tra hệ thống (Designing System Test Cases), thiết kế trường hợp kiểm tra hồi qui (Designing Regression Test Cases) xác định lập cấu trúc thủ tục kiểm tra (Identifying and Structuring Test Procedures) Chương 10: BIỂU ĐỒ HOẠT ĐỘNG 10.1 Biểu đồ hoạt động thường dùng để mô tả dòng nghiệp vụ (qui trình nghiệp vụ), dòng bên use case, dòng use case dòng bên thao tác phức tạp 420 PHỤ LỤC B: TRẢ LỜI CÁC CÂU HỎI ÔN TẬP 10.2 Biểu đồ hoạt động dùng phân tích nghiệp vụ, cách tạo use case nghiệp vụ, để hỗ trợ phương thức dòng nghiệp vụ khác 10.3 Biểu đồ hoạt động đồ thị hai chiều minh hoạ dòng phức tạp thực bên hệ thống, hệ thống nghiệp vụ hệ thống máy tính Chúng dùng để diễn tả hệ thống theo chuyên môn người nắm quy tắc quản lý hệ thống (các stakeholder) 10.4 Một hoạt động đơn vị công việc 10.5 Một hành động phần tử công việc mà hoạt động thực 10.6 Có thể xảy khoảng thời gian dài 10.7 Hành động xảy bắt đầu hoạt động, suốt thời gian thực hoạt động, đáp ứng biến cố, kết thúc hoạt động 10.8 Chuyển tiếp di chuyển hoạt động /hoặc trạng thái 10.9 Một chuyển tiếp xảy hoạt động hoàn tất Chuyển tiếp phát sinh biến cố xảy 10.10 Khi hoạt động kết thúc 10.11 Một trạng thái tương tự hoạt động, dùng để định dòng công việc đợi biến cố kích hoạt Một hoạt động kết thúc công việc hoàn tất mà không cần kích hoạt, lúc trạng thái kết thúc có biến cố kích hoạt 10.12 Cú pháp: event(arguments) [condition] / action ^target.sendEvent (arguments) 10.13 Điểm định điểm dòng công việc, chuyển tiếp khỏi hoạt động trạng thái theo số hướng tùy chọn phụ thuộc vào điều kiện 10.14 Là điều kiện chuyển tiếp Chuyển tiếp thực điều kiện thoả mãn 10.15 Một nhiều 10.16 Hai nhiều Mỗi chuyển tiếp vào phải có điều kiện, điều kiện tất chuyển tiếp phải không chồng chéo lên 10.17 Swimlane cột biểu đồ hoạt động, dùng biết đơn vị tổ chức kỹ thuật thực hoạt động 10.18 Swimlane có ích việc định vị cho hoạt động đơn vị tổ chức vùng kỹ thuật GIÁO TRÌNH NHẬP MÔN UML 421 10.19 Thanh đồng hóa dùng để phân chia chuyển tiếp thành dòng song song, trộn nhiều chuyển tiếp song song thành chuyển tiếp đơn để đồng hoá kết thúc dòng song song 10.20 Một chuyển tiếp vào nhiều chuyển tiếp ra, nhiều chuyển tiếp vào chuyển tiếp 10.21 Các đối tượng đặt biểu đồ hoạt động, dùng để định hoạt động ảnh hưởng đến trạng thái đối tượng Điều gọi dòng đối tượng 10.22 Thông tin trạng thái đối tượng 10.23 Một số hoạt động có dòng công việc phức tạp nên cần chi tiết chúng với biểu đồ hoạt động riêng 10.24 Biểu đồ hoạt động gắn với use case nghiệp vụ, use case hệ thống, hoạt động, đối tượng thao tác 10.25 Các biểu tượng điều khiển biểu tượng trực quan định vị trí biểu đồ, biến cố phát sinh đáp ứng Chúng ký hiệu bổ sung, không thiết cần, để việc kiểm soát biến cố tường minh Chương 11: BIỂU ĐỒ TRẠNG THÁI 11.1 Biểu đồ trạng thái dùng để mô hình hoá trạng thái mà thực thể hệ thống nhận mô hình hoá thay đổi trạng thái chúng, định nghóa cách chuyển tiếp từ trạng thái sang trạng thái khác 11.2 Trạng thái điều kiện mà đối tượng bước vào quãng thời gian 11.3 Không xác định, ngắn 11.4 Biến cố phát sinh hành động trạng thái phát sinh việc kết thúc trạng thái 11.5 Biểu đồ trạng thái thường dùng cho đối tượng, dùng cho actor, use case cho thao tác 11.6 Không 11.7 Năm loại hành động trạng thái bao gồm: • On Entry: hành động phát sinh trạng thái bắt đầu • Do: hành động phát sinh suốt thời gian tồn trạng thái 422 PHỤ LỤC B: TRẢ LỜI CÁC CÂU HỎI ÔN TẬP • On Event: hành động phát sinh để đáp ứng biến cố • On Exit: hành động phát sinh trước trạng thái kết thúc • Include: gọi máy trạng thái con, biểu diễn biểu đồ trạng thái khác 11.8 Cú pháp hành động có dạng action-label / action, action số entry, do, exit, include tên biến cố 11.9 Có dạng event-name (parameters) [guard-condition] / action, parameters danh sách tham số cách dấu phẩy, guard-condition điều kiện, điều kiện phải thoả để biến cố phát sinh hành động 11.10 Chia trạng thái thành hai ngăn, liệt kê hành động ngăn thứ hai 11.11 Một không 11.12 Trạng thái phức trạng thái thấy có trạng thái 11.13 Hoặc dùng biểu đồ riêng, vẽ dòng lồng bên trạng thái 11.14 Một trạng thái phức có dòng song song Như trạng thái phức nhiều trạng thái thời điểm 11.15 Thanh đồng hóa cho phép phân chia biểu đồ để biểu diễn dòng song song trạng thái nối lại dòng song song 11.16 Khi hành động entry (bước vào trạng thái) phát sinh Dòng bắt đầu trạng thái bắt đầu nó, có dòng đồng hành tất chúng bắt đầu trạng thái bắt đầu chúng Ngoại trừ có trạng thái lịch sử (history) dòng bắt đầu trở lại điểm chúng thoát lần trước 11.17 Tất trạng thái kết thúc cách thực hành động exit Trạng thái phức kết thúc thực hành động exit 11.18 Dòng bắt đầu trạng thái chuyển tiếp định Hành động entry trạng thái phức trạng thái nói thực GIÁO TRÌNH NHẬP MÔN UML 423 11.19 Một chuyển tiếp phát sinh biến cố theo số tuyến phụ thuộc điều kiện Một điểm định đưa để định tuyến chọn 11.20 Trạng thái history chứa H nghóa trạng thái phức bắt đầu lại dòng mức chỗ kết thúc trước đó, *H cho biết trạng thái phức bắt đầu lại chỗ kết thúc trước đó, dù điểm nằm mức lồng phía sâu bên 11.21 Trạng thái đồng trạng thái chia sẻ dòng song song trạng thái phức Nó cho phép dòng song song xảy đồng thời Chương 12: NGÔN NGỮ RÀNG BUỘC ĐỐI TƯNG 12.5 Ràng buộc luật giá trị mô hình, biểu diễn giới hạn giá trị 12.6 Chúng dùng để định nghóa hành vi mô hình quyền sử dụng hợp pháp 12.7 OCL ngôn ngữ ràng buộc đối tượng, ngôn ngữ định nghóa xác ràng buộc 12.8 Ngôn ngữ tự nhiên thường rõ ràng, lúc các hành vi mô hình cần mô tả rõ ràng 12.9 Pre-condition (điều kiện đầu) phát biểu định nghóa điều kiện hợp pháp để thao tác use case thực chức 424 PHỤ LỤC B: TRẢ LỜI CÁC CÂU HỎI ÔN TẬP 12.18 a->first 12.19 Là set { 2, 4, 7, 3, 8, 9} 12.20 Kết bag {2, 2, 3, 3, 4} -> select(x | x đặt bên tên thành phần 13.11 Một icon định khuôn dùng thay cho icon chuẩn dành cho nút hai liên kết truyền thông định khuôn với nghi thức truyền thông đặt cặp dấu > 13.12 Hiển thị thông tin mô hình, số phiên thành phần 13.13 Các bước để tạo biểu đồ thành phần là: Xác định mục đích biểu đồ Thêm thành phần vào biểu đồ, nhóm chúng lại thành phần khác thích hợp Thêm phần tử khác vào biểu đồ, lớp, đối tượng giao diện Thêm phụ thuộc phần tử biểu đồ 13.14 Nêu bước để tạo biểu đồ triển khai Quyết định mục đích biểu đồ Thêm nút vào biểu đồ Thêm kết hợp truyền thông vào biểu đồ Thêm phần tử khác vào biểu đồ, chẳng hạn thành phần đối tượng hoạt động, cần Thêm phụ thuộc thành phần đối tượng, cần 426 PHỤ LỤC B: TRẢ LỜI CÁC CÂU HỎI ÔN TẬP 14.3 Chúng quan hệ connection (kết nối), quan hệ containment (vật chứa) quan hệ visual attachment (đính kèm) 14.4 (a) Đó biểu tượng (icon), biểu tượng hai chiều (two-dimensional symbol), đường (path) chuỗi (string) (b) + Một biểu tượng phần tử đồ hoạ có hình dạng kích thước cố định + Một biểu tượng hai chiều sử dụng để chứa biểu tượng khác thay đối kích thước cách thích hợp Chúng chia thành ngăn riêng + Một đường dùng để nối biểu tượng hai chiều biểu tượng lại với + Một chuỗi dùng để mô tả dãy thông tin dạng văn (c) Biểu tượng ví dụ actor; biểu tượng hai chiều ví dụ class; đường ví dụ kết hợp chuỗi ví dụ tên kết hợp 14.5 Tên định danh phần tử mô hình nhãn gắn kèm để cung cấp thêm thông tin 14.6 Như khuôn dạng cặp dấu > 14.7 Ví dụ , 14.8 Các chi hiển thị hình chữ nhật bẻ góc gắn với phần tử cần thích đường đứt nét 14.9 Classifier thuật ngữ dùng cho phần tử mô hình mô tả đặc trưng hành vi cấu trúc mô hình 14.10 Các classifier UML bao gồm lớp, actor, use case, kiểu liệu , thành phần , giao diên, tính hiệu , nút xử lý hệ thống 14.11 Là trạng thái, thuộc tính thao tác 14.12 Ký hiệu (a) Tên lớp Classname 13.15 Là dòng công việc cài đặt (Implementation Workflow) (b) Tên thể vô danh lớp :Classname 13.16 Là dòng công việc thiết kế (Design Workflow) dòng công việc cài đặt (Implementation Workflow) (c) Tên thể lớp objectname:Classname Chương 14: CÁC QUI ƯỚC KÝ HIỆU CHUNG CỦA UML (e) Tên vai trò /Rolename:Classname 14.1 Là nút (node) đường (path) Các đường nối nút lại với (f) Tên thể có vai trò objectname/Rolename:Classname 14.2 Ví dụ biểu đồ use case, biểu đồ lớp, biểu đồ cộng tác, biểu đồ thành phần, biểu đồ triển khai (d) Tên thể mà lớp objectname 14.13 Stereotype (khuôn dạng) phương tiện đặc tả phần tử phù hợp với hành vi hiểu rõ ràng, mộ t thực thể có thật Stereotype đặt cặp > dạng icon GIÁO TRÌNH NHẬP MÔN UML 427 428 mô tả mô hình UML Nó định nghóa để chuyển đổi mô hình công cụ CASE khác 14.14 Một stereotype lớp siêu mô hình đưa cho phép mô hình loại lớp đặc biệt hệ thống 14.15 Một icon dứng riêng; hai đặt kèm tên khuôn dạng cặp dấu > phía tên lớp; cuối kèm icon với tên lớp PHỤ LỤC B: TRẢ LỜI CÁC CÂU HỎI ÔN TẬP 15.5 Một nơi chứa (repository) nơi lưu tất phần tử mô hình 14.16 Các lớp mở rộng cho web Bruce Conallen, chẳng hạn lớp 15.6 Giá trị thẻ gồm cặp có dạng {tag = value}, liên kết với phần tử mô hình (ví dụ class) Ở tag tên tính chất value giá trị biểu diễn xâu ký tự 14.17 Mũi tên thông điệp định khuôn dùng biểu đồ 15.7 Các giá trị thẻ quan trọng cho phép mở rộng UML 14.18 Giá trị thẻ gồm cặp có dạng {tag = value}, liên kết với phần tử mô hình (ví dụ class) Ở tag tên tính chất value giá trị biểu diễn xâu ký tự 15.8 Round trip engineering nơi công cụ CASE phát sinh mã nguồn chuyển ngược mã nguồn, quản lý cập nhật lên mô hình lên mã nguồn chương trình 14.19 Các tagged value biểu diễn thành cặp {tag = value} đặt dọc theo phần tử mô hình áp dụng Chương 16: MẪU THIẾT KẾ 14.20 Ràng buộc định nghóa quan hệ phần tử mô hình phần tử mô hình phải thoả, không hệ thống buộc phải dừng 14.21 Các ràng buộc, thường biểu thức OCL, đặt cặp móc nhọn { } đặt dọc theo phần tử mô hình Trường hợp ràng buộc áp dụng quan hệ hai đối tượng nối với phụ thuộc ràng buộc đặt dọc theo phụ thuộc Các ràng buộc đặc tả bên nút (node) 14.22 Ví dụ {age dạng icon Stimulus (kích thích): Một thể thông điệp Subclass (lớp con): Một lớp chuyên biệt hoá cấu trúc tổng quát hoá Subflow (dòng con): Một hoạt động trạng thái ngắt thành dòng GIÁO TRÌNH NHẬP MÔN UML 435 Subsystem (hệ thống con): Trong chế trừu tượng hoá, môt hệ thống phân cấp cách chia thành hệ thống CHỈ MỤC Subtype: Xem Subclass Superclass (lớp cha): Một lớp tổng quát hoá cấu trúc tổng quát hoá Supertype: Xem Superclass Swimlane (đường phân dòng nghiệp vụ ): Một cột biểu đồ hoạt động dùng để biểu thị vùng trách nhiệm hoạt động Synchronization Bar (thanh đồng hoá ): Một điểm biểu đồ hoạt động biểu đồ trạng thái, chuyển tiếp chia làm nhiều dòng song song, nhiều dòng song song đồng hoá để gặp đưa chuyển tiếp đơn Tagged Value (giá trị thẻ): Cơ chế gắn cặp (tên, giá trị) vào phần tử mô hình; cách mở rộng UML Template (mẫu): Xem lớp tham số Transition (chuyển tiếp ): Một mối quan hệ trạng thái, hoạt động trạng thái hoạt động Khi trạng thái hoạt động kết thúc, chuyển tiếp cho biết trạng thái hoạt động bắt đầu Use Case (tình sử dụng): Một dãy hành động thực hệ thống để đạt mục đích có ý nghóa người dùng (hoặc hệ thống) Use Case Diagram (biểu đồ use case): Biểu đồ cung cấp mô hình mức cao chưc hệ thống, gồm use case, actor kết hợp chúng Utility Class (lớp tiện ích): Một tập thuộc tính thao tác toàn cục Khuôn dạng lớp tiện ích Workflow (dòng công việc): Trong UML, dòng công việc thuật ngữ chung để mô hình tác vụ dạng dãy hoạt động Trong UP, dòng công việc nhóm hoạt động nhằm thực tác vụ phát triển hệ thống Visibility (tính khả kiến ): Đặc tả khả truy xuất phần tử đến phần tử kết hợp với nó; thường áp dụng cho thuộc tính thao tác, phép dùng cho đầu mút kết hợp UML cung cấp ba lựa chọn cho tính khả kiến public (+), private (-) vaø protected (#) , 42 , 163 , 41 ., 161 , 163 , 160 action cú pháp, 283 ký hiệu, 253 active object, 194 activity ký hiệu, 253 UP, 26 activity diagram biểu tượng điều khiển, 265 cách tạo, 266 chuyển tiếp, 256 hành động, 254 kết hợp, 261 lồng nhau, 263 mô hình nghiệp vụ, 266 nhánh rẽ, 259 điểm định, 258 đường phân dòng, 259 phân nhánh, 261 trạng thái, 255 actor ký hiệu, 34 tổng quát hoá, 39 aggregation, 94 hướng dẫn lập mô hình, 100 analysis workflow UP, 26, 205 argurment-list, 191, 227 artefact UP, 27 association số, 72 hợp thành, 94 hướng dẫn lập mô hình kết hợp dẫn xuất, 134 đặc tả giao diện, 136 qualifier, 137 tính khả kiến, 132 tính khả đổi, 133 tính điều hướng, 134 tính sắp, 133 kết tập, 94 ký hiệu dẫn xuất, 129 lớp kết hợp, 128 đặc tả giao diện, 127 n-ngôi, 131 qualifier, 128 tính khả kiến, 123 tính khả đổi, 124 tính điều hướng, 126 tính sắp, 125 ký hiệu bản, 72 tên vai trò, 74 tổng quát hoá, 111 attribute phạm vi lớp, 156, 172 tính chất, 64 tính khả kiến, 65 bag OCL, 310 behaviour specification, 35 bind, 165 branching ký hiệu, 258 business modelling biểu đồ cộng tác, 203 biểu đồ tuần tự, 237 CASE tools, 374 biểu đồ UML, 374 biểu tượng, 378 chuyển đổi, 379 framework, 380 giá trị thẻ, 378 hỗ trợ phương pháp, 380 khả theo dõi, 377 kiểm soát phiên bản, 377 đặc trưng, 374 OCL, 381 phát sinh mã, 379 GIÁO TRÌNH NHẬP MÔN UML phát sinh tài liệu, 381 repository, 375 theo chuẩn UML, 375 UML, 373 case worker khuôn dạng, 203 class , 159 , 163 , 160 , 163 , 160 bị buộc, 164 khuôn dạng, 61 ký hiệu bản, 61 lớp mẫu, 164 lớp tham số, 164 đặc trưng phạm vi lớp, 156 namespace, 62 tên đường dẫn, 62 thao tác, 64 kiểu trả về, 64 nhóm theo khuôn dạng, 71 tham số, 69 thể đối tượng, 63 thuộc tính, 64 số, 67 giá trị dẫn xuất, 67 kiểu, 64 tính chất, 62 trừu tượng, 102, 110 class diagram hướng dẫn lập mô hình, 75 classifier, 360 collaboration lớp tham gia, 183 ký hiệu, 181 mẫu, 183 định nghóa, 178 collaboration diagram cấu trúc, 185 cách tạo, 196 dòng điều khiển, 190 hành vi, 185 kết hợp, 186 ký hiệu, 184 liên kết, 187 mô hình nghiệp vụ, 203 mức đặc tả, 184 mức thể hiện, 184 437 mục đích, 180 ngữ cảnh, 185 stimulus, 189 thể đối tượng, 185 thông điệp, 188 UP, 205 vai trò kết hợp, 186 vai trò lớp, 186 với biểu đồ khác, 204 collect OCL, 315 comment, 229 component giao diện, 327 khuôn dạng, 328 ký hiệu, 326 phụ thuộc, 326 ràng buộc, 328 thành phần chứa, 327 biểu đồ triển khai, 329 component diagram cách tạo, 333 ký hiệu, 326 mục đích, 325 composition, 94 hướng dẫn lập mô hình, 100 thành phần, 327 constraint, 195, 229 biểu đồ thành phần, 328 cách tạo, 315 OCL, 300 đối tượng, 316 thao tác, 317 use case, 315 mã nguồn, 317 construction mark, 229 control icon, 264 data token, 192 decision point, 258 dependency , 152 hướng dẫn lập mô hình, 170 biểu đồ thành phần, 170 deployment diagram, 324 cách tạo, 336 kết hợp truyền thông, 330 mục đích, 325 nút, 329 design by contract, 303 design pattern nguồn gốc, 384 438 sưu liệu, 385 encapsulation, 84 event, 280 extension mechanism, 362 faỗade maóu, 389 flow of events analysis, 205 flow relationship, 195 fork, 261 genaralization, 97 actor, 39 discriminator, 109 hậu duệ, 99 hướng dẫn lập mô hình, 100 kết hợp, 112 ký hiệu, 97 lớp cha, 99 lớp con, 99 lớp trừu tượng, 110 ràng buộc, 106 tiền bối, 99 use case, 38 guard-condition, 193, 228 instance, 58, 361 instance name cú pháp, 185, 219 interaction, 179 interface, 66 thành phần, 327 internal worker, 203 invariant OCL, 302 iteration, 223 iteration-clause, 193 join, 261 keyword, 358 message, 189 cuù pháp, 190 không hình thức, 180 metamodel, 11 model, 19 model management, 15 multiobject, 195 multiplicity kết hợp, 72 multipliciy thuộc tính, 67 name, 357 namespace, 62 n-ary association, 131 node, 329 CHỈ MỤC note, 359 object, 58

Ngày đăng: 25/01/2022, 09:43

w