Bài giảng công nghệ phần mềm chương 5 thiết kế hệ thống

48 379 0
Bài giảng công nghệ phần mềm  chương 5    thiết kế hệ thống

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

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

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN CÔNG NGHỆ PHẦN MỀM Chương 5: THIẾT KẾ HỆ THỐNG Thời gian: tiết Giảng viên: ThS Dương Thành Phết Email: phetcm@gmail.com Website: http://www.thayphet.net Tel: 0918158670 – facebook com/DuongThanhPhet http://www.thayphet.net NỘI DUNG Giới thiệu http://www.thayphet.net Quá trình thiết kế Các nguyên tắc thiết kế http://www.thayphet.net GIỚI THIỆU http://www.thayphet.net  Trong đời sống, cần xây dựng nhà, kỹ sư xây dựng thiết kế nhà  Với số liệu nhà, kỹ sư thiết kế mô hình nhà Đây nhà xây dựng mà vẽ  Nhưng thông qua mô hình đó, với mô tả chi tiết người kỹ sư, chủ nhà hình dung nhà http://www.thayphet.net http://www.thayphet.net GIỚI THIỆU  Bản thiết kế quan trọng, giúp cho chủ nhà với kỹ sư xây dựng hiểu công việc cần làm, có yêu cầu chỉnh sửa thực vẽ Còn bắt tay vào xây dựng thực tế việc chỉnh sửa lúc khó khăn tốn  Khi sản xuất phần mềm Rõ ràng, yêu cầu khách hàng không khác yêu cầu cần xây nhà chủ nhà  Công việc kỹ sư xây dựng kỹ sư phầm mềm theo giai đoạn có nhiều điểm chung http://www.thayphet.net GIỚI THIỆU Ta xem xét bảng so sánh sau http://www.thayphet.net KỸ SƯ XÂY DỰNG - Khảo sát địa hình, tìm hiểu nhu - Tìm hiểu nhu cầu khách hàng, cầu chủ nhà: số tầng, kích khảo sát hệ thống, lấy số liệu, … thước, trang trí nào, … - Thiết kế nhà vẽ - Thiết kế phần mềm, đưa mô hình - Tìm hiểu ý kiến chủ nhà - Duyệt lại với khách hàng thiết kế - Thực chỉnh sửa - Thực chỉnh sửa cần cần - Cho thi công nhà KỸ SƯ PHẦN MỀM - Tiến hành cài đặt chương trình http://www.thayphet.net GIỚI THIỆU http://www.thayphet.net  Thiết kế bước giai đoạn phát triển cho hệ thống công nghệ nào, định nghĩa "… tiến trình áp dụng nhiều kỹ thuật nguyên lý với mục đích xác định thiết bị, tiến trình hay hệ thống đủ chi tiết phép thực hịên mặt vật lý."  Mục tiêu thiết kế tạo mô hình hay biểu diễn thực thể mà sau xây dựng  Thiết kế trình sáng tạo, đòi hỏi kinh nghiệm tinh anh người thiết kế http://www.thayphet.net GIỚI THIỆU http://www.thayphet.net  Thiết kế phải thực hành học kinh nghiệm, khảo sát hệ thống tồn tại, học sách  Thiết kế phần mềm trình chuyển hoá yêu cầu thành biểu diễn phần mềm Bước đầu, mô tả toàn phần mềm, làm mịn tiếp dẫn tới biểu diễn thiết kế gần với chương trình gốc  Thiết kế phần mềm nằm trung tâm kỹ thuật tiến trình kỹ nghệ phần mềm áp dụng khuôn cảnh kỹ nghệ sử dụng (thác nước, xoáy ốc, mẫu, hệ thứ - 4GT, …) http://www.thayphet.net GIỚI THIỆU http://www.thayphet.net  Một yêu cầu phần mềm phân tích đặc tả thiết kế phần mềm hoạt động đầu ba hoạt động kỹ thuật “thiết kế, lập trình, kiểm thử “  Từng hoạt động biến đổi thông tin cuối tạo phần mềm máy tính hợp lệ http://www.thayphet.net GIỚI THIỆU http://www.thayphet.net Luồng thông tin tiến trình minh hoạ sơ đồ sau: http://www.thayphet.net GIỚI THIỆU http://www.thayphet.net  Các yêu cầu phần mềm, biểu thị mô hình thông tin, chức hành vi đầu vào cho bước thiết kế 10  Bằng việc sử dụng phương pháp thiết kế tạo ra: thiết kế liệu, thiết kế kiến trúc , thiết kế giao diện thiết kế thủ tục http://www.thayphet.net CÁC NGUYÊN TẮC THIẾT KẾ http://www.thayphet.net  Các phương pháp thiết kế thường trợ giúp vài cách nhìn nhận hệ thống sau: 34  Nhìn nhận cấu trúc: Cho nhìn cấu trúc thông qua lược đồ cấu trúc  Nhìn nhận quan hệ thực thể: Mô tả cấu trúc liệu logic thường dùng, đề cập đến đặc tả liệu quan hệ thực thể  Nhìn nhận dòng liệu: Về lược đồ dòng liệu  Người ta dùng lược đồ chuyển trạng thái để bổ sung cho phương pháp http://www.thayphet.net CÁC NGUYÊN TẮC THIẾT KẾ http://www.thayphet.net  Để đảm bảo chất lượng cho biểu diễn thiết kế, cần có tiêu chuẩn cho thiết kế tốt 35  Song mặt phương pháp, đưa hướng dẫn sau:  Thiết kế nên đưa cách tổ chức theo cấp bậc để dùng cách kiểm soát thông minh số thành phần phần mềm  Thiết kế nên theo module, tức phần mềm nên phân hoạch cách logic thành thành phần thực chức hay chức xác định  Thiết kế nên chứa cách biểu diễn phân biệt tách biệt liệu thủ tục http://www.thayphet.net CÁC NGUYÊN TẮC THIẾT KẾ http://www.thayphet.net  Thiết kế nên dẫn tới module (như chương trình hay thủ tục) nêu đặc trưng chức đặc biệt 36  Thiết kế nên dẫn đến giao diện rút gọn độ phức tạp việc nối ghép lại module với môi trường bên  Thiết kế nên hướng theo cách dùng phương pháp lặp lại điều khiển thông tin có phân tích yêu cầu phần mềm http://www.thayphet.net http://www.thayphet.net CÁC NGUYÊN TẮC THIẾT KẾ 37  Các đặc trưng thiết kế tốt có thực tiến trình thiết kế kỹ nghệ phần mềm thông qua việc áp dụng nguyên lý thiết kế bản, phương pháp luận hệ thống xét duyệt thấu đáo  Như vậy, phương pháp thiết kế phần mềm đưa vào phương pháp trực cảm lý pháp nhất, cách nhìn thiển cận đặc trưng cho chất lượng thiết kế http://www.thayphet.net CÁC NGUYÊN TẮC THIẾT KẾ Mỗi phương pháp có đặc trưng sau: http://www.thayphet.net  Một chế để chuyển hoá từ biểu diễn miền thông tin thành biểu diễn thiết kế 38  Một kí pháp để biểu diễn thành phần chức dao diện chúng  Các trực cảm để làm mịn phân hoạch  Các hướng dẫn định giá chất lượng http://www.thayphet.net CÁC NGUYÊN TẮC THIẾT KẾ http://www.thayphet.net Bất kể phương pháp luận thiết kế dùng,kỹ sư phần mềm phải áp dụng tập khái niệm tảng cho thiết kế liệu, kiến trúc thủ tục:  Trừu tượng  Modul  Kiến trúc phần mềm  Cấp bậc điều khiển  Cấu trúc liệu  Thủ tục phần mềm  Che dấu thông tin 39 http://www.thayphet.net CÁC NGUYÊN TẮC THIẾT KẾ http://www.thayphet.net Thiết kế hướng chức 40  Hệ thống thiết kế theo quan điểm chức năng, bắt đầu mức cao nhất, sau tinh chế dần thành thiết kế chi tiết  Trạng thái hệ thống tập trung chia sẻ cho chức thao tác trạng thái  Ban đầu, xem yêu cầu mức cao hệ thống chức cần phải thực http://www.thayphet.net CÁC NGUYÊN TẮC THIẾT KẾ http://www.thayphet.net  Sau đó, “Để thực chức cần phải làm công việc gì?” – từ công việc coi chức chức 41  Thực xong chức thực xong chức cha  Hệ thống phân rã dần dần, làm mịn  Hình ảnh hệ thống xây dựng theo bước http://www.thayphet.net CÁC NGUYÊN TẮC THIẾT KẾ http://www.thayphet.net Thiết kế hướng đối tượng 42  Hệ thống nhìn nhận đối tượng (chứ tập hợp chức năng)  Hệ thống phân tán, đối tượng có thông tin trạng thái riêng  Đối tượng thuộc tính xác định trạng thái đối tượng phép toán thực http://www.thayphet.net http://www.thayphet.net CÁC NGUYÊN TẮC THIẾT KẾ 43  Mỗi đối tượng khách thể lớp mà lớp xác định thuộc tính phép toán  Nó thừa kế từ vài lớp đối tượng cấp cao hơn, cho định nghĩa cần nêu đủ khác lớp cao Các đối tượng liên lạc với trao đổi thông báo  Trong thực tế, hầu hết liên lạc thực đối tượng cách nối đối tượng với thủ tục, mà thủ tục kết hợp với đối tượng khác http://www.thayphet.net CÁC NGUYÊN TẮC THIẾT KẾ http://www.thayphet.net  Thiết kế hướng đối tượng dựa ý tưởng che dấu thông tin  Gần theo cách thiết kế này, người ta phát triển nhiều hệ thống cấu tạo nhiều thành phần độc lập có tương tác với  Sự thật, hệ phần mềm lớn phức tạp đến mức mà người ta dùng phương pháp tiếp cận khác việc thiết kế thành phần khác hệ thống  Chẳng có chiến lược tốt cho dự án lớn 44 http://www.thayphet.net CÁC NGUYÊN TẮC THIẾT KẾ http://www.thayphet.net  Cách tiếp cận hướng chức hướng đối tượng hỗ trợ cho không loại bỏ 45  Kỹ sư phần mềm chọn cách tiếp cận thích hợp giai đoạn thiết kế  Nhìn mức tổng thể hệ thống đối tượng (chứ chức năng), mức trừu tượng cao cách tiếp cận hướng đối tượng thích hợp  Đến mức chi tiết nên xem chúng chức tương tác đối tượng Sau đối tượng lại phân giải thành thành phần, tức xem hệ http://www.thayphet.net http://www.thayphet.net CÁC NGUYÊN TẮC THIẾT KẾ 46  Rất nhiều hệ thống, đặc biệt hệ thống thời gian thực nhúng (vào thiết bị có thực) cấu tạo hệ gồm trình hoạt động song song có liên lạc với  Các hệ thường phải tuân theo ràng buộc nghiêm ngặt thời gian, mà phần cứng thường phản ứng tương đối chậm, có cách tiếp cận nhiều xử lý hoạt động song song hoàn thành yêu cầu thời gian  Các chương trình dễ thiết kế, thực kiểm tra thử nghiệm hệ thống song song Sự phụ thuộc thời gian trình khó hình thức hoá, khó khống chế thử nghiệm http://www.thayphet.net CÁC NGUYÊN TẮC THIẾT KẾ http://www.thayphet.net Do đó, trình thiết kế nên xem hoạt động gồm giai đoạn: 47  Giai đoạn 1: Định cấu trúc thiết kế logic, cụ thể thành phần hệ thống mối quan hệ chúng Có thể dùng cách nhìn hướng chức cách nhìn hướng đối tượng  Giai đoạn 2: Thực cấu trúc dạng thực hịên Giai đoạn gọi thiết kế chi tiết lập trình Chắc định tính song song nên giai đoạn giai đoạn sớm trình thiết kế http://www.thayphet.net BÀI TẬP Trình bày giai đoạn thiết kế phần mềm Trình bày nguyên tắc thiết kế phần mềm 48 48 [...]... trì  Tầm quan trọng của thiết kế phần mềm có thể được phát biểu bằng một từ - chất lượng  Thiết kế là nơi chất lượng được nuôi dưỡng trong việc phát triển phần mềm: cung cấp cách biểu diễn phần mềm, là cách duy nhất chuyển hoá một cách chính xác các yêu cầu của khách hàng thành sản phẩm phần mềm  Thiết kế phần mềm như một nền tảng cho mọi bước kỹ nghệ phần mềm và bảo trì 15 http://www.thayphet.net... trong việc thiết kế một hệ thống phần mềm lớn 25 1 Thiết kế kiến trúc: Các hệ con tạo nên hệ tổng thể và các quan hệ của chúng là được phân hoạch rõ ràng và ghi thành tài liệu 2 Đặc tả trừu tượng: Đối với mỗi hệ con, một đặc tả trừu tượng các dịch vụ mà nó cung cấp và các ràng buộc phải tuân theo cũng được hỗ trợ http://www.thayphet.net 2 QUÁ TRÌNH THIẾT KẾ http://www.thayphet.net 3 Thiết kế giao diện:...  Không có thiết kế, sẽ có nguy cơ dựng lên một hệ thống không ổn định - hệ thống sẽ thất bại khi có một thay đổi nhỏ; một hệ thống không thể nào xác định được chất lượng khi chưa kiểm thử 16  Thiết kế tốt là chìa khoá cho công trình hữu hiệu, không thể hình thức hoá quá trình thiết kế trong bất kỳ một công trình nào  Chú ý rằng RAISE chỉ là một phương pháp nghiêm ngặt để viết ra thiết kế, phát triển... thành phần trong hệ thống với nhau 26 Giao diện với từng hệ con khác cũng được thiết kế và ghi thành tài liệu Đặc tả giao diện không được mơ hồ và cho phép sử dụng hệ con đó mà không cần biết đến những gì được diễn ra bên trong của hệ con đó 4 Thiết kế các thành phần: Các dịch vụ được cung cấp bởi hệ con được phần chia thành các thành phần hợp thành của hệ con đó http://www.thayphet.net 2 QUÁ TRÌNH THIẾT... trình thiết kế thể hiện như sau:  Quan hệ giữa thiết kế và đặc tả là rất chặt chẽ  Mặc dù quá trình đưa ra một đặc tả yêu cầu được xem như là một phần tử cơ bản của hợp đồng là một hoạt động riêng biệt, song việc hình thức hoá đặc tả yêu cầu hẳn là một phần của quá trình thiết kế  Thực tế, người làm thiết kế sẽ lặp đi lặp lại giữa đặc tả và thiết kế 21 http://www.thayphet.net 2 QUÁ TRÌNH THIẾT KẾ http://www.thayphet.net... TRÌNH THIẾT KẾ http://www.thayphet.net Theo quan điểm quản lý dự án, thiết kế phần mềm được tiến hành theo 2 bước: 29 Bước 1- Thiết kế sơ bộ: Quan tâm tới việc chuyển hoá các yêu cầu thành kiến trúc dữ liệu và các thành phần phần mềm Bước 2- Thiết kế chi tiết: Tập trung vào việc làm mịn biểu diễn kiến trúc để dẫn tới cấu trúc dữ liệu chi tiết và biểu diễn các quy trình tính toán và xử lý của phần mềm. .. nhiều thông tin cần cho thiết kế giao diện http://www.thayphet.net 1 GIỚI THIỆU http://www.thayphet.net  Thiết kế thủ tục: Biến đổi các thành phần cấu trúc của kiến trúc phần mềm thành mô tả thủ tục 14 http://www.thayphet.net 1 GIỚI THIỆU http://www.thayphet.net Tầm quan trọng của thiết kế  Khi thiết kế ta ra các quyết định sẽ ảnh hưởng tới sự thành công của việc xây dựng phần mềm và quan trọng là... 2 QUÁ TRÌNH THIẾT KẾ http://www.thayphet.net 5 Thiết kế cấu trúc dữ liệu: Các cấu trúc dữ liệu được dùng trong việc thực hiện hệ thống được thiết kế chi tiết và được đặc tả ở đây 27 6 Thiết kế thuật toán: Các cách thức (phương pháp xử lý) được dùng để cung cấp cho các dịch vụ được thiết kế chi tiết và được đặc tả Quá trình này được lặp lại cho mỗi hệ con sao cho đến khi các thành phần hợp thành được... mức thiết kế ban đầu sẽ được phát hiện và được điều chỉnh cho phù hợp tại các mức chi tiết thiết kế tiếp theo  Quá trình khắc phục khiếm khuyết sẽ được lặp lại cho từng phần từ mức thiết kế ban đầu đến kết thúc  Nên phân chia ra các phần nhỏ ứng với thiết kế rồi tổ hợp lại, sao cho việc mô tả chi tiết các phần nhỏ đó chỉ trong khoảng một trang giấy 19 http://www.thayphet.net 2 QUÁ TRÌNH THIẾT KẾ http://www.thayphet.net... TRÌNH THIẾT KẾ http://www.thayphet.net  Trong phạm vi thiết kế sơ bộ và chi tiết, có xuất hiện một số hoạt động thiết kế khác nhau 30  Bên cạnh việc thiết kế dữ liệu, kiến trúc và thủ tục, nhiều ứng dụng hiện đại có hoạt động thiết kế giao diện phân biệt  Thiết kế giao diện lập ra cách bố trí và cơ chế tương tác người-máy (HCI – humen computer interface) http://www.thayphet.net 2 QUÁ TRÌNH THIẾT KẾ ... trưng thiết kế tốt có thực tiến trình thiết kế kỹ nghệ phần mềm thông qua việc áp dụng nguyên lý thiết kế bản, phương pháp luận hệ thống xét duyệt thấu đáo  Như vậy, phương pháp thiết kế phần. .. phần mềm, biểu thị mô hình thông tin, chức hành vi đầu vào cho bước thiết kế 10  Bằng việc sử dụng phương pháp thiết kế tạo ra: thiết kế liệu, thiết kế kiến trúc , thiết kế giao diện thiết kế. .. biểu diễn thiết kế gần với chương trình gốc  Thiết kế phần mềm nằm trung tâm kỹ thuật tiến trình kỹ nghệ phần mềm áp dụng khuôn cảnh kỹ nghệ sử dụng (thác nước, xoáy ốc, mẫu, hệ thứ - 4GT, …)

Ngày đăng: 14/04/2016, 12:08

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan