Bài giảng Công nghệ phần mềm - Thiết kế phần mềm
Tổng quan về thiết kế
Mục tiêu của việc thiết kế là định hình hệ thống và tìm dạng thức của phần mềm có thể đáp ứng được mọi yêu cầu.
Dữ liệu đầu vào của giai đọn thiết kế: Kết quả thu được từ bước phân tích trước đó.
Mục đích thiết kế:
Hiểu rõ về yêu cầu và những ràng buộc có liên quan, khả năng tái sử dụng của các thành phần.
Tạo đầu vào thích hợp và điểm xuất phát cho các hoạt động hiện thực
Có thể phân rã việc cài đặt thành các phần nhỏ dễ quản lý để nhiều nhóm phát triển xử lý đồng thời.
Lựa chọn kiến trúc phù hợp với hệ thống.
Có hai phương pháp chính:
Thiết kế từ trên xuống (Top- Down)
Thiết kế từ dưới lên (Bottom – Up)
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Công nghệ phần mềm - Thiết kế phần mềm", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Công nghệ phần mềm - Thiết kế phần mềm
con và quyết định các xử lý tương ứng Quá trình kết thúc khi đạt đến các sơ đồ không thể tiếp tục phân rã được nữa, đ ây là sơ đồ tương ứng với công việc cụ thể. Nhận xét: Cách tiếp cận từ trên xuống Thích hợp với phần mềm có số lượng người dùng, số lượng các yêu cầu ít (nếu ngược lại sơ đồ cấp 0 sẽ rất phức tạp và khó lập chính xác). Đặc biệt thích hợp với các loại phần mềm mà yêu cầu chưa được xác định rõ ngay từ đầu (ví dụ các phần mềm hệ thống). ít được sử dụng. 15 3.1.1.5 Phân rã thiết kế Tiếp cận từ d ư ới lên (bottom-up) Lập sơ đồ luồng dữ liệu ở mức cao nhất . Tích hợp các sơ đồ này để tạo các sơ đồ có cấp nhỏ hơn theo cách: Tích hợp các xử lý của các sơ đồ cấp k vào sơ đồ cấp k-1 và giữ nguyên các luồng dữ liệu của các sơ đồ cấp k Tích hợp đồng thời các xử lý và các luồng dữ liệu của các sơ đồ cấp k để tạo lập sơ đồ cấp k-1. Quá trình kết thúc khi đạt đến các sơ đồ cấp 0 16 3.1.1.5 Phân rã thiết kế Nhận xét: Cách tiếp cận từ dưới lên Thích hợp với các phần mềm có yêu cầu chi tiết, cụ thể và có quy mô t rung bình. Khó thực hiện với các dự án có quy mô lớn và yêu cầu chưa đ ư ợc rõ ràng chi tiết 17 3.1.1.5 Phân rã thiết kế H ư ớng tiếp cận phối hợp : Lập sơ đồ luồng dữ liệu cấp k theo tiêu chí xác định Phân rã sơ đồ cấp k thành nhiều sơ đồ cấp k+1 tiếp tục cho đến khi đạt được các sơ đồ lá. Tích hợp các sơ đồ cấp k thành các sơ đồ cấp k-1 tiếp tục cho đến khi đạt được sơ đồ cấp 0. Nhận xét Cách tiếp cận phối h ợ p t hích hợp cho các phần mềm có quy mô yêu cầu lớn, phức tạp Được dùng nhiều trong thực tế . 18 3.1.1.5 Phân rã thiết kế Lập sơ đồ luồng dữ liệu cho từng công việc Việ c lập các sơ đồ luồng dữ liệu cho toàn bộ phần mềm sẽ trở thành lập sơ đồ luồng dữ liệu cho từng công việc . S au đó tích hợp để có sơ đồ cấp 0 . Quá trình lập sơ đồ luồng dữ liệu cho một công việc được tiến hành qua 3 bước . Xác định dữ liệu nhập Xác định dữ liệu xuất Mô tả cách xử lý 19 3.1.1.5 Phân rã thiết kế Bước 1: Xác định dữ liệu nhập , dữ liệu nhập phải thỏ a điều kiện sau : Không nhập vào các dữ liệu có thể tính toán được dựa trên quy định hay công thức đã có. Không nhập vào các dữ liệu đã được lưu trữ trước đó. Dữ liệu nhập từ thiết bị nhập khác chỉ được xem xét khi có yêu cầu đặc biệt trong một số phần mềm đặc biệt như: hệ thống thời gian thực, hệ thống bản đồ, nhập qua điện thoại tổng đài 20 3.1.1.5 Phân rã thiết kế Bước 2: Xác định dữ liệu xuất Cần phải có c ác thông báo giúp ng ư ời dùng biết đ ư ợc kết quả xử lý của hệ thống. V í dụ thông báo việc mượn sách là không hợp lệ T ăng tính tiện dụng : trong tất cả các xử lý (kể cả các xử lý lưu trữ, tính toán) cần phải xuất cho người dùng các thông tin về kết quả . Tất cả dữ liệu xuất ra màn hình thì phải xuất ra đ ư ợc trên máy in. Đối với các loại thiết bị xuất khác cần phải có các loại phần mềm đặc biệt . 21 3.1.1.5 Phân rã thiết kế Bước 3: Mô tả Xử lý Chỉ mô tả cách xử lý mà không cần chú ý đến cách thực hiện nhập xuất Khi mô tả cách sử dụng dữ liệu nhập để tạo dữ liệu xuất, việc mô tả càng chi tiết thì việc thiết kế xử lý càng dễ dàng. Chỉ chú trọng đến tính đúng đắn Mô tả chính xác thứ tự nhập/xuất 22 3.1.1.5 Phân rã thiết kế Xây dựng mô hình thực thể kết hợp (ERD) Mô hình ERD là dạng sơ đồ giúp thể hiện các đối tượng dữ liệu được đặc tả trong yêu cầu của phần mềm, tạo nền tảng cho việc thiết kế chi tiết cơ sở dữ liệu cho phần mềm . 23 3.1.1.5 Phân rã thiết kế Phân rã h ư ớng đối t ư ợng M ột hệ thống phần mềm được xem như tập hợp các đối tượng , mỗi đối tượng có cấu trúc dữ liệu và hành vi. P hân rã hướng đối tượng hướng đến tính đồng nhất giữa dữ liệu , hành vi dựa trên sự che dấu thống tin và dẫn xuất kế thừa. 24 3.1.1.5 Phân rã thiết kế Thiết kế giao diện người dùng Thiết kế giao diện được hỗ trợ một phần trong thiết kế dạng mô hình bản mẫu (prototype) nhằm làm rỏ các yêu cầu từ người dùng và đáp ứng các yêu cầu về giao diện. Nếu khách hàng đồng ý với bản mẫu đã đưa ra trong giai đoạn xác định yêu cầu, kỹ sư thiết kế sẽ hoàn chỉnh thêm để đảm bảo chính xác yêu cầu người dùng . 25 3.1.2 Thiết kế giao diện ng ư ời dùng Các yếu tố cần quan tâm trong thiết kế giao diện Chế độ (modes) : T rường hợp mà người dùng chỉ có thể thực hiện ở một số thao tác giới hạn. Kỹ thuật tạo/sử dụng cửa sổ có thể cung cấp dịch vụ có giá trị về biểu diễn chế độ của chương trình, giúp thực hiện các thao tác trong những cửa sổ khác nhau thể hiện bởi những chế độ chương trình khác nhau. 26 3.1.2 Thiết kế giao diện ng ư ời dùng Th anh menu : giúp ng ư ời dùng chọn lệnh của ch ư ơng trình . Có hai dạng menu Dạng Pop-up menu : là menu có thể xuất hiện ở một vị trí bất kỳ. Dạng Pull-down menu: là dạng mở rộng tập lệnh và dễ dàng sử dụng. C ó thể phân loại menu theo tập lệnh thao tác với tham số, tập lệnh chuyển đối chế độ người dùng. 27 3.1.2 Thiết kế giao diện ng ư ời dùng D ialog window : dạng hộp thoại giúp người dùng có thể tương tác với ch ư ơng trình linh hoạt h ơ n. Khi thiết kế hộp thoại, ta cần đảm bảo tính đồng nhất trong giao diện người dùng, nên ngắn gọn cô động như cách đặt nhãn Label, Checkbox, Button, List box. Màu sắc Màu được dùng ở những nơi cần làm nổi bật những yêu cầu hoặc cần nhấn mạnh một nội dung , hoặc dấu hiệu cảnh báo nguy hiểm . Nên sử dụng màu hài hòa trong toàn bộ hệ thống Sử dụng màu phải phù hợp với từng loại giao diện của ch ư ơng trình 28 3.1.2 Thiết kế giao diện ng ư ời dùng Âm Thanh là cách tốt nhất tập trung sự chú ý của người dùng. Chúng được phần mềm phù hợp trong các tình huống xử lý lỗi, sự kiện không chắc chắn, tạm thời. N ên tạo những âm thanh khác nhau với những sự kiện khác nhau, tránh dùng âm thanh gây ồn. Tính kiên định Th anh lệnh : với những chức năng giống nhau nên có vị trí giống nhau Phím tắt : nên dùng cho một số chức năng của phần mềm và nên cố định. Nút lệnh của những chức năng tương tự nên có nhãn và vị trí giống nhau 29 3.1.2 Thiết kế giao diện ng ư ời dùng Thiết kế hướng chức năng : tập trung vào thuật toán để giải quyết vấn đề. Xem một thuật toán như một hàm tính toán với các tham số đầu vào . Tại thời điểm bắt đầu giai đoạn thiết kế , thuật toán ch ư a xác định . Cần xây dựng những thuật toán để giải quyết những tác nhiệm khó hoặc phức tạp của phần mềm. Việc module hóa để phân rã những công việc thành các công việc con độc lập dựa vào thuật toán xử lý các công việc con Kết quả chung của những giải pháp dựa trên các thuật toán con gộp lại. 30 3.1.3. Thiết kế h ư ớng chức năng Thiết kế hướng đối tượng là tổ chức thiết kế xoay quanh những đối tượng và mối liên hệ giữa chúng , bao gồm: Thiết kế lớp đối tượng : xây dựng các lớp đối tượng bao gồm thuộc tính và hành vi của các đối t ư ợng , Thiết kế giao diện : xây dựng giao diện (interface) của lớp đối tượng t ư ơng ứng với từng trách nhiệm của lớp đối t ư ợng. Thiết kế dữ liệu : thiết kế cách thức tổ chức lưu trữ các đối tượng trên bộ nhớ phụ . Khả năng tái sử dụng : đóng vai trò quan trọng trong lập trình hướng đối tượng 31 3.1.3. Thiết kế h ư ớng đối t ư ợng Kiến trúc phần mềm của một chương trình máy tính là cấu trúc của các thành phần bên trong hệ thống, các mối quan hệ (cấu trúc) và cách tương tác giữa các thành phần với nhau. Kiến trúc phần mềm bao gồm các phần tử chức năng, các thuộc tính và mối quan hệ giữa chúng. Kiến trúc phần mềm giúp việc quyết định ở mức cao trong thiết kế phần mềm dễ dàng hơn và cho phép tái sử dụng các thành phần và mẫu thiết kế của các dự án. 32 3.2. Kiến trúc phần mềm 33 3.2. Kiến trúc phần mềm Kiến trúc phần mềm bao gồm các thành phần cơ bản: Giao diện , Xử lý , Dữ liệu . Khi thiết kế một phần mềm, nhóm thiết kế phải chọn lựa và ra quyết định về các “vật liệu” được dùng trong các thành phần. Kết quả đ ư ợc trình bày trên các bản g vẽ, dưới dạng tài liệu kỹ thuật, tạo thành các mô hình phần mềm . 34 3.2. Kiến trúc phần mềm Thành phần Giao diện Nội dung và hình thức trình bày các chức năng giao tiếp Các t hao tác của người dùng trên giao diện để thực hiện các giao tiếp và các chức năng xử lý. Thành phần Xử lý : Các kiểu dữ liệu được mô tả về cách tổ chức lưu trữ trong bộ nhớ chính. Các hàm thực hiện các 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 ) 35 3.2. Kiến trúc phần mềm Thành phần Dữ liệu : cách tổ chức lưu trữ dữ liệu trong bộ nhớ Cách lưu trữ của dữ liệu được sử dụng của phần mềm, Hệ thống các thành phần lưu trữ và mối quan hệ giữa các dữ liệu . 36 3.2. Kiến trúc phần mềm Một số mô hình kiến trúc mẫu Model-ViewController – MVC Kiến trúc phân tầng Kiến trúc client-server 37 3.2. Kiến trúc phần mềm Kiến trúc Model-View-Controller – MVC Hệ thống được cấu trúc thành ba thành phần logic tương tác với nhau. Model : quản lý dữ liệu của hệ thống và các thao tác trên dữ liệu View : định nghĩa và quản lý cách dữ liệu được hiển thị cho người dùng Controller : Quản lý tương tác người dùng ( VD, ấn phím, nhấp chuột, ...) và chuyển các tương tác này tới View và Model. 38 3.2. Kiến trúc phần mềm Kiến trúc Model-View-Controller – MVC Hoạt động của MVC Controller chuyển yêu cầu dữ liệu của ng ư ời dùng cho Model . Model Lấy được dữ liệu chuyển cho Controller . Controller chuyển dữ liệu cho View View Hiển thị thông tin cho ng ư ời dùng . 39 3.2. Kiến trúc phần mềm Kiến trúc Client-Server (máy khách-máy chủ) là một mô hình máy tính, trong đó máy chủ (server), cung cấp và quản lý hầu hết các nguồn lực và dịch vụ cho máy khách (client). 40 3.2. Kiến trúc phần mềm Kiến trúc 3 Layer: gồm có 3 thành phần: Presentation Layers, Business Logic Layers, và Data Access Layers Presentation Layers : làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và hiển thị kết quả trên giao diện. Busines Logic Layers : xử lý các dữ liệu trước khi chuyển xuống Data Access Layer để lưu dữ liệu xuống cơ sở dữ liệu. Data Access Layers : thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu của ứng dụng như đọc, lưu, cập nhật cơ sở dữ liệu . 41 3.2. Kiến trúc phần mềm Kiến trúc 3 Layer: Cách vận hành: Ng ư ời dùng giao tiếp với tầng giao diện (GUI) để gửi yêu cầu, các thông tin sẽ được kiểm tra, nếu OK , dữ liệu được chuyển xuống tầng nghiệp vụ (BLL). Tại BLL, các thông tin sẽ được xử lý, nếu không cần đến Database thì BLL sẽ gửi trả kết quả về GUI, ngược lại dữ liệu đ ư ợc đ ư a xuống tầng truy cập dữ liệu (DAL). DAL sẽ thao tác với Database và trả kết quả cho BLL, BLL kiểm tra và gửi cho GUI để hiển thị cho người dùng. 42 3.2. Kiến trúc phần mềm Ph ư ơng pháp trực tiếp Phương pháp này được áp dụng khi thực hiện phần mềm không qua giai đoạn phân tích , việc thiết kế nhận kết quả đ ư ơc c huyển giao trực tiếp từ giai đoạn xác định yêu cầu . Đối với ph ư ơng pháp trực tiếp: Thiết kế phần mềm là quá trình chuyển đổi từ các yêu cầu đến mô hình phần mềm tương ứng . Cách tiếp cận này rất khó đối với các phần mềm có quy mô lớn 43 3.3. Ph ư ơng pháp thiết kế phần mềm Ph ư ơng pháp gián tiếp Được áp dụng với các quy trình có giai đoạn phân tích , việc thiết kế chỉ nhận 1 phần kết quả từ giai đoạn xác định yêu cầu , phần chính được nhận từ giai đoạn phân tích, PM được xây dựng dựa trên các mô hình trong giai đoạn phân tích. Cách tiếp cận này thích hợp với các phần mềm có quy mô lớn. Đối với ph ư ơng pháp gián tiếp: T hiết kế PM là quá trình chuyển từ kết quả giai đoạn phân tích đến mô hình phần mêm tương ứng. 44 3.3. Ph ư ơng pháp thiết kế phần mềm Ví dụ minh họa quá trình thiết kế phần mềm sau khi thực hiện giai đoạn mô hình hóa yêu cầu . Thiết kế phần mềm quản lý thư viện với 4 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 các yêu cầu: 45 3.4. Ví dụ minh hoạ Thiết kế phần mềm : Hệ thống các màn hình giao diện Màn hình chính Nội dung : Thông tin về thư viện, Thông tin về độc giả, Thông tin về sách. Thao tác người dùng: Tra cứu và chọn độc giả, Tra cứu và chọn sách. Màn hình Lập thẻ Nội dung : Thông tin về thẻ độc giả. Thao tác người dùng : Nhập thông tin về thẻ, Yêu cầu lập thẻ 46 3.4. Ví dụ minh hoạ Màn hình c ho m ư ợn sách Nội dung : Thông tin về 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 về 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 về 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. 47 3.4. Ví dụ minh hoạ Hệ thống các hàm xử lý Hàm l ập thẻ : Kiểm tra tính hợp lệ và lưu thẻ vào kho Hàm Tra cứu độc giả : Tìm thẻ độc giả theo các tiêu chuẩn khác nhau để cho phép cập nhật hay xóa thẻ Hàm Xóa thẻ : Xóa thẻ trong kho Hàm Nhập sách : Kiểm tra tính hợp lệ của sách và lưu sách vào kho Hàm Xóa sách: Xóa sách trong kho Hàm Cho mượn sách : Kiểm tra tính hợp lệ của việc cho mượn sách và ghi nhận các thông tin cho mượn sách vào kho Hàm Tra cứu sách: Tìm sách theo các tiêu chuẩn khác nhau để cho phép cập nhật hay xóa sách 48 3.4. Ví dụ minh hoạ Hàm Tính số sách độc giả đang mượn : tổng số sách độc giả đang mượn Hàm Kiểm tra độc giả mượn sách quá hạn : Kiểm tra độc giả có sách mượn quá hạn và trả về 1 nếu đúng, 0 nếu sai Hàm Kiểm tra tình trạng sách : Kiểm tra sách đang được mượn , hàm trả về 1 nếu đúng và 0 nếu sai Hàm Tra cứu phiếu cho mượn sách : Tra cứu các 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 trong kho Hàm Trả sách : Ghi nhận việc trả sách trong kho Hàm Tính tiền phạt : Tính tiền phạt khi độc giả trả sách trễ hạn 49 3.4. Ví dụ minh hoạ Hệ thống các bảng dữ liệu Bảng THU_VIEN: các thông tin về thư viện Bảng DOC_GIA: các thông tin về độc giả Bảng SACH: các thông tin về sách Bảng MUON_SACH: các thông tin về mượn trả sách 50 3.4. Ví dụ minh hoạ 1. Theo 6 nguyên tắc, Kỷ luật thứ ba là gì? A. Triển khai B. Thực hiện C. Mô hình hóa kinh doanh D . Thiết kế 51 Câu hỏi 2. Các bước được gọi trong Quy trình hợp nhất (UP) là gì A. Lặp lại ( Iterations) B. Vòng đời phát triển hệ thống (System Development Life Cycle) C. Kỷ luật (Disciplines) D. Kiến trúc thông tin (Information Architecture) 52 Câu hỏi 3 . KHÔNG phải là một hoạt động thiết kế chi tiết? A. Thiết kế phần mềm ứng dụng B. Thiết kế các cơ chế sao lưu và phục hồi hệ thống C. Thiết kế giao diện người dùng và hệ thống bên ngoài D . Thiết kế kiến trúc 53 Câu hỏi 4 . ____ là các yêu cầu và ràng buộc xác định các đặc điểm quan trọng của tài nguyên xử lý thông tin và cách chúng tương tác. A. Kiến trúc hệ thống B. Kiến trúc thông tin C. Kiến trúc Internet D. Thực hiện 54 Câu hỏi
File đính kèm:
- bai_giang_cong_nghe_phan_mem_thiet_ke_phan_mem.pptx