Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 51 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
51
Dung lượng
869,56 KB
Nội dung
KHOA CÔNG NGHỆ THÔNG TIN CÔNG NGHỆ PHẦN MỀM Bài 3: TÁC VỤ THIẾT KẾ PHẦN MỀM 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 CÔNG NGHỆ PHẦN MỀM Tổng quan thiết kế 2 Kiến trúc phần mềm Phương pháp thiết kế phần mền Ví dụ minh họa http://www.thayphet.net CƠNG NGHỆ PHẦN MỀM 3.1 TỔNG QUAN VỀ THIẾT KẾ Mục tiêu việc thiết kế định hình hệ thống tìm dạng thức phần mềm để đáp ứng yêu cầu Kết thu từ bước phân tích trước thơng tin đầu vào quan trọng cho công tác thiết kế (Xem thêm Phụ lục C – Phần C) http://www.thayphet.net 3.1 TỔNG QUAN VỀ THIẾT KẾ CƠNG NGHỆ PHẦN MỀM Mục đích quan trọng công tác thiết kế là: Hiểu biết sâu sắc yêu cầu ràng buộc có liên quan, mức độ tái sử dụng thành phần, thông tin kỹ thuật (HĐH, công nghệ phân tán, cơng nghệ CSDL, …) Tạo đầu vào thích hợp điểm xuất phát cho hoạt động thực sau thông qua việc nắm bắt yêu cầu Có khả phân rã việc cài đặt thành phần nhỏ dễ quản lý để nhiều nhóm phát triển xử lý đồng thời Điều có ích mà ta khơng thể tiến hành phân rã kết thu từ bước nắm bắt yêu cầu phân tích http://www.thayphet.net CÔNG NGHỆ PHẦN MỀM 3.1 TỔNG QUAN VỀ THIẾT KẾ Nắm bắt sớm giao diện cốt lõi tương tác hệ thống vòng đời phần mềm Điều có ích ta suy luận kiến trúc sử dụng giao diện Trực quan hóa suy luận thiết kế hệ thống ký pháp chung Tạo trừu tượng cho việc thực hệ thống, tức cài đặt làm mịn dần thiết kế cách chi tiết hóa Mục tiêu học giới thiệu số phương pháp kỹ thuật thiết kế, việc triển khai hệ thống thành nhiều hệ thống con, nhiều thành phần quản lý vấn đề liên quan http://www.thayphet.net CÔNG NGHỆ PHẦN MỀM 3.1.1 KỸ THUẬT THIẾT KẾ Thiết kế đặc tả đến kỹ thuật cốt lõi tiến trình CNPM cung cấp xem xét mơ hình tiến trình phần mềm sử dụng Thiết kế phần mềm bước ba hoạt động (kỹ thuật - thiết kế, phát sinh mã nguồn, thử nghiệm) Một điểm mấu chốt độ phức tạp hệ thống phần mềm trừu tượng Có hai phương pháp chính: Thiết kế từ xuống (Top- Down) Thiết kế từ lên (Bottom – Up) http://www.thayphet.net CÔNG NGHỆ PHẦN MỀM 3.1.1.1 THIẾT KẾ TRÊN XUỐNG (TOP-DOWN) Thiết kế bắt đầu với việc phân tích định nghĩa u cầu khơng nên xem xét việc thực chi tiết Một dự án triển khai thành dự án nhỏ, thủ tục phải lặp lại nhiệm vụ trở nên đơn giản cho thuật tốn tính tốn giải http://www.thayphet.net 3.1.1.2 THIẾT KẾ TỪ DƢỚI LÊN (BOTTOM–UP) CÔNG NGHỆ PHẦN MỀM Ý tưởng tảng: Hiểu phần cứng tầng chế trừu tượng Kỹ thuật: Thiết kế từ lên bắt đầu cho máy cụ thể liên tiếp phát triển máy trừu tượng sau máy khác thêm vào thuộc tính cần thiết máy đạt kết mà cung cấp chức người dùng yêu cầu http://www.thayphet.net CÔNG NGHỆ PHẦN MỀM 3.1.1.3 THIẾT KẾ HỆ THỐNG Trong hệ thống lớn, tiến trình thiết kế bao gồm số yếu tố thiết kế cho hệ thống, chức phân chia thành chức phần mềm phần cứng Những thuận lợi chức thực phần cứng thành phần phần cứng phân phối thực tốt đơn vị phần cứng Nút thắt hệ thống xác định thay thành phần phần cứng, việc tối ưu phần mềm tốn Ngoài ra, việc cung cấp tốc độ phần cứng có nghĩa thiết kế phần mềm cấu trúc cho khả thích ứng khả xem xét thực thi chức http://www.thayphet.net CÔNG NGHỆ PHẦN MỀM 3.1.1.4 THIẾT KẾ BẢN MẪU (PROTOTYPE) Thiết kế mẫu tạo hình giao diện sơ bộ, hay thiết kế phác thảo nháp cho người dùng tham khảo trước vào thiết kế chi tiết cho toàn phần mềm hay cho chức cụ thể Các thiết kế soạn thảo dạng tài liệu kỹ thuật (tài liệu sưu tập, hay tài liệu kỹ thuật) số phần mềm có khả thiết kế nhanh giao diện, MS Visio, MS Visual Basic / C# / C++, MS Front Page / Visual Interdev … Đây bước đệm trước vào thực chi tiết cho chương trình hay mơ-đun … 10 http://www.thayphet.net CÔNG NGHỆ PHẦN MỀM 3.1.4 THIẾT KẾ HƢỚNG ĐỐI TƢỢNG 37 Ngoài ra, khả tái sử dụng đối tượng đóng vai trị quan trọng lập trình hướng đối tượng (đối với chuyên viên tin học phải thực nhiều phần mềm) Với tiếp cận hướng đối tượng, việc tái sử dụng dễ dàng, nhanh chóng, đồng thời tốn chi phí phần mềm lớp phần mềm gồm đối tượng tương tự nhau, cách xây dựng đối tượng tương tự cho phần mềm khác http://www.thayphet.net CÔNG NGHỆ PHẦN MỀM 3.2 KIẾN TRÚC PHẦN MỀM Kiến trúc phần mềm bao gồm thành phần bản: Giao diện, Xử lý, Dữ liệu Khi thiết kế phần mềm, nhóm thiết kế phải chọn lựa định “vật liệu” dùng thành phần Khi định, kết đặc tả dạng vẽ, dạng tài liệu kỹ thuật, tạo thành mơ hình phần mềm chứa đầy đủ thơng tin gồm: Thành phần Giao diện với thông tin sau: Nội dung hình thức trình bày hình giao tiếp Hệ thống thao tác mà người dùng thực hình giao tiếp xử lý tương ứng 38 Xem thêm phần Thiết kế Giao diện http://www.thayphet.net 3.2 KIẾN TRÚC PHẦN MỀM CÔNG NGHỆ PHẦN MỀM Thành phần Xử lý gồm thông tin sau: Hệ thống kiểu liệu sử dụng Các kiểu liệu mô tả cách tổ chức lưu trữ nhớ Hệ thống hàm sử dụng Các hàm thể tương ứng xử lý (ví dụ kiểm tra tính hợp lệ việc cho mượn sách, ghi vào sổ việc cho mượn sách …) Thành phần Dữ liệu bao gồm: Các thông tin liên quan đến cách tổ chức lưu trữ liệu nhớ phụ, Dạng lưu trữ liệu sử dụng phần mềm, 39 Hệ thống thành phần lưu trữ với quan hệ http://www.thayphet.net CÔNG NGHỆ PHẦN MỀM 3.2 KIẾN TRÚC PHẦN MỀM 40 http://www.thayphet.net CÔNG NGHỆ PHẦN MỀM 3.3 PHƢƠNG PHÁP THIẾT KẾ PHẦN MỀM 41 Phƣơng pháp trực tiếp Phương pháp áp dụng thực phần mềm không qua giai đoạn phân tích, việc thiết kế nhận kết chuyển giao trực tiếp từ giai đoạn xác định yêu cầu Cách tiếp cận khó khăn cho người thực với phần mềm có quy mơ lớn Với PP trực tiếp, thiết kế PM trình cho phép chuyển đổi từ yêu cầu (kết xác định u cầu) đến mơ hình phần mềm tương ứng Mục tiêu việc thiết kế mô tả thành phần phần mềm (Giao diện, Xử lý, Dữ liệu) tương ứng với yêu cầu phần mềm (yêu cầu chức nghiệp vụ, yêu cầu chức hệ thống, ) http://www.thayphet.net CÔNG NGHỆ PHẦN MỀM 3.3 PHƢƠNG PHÁP THIẾT KẾ PHẦN MỀM 42 Phƣơng pháp gián tiếp Được áp dụng với quy trình có giai đoạn phân tích, việc thiết kế nhận phần kết từ giai đoạn xác định yêu cầu, phần nhận qua giai đoạn phân tích, PM xây dựng tương ứng theo mơ hình giai đoạn phân tích Cách tiếp cận thuận lợi đa số trường hợp với phần mềm có quy mô lớn Với PP gián tiếp, thiết kế PM trình cho phép chuyển từ kết giai đoạn phân tích đến mơ hình PM tương ứng Mục tiêu mơ tả thành phần phần mềm (Giao diện, Xử lý, Dữ liệu) tương ứng với mơ hình (mơ hình xử lý, mơ hình liệu) http://www.thayphet.net CÔNG NGHỆ PHẦN MỀM 3.3 PHƢƠNG PHÁP THIẾT KẾ PHẦN MỀM 43 http://www.thayphet.net 3.4 VÍ DỤ MINH HOẠ CƠNG NGHỆ PHẦN MỀM Ví dụ minh họa trình thiết kế phần mềm sau thực giai đoạn mơ hình hóa u cầu 44 Kết trọng tính đắn bỏ qua yêu cầu chất lượng(tiến hóa, hiệu quả, tiện dụng) Kết thực tế xét đầy đủ yêu cầu chất lượng phức tạp khơng thích hợp minh họa Ví dụ: Xét phần mềm quản lý thư viện với yêu cầu: Lập thẻ đọc giả, Nhận sách, Cho mượn sách, Trả sách Mô hình hóa u cầu: Quản lý độc giả Quản lý sách Lập thẻ độc giả Nhập sách Thủ thư Cho mượn Trả sách http://www.thayphet.net 3.4 VÍ DỤ MINH HOẠ Thiết kế phần mềm: Hệ thống hình giao diện : CƠNG NGHỆ PHẦN MỀM Màn hình Nội dung: Thông tin thư viện, Thông tin độc giả, Thông tin sách Thao tác người dùng: Tra cứu chọn độc giả, Tra cứu chọn sách Màn hình Lập thẻ Nội dung: Thông tin thẻ độc giả Thao tác người dùng: Nhập thông tin thẻ, Yêu cầu lập thẻ 45 http://www.thayphet.net CƠNG NGHỆ PHẦN MỀM 3.4 VÍ DỤ MINH HOẠ 46 Màn hình Cho mƣợn sách: Nội dung: Thông tin thẻ độc giả (Ngày mượn sách, Danh mục sách) Thao tác người dùng: Nhập thông tin mượn sách, Yêu cầu mượn sách Màn hình Nhận sách: Nội dung: Ngày nhận sách, Danh mục sách nhận & thông tin liên quan Thao tác người dùng: Nhập thông tin việc cho nhận sách, Yêu cầu cho nhận sách Màn hình Trả sách: Nội dung: Ngày trả sách, Thông tin việc trả sách Thao tác người dùng: Nhập thông tin trả sách, Yêu cầu trả sách http://www.thayphet.net 3.4 VÍ DỤ MINH HOẠ Hệ thống hàm xử lý CÔNG NGHỆ PHẦN MỀM Hàm Lập thẻ: Kiểm tra tính hợp lệ lưu thẻ vào kho Hàm Tra cứu độc giả: Tìm thẻ độc giả theo tiêu chuẩn khác phép cập nhật hay xóa thẻ Hàm Xóa thẻ: Xóa thẻ kho Hàm Nhập sách: Kiểm tra tính hợp lệ sách lưu sách vào kho Hàm Xóa sách: Xóa sách kho Hàm Cho mượn sách: Kiểm tra tính hợp lệ việc cho mượn sách ghi nhận thông tin cho mượn sách vào kho 47 Hàm Tra cứu sách: Tìm sách theo tiêu chuẩn khác phép cập nhật hay xóa sách http://www.thayphet.net 3.4 VÍ DỤ MINH HOẠ CƠNG NGHỆ PHẦN MỀM Hàm Tính số sách độc giả mượn: Tính số lượng sách độc giả mượn chưa trả Hàm Kiểm tra độc giả có sách mượn hạn: Kiểm tra độc giả có sách mượn hạn trả đúng, sai Hàm Kiểm tra tình trạng sách: Kiểm tra sách mượn trả sai Hàm Tra cứu phiếu cho mượn sách: Tra cứu phiếu mượn sách theo nhiều tiêu chuẩn để cập nhật hay số phiếu cho mượn Hàm Xóa phiếu cho mượn sách: Xóa thơng tin việc mượn sách kho Hàm Trả sách: Ghi nhận việc trả sách kho 48 Hàm Tính tiền phạt: Tính tiền phạt độc giả trả sách trễ hạn http://www.thayphet.net 3.4 VÍ DỤ MINH HOẠ CƠNG NGHỆ PHẦN MỀM Hệ thống bảng liệu THU_VIEN DOC_GIA SACH MUON_SACH Bảng THU_VIEN: thông tin thư viện Bảng DOC_GIA: thông tin độc giả Bảng SACH: thông tin sách Bảng MUON_SACH: thông tin mượn trả sách 49 http://www.thayphet.net TĨM TẮT CƠNG NGHỆ PHẦN MỀM Trong này, quan tâm vấn đề liên quan đến phương pháp thiết kế như: Kỹ thuật thiết kế: Thiết kế từ xuống (Top-down), từ lên (Bottom–up) Thiết kế Hệ thống, Thiết kế Bản mẫu (Prototype) Phân rã Thiết kế Thiết kế giao diện người dùng Thiết kế hướng chức thiết kế hướng đối tượng Kiến trúc phần mềm Phương pháp thiết kế phần mềm 50 50 http://www.thayphet.net BÀI TẬP CÔNG NGHỆ PHẦN MỀM Phụ lục A trang 170 51 Phụ lục B trang 179 51