Bài giảng Công nghệ phần mềm: Chương 6 - ĐH Công nghệ TP.HCM
lượt xem 11
download
Bài giảng Công nghệ phần mềm: Chương 6 Thiết kế và hiện thực chương trình cung cấp cho người học những kiến thức như: Tổng quan về thiết kế và hiện thực phần mềm; Thiết kế hướng đối tượng sử dụng UML; Mẫu thiết kế; Vấn đề thực hiện. Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Công nghệ phần mềm: Chương 6 - ĐH Công nghệ TP.HCM
- Insert or Drag and Drop your Image THIẾT KẾ VÀ HIỆN THỰC CHƯƠNG TRÌNH Jens Martensson
- NỘI DUNG 1. Tổng quan về thiết kế và hiện thực phần mềm 2. Thiết kế hướng đối tượng sử dụng UML 3. Mẫu thiết kế 4. Vấn đề thực hiện Jens Martensson 2
- 1. Tổng quan về thiết kế và hiện thực phần mềm • Thiết kế và hiện thực phần mềm là một giai đoạn trong quy trình công nghệ phần mềm. • Hoạt động thiết kế và hiện thực phần mềm luôn xen kẽ nhau. • Thiết kế phần mềm là một hoạt động sáng tạo trong đó các kỹ sư phần mềm phải xác định các thành phần phần mềm và các mối quan hệ của chúng, dựa trên yêu cầu của khách hàng. • Hiện thực phần mềm là quá trình thực hiện các thiết kế như một chương trình. Jens Martensson 3
- 1. Tổng quan về thiết kế và hiện thực phần mềm • Thông thường, có một giai đoạn thiết kế riêng biệt và thiết kế này được mô hình hóa và ghi dưới dạng các bảng vẽ thiết kế. • Ngoài ra, cũng có một thiết kế từ những lập trình viên hoặc được phác họa sơ bộ trên giấy về cách giải quyết vấn đề. • Tuy nhiên, luôn cần một mô tả chi tiết các thiết kế hệ thống bằng cách sử dụng UML hoặc ngôn ngữ mô tả thiết kế khác. Jens Martensson 4
- 1. Tổng quan về thiết kế và hiện thực phần mềm • Một trong những quyết định quan trọng nhất phải được đưa ra ở giai đoạn đầu của dự án phần mềm là nên mua hay xây dựng phần mềm mới. • Hiện nay, trong một số lĩnh vực, đã có các giải pháp đóng gói (COTS -Commercial off-the-shelf) gồm đầy đủ các dịch vụ, sau đó được điều chỉnh để đáp ứng nhu cầu của người dùng. Ví dụ, nếu muốn thực hiện một hệ thống hồ sơ y tế, người dùng có thể mua một gói đã được sử dụng trong bệnh viện. Nó rẻ hơn và nhanh hơn thay vì phát triển một hệ thống theo ngôn ngữ lập trình thông thường. Jens Martensson 5
- 2. Quy trình thiết kế hướng đối tượng • Quy trình thiết kế hướng đối tượng có cấu trúc liên quan đến việc phát triển các mô hình hệ thống khác nhau. • Quy trình thiết kế hướng đối tượng đòi hỏi rất nhiều nỗ lực để phát triển và bảo trì, đối với các hệ thống nhỏ, điều này không hiệu quả về chi phí. • Tuy nhiên, đối với các hệ thống lớn được phát triển bởi các nhóm khác nhau, các mô hình thiết kế là một cơ chế giao tiếp quan trọng. Jens Martensson 6
- 2. Quy trình thiết kế hướng đối tượng • Các giai đoạn xử lý: Có nhiều quy trình thiết kế hướng đối tượng khác nhau phụ thuộc vào tổ chức sử dụng quy trình. • Các hoạt động phổ biến trong các quy trình thiết kế hướng đối tượng: • Xác định bối cảnh và phương thức sử dụng của hệ thống; • Thiết kế kiến trúc hệ thống; • Xác định các đối tượng hệ thống chính; • Xây dựng mô hình thiết kế; • Chỉ định các giao diện của đối tượng. Jens Martensson 7
- 2.1. Ngữ cảnh hệ thống và các tương tác • Hiểu được mối quan hệ giữa phần mềm đang được thiết kế và môi trường bên ngoài của nó là điều cần thiết để quyết định cách cung cấp chức năng hệ thống cần thiết và cách cấu trúc hệ thống để giao tiếp với môi trường của nó. • Hiểu biết về ngữ cảnh giúp thiết lập các ranh giới (boundary) của hệ thống và quyết định các tính năng nào được triển khai trong hệ thống và những tính năng nào trong các hệ thống liên kết khác. Jens Martensson 8
- 2.2. Mô hình ngữ cảnh • Mô hình ngữ cảnh hệ thống là một mô hình cấu trúc thể hiện các hệ thống con trong môi trường của hệ thống đang được phát triển. • Mô hình ngữ cảnh hệ thống như một bản đồ cấp cao của hệ thống và môi trường xung quanh, được sử dụng xác định phạm vi hoạt động của hệ thống. • Sơ đồ ngữ cảnh hệ thống gồm ba phần tử biểu đồ: Phần tử ngữ cảnh, các thực thể bên ngoài và các luồng dữ liệu Jens Martensson 9
- 2.2. Mô hình ngữ cảnh • Ví dụ: Mô hình ngữ cảnh của hệ thống đặt hàng hiển thị tất cả các hướng dẫn nội bộ và xử lý tự động Jens Martensson 10
- 2.3 Mô hình tương tác • Mô hình tương tác là một mô hình động thể hiển cách mà hệ thống tương tác với môi trường của nó khi nó được sử dụng. • Hiển thị các tương tác giữa các thành phần của hệ thống hoặc giữa hệ thống với các hệ thống khác Jens Martensson 11
- 2.3 Mô hình tương tác • Vai trò của mô hình tương tác • Mô hình hóa tương tác người dùng giúp xác định các yêu cầu của người dùng. • Mô hình hóa hệ thống làm nổi bật các vấn đề giao tiếp có thể phát sinh. • Mô hình hóa tương tác thành phần giúp hiểu nếu cấu trúc hệ thống được đề xuất có khả năng cung cấp các yêu cầu phi chức năng cần thiết. Jens Martensson 12
- 2.3 Các sơ đồ trong mô hình tương tác • Sơ đồ use case: mô hình hóa các tương tác giữa hệ thống và các tác nhân bên ngoài (người dùng hoặc các hệ thống khác). • Xác định các actor: Các đối tượng tương tác với hệ thống, có thể là người hoặc các hệ thống khác bên ngoài hệ thống đang xây dựng. • Xác định các use case: Một use case đại diện cho một hành vi hoàn chỉnh, được thực hiện qua nhiều bước, có hoạt động bắt đầu và kết thúc. • Cách xác định use case: • dựa vào đặc tả yêu cầu của người dùng, yêu cầu chức năng, chọn ra tập các động từ • Từ tập động từ, chọn ra những động từ đại diện cho một chức năng hoàn chỉnh. Jens Martensson 13
- 2.3 Các sơ đồ trong mô hình tương tác • Ví dụ: Khách hàng (actor) sử dụng ATM để kiểm tra số dư trong tài khoản ngân hàng, tiền ký quỹ, rút tiền mặt và chuyển khoản (use case). Kỹ thuật viên ATM cung cấp Bảo trì và Sửa chữa. Tất cả các trường hợp sử dụng này cũng liên quan đến Ngân hàng gồm liên quan đến giao dịch của khách hàng hoặc với dịch vụ ATM. Jens Martensson 14
- 2.3 Các sơ đồ trong mô hình tương tác • Sơ đồ use case • Đặc tả use case • Truyền đạt các yêu cầu kỹ thuật hoặc các yêu cầu phần mềm cho một người không biết về kỹ thuật, • Là cách để các nhà phát triển phần mềm đảm bảo người dùng đạt được những yêu cầu từ hệ thống phần mềm. • Cách đặc tả use case • Đặc tả dưới dạng văn bản • Đặc tả dạng bảng Jens Martensson 15
- 2.3 Các sơ đồ trong mô hình tương tác • Các nội dung trong đặc tả use case • Luồng sự kiện chính (main flow): các bước thực hiện use case, là sự tương tác giữa actor và hệ thống, từ lúc bắt đầu đến kết thúc. • Mỗi bước được đánh số thứ tự. • Actor thực hiện bước bắt đầu • Hệ thống đáp trả. • Actor thực hiện bước tiếp theo … • Luồng sự kiện thay thế (alternate flow): tại một bước trong luồng sự kiện chính, buộc actor phải chọn nhánh khác để thực hiện cho đến bước cuối hoặc quay lại một bước nào đó trong luồng sự kiện chính. • Luồng sự kiện thay thế được đánh số thứ tự theo bước mà tại đó có luồng rẻ nhánh Jens Martensson 16
- Tên use case: Đặt mua sách Khách hàng thực hiện yêu cầu đặt mua sách trên hệ thống Mô tả sơ lược: BooksotreOnline. Ví dụ: Viết đặc tả Actor chính: khách hàng Actor phụ: không use case Đặt mua khách hàng phải đăng nhập thành công. sách của khách Tiền điều kiện: hàng trong hệ Hậu điều kiện: Một đơn hàng được lưu trong hệ thống thống Số lượng sách trong kho được cập nhật BookstoreOnline Luồng sự kiện chính Actor System 1. Khách hàng click nút Đặt hàng 2. Hệ thống hiển thị Form đặt hàng 4. Khách hàng điền thông tin đặt hàng và 5. Hệ thống kiểm tra (rẽ nhánh) click nút Gửi 6. Hệ thống hiển thị thông báo đặt hàng thành công. 8. Khách hàng xác nhận và kết thúc hoạt 10. Hệ thống cập nhật số lượng sách. động đặt mua sách Luồng sự kiện thay thế 4.1.a Khách hàng chọn kết thúc. 4.1. Hệ thống hiển thị thông báo thông tin nhập không hợp lệ 4.1. b1. Hệ thống chuyển điều khiển sang bước 2 4.1.b. Khách hàng chọn tiếp tục. GV: Từ Thị Xuân Hiền 17 Jens Martensson
- 2.3 Các sơ đồ trong mô hình tương tác • Sơ đồ sequence: mô hình các tương tác giữa các đối tượng hoặc các thành phần hệ thống. • Sơ đồ tuần tự biểu diễn tuần tự các tương tác giữa các đối tượng trong hệ thống bằng các thông điệp (messages), từ các thông điệp tương tác giữa các đối tượng, xác định các hành vi của đối tượng. attribute = message_name (arguments): return_type Jens Martensson 18
- 2.3 Các sơ đồ trong mô hình tương tác Jens Martensson 19
- 2.4 Thiết kế các thành phần của hệ thống • Hệ thống con (subsystem) • Một hệ thống thường được chia thành các hệ thống con, mỗi hệ thống con thực hiện một công việc hoàn chỉnh. • Hệ thống con có thể được chia nhỏ một cách đệ quy thành những hệ thống con đơn giản hơn Jens Martensson 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Công nghệ phần mềm: Chương 1 - ThS. Nguyễn Khắc Quốc
61 p | 143 | 18
-
Bài giảng Công nghệ phần mềm: Bài 1 - TS. Lê Nguyễn Tuấn Thành
142 p | 233 | 17
-
Bài giảng Công nghệ phần mềm nâng cao: Giới thiệu môn học - Phạm Ngọc Hùng
14 p | 167 | 14
-
Tập bài giảng Công nghệ phần mềm - Phạm Hùng Phú, Nguyễn Văn Thẩm (Biên soạn)
291 p | 61 | 13
-
Bài giảng Công nghệ phần mềm: Chương 1 - ĐH Công nghệ TP.HCM
77 p | 37 | 13
-
Bài giảng Công nghệ phần mềm: Bài 1 - Học viện Kỹ thuật Quân sự
45 p | 21 | 11
-
Bài giảng Công nghệ phần mềm: Chương 0 - ThS. Trần Sơn Hải
5 p | 122 | 10
-
Bài giảng Công nghệ phần mềm: Yêu cầu phần mềm
66 p | 107 | 10
-
Bài giảng Công nghệ phần mềm: Chương 1 - ThS. Dương Thành Phết
19 p | 139 | 9
-
Bài giảng Công nghệ phần mềm: Chương 1 - Trường ĐH Công nghiệp TP. HCM
48 p | 43 | 9
-
Bài giảng Công nghệ phần mềm - Phần 1: Giới thiệu chung về công nghệ phần mềm
52 p | 89 | 8
-
Bài giảng Công nghệ phần mềm: Các quy trình phần mềm
31 p | 126 | 8
-
Bài giảng Công nghệ phần mềm: Chương 1 - ThS. Đinh Thị Lương
40 p | 14 | 6
-
Bài giảng Công nghệ phần mềm ứng dụng: Bài 1 - ThS. Thạc Bình Cường
58 p | 61 | 6
-
Bài giảng Công nghệ phần mềm - Chương 1: Tổng quan về CNPM
13 p | 113 | 5
-
Bài giảng Công nghệ phần mềm - Phần 1: Giới thiệu công nghệ phần mềm
52 p | 79 | 5
-
Bài giảng Công nghệ phần mềm: Phần 1 - Vũ Thị Hương Giang
52 p | 50 | 3
-
Bài giảng Công nghệ phần mềm: Chương 1 - ThS. Trần Sơn Hải
52 p | 73 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn