(NB) Giáo trình Phân tích thiết kế hướng đối tượng trình bày các nội dung chính sau: Mở đầu; Rational Rose – Công cụ hỗ trợ ngôn ngữ UML; Use Cases và Actors (Trường hợp sử dụng và các tác nhân); Lớp, gói và quan hệ; Biểu đồ kiến trúc vật lý và phát sinh mã trình;...
TRƯỜNG CAO ĐẲNG NGHỀ CÔNG NGHIỆP HÀ NỘI Chủ biên: Vũ Thị Kim Phượng Đồng tác giả: Nguyễn Thị Nhung GIÁO TRÌNH PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG (Lưu hành nội bộ) Hà Nội năm 2012 Tuyên bố quyền Giáo trình sử dụng làm tài liệu giảng dạy nội trường cao đẳng nghề Công nghiệp Hà Nội Trường Cao đẳng nghề Công nghiệp Hà Nội không sử dụng không cho phép cá nhân hay tổ chức sử dụng giáo trình với mục đích kinh doanh Mọi trích dẫn, sử dụng giáo trình với mục đích khác hay nơi khác phải đồng ý văn trường Cao đẳng nghề Công nghiệp Hà Nội Mục lục Chương Mở đầu Mơ hình hướng đối tượng 1.1 Lịch sử phát triển 1.2 Một số khái niệm 1.3 Nguyên tắc mơ hình hóa quản lý độ phức tạp 1.4 Mơ hình hướng đối tượng với chu trình phát triển phần mềm Ngơn ngữ mơ hình hóa thống 10 2.1 Ngơn ngữ mơ hình hóa thống 10 2.2 UML ứng dụng phân tích thiết kế hướng đối tượng 13 Khái quát UML 15 3.1 UML giai đoạn chu trình phát triển phần mềm 15 3.2 Các thành phần UML (Hướng nhìn, Biểu đồ, Cơ chế khung, Thành phần mở rộng) 17 Chương 2: Rational Rose – Công cụ hỗ trợ ngôn ngữ UML 23 Giao diện đồ họa 23 1.1 Trình duyệt 25 1.2 Cửa sổ soạn thảo 26 1.3 Các công cụ 26 1.4 Cửa sổ biểu đồ (Diagram Window) 28 1.5 Log 28 Các hướng nhìn (View) mơ hình Rose 28 Hướng nhìn trường hợp sử dụng (User Cases) 28 2.2 Hướng nhìn logic (Logicals) 29 2.3 Hướng nhìn thành phần (Components) 29 2.4 Hướng nhìn triển khai (Deployments) 30 Làm việc với Rose 30 3.1 Tạo mơ hình 30 3.2 Lưu mơ hình 31 3.3 Exporting Importing mơ hình 32 3.4 Xuất mô hình lên Web 33 3.5 Làm việc với đơn vị điều khiển 33 3.6 Sử dụng hợp mơ hình (Model integrator) 33 3.7 Làm việc với hàng thích 33 3.8 Làm việc với gói 34 3.9 Thêm file URLs đến Rose 34 3.10 Thêm xóa biểu đồ 34 3.11 Thiết lập tùy chọn chung 34 Chương Use Cases Actors (Trường hợp sử dụng tác nhân) 37 Mơ hình hóa trường hợp sử dụng 37 1.1 Các khái niệm (Actors; User Cases; Luồng kiện; Quan hệ;…) 37 1.2 Phân tích trường hợp sử dụng 38 1.3 Biểu đồ User Case 38 1.4 Các ví dụ tập 39 Mơ hình tương tác 40 2.1 Biểu đồ tương tác 40 2.2 Biểu đồ 40 2.3 Biểu đồ cộng tác 42 2.4 Làm việc với đối tượng 44 2.5 Làm việc với thông điệp 44 2.6 Các ví dụ tập 44 Hoạt động đối tượng 44 3.1 Các khái niệm 44 3.2 Biểu đồ hoạt động 44 3.3 Biểu đồ chuyển trạng thái 48 3.4 Các ví dụ tập 54 Chương Lớp, gói quan hệ 55 Lớp gói 55 1.1 Lớp tìm kiếm lớp 55 1.2 Biểu đồ lớp 62 1.3 Stereotype lớp 65 1.4 Gói 67 1.5 Thuộc tính thao tác 68 1.6 Các tập ví dụ 69 Quan hệ 69 2.1 Quan hệ lớp 69 2.2 Liên kết (association) 69 2.3 Phụ thuộc gói phụ thuộc 74 2.4 Quan hệ kết tập (Aggregations) 74 2.5 Khái quát hóa – chuyên biệt hóa 84 2.6 Làm việc với quan hệ 91 Chương Biểu đồ kiến trúc vật lý phát sinh mã trình 92 Biểu đồ kiến trúc vật lý (biểu đồ thành phần triển khai) 92 1.1 Biểu đồ thành phần 92 1.2 Biểu đồ triển khai 94 1.3 Làm việc với hướng nhìn Components Deployments 95 Phát sinh mã trình Rose 95 2.1 Sáu bước để phát sinh mã trình Rose 95 2.2 Phát sinh mã trình C++ 103 2.3 Ví dụ 103 Chương Mở đầu Mô hình hướng đối tượng Một số ví dụ: Ví dụ 1: Hình ảnh thật Mơ hình: địa cầu sinh học Ví dụ 2: 1.1 Lịch sử phát triển 1.2 Một số khái niệm Hướng đối tượng thuật ngữ thông dụng thời ngành công nghiệp phần mềm Các cơng ty nhanh chóng tìm cách áp dụng tích hợp cơng nghệ vào ứng dụng họ Thật đa phần ứng dụng thời mang tính hướng đối tượng Nhưng hướng đối tượng có nghĩa gì? Lối tiếp cận hướng đối tượng lối tư vấn đề theo lối ánh xạ thành phần tốn vào đối tượng ngồi đời thực Với lối tiếp cận này, chia ứng dụng thành thành phần nhỏ, gọi đối tượng, chúng tương đối độc lập với Sau ta xây dựng ứng dụng cách chắp đối tượng lại với Hãy nghĩ đến trò chơi xây lâu đài mẫu gỗ Bước tạo hay mua vài loại mẫu gỗ bản, từ tạo nên khối xây dựng Một có khối xây dựng đó, bạn chắp ráp chúng lại với để tạo lâu đài Tương tự xây dựng số đối tượng giới máy tính, bạn chắp chúng lại với để tạo ứng dụng Xin lấy ví dụ đơn giản: vấn đề rút tiền mặt nhà băng Các “mẫu gỗ“ thành phần ánh xạ đối tượng đời thực tài khoản, nhân viên, khách hàng, …Và ứng dụng sẽ nhận diện giải đáp xoay quanh đối tượng Phương pháp phân tích thiết kế hướng đối tượng thực theo thuật ngữ khái niệm phạm vi lĩnh vực ứng dụng (tức doanh nghiệp hay đơn vị mà hệ thống tương lai cần phục vụ), nên tạo tiếp cận tương ứng hệ thống vấn đề thực đời Trong ví dụ bán xe tơ, giai đoạn phân tích thiết kế thực xoay quanh khái niệm khách hàng, nhân viên bán hàng, xe tơ, … Vì q trình phát triển phần mềm đồng thời trình cộng tác khách hàng/người dùng, nhà phân tích, nhà thiết kế, nhà phát triển, chuyên gia lĩnh vực, chuyên gia kỹ thuật, nên lối tiếp cận khiến cho việc giao tiếp họ với dễ dàng Một ưu điểm quan trọng bậc phương pháp phân tích thiết kế hướng đối tượng tính tái sử dụng: bạn tạo thành phần (đối tượng) lần dùng chúng nhiều lần sau Giống việc bạn tái sử dụng khối xây dựng (hay ) tồ lâu đài, ngơi nhà ở, tàu vũ trụ, bạn tái sử dụng thành phần (đối tượng) thiết kế hướng đối tượng code hệ thống kế toán, hệ thống kiểm kê, hệ thống đặt hàng Vì đối tượng thử nghiệm kỹ lần dùng trước đó, nên khả tái sử dụng đối tượng có tác dụng giảm thiểu lỗi khó khăn việc bảo trì, giúp tăng tốc độ thiết kế phát triển phần mềm Phương pháp hướng đối tượng giúp xử lý vấn đề phức tạp phát triển phần mềm tạo hệ phần mềm có khả thích ứng bền 1.3 Ngun tắc mơ hình hóa quản lý độ phức tạp Phương pháp hay phương thức (method) cách trực tiếp cấu trúc hoá suy nghĩ hành động người Phương pháp cho người sử dụng biết phải làm gì, làm nào, (mục đích hành động) Phương pháp chứa mơ hình (model), mơ hình dùng để mơ tả sử dụng cho việc truyền đạt kết trình sử dụng phương pháp Điểm khác phương pháp ngơn ngữ mơ hình hố (modeling language) ngơn ngữ mơ hình hố khơng có tiến trình (process) hay câu lệnh (instruction) mô tả công việc người sử dụng cần làm Một mơ hình biểu diễn theo ngơn ngữ mơ hình hố Ngơn ngữ mơ hình hố bao gồm ký hiệu – biểu tượng dùng mơ hình – tập quy tắc cách sử dụng chúng Các quy tắc bao gồm: Syntactic (Cú pháp): cho biết hình dạng biểu tượng cách kết hợp chúng ngôn ngữ Semantic (Ngữ nghĩa): cho biết ý nghĩa biểu tượng, chúng hiểu nằm không nằm ngữ cảnh biểu tượng khác Pragmatic: định nghĩa ý nghĩa biểu tượng để cho mục đích mơ hình thể người hiểu 1.4 Mơ hình hướng đối tượng với chu trình phát triển phần mềm Kinh nghiệm nhiều nhà thiết kế phát triển cho thấy phát triển phần mềm toán phức tạp Một số lý thường kể đến: Những người phát triển phần mềm khó hiểu cho người dùng cần Yêu cầu người dùng thường thay đổi thời gian phát triển Yêu cầu thường miêu tả văn bản, dài dòng, khó hiểu, nhiều chí mâu thuẫn Đội quân phát triển phần mềm, vốn người "ngồi cuộc", khó nhận thức thấu đáo mối quan hệ tiềm ẩn phức tạp cần thể xác ứng dụng lớn Khả nắm bắt liệu phức tạp người (tại thời điểm) có hạn Khó định lượng xác hiệu suất thành phẩm thỏa mãn xác mong chờ từ phía người dùng Chọn lựa phần cứng phần mềm thích hợp cho giải pháp thách thức lớn Designer Phần mềm ngồi cần có khả thích ứng mở rộng Phần mềm thiết kế tốt 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 phát triển cho nhà băng cần có khả tái sử dụng cho nhà băng khác với sửa đổi hồn tồn khơng cần sửa đổi Phần mềm thoả mãn yêu cầu coi phần mềm có khả thích ứng Một phần mềm có khả mở rộng phần mềm thiết kế cho dễ phát triển theo yêu cầu người dùng mà không cần sửa chữa nhiều Chính vậy, số khiếm khuyết thường gặp phát triển phần mềm là: Hiểu người dùng cần Khơng thể thích ứng cho phù hợp với thay đổi yêu cầu hệ thống Các Module không khớp với Phần mềm khó bảo trì nâng cấp, mở rộng Phát trễ lỗ hổng dự án Chất lượng phần mềm Hiệu phần mềm thấp Các thành viên nhóm khơng biết thay đổi gì, nào, đâu, phải thay đổi Ngơn ngữ mơ hình hóa thống 2.1 Ngơn ngữ mơ hình hóa thống Ngơn ngữ mơ hình hóa thống (Unifield Modeling Language – UML) ngôn ngữ để biểu diễn mơ hình theo hướng đối tượng với chủ đích là: 10 Hình - Tạo lớp trừu tượng Biểu đồ cho ta ví dụ khái qt hóa thuộc tính chung, nhiều lớp chuyên biệt Chú ý theo mức chuyên biệt hóa lại có thêm thuộc tính bổ sung thêm cho lớp, khiến chúng mang tính chuyên biệt cao so với lớp cha mức trừu tượng bên Ví dụ lớp tài khoản có thuộc tính số tài khoản tên khách hàng Đây thuộc tính chung chung Tất lớp dẫn xuất từ nó, dù trực tiếp hay gián tiếp (ở mức độ trừu tượng thấp nữa), có quyền sử dụng thuộc tính lớp tài khoản Các lớp tài khoản có kỳ hạn tài khoản giao dịch hai lớp chuyên biệt dẫn xuất từ lớp tài khoản Chúng có thuộc tính chun biệt riêng chúng - ví dụ mức thời gian (duration) lớp tài khoản có kỳ hạn mức tiền tối thiểu lớp tài khoản giao dịch – bên cạnh hai thuộc tính số tài khoản tên khách hàng mà chúng thừa kế từ lớp tài khoản Cũng tương tự với tài khoản đầu tư ngắn hạn tài khoản 90 đầu tư trung hạn loại lớp thuộc tài khoản có kỳ hạn, tài khoản tiết kiệm tài khoản bình thường loại lớp thuộc lớp tài khoản giao dịch 2.6 Làm việc với quan hệ 91 Chương Biểu đồ kiến trúc vật lý phát sinh mã trình Biểu đồ kiến trúc vật lý (biểu đồ thành phần triển khai) 1.1 Biểu đồ thành phần Biểu đồ cho ta nhìn vật lý mơ hình, đồng thời cho thấy thành phần phần mềm hệ thống quan hệ chúng Một sơ đồ thành phần chứa đựng hay mức đỉnh mơ hình hay gói Cái có nghĩa sơ đồ miêu tả thành phần gói mà sơ đồ chứa đựng Thành phần mã nguồn: thành phần mã nguồn có ý nghĩa vào thời điểm dịch chương trình Thành phần nhị phân: thường mã trình có sau dịch thành phần mã nguồn Thành phần khả thi: thành phần thực tệp chương trình thực (các tệp EXE), kết liên kết thành phần nhị phân thành phần thực biểu diễn đơn vị thực chạy xử lý máy tính Sử dụng Rational để thiết kế: Tạo hủy biểu đồ thành phần: Tạo biểu đồ thành phần khung nhìn thành phần theo bước sau: Trong Browser, nhấn chuột phải gói chứa component diagram Chọn thực đơn New Component Diagram Nhập tên cho biểu đồ thành phần 92 Hủy bỏ biểu đồ thành phần theo bước sau: Trong Browser, nhấn chuột phải Component diagram Chọn thực đơn Delete Bổ sung hủy bỏ thành phần: Bổ sung thành phần vào biểu đồ theo bước sau: 93 Hủy bỏ thành phần khỏi biểu đồ sau: Nhấn phím phải thành phần browser Nhấn phím Ctrl+D 1.2 Biểu đồ triển khai Biểu đồ triển khai kiến trúc vật lý phần cứng phần mềm hệ thống Bạn máy tính cụ thể trang thiết bị cụ thể (node) kèm nối kết chúng với nhau, bạn loại mối nối kết Bên nút mạng (node), thành phần thực thi đối tượng xác định vị trí để phần mềm thực thi nút mạng Bạn phụ thuộc thành phần Biểu đồ triển khai hướng nhìn triển khai, miêu tả kiến trúc vật lý thật hệ thống Đây hướng nhìn xa lối miêu tả chức hướng nhìn Use case Mặc dù vậy, mơ hình tốt, người ta tất đường dẫn từ nút mạng kiến trúc vật lý thành phần nó, lớp mà thực thi, tương tác mà đối tượng lớp tham gia để cuối cùng, tiến tới Use case Rất nhiều hướng nhìn khác hệ thống sử dụng đồng thời để tạo lời miêu tả thấu đáo hệ thống tổng thể Hình - Một biểu đồ triển khai kiến trúc vật lý hệ thống 94 1.3 Làm việc với hướng nhìn Components Deployments Phát sinh mã trình Rose 2.1 Sáu bước để phát sinh mã trình Rose Có sáu bước thực để phát sinh mã chương trình: Thiết lập thuộc tính mơ hình Kiểm tra mơ hình Tạo lập thành phần Gán lớp vào thành phần Chọn lớp, thành phần hay gói để phát sinh mã Phát sinh mã chương trình Khơng phải ngơn ngữ cần đầy đủ bước nêu Ví dụ, phát sinh mã chương trình C++ (hay Java) cho lớp thiết kế chi tiết cần thực bước 6, hay bước không bắt buộc phải thực Tuy nhiên, mặt qui trình cơng nghiệp nên thực sáu bước Bước 1: Thiết lập đặc tính mơ hình Có nhiều đặc tính sử dụng để phát sinh mã nguồn gán cho lớp, vai trò(Role), thuộc tính, hàm thành phần khác lớp + Các đặc tính lớp bao gồm: tốn tử tạo lập, huỷ tử, toán tử tạo lập nhân bản, phép đối sánh, phương thức truy cập liệu (get/set methods) + Các đặc tính vai trò bao gồm: thiết lập phương thức truy cập, lớp chứa + Các đặc tính phương thức bao gồm: phép toán chung phương thức abstract, virtual, static, friend, v.v Các đặc tính điều khiển việc phát sinh mã chương trình tự động 95 Đặc tính GenrateGetOperation C++ điều khiển để sinh mã hàm có tiếp đầu ngữ getX để đọc liệu bị che giấu (khai báo private) lớp chọn Trước phát sinh mã chương trình nên xem xét đặc tính mơ hình bổ sung, hay thay đổi chúng cần Để quan sát đặc tính mơ hình chọn Tools > Options (hoặc nhấn đúp vào Model Properties từ Browser), sau chọn ngơn ngữ lập trình, ví dụ chọn C++ hình Có thể thay đổi Value Source đặc tính nhấn chuột vào đặc tính cần thay đổi lựa chọn đại lượng tương ứng thực đơn đẩy xuống Tập đặc tính tạm thời: thay đặc tính mặc định, ta tạo lập đặc tính tạm thời để sử dụng Để tạo lập tập đặc tính tạm thời cho C++, chọn Tools > Model Properties > Edit > C++ tab > Edit Set sau nhấn nút Close cửa sổ Clone the Property Set nhập tên cho tập đặc tính Khi khơng cần đến tập đặc tính tạm thời chọn Remove để loại bỏ 96 Hình: Các đặc tính mơ hình để sinh mã cho lớp C++ Bước 2: Kiểm tra mơ hình Chức Check Model Tools thiết kế để kiểm tra qn đơn thể mơ hình bạn lưu trành nhiều đơn vị điều khiển Kiểm tra mơ hình để phát sai phạm, điểm không thống lỗi mô hình Sau chọn Tools > Check Model, lỗi mơ hình hiển thị cửa sổ Log Các lỗi hay xảy thông điệp biểu đồ tương tác không ánh xạ thành phương thức lớp tương ứng Mục Access Violation tìm vi phạm có quan hệ hai lớp hai gói khác nhau, hai gói lại khơng có quan hệ với Chọn Report > Show Access Violation để biết vi phạm Bước 3: Tạo lập thành phần hay mở biểu đồ thành phần 97 Ta sinh mã trình cho lớp cho thành phần chứa số lớp định mẫu rập khuôn (stereotype) Các thành phần cần thiết để ánh xạ lớp mơ hình sang ngơn ngữ lập trình xác định đơn thể phần mềm Có nhiều loại thành phần thành phần chứa mã nguồn, tệp thực thi (.exe), tệp thư viện, v.v Các lớp giao diện phải gán vào thành phần ngữ cài đặthoặc gán vào số thành phần ngôn ngữ 3.1 Tạo lập thành phần Chọn Component view vùng Browser (thường hiển thị bên trái nhất) Nhấn chuột phải để hiển thị thực đơn tắt (shortcut) Chọn New > Package New > Component đặt tên cho chúng, không chúng đặt tên mặc định Bạn chọn package muốn tạo lập gói chứa số lớp để phát sinh mã chương trình Hoặc nhấn chuột phải để mở thực đơn tắt nhấn đúp chuột để mở Open Specification Trong bạn chọn mẫu rập khn cho thành phần Stereotype gán ngôn ngữ cho thành phần hộp Language (xem hình 2) Hình: Tạo lập thành phần Để tạo header file chọn Package Specification, muốn tạo tệp nội dung chọn Package Body Stereotype 3.2 Mở biểu đồ tạo lập thành phần 98 Để tạo lập thành phần biểu đồ thành phần làm sau: Mở Component Diagram Sử dụng biểu tượng Component công cụ để bổ sung loại thành phần vào biểu đồ Bước 4: Gán lớp, giao diện vào cho thành phần Mỗi thành phần mã nguồn biểu diễn tệp mã nguồn hay vài lớp Trong C++, lớp gán vào hai thành phần mã nguồn: tệp header h tệp chứa thân lớp cpp Với C++, Rose khơng qua bước này, phát sinh mã chương trình cho lớp yêu cầu gán trực tiếp vào thành phần lựa chọn Một lớp giao diện gán vào thành phần ngơn ngữ lập trình gán vào số thành phần ngôn ngữ sau: Chọn lớp Browser, biểu đồ, mở Open Specification lớp Ở mục Components tab, chọn Show All Components Nhấn chuột phải thành phần tương ứng kích vào Assign để gán lớp chọn vào thành phần Cũng chọn thành phần Browser di chuột để kéo đến lớp tương ứng biểu đồ Browser, mở Components tab phần đặc tả lớp (Class Specification) Sau lớp gán vào cho thành phần Browser, tên lớp đính với tên thành phần ngoặc đơn Để gán nhiều lớp (giao diện) vào thành phần ta làm sau: Chọn thành phần Browser, biểu đồ thành phần, mở Open Specification thành phần Về Realizes tab, kích vào mục Show All Classes Đối với lớp cần gán vào thành phần nhấn chuột phải vào lớp kich vào Assign để gán vào thành phần chọn 99 Về mục General tab, đặt tên cho thành phần hộp Name, chọn kiểu cho thành phần hộp Stereotype, gán ngơn ngữ cài đặt cho thành phần hộp Language Tương tự trên, chọn lớp (giao diện) di chuột để gán lớp chọn tới thành phần tương ứng biểu đồ Browser Để gán ngôn ngữ cho lớp (tương tự thành phần): Mở phần đặc tả Open Specification lớp (nhấn chuột phải tên lớp) Về mục Components tab, kích vào mục Show All Components Ở trường Language hiển thị ngôn ngữ gán cho thành phần Nhấn chuột phải thành phần mà bạn định gán lớp vào nhấn Assign Để tìm xem ngôn ngữ gán cho lớp ta thực sau: Mở phần đặc tả Open Specification lớp (nhấn chuột phải tên lớp) Sẽ nhìn thấy ngơn ngữ lập trình gán cho lớp trường Language chọn mục Component Bước 5: Chọn lớp, thành phần hay gói Bạn chọn lớp, thành phần hay gói Browser để phát sinh mã chương trình đồng thời Nếu phát sinh mã chương trình từ gói Logical View biểu đồ lớp hay biểu đồ thành phần Component View Bước 6: Phát sinh mã chương trình Nếu cài đặt Rose Enterprise, bạn lựa chọn nhiều ngơn ngữ để cài đặt chương trình Để hiển thị hay ẩn lựa chọn ngôn ngữ, chọn Add-Ins > Add-In Manager Khi chọn lớp hay thành phần để phát sinh mã, chọn ngôn ngữ tương ứng thực đơn 100 Để sinh mã chương trình cho lớp hay thành phần thực theo hai cách Cách thứ thực sau: Chọn lớp, thành phần, hay gói biểu đồ Browser Từ Tools chọn ngơn ngữ lập trình, ví dụ C++ nhấn Code Generation Mỗi lớp tạo hai tệp tương ứng nói Khi bạn muốn xem mã chương trình chọn lớp tương ứng, nhấn chuột phải, C++ nhấn Browse Header Browse Body tuỳ bạn muốn hiển thị header file hay thân lớp Cách thứ hai thực sau: Chọn lớp, hay thành phần biểu đồ Browser Nhấn chuột phải lớp, thành phần chọn, chọn ngôn ngữ (C++) nhấn Code Generation Nếu có lỗi (Errors) hay cảnh báo (Warning) trình sinh mã lỗi, hay cảnh báo hiển thị cửa sổ Log Bạn sinh mã chương trình cho lớp thành phần mà không cần phải thực bước nêu Để sinh mã chương trình trực tiếp ta thực sau: Trước tiên chọn lớp (thành phần) biểu đồ Từ Tools, chọn ngôn ngữ, ví dụ C++ Chọn Code Generation để phát sinh mã chương trình C++ cho lớp chọn Nếu chọn Java trước phát sinh mã chương trình, bạn phải chọn thư mục lớp tương ứng nhấn Map để ánh xạ chương trình phát sinh vào thư mục chọn hình 101 Hình: Phát sinh mã Java cho lớp NewClass7 Cái phát sinh? Khi phát sinh mã chương trình, Rose tập hợp thơng tin từ Logical View Component View Rose phát sinh khung chương trình bao gồm Class: lớp mơ hình phát sinh mã chương trình, Attribute: thuộc tính xác định miền tác động, kiểu liệu giá trị mặc định, Operation: thao tác khai báo kèm theo danh sách tham số, kiểu tham số, kiểu liệu trả lại, Relationships: số mối quan hệ phát sinh mã tương ứng, Component: thành phần cài đặt tệp mã nguồn tương ứng Rose không hướng vào thiết kế giao diện đồ hoạ Do vậy, sau phát sinh khung chương trình trên, nhiệm vụ người phát triển tập hợp tệp nguồn tạo lập, lập trình chi tiết cho thao tác lớp chưa sinh mã thiết kế giao diện đồ hoạ cho hệ thống ứng dụng 102 2.2 Phát sinh mã trình C++ 2.3 Ví dụ Hãy cho biết mệnh đề sau hay sai (true / false), giải thích sao? + Kiến trúc vật lý thể lớp đối tượng, quan hệ cộng tác để hình thành chức hệ thống + Kiến trúc phổ biến chung cho hệ thống phần mềm kiến trúc ba tầng: tầng giao diện, tầng tác nghiệp tầng lưu trữ + Biểu đồ thành phần mô tả thành phần phụ thuộc chúng hệ thống + Có thể chọn mơ hình liệu quan hệ để lưu trữ liệu cho hệ thống phân tích, thiết kế hướng đối tượng + Tất tên gọi, biến kiểu liệu lớp biểu đồ lớp thiết kế phải chuyển tương ứng sang mã chương trình định nghĩa lớp ngơn ngữ lập trình lựa chọn Xây dựng biểu đồ thành phần cho hệ thống “Đăng ký môn học” Xây dựng biểu đồ thành phần cho hệ thống “Quản lý thư viện” Thực sinh mã tự động Rose cho lớp hình 7.8 Chọn từ danh sách thuật ngữ thích hợp để điền vào chỗ [(…)] đoạn văn mô tả kiến trúc hệ thống phần mềm Kiến trúc phần mềm [(1)] hệ thống con, [(2)] [(3)] chúng Các hệ thống [(2)] xác định theo nhiều góc nhìn khác để [(4)] hệ thống phần mềm Kiến trúc hệ thống chia thành hai loại:logic vật lý Chọn câu trả lời: 103 a thuộc tính chức b mối quan hệ c thành phần d mô tả e phi chức Chọn từ danh sách thuật ngữ thích hợp để điền vào chỗ [(…)] đoạn văn mô tả biểu đồ thành phần Biểu đồ thành phần xem tập biểu tượng thành phần biểu diễn cho [(1)] vật lý [(2)] Ý tưởng biểu đồ [(1)] tạo cho [(3)] phát triển tranh chung thành phần [(2)] Chọn câu trả lời: a hệ thống b người thiết kế c thành phần vật lý d mô tả Tham khảo: tham khảo ví dụ áp dụng 104 ... quyền Giáo trình sử dụng làm tài liệu giảng dạy nội trường cao đẳng nghề Công nghiệp Hà Nội Trường Cao đẳng nghề Công nghiệp Hà Nội không sử dụng không cho phép cá nhân hay tổ chức sử dụng giáo trình. .. phân tích thiết kế thực xoay quanh khái niệm khách hàng, nhân viên bán hàng, xe tơ, … Vì q trình phát triển phần mềm đồng thời trình cộng tác khách hàng/người dùng, nhà phân tích, nhà thiết kế, ... phân tích 12 nên thể cho dễ hiểu chuyên gia lĩnh vực Đây môt nhiều lý khiến cho phương pháp hướng đối tượng nhiều người hưởng ứng 2.2 UML ứng dụng phân tích thiết kế hướng đối tượng Phân tích hướng