1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng Công nghệ phần mềm Phần 2 ĐH Sư phạm kỹ thuật Nam Định

154 10 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 154
Dung lượng 3,15 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tầm quan trọng của quá trình thiết kế Như vậy, thiết kế là một thực tế về một quyết định chọn lựa, xây dựng một đặc tả về hành vi nhìn thấy được từ bên ngoài và bổ sung các chi tiết cần

Trang 1

Chương 5 THIẾT KẾ PHẦN MỀM

5.1 Đặc điểm của quá trình thiết kế phần mềm

Xây dựng ứng dụng phần mềm là một dây chuyền các chuyển đổi, mà ở đó phân tích nhằm xác định ứng dụng sẽ thực hiện cái gì (what) còn thiết kế nhằm để trả lời câu hỏi phần mềm cụ thể sẽ như thế nào (how)? Tức là xác định cách thức thực hiện những gì đã được đặt ra ở phần phân tích

Trong ba giai đoạn: thiết kế, cài đặt và bảo trì thì thiết kế là giai đoạn quan trọng nhất, chịu trách nhiệm đến 80% đối với sự thành công của một sản phẩm Cài đặt

là việc thực thi những gì đã thiết kế Nếu trong quá trình cài đặt có xuất hiện vấn đề thì phải quay lại sửa bản thiết kế Quá trình thiết kế tốt là cơ sở để quản lý và giảm chi phí cho công việc bảo trì phần mềm sau này

Nhiệm vụ của thiết kế là chuyển đổi những yêu cầu của hệ thống (kết quả của quá trình phân tích) sang dạng biểu diễn của hệ thống phần mềm Nghĩa là xây dựng các mô tả văn bản (thiết kế chi tiết) nêu rõ mối quan hệ giữa tiền điều kiện và hậu điều kiện cho tất cả các chức năng (quá trình) của hệ thống Tiền điều kiện xác định những cái sẽ nhận giá trị chân lý đúng trước khi một quá trình thực hiện, còn hậu điều kiện xác định những điều sẽ nhận giá trị đúng khi chấp nhận tiền điều kiện và khi quá trình

đó kết thúc thành công

Tầm quan trọng của thiết kế được thể hiện qua hình 5.1:

Hình 5.1 Tầm quan trọng của quá trình thiết kế

Như vậy, thiết kế là một thực tế về một quyết định chọn lựa, xây dựng một đặc

tả về hành vi nhìn thấy được từ bên ngoài và bổ sung các chi tiết cần thiết cho việc cài đặt trên hệ thống máy tính bao gồm cả chi tiết về tổ chức quản lý dữ liệu, công việc và tương tác với con người Thiết kế phải nhờ vào các kinh nghiệm và phải học tập những cái có sẵn từ các hệ thống khác; không thể chỉ đọc sách là đủ Bản thiết kế tốt là chìa khóa cho sự thành công của hệ thống

Trang 2

Mối liên quan của thiết kế phần mềm với công nghệ phần mềm được thể hiện qua sơ đồ hình 5.2:

Hình 5.2 Mối liên quan của giai đoạn thiết kế với các giai đoạn khác

Thiết kế phần mềm là hoạt động được xác lập dựa trên hai mặt: quản lý và kỹ thuật, chúng đan xen với nhau Mối quan hệ giữa hai khía cạnh kỹ thuật và quản lý được thể hiện qua hình 5.3:

Hình 5.3 Các giai đoạn thiết kế

Trong quan điểm quản lý, thiết kế phần mềm được tiến hành 2 bước:

- Thiết kế sơ bộ: quan tâm đến việc dịch các yêu cầu thành các kiến trúc dữ liệu

Trang 3

- Thiết kế thủ tục

- Thiết kế đối tượng

- Thiết kế giao diện

Các hoạt động của giai đoạn thiết kế phần mềm theo khía cạnh kỹ thuật được biểu diễn như hình qua hình 5.4 Trong đó, hoạt động thiết kế xử lý gồm hai hoạt động: Thiết kế thủ tục và thiết kế đối tượng

Hình 5.4 Các giai đoạn thiết kế theo khía cạnh kỹ thuật

Các kết quả cần có khi thiết kế hệ thống theo khía cạnh kỹ thuật

Bảng 5.1 Kết quả của các giai đoạn thiết kế theo khía cạnh kỹ thuật

2 Thiết kế xử lý

Hệ thống các hàm cùng với cấu trúc

dữ liệu tương ứng

- Danh sách các hàm

- Danh sách các kiểu dữ liệu

- Mô tả chi tiết từng hàm

- Mô tả chi tiết các kiểu dữ liệu

tả bằng nhiều mức khác nhau của cách tiếp cận trừu tượng hóa, nhằm tách các bộ phận cấu thành của bài toán nhằm nâng cao độ chắc chắn, độ tin cậy của hệ thống

Trang 4

Hình 5.5 Tiến trình thiết kế

5.2 Chiến lược thiết kế

Do các hệ phần mềm lớn là phức tạp nên người ta thường dùng các phương pháp tiếp cận khác nhau trong việc thiết kế các phần khác nhau của một hệ thống Chẳng có một chiến lược tốt nhất nào cho các dự án Hai chiến lược thiết kế hiện đang được dùng rộng rãi trong việc phát triển phần mềm đó là thiết kế hướng chức năng và thiết

kế hướng đối tượng Mỗi chiến lược thiết kế đều có ưu và nhược điểm riêng phụ thuộc vào ứng dụng phát triển và nhóm phát triển phần mềm

Cách tiếp cận hướng chức năng hay hướng đối tượng là bổ sung và hỗ trợ cho nhau chứ không phải là đối kháng nhau Kỹ sư phần mềm sẽ chọn cách tiếp cận thích hợp nhất cho từng giai đoạn thiết kế

5.2.1 Thiết kế hướng chức năng

Thiết kế hướng chức năng là một cách tiếp cận thiết kế phần mềm trong đó bản thiết kế được phân giải thành một bộ các đơn thể được tác động lẫn nhau, mà một đơn thể có một chức năng được xác định rõ ràng Các chức năng có các trạng thái cục bộ nhưng chúng chia sẻ với nhau trạng thái hệ thống, trạng thái này là tập trung và mọi chức năng đều có thể truy cập được

Một số quan niệm cho rằng thiết kế hướng chức năng đã lỗi thời và nên được thay thế bởi cách tiếp cận hướng đối tượng Thế nhưng, nhiều tổ chức đã phát triển các chuẩn và các phương pháp dựa trên sự phân giải chức năng Nhiều phương pháp thiết

kế kết hợp với các công cụ CASE đều là hướng chức năng và có nhiều hệ thống đã được phát triển bằng cách sử dụng phương pháp tiếp cận hướng chức năng Các hệ thống đó sẽ phải được bảo trì cho một tương lai xa xôi Bởi vậy thiết kế hướng chức năng vẫn sẽ còn được tiếp tục sử dụng rộng rãi

Chiến lược thiết kế hướng chức năng dựa trên việc phân giải hệ thống thành một bộ các chức năng có tương tác nhau với trạng thái hệ thống tập trung dùng chung cho các chức năng đó Các chức năng này có thể có các thông tin trạng thái cục bộ nhưng chỉ dùng cho quá trình thực hiện chức năng đó mà thôi

Trang 5

Thiết kế hướng chức năng gắn với các chi tiết của một thuật toán của chức năng đó nhưng các thông tin trạng thái hệ thống là không bị che dấu Điều này có thể gây ra một vấn đề vì rằng một chức năng có thể thay đổi trạng thái theo một cách mà các chức năng khác không ngờ tới Việc thay đổi một chức năng và cách nó sử dụng trạng thái hệ thống có thể gây ra những tương tác bất ngờ đối với các chức năng khác

Do đó cách tiếp cận chức năng để thiết kế là thắng lợi nhất khi mà khối lượng thông tin trạng thái hệ thống là được làm nhỏ nhất và thông tin dùng chung nhau là rõ ràng

5.2.2 Thiết kế hướng đối tượng

Hệ thống được nhìn nhận như một bộ các đối tượng Hệ thống được phân tán, mỗi đối tượng có những thông tin trạng thái riêng của nó Đối tượng là một bộ các thuộc tính xác định trạng thái của đối tượng đó và các phép toán của nó Nó được thừa kế từ một vài lớp đối tượng lớp cao hơn, sao cho dễ định nghĩa nó chỉ cần nêu đủ các khác nhau giữa nó và các lớp cao hơn nó

Che dấu thông tin là chiến lược thiết kế dấu càng nhiều thông tin trong các thành phần càng hay Cái đó ngầm hiểu rằng việc kết hợp điều khiển logic và cấu trúc dữ liệu được thực hiện trong thiết kế càng chậm càng tốt Liên lạc thông qua các thông tin trạng thái dùng chung (các biến tổng thể) là ít nhất, nhờ vậy khả năng hiểu là được tăng lên Thiết kế là tương đối dễ thay đổi vì sự thay đổi một thành phần không thể không dự kiến các hiệu ứng phụ trên các thành phần khác

Thiết kế hướng đối tượng là dựa trên việc che dấu thông tin, nhìn hệ phần mềm như là một bộ các đối tượng tương tác với nhau chứ không phải là một bộ các chức năng như cách tiếp cận chức năng Các đối tượng này có một trạng thái được che dấu

và các phép toán trên các trạng thái đó Thiết kế biểu thị các dịch vụ được yêu cầu và được cung cấp bởi các đối tượng có tương tác với nó Thiết kế hướng đối tượng có ba đặc trưng:

- Vùng dữ liệu dùng chung là bị loại bỏ Các đối tượng liên lạc với nhau bằng cách trao đổi thông báo chứ không phải bằng các biến dùng chung

- Các đối tượng là các thực thể độc lập mà chúng sẵn sàng được thay đổi vì rằng tất

cả các trạng thái và các thông tin biểu diễn là chỉ ảnh hưởng trong phạm vi chính đối tượng đó thôi Các thay đổi về biểu diễn thông tin có thể được thực hiện không cần sự tham khảo tới các đối tượng hệ thống khác

- Các đối tượng có thể phân tán và có thể hành động tuần tự hoặc song song Không cần có quyết định về tính song song ngay từ một giai đoạn sớm của quá trình thiết kế

Các ưu điểm của phương pháp thiết kế hướng đối tượng:

Trang 6

- Dễ bảo trì vì các đối tượng là độc lập Các đối tượng có thể hiểu và cải biên như

là một thực thể độc lập Thay đổi trong thực hiện một đối tượng hoặc thêm các dịch vụ

sẽ không làm ảnh hưởng tới các đối tượng hệ thống khác

- Các đối tượng là các thành phần dùng lại được thích hợp (do tính độc lập của chúng) Một thiết kế có thể dùng lại được các đối tượng đã được thiết kế trong các bản thiết kế trước đó

- Đối với một vài lớp hệ thống, có một phản ánh rõ ràng giữa các thực thể có thực (chẳng hạn như các thành phần phần cứng) với các đối tượng điều khiển nó trong hệ thống Điều này cải thiện được tính dễ hiểu của thiết kế

Các nhược điểm của phương pháp thiết kế hướng đối tượng:

- Sự nhận minh các đối tượng hệ thống thích hợp là khó khăn Cách nhìn tự nhiên

nhiều hệ thống là cách nhìn chức năng và việc thích nghi với cách nhìn hướng đối tượng đôi khi là khó khăn

- Phương pháp thiết kế hướng đối tượng vẫn còn là tương đối chưa chín muồi và đang thay đổi mau chóng

Ở đây, cần phân biệt hai khái niệm là thiết kế hướng đối tượng và lập trình (cài đặt) hướng đối tượng:

- Thiết kế hướng đối tượng là một chiến lược thiết kế nó không phụ thuộc vào một ngôn ngữ thực hiện cụ thể nào Các ngôn ngữ lập trình hướng đối tượng và các khả năng bao gói đối tượng làm cho thiết kế hướng đối tượng được thực hiện một cách đơn giản hơn Tuy nhiên một thiết kế hướng đối tượng cũng có thể được thực hiện trong một ngôn ngữ kiểu như Pascal hoặc C mà không có các đặc điểm như vậy

- Việc chấp nhận thiết kế hướng đối tượng như là một chiến lược hữu hiệu đã dẫn đến sự phát triển phương pháp thiết kế hướng đối tượng Như Ada không phải là ngôn ngữ lập trình hướng đối tượng vì nó không trợ giúp sự thừa kế của các lớp, nhưng lại

có thể thực hiện các đối tượng trong Ada bằng cách sử dụng các gói hoặc các nhiệm

vụ, do đó Ada được dùng để mô tả các thiết kế hướng đối tượng

- Thiết kế hướng đối tượng là một chiến lược thiết kế, nó không phụ thuộc vào ngôn ngữ để thực hiện Các ngôn ngữ lập trình hướng đối tượng và khả năng bao gói

dữ liệu làm cho dễ thực hiện một thiết kế hướng đối tượng hơn Tuy nhiên cũng có thể thực hiện một thiết kế hướng đối tượng trong một ngôn ngữ kiểu như Pascal hoặc C

5.3 Thiết kế kiến trúc ứng dụng

5.3.1 Khái niệm

Kiến trúc của phần mềm ứng dụng được suy dẫn ra qua tiến trình phân hoạch đặt mối quan hệ giữa các phần tử của giải pháp phần mềm với các bộ phận của thế giới thực được xác định không tường minh trong phân tích yêu cầu Các hệ thống lớn có thể được phân rã thành các phân hệ cung cấp các dịch vụ Mỗi phân hệ có các module

Trang 7

và có một giao diện xác định để giao tiếp với các phân hệ khác Nó là một hệ thống có quyền riêng của mình cho phép các hoạt động không phụ thuộc vào các dịch vụ của các phân hệ khác

Quy trình thiết kế khởi đầu để xác định các phân hệ của hệ thống và thiết lập một khuôn khổ điều khiển và truyền thông giữa các phân hệ được gọi là thiết kế kiến trúc cho ứng dụng Thiết kế kiến trúc ứng dụng luôn được tiến hành trước khi có các đặc tả chi tiết về hệ thống

Việc phân rã kiến trúc hệ thống là cần thiết cho việc cấu trúc và tổ chức đặc tả và chứa các hoạt động sau:

- Cấu trúc hệ thống: Hệ thống được cấu trúc thành một số các phân hệ, mỗi phân hệ

là một đơn vị phần mềm độc lập Các liên kết thông tin giữa các phân hệ được xác định

- Mô hình hoá điều khiển: Một mô hình chung về các quan hệ điều khiển giữa các thành phần của hệ thống được thiết lập

- Phân rã mô hình: Mỗi phân hệ đã xác định sẽ được phân rã thành các module Kiến trúc sư sẽ phải quyết định các kiểu module và các kết nối

Kết quả của thiết kế kiến trúc ứng dụng là tài liệu thiết kế kiến trúc Tài liệu thiết

Giai đoạn đầu tiên của thiết kế kiến trúc là việc phân rã hệ thống thành nhiều phân

hệ tương tác nhau Tại mức trừu tượng nhất, một thiết kế kiến trúc có thể được coi như

là một sơ đồ khối trong đó mỗi khối đại diện cho một phân hệ Các hộp nằm trong một khối được coi là phân hệ con của phân hệ Các mũi tên đại diện cho các điều khiển hoặc các dữ liệu giao tiếp giữa các phân hệ Sau đó, một số mô hình đặc trưng hơn được phát triển để biểu diễn các dữ liệu chia sẻ, các giao diện và phân phối dữ liệu

giữa các phân hệ trong ứng dụng

5.3.2 Các mô hình thiết kế ứng dụng

1) Mô hình kho dữ liệu (Data Warehouse Model)

Các phân hệ cần trao đổi thông tin, và nó có thể tiến hành theo hai cách:

- Mỗi phân hệ duy trì một cơ sở dữ liệu riêng của mình Dữ liệu được trao đổi giữa các phân hệ bằng cách chuyển đổi các thông báo

- Mọi dữ liệu được lưu trữ tại một cơ sở dữ liệu trung tâm có thể được truy cập bởi mọi phân hệ Mô hình này gọi là mô hình kho dữ liệu

Trang 8

Hình 5.6 Mô hình kho dữ liệu

Mô hình kho dữ liệu phù hợp cho các ứng dụng khi dữ liệu được tạo bởi một phân

hệ và được sử dụng bởi các phân hệ khác Đây là cách hữu hiệu để chia sẻ một số lượng lớn dữ liệu mà không cần chuyển đổi dữ liệu tường minh từ một phân hệ này tới các phân hệ khác

Phân hệ phải chấp nhận mô hình này nếu muốn tham gia hệ thống Sẽ rất khó tích hợp một phân hệ mới nếu nó không phù hợp với tiêu chuẩn của kho dữ liệu Phân hệ tạo dữ liệu không cần liên quan đến việc dữ liệu được phân hệ khác sử dụng như thế nào Việc phát triển mô hình sẽ khó khăn khi một số lượng lớn dữ liệu đã có theo tiêu chuẩn cũ Việc chuyển đổi dữ liệu sẽ rất tốn kém Các hoạt động như lưu trữ, bảo mật, điều khiển truy nhập và khôi phục được tập trung hoá

Ví dụ kiến trúc của một bộ CASE tích hợp sử dụng mô hình kho dữ liệu:

Hình 5.7 Kiến trúc của một bộ CASE tích hợp

Tuy nhiên, các phân hệ có thể có các yêu cầu khác nhau về mức độ bảo mật, khôi phục và chiến lược lưu trữ Mô hình này bắt buộc các phân hệ phải chấp nhận một chính sách chung Mọi việc sẽ đơn giản nếu phân hệ mới cần tích hợp tương thích với

Trang 9

dữ liệu cũ Tuy nhiên sẽ khó khăn nếu phân phối dữ liệu tới nhiều máy khác nhau Việc này sẽ phát sinh khả năng dư thừa dữ liệu, không toàn vẹn

- Một tập các server độc lập phục vụ cho các phân hệ

- Một tập các khách hàng yêu cầu các dịch vụ Chúng có thể là các phân hệ, hay là các thể hiện khác nhau của cùng một chương trình

- Một mạng cho phép các khách hàng có thể truy nhập được các dịch vụ

Ví dụ kiến trúc của một thư viện phim và hình ảnh sử dụng mô hình kho dữ liệu:

Hình 5.9 Kiến trúc của một thư viện phim và hình ảnh

Khách hàng phải biết được định danh của các dịch vụ, còn các dịch vụ không cần biết các định danh của khách hàng

Ưu điểm quan trọng nhất của mô hình này là sự phân tán rất rõ ràng Mô hình này

dễ dàng thêm một server và tích hợp dần dần khi có nhu cầu mà không ảnh hưởng tới các thành phần cũ Sự thiếu vắng của mô hình chia sẻ dữ liệu ở đây có nghĩa là sẽ khó

dự đoán được các vấn đề khi tích hợp dữ liệu vào hệ thống cũ Mỗi server phải có

Trang 10

trách nhiệm với bản thân mình về lưu trữ, khôi phục, Không có một trung tâm nên khách hàng phải tự biết và tìm server, đây là vấn đề khó khăn đối với các mạng lớn như WAN, Internet

3) Mô hình máy trừu tượng

Mô hình máy trừu tượng đôi khi gọi là mô hình lớp, mô hình hoá giao diện của các phần mềm Mô hình phân lớp tổ chức hệ thống thành nhiều lớp và mỗi lớp cung cấp một tập các dịch vụ Mỗi lớp có thể được coi như một máy trừu tượng (Abstract Machine) mà ngôn ngữ của máy được định nghĩa bởi các dịch vụ mà lớp đó cung cấp

Do đó, mô hình này thường được sử dụng để mô hình hoá giao diện (Interface) của hệ thống con Mô hình phân lớp hỗ trợ phát triển các hệ thống con theo kiểu tăng vòng ở nhiều lớp khác nhau Khi giao diện của một lớp thay đổi thì chỉ những lớp liền kề nó mới bị ảnh hưởng

Hình 5.10 Mô hình máy trừu tượng

Ví dụ kiến trúc của hệ thống quản lý phiên bản sử dụng mô hình máy trừu tượng:

Hình 5.11 Kiến trúc của hệ thống quản lý phiên bản

Ví dụ kiến trúc của ứng dụng doanh nghiệp sử dụng mô hình máy trừu tượng:

Hình 5.12 Kiến trúc của ứng dụng doanh nghiệp

Trang 11

4) Mô hình điều khiển

Là mô hình mà để vận hành, hệ thống phải được điều khiển làm việc đồng bộ và đúng Mô hình cấu trúc không có các thông tin điều khiển mà các luồng điều khiển được chỉ ra ở mô hình điều khiển Hai cách tiếp cận chung có thể xác định là:

- Điều khiển tập trung,

- Điều khiển trên cơ sở sự kiện

Mô hình điều khiển bổ sung cho mô hình cấu trúc Mỗi mô hình cấu trúc đã nói trên đều có thể dùng mô hình điều khiển tập trung hoặc mô hình điều khiển trên cơ sở

sự kiện

Mô hình điều khiển tập trung

Một phân hệ được thiết kế như bộ điều khiển hệ thống có trách nhiệm quản lý việc thực hiện các phân hệ khác Các mô hình điều khiển tập trung phân lớp theo hai loại phụ thuộc việc điều khiển được tiến hành tuần tự hay song song

- Mô hình gọi - trả lời: Mô hình này phù hợp với các mô hình thủ tục top - down

Hình 5.13 Mô hình gọi - trả lời

- Mô hình quản lý: Mô hình này thích hợp với các hệ thống đồng thời Một cấu thành hệ thống được thiết kế như là một bộ quản trị và điều khiển việc khởi động, kết thúc và phối hợp các phân hệ khác

Hình 5.14 Mô hình quản lý

Mô hình hệ thống điều khiển bởi sự kiện

Mô hình hệ thống điều khiển bởi sự kiện có nhiều kiểu khác nhau của hệ thống hướng sự kiện, như:

Trang 12

- Mô hình phát tin: Trong mô hình này, về nguyên tắc, một sự kiện được thông báo cho các phân hệ Các phân hệ được thiết kế điều khiển sự kiện này sẽ tự quyết việc trả lời Mô hình này hiệu quả với các phân hệ được phân bố trên các máy tính khác nhau trên mạng

+ Ưu điểm: Việc phát triển tương đối đơn giản Một phân hệ mới xử lý một lớp sự kiện mới có thể được tích hợp khi ghi nhận các sự kiện này vào bộ điều khiển sự kiện Mỗi phân hệ có thể kích hoạt mọi phân hệ khác không cần biết tên và vị trí của các phân hệ đó Phân bố trong suốt với các phân hệ

+ Nhược điểm: Phân hệ không biết sự kiện có được xử lý hay không và khi nào được xử lý Rất có thể hai phân hệ khác nhau cùng sinh một sự kiện và có thể gây xung đột

Hình 5.15 Mô hình phát tin

- Mô hình điều khiển ngắt: Có một hệ thống bên ngoài được sử dụng riêng cho việc theo dõi các ngắt bên ngoài và được chuyển tới các phân hệ tương ứng Mô hình này phù hợp với các hệ thống thời gian Ưu điểm của nó là cho phép đáp ứng nhanh nhất với các sự kiện Nhược điểm là việc lập trình phức tạp

Hình 5.16 Mô hình điều khiển ngắt

5) Mô hình đối tượng

Hệ thống được phân thành các đối tượng giao tiếp với nhau Phân tích hướng đối tượng chỉ ra các lớp đối tượng liên quan, các thuộc tính và các hoạt động của chúng

Trang 13

Ưu điểm của nó là tính bao đóng cho phép dấu các thực hiện của các đối tượng và cho phép dùng lại mã Tuy nhiên nhược điểm là để sử dụng các dịch vụ, các đối tượng phải gọi tường minh các tên và giao diện của các đối tượng khác Sự thay đổi giao diện sẽ làm ảnh hưởng tới các đối tượng khác

6) Mô hình luồng dữ liệu

Hệ thống được phân hoá thành các module chức năng Chúng nhận các dữ liệu chuyển hoá chúng rồi lại đưa ra kết quả Trong mô hình luồng dữ liệu, các bộ biến đổi

xử lý dữ liệu đầu vào và tạo dữ liệu ra Dữ liệu được chảy tuần tự theo luồng từ bộ biến đổi này sang bộ khác Mỗi bước của quy trình giống như một phép biến đổi

Hình 5.17 Mô hình luồng dữ liệu

Ưu điểm:

- Hỗ trợ việc sử dụng lại các biến đổi

- Phù hợp với suy nghĩ của mọi người quan niệm về dữ liệu được xử lý theo luồng

có đầu vào và đầu ra

- Thêm các xử lý khác vào hệ thống đơn giản

- Dễ thực hiện xử lý song song hoặc tuần tự

5.4 Thiết kế cơ sở dữ liệu

5.4.1 Cách tổ chức lưu trữ dữ liệu

Mục tiêu chính của thiết kế dữ liệu là mô tả cách thức tổ chức lưu trữ các dữ liệu của phần mềm

Trang 14

Trong đó D1, D2 được lưu trữ trong bộ nhớ chính; D3, D4 được lưu trữ trong bộ nhớ phụ

Cách thức lưu trữ dữ liệu trên bộ nhớ chính: Kiểu cấu trúc, kiểu mảng, kiểu xâu, kiểu cây,

Cách thức lưu trữ dữ liệu trên bộ nhớ phụ: Tập tin (Có cấu trúc/Không có cấu trúc),

cơ sở dữ liệu (Quan hệ/Đối tượng):

- Lưu trữ dưới dạng tập tin: Thích hợp với một số phần mềm đặc thù, chẳng hạn trò chơi, mô phỏng ứng dụng Word, Paint, ; đặc điểm chung của các phần mềm này là chú trọng rất nhiều vào các xử lý; hình thức giao diện và không chú trọng nhiều đến việc lưu trữ lại các thông tin được tiếp nhận trong quá trình sử dụng phần mềm, các thông tin này thường được tiếp nhận và xử lý ngay

- Lưu trữ dưới dạng cơ sở dữ liệu: Thường sử dụng với các phần mềm quản lý, chẳng hạn các phần mềm quản lý học sinh, thư viện, bán hàng, nhân sự, …; có đặc điểm cần lưu trữ lại các thông tin được tiếp nhận trong quá trình sử dụng phần mềm Cách tiếp cận dùng cơ sở dữ liệu rất thông dụng và thường dùng là cơ sở dữ liệu quan hệ:

- Cách thức tổ chức lưu trữ dữ liệu của phần mềm được mô tả thông qua hai loại thông tin:

+ Thông tin tổng quát: Cung cấp góc nhìn tổng quát về các thành phần lưu trữ bao gồm danh sách các bảng dữ liệu và danh sách các liên kết Việc lưu trữ cần sử dụng bao nhiêu bảng dữ liệu và đó là các bảng nào, mối liên kết giữa các bảng dữ liệu + Thông tin chi tiết: mô tả chi tiết từng thành phần lưu trữ gồm danh sách các thuộc tính của từng thành phần, danh sách các miền giá trị toàn vẹn đó chính là các qui định về tính hợp lệ của các thông tin được lưu trữ

Loại thuộc tính

1

Trang 15

Các loại thuộc tính:

+ Thuộc tính khóa

+ Thuộc tính có giá trị rời rạc: Thuộc tính phái của Sinh viên chỉ có 2 giá trị: Nam hoặc Nữ; thuộc tính phái của Sinh viên chỉ có 2 giá trị: 0 hoặc 1 (0: Nam, 1: Nữ); thuộc tính điểm học phần chỉ có các giá trị 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10; thuộc tính loại nhân viên chỉ có các giá trị: Nhân viên văn phòng, nhân viên bán hàng, nhân viên sản xuất

+ Thuộc tính đa trị: Thuộc tính điện thoại của nhân viên là thuộc tính đa trị:

081234567, 09081234567,…; thuộc tính email của sinh viên cũng là một thuộc tính đa trị: dungspnd@yahoo.com, dungspnd@gmail.com,

+ Thuộc tính là đối tượng phụ: thuộc tính địa chỉ của sinh viên, nhân viên là một đối tượng phụ, bao gồm các thông tin: Số nhà, Đường, Phường/xã, Quận/huyện, Tỉnh thành; thuộc tính ngày sinh của sinh viên, nhân viên cũng là một đối tượng phụ gồm các thông tin: ngày, tháng, năm

+ Thuộc tính tính toán: thuộc tính thành tiền trong hóa đơn là một thuộc tính tính toán, được tính bằng tổng số lượng * đơn giá của các mặt hàng; thuộc tính điểm trung

bình của học sinh, sinh viên cũng là một thuộc tính tính toán

- Danh sách các miền giá trị toàn vẹn:

Mã số Mô tả miền GT (RBTV) Thành phần liên quan Ghi chú

RB1

RB2

- Quan hệ giữa các bảng dữ liệu: Quan hệ “1-1”, Quan hệ “1-nhiều”, Quan hệ

“nhiều-nhiều”

5.4.2 Xây dựng sơ đồ logic dữ liệu

Có nhiều phương pháp, nhiều đề nghị khác nhau về việc mô tả thông tin của thành phần dữ liệu trong giai đoạn thiết kế Để biểu diễn các thông tin tổng quát về bảng thuộc tính, miền giá trị mô tả chi tiết các thành phần ta dùng sơ đồ logic còn được gọi

là mô hình vật lý Mô hình vật lý này sẽ được xây dựng dựa trên mô hình ERD đã có ở giai đoạn phân tích, kèm theo vài thay đổi tùy theo người thiết kế Nguyên tắc chuyển đổi từ mô hình ERD sang mô hình vật lý dựa trên mối kết hợp giữa các thực thể Các bước chuyển đổi từ mô hình ERD sang mô hình vật lý

Bước 1: Chuyển các tập thực thể thành các lược đồ quan hệ

- Tên tập thực thể thành tên của lược đồ quan hệ

- Các thuộc tính của tập thực thể thành các thuộc tính của lược đồ quan hệ

- Khóa của tập thực thể thành khóa của lược đồ quan hệ

Bước 2: Chuyển các mối liên hệ được chuyển thành các lược đồ quan hệ

- Tên của mối liên hệ thành tên của lược đồ quan hệ

Trang 16

- Các thuộc tính khoá của tập thực thể tham gia vào mối liên hệ thành các thuộc tính của lược đồ quan hệ

- Khoá của lược đồ quan hệ được xác định tùy thuộc vào loại mối liên hệ, nếu mối liên hệ là:

+ Một-Một thì khoá của tập thực thể nào cũng có thể trở thành khoá của lược đồ quan hệ

+ Nhiều-Một thì khoá bên nhiều thành khoá tên của lược đồ quan hệ

+ Nhiều-Nhiều thì các thuộc tính khoá của tất cả các tập thực thể trở thành khoá của lược đồ quan hệ

Bước 3: Gộp các lược đồ quan hệ có chung khóa thành một lược đồ

- Tên của lược đồ quan hệ mới là tên mới hoặc là tên của một trong các tên của các lược đồ quan hệ đem gộp

- Tập thuộc tính là hợp các thuộc tính của các lược đồ quan hệ đem gộp

- Khoá là khoá chung

Bước 4: Chuẩn hóa các lược đồ quan hệ để đưa các lược đồ quan hệ về dạng chuẩn 3NF

Sơ đồ logic: Là công cụ cho phép mô tả trực quan cách thức lưu trữ dữ liệu trên bộ nhớ phụ với việc sử dụng cơ sở dữ liệu quan hệ và mối liên kết giữa các bảng

Các quy ước:

5.4.3 Cách phương pháp thiết kế cơ sở dữ liệu

Có hai cách tiếp cận chính để thiết kế dữ liệu

1) Phương pháp trực tiếp:

Từ các yêu cầu đã xác định, tạo lập trực tiếp sơ đồ logic cùng với bảng thuộc tính, bảng miền giá trị toàn vẹn Cách tiếp cận này rất khó thực hiện đối với mô hình vật lý phức tạp Chẳng hạn thiết kế những phần mềm phức tạp như phần mềm kế toán, nhân

sự, tiền lương,…

2) Phương pháp gián tiếp:

Từ các yêu cầu đã xác định, tạo lập mô hình ERD, và sau đó dựa vào mô hình này

sẽ tạo lập sơ đồ logic, bảng thuộc tính, bảng miền giá trị Cách tiếp cận này dễ thực hiện hơn và mô hình ERD thường đơn giản, dễ hiểu vì mô hình này chỉ chứa các thành phần dữ liệu cơ bản nhất của phần mềm

Các bước thực hiện:

Bước 1: Xây dựng mô hình ERD

Bước 2: Chuyển mô hình ERD sang mô hình logic dữ liệu

Trang 17

Bước 3: Vẽ sơ đồ logic dữ liệu

Bước 4: Lập bảng danh sách các bảng dữ liệu

Bước 5: Lập bảng danh sách bảng thuộc tính

Bước 6: Lập bảng danh sách bảng miền giá trị

Ví dụ Xét phần mềm quản lý thư viện với yêu cầu nghiệp vụ cho mượn sách có mẫu phiếu mượn:

Hãy lập sơ đồ logic dữ liệu cho yêu cầu nghiệp vụ trên với các yêu cầu số lượng sách trong kho và số phiếu phải lớn hơn 0, ngày mượn phải nhỏ hơn hoặc bằng ngày trả

Bước 1: Xây dựng mô hình ERD

Bước 2: Chuyển mô hình ERD sang mô hình logic dữ liệu

- Docgia (Madg, Hoten, Ns, Diachi)

- Sach(MaS, TenS, Tacgia, Nhaxb, Soluong)

- Phieumuon(Sop, MaS, Madg, NgayM, NgayTr)

Bước 3: Vẽ sơ đồ logic dữ liệu

Bước 4: Lập bảng danh sách các bảng dữ liệu

1 Docgia Lưu trữ thông tin về độc giả

2 Sach Lưu trữ thông tin về sách

3 Phieumuon Lưu trữ thông tin về quá

trình mượn sách của độc giả Bước 5: Lập bảng danh sách bảng thuộc tính

- Danh sách các thuộc tính của bảng Docgia

Trang 18

Số thứ

tự Thuộc tính

Ràng buộc khởi tạo Giá trị Ý nghĩa Loại thuộc tính

- Danh sách các thuộc tính của bảng Sach

Số thứ

tự Thuộc tính

Ràng buộc khởi tạo Giá trị Ý nghĩa Loại thuộc tính

Giá trị khởi tạo Ý nghĩa

Loại thuộc tính

Bước 6: Lập bảng danh sách bảng miền giá trị

Mã số Mô tả miền GT (RBTV) Thành phần liên quan Ghi chú

RB1 Phải lớn hơn 0 Phiếu mượn, Sách

RB2 Phải nhỏ hơn hoặc bằng

5.4.4 Yêu cầu về chất lượng thiết kế cơ sở dữ liệu

Để đảm bảo các tiêu chuẩn về chất lượng thiết kế cơ sở dữ liệu cần xem xét đánh giá sơ đồ logic theo các yêu cầu về chất lượng và tiến hành cập nhật lại sơ đồ Các yêu cầu về chất lượng thiết kế cơ sở dữ liệu bao gồm tính đúng đắn, tính tiến hoá, tính hiệu quả, tính bảo mật

Bảng 5.2 Yêu cầu về chất lượng thiết kế cơ sở dữ liệu

1 Tính đúng đắn Lưu trữ đầy đủ và đúng ngữ nghĩa các thông tin có trong nghiệp vụ liên quan

2 Tính tiến hóa Lưu trữ thông tin về tổ chức và qui định có trong nghiệp vụ

liên quan

3 Tính hiệu quả Lưu trữ tiết kiệm nhất không gian bộ nhớ, truy xuất nhanh nhất thông tin cần thiết

4 Tính bảo mật Lưu trữ thông tin về các người sử dụng phần mềm cùng với quyền hạn tương ứng

Trang 19

1) Xem xét tính tiến hoá:

Để đảm bảo tính tiến hoá, sơ đồ logic sẽ còn bổ sung cập nhật lại nhiều thành phần qua các bước thiết kế chi tiết Thông thường khi thiết kế dữ liệu ở bước đầu tiên thì giới hạn xem xét đến các thuộc tính có giá trị rời rạc (A, B, C; 1, 2, 3, …) Thuộc tính

có giá trị rời rạc là các thuộc tính mà miền giá trị chỉ bao gồm một giá trị nhất định nào

đó Các giá trị này thông thường thuộc về một tập hợp có độ biến động rất ít trong quá trình sử dụng phần mềm

Như vậy loại độc giả và loại ngôn ngữ là kiểu chuỗi và là thuộc tính có giá trị rời rạc Tuy là khả năng biến động thấp nhưng không phải là không có, và nếu không chuẩn bị trước, người dùng không thể khai báo được các biến động này Để bảo đảm tính tiến hoá của hệ thống sau này, ta có thể tách các thuộc tính này thành các thành phần trong sơ đồ logic Khi đó sơ đồ logic có thêm một số thành phần mới

2) Xem xét tính hiệu quả

Tính hiệu quả trong thiết kế dữ liệu sẽ được xem xét dưới góc độ lưu trữ tối ưu Vấn đề đặt ra là xây dựng sơ đồ logic sao cho vẫn bảo đảm lưu trữ đầy đủ thông tin theo yêu cầu nhưng với dung lượng lưu trữ nhỏ nhất có thể có Điều này đặc biệt quan trọng đối với các phần mềm với hệ thống lưu trữ lớn và nhiều phát sinh thông tin cần lưu trữ theo thời gian Xem xét lại việc ánh xạ quan hệ nhiều-nhiều (m-n) để có thể lưu trữ tốt hơn

Xét sơ đồ logic gồm 2 quan hệ A, B và mối kết hợp nhiều-nhiều C và được tách thành một quan hệ mới là C

Để có thể ánh xạ mô hình trên vào sơ đồ logic với 4 thành phần A, B, C, D Với D

là chi tiết của C Các thuộc tính của A, B vẫn được bảo toàn, C trong trường hợp này chỉ chứa các thuộc tính chung (có giá trị giống nhau) trong mỗi lần A quan hệ B, D sẽ gồm các thuộc tính riêng (có giá trị khác nhau) trong mỗi lần A quan hệ với B

Trang 20

Ví dụ: Xét phần mềm quản lý thư viện A: Độc giả, B: Sách, C: Phiếu mượn với các thuộc tính ngày mượn, ngày trả, số phiếu Trong một lần độc giả mượn sách thì số phiếu là thuộc tính chung, ngày mượn, ngày trả là các thuộc tính riêng Ta bổ sung thêm quan hệ chi tiết phiếu mượn (D) để lưu trữ các thuộc tính riêng này

5.5 Thiết kế giao diện

5.5.1 Quy trình thiết kế giao diện

Màn hình giao diện được gọi tắt là giao diện (Interface) là một trong các hình thức giao tiếp giữa người sử dụng và phần mềm khi họ thực hiện các công việc của mình trên máy tính Mục tiêu chính của thiết kế giao diện là mô tả hệ thống các màn hình giao diện này

Thiết kế giao diện người dùng là một quy trình lặp lại bao gồm sự cộng tác giữa người sử dụng và người thiết kế Trong quy trình này gồm 3 hoạt động cơ bản:

- Phân tích người sử dụng: Tìm hiểu những gì người sử dụng sẽ làm với hệ thống

- Lập mẫu thử hệ thống: Xây dựng một tập các mẫu thử để thử nghiệm

- Đánh giá giao diện: Thử nghiệm các mẫu thử cùng với người sử dụng

Hình 5.18 Quy trình thiết kế giao diện

1) Phân tích người sử dụng

Nếu không hiểu rõ những gì người sử dụng muốn làm với hệ thống, thì sẽ không thể thiết kế được một giao diện hiệu quả Phân tích người sử dụng phải được mô tả theo những thuật ngữ để người sử dụng và những người thiết kế khác có thể hiểu được

Trang 21

Các kỹ thuật phân tích:

- Phân tích nhiệm vụ: Mô hình hoá các bước cần thực hiện để hoàn thành một nhiệm vụ

- Phân tích nhiệm vụ phân cấp

- Phỏng vấn và trắc nghiệm: Hỏi người sử dụng về những gì mà họ làm Khi phỏng vấn, nên dựa trên những câu hỏi có kết thúc mở Sau đó, người sử dụng cung cấp những thông tin mà họ nghĩ rằng nó là cần thiết; nhưng không phải tất cả các thông tin

đó là có thể được sử dụng Ngoài ra, có thể thực hiện phỏng vấn với cả nhóm người sử dụng, điều đó cho phép người sử dụng thảo luận với nhau về những gì họ làm

- Mô tả: Quan sát người sử dụng làm việc và hỏi họ về những cách mà không được biết tới Nên nhớ rằng có nhiều nhiệm vụ của người sử dụng thuộc về trực giác và rất khó để mô tả và giải thích chúng Dựa trên kỹ thuật này ta có thể hiểu thêm về các ảnh hưởng xã hội và tổ chức tác động tới công việc đó

2) Lập mẫu thử giao diện người dùng

Mẫu thử cho phép người sử dụng có được những kinh nghiệm trực tiếp với giao diện Nếu không có những kinh nghiệm trực tiếp như vậy thì không thể đánh giá được khả năng có thể sử dụng được của giao diện

Lập mẫu thử là một quy trình gồm 2 trạng thái: Lập các mẫu thử trên giấy, tinh chỉnh mẫu thử và xây dựng chúng

Các kỹ thuật lập mẫu thử:

- Mẫu thử hướng nguyên mẫu: Sử dụng công cụ chẳng hạn như Macromedia Director để xây dựng một tập hợp các nguyên mẫu và màn hình Khi người sử dụng tương tác với chúng thì màn hình sẽ thay đổi để hiển thị trạng thái kế tiếp

- Lập trình trực quan: Sử dụng các ngôn ngữ được thiết kế cho việc phát triển nhanh chẳng hạn như Visual Basic

- Mẫu thử dựa Internet: Sử dụng web browser và script

3) Đánh giá giao diện người dùng

Cần phải đánh giá bản thiết kế giao diện người dùng để xác định khả năng phù hợp của nó Tuy nhiên, việc đánh giá trên phạm vi rộng tốn nhiều chi phí và không thể thực hiện được đối với hầu hết các hệ thống

Các kỹ thuật đánh giá đơn giản:

- Trắc nghiệm lại các phản hồi của người sử dụng

- Ghi lại quá trình sử dụng mẫu thử của hệ thống và đánh giá nó

- Lựa chọn những thông tin về việc sử dụng dễ dàng và các lỗi của người sử dụng

- Cung cấp mã lệnh trong phần mềm để thu thập những phản hồi của người sử dụng một cách trực tuyến

5.5.2 Kết quả của thiết kế giao diện

Trang 22

Kết quả thiết kế giao diện gồm 2 phần: Sơ đồ liên kết màn hình và mô tả chi tiết từng màn hình

2) Mô tả chi tiết từng màn hình

Mô tả chi tiết về nội dung, hình thức trình bày và các thao tác mà người dùng có thể thực hiện trên từng màn hình

Các thông tin mô tả một màn hình bao gồm:

a) Tên màn hình: Là tên công việc tương ứng muốn thực hiện trên máy tính Ví dụ màn hình tra cứu sách, màn hình lập hóa đơn, màn hình tính lương

b) Nội dung mô tả: Cấu trúc các thành phần bên trong màn hình, các thành phần này có thể chia ra làm 2 loại: thành phần dữ liệu và thành phần xử lý

- Thành phần dữ liệu:

+ Các thông tin liên quan đến công việc đang xét được chia thành 2 loại:

 Thông tin nhập liệu: Loại thông tin này người dùng chịu trách nhiệm cung cấp giá trị

Ví dụ: mã sách, tên sách, ngày lập hóa đơn, hàng hóa, họ và tên học sinh vắng, lý do vắng, …

Trang 23

 Thông tin kết xuất: Loại thông tin này phần mềm chịu trách nhiệm cung cấp giá trị

Ví dụ: lượng hàng tồn hiện tại, tổng tiền trả, tổng số ngày vắng của học sinh trong 1 học kỳ,

+ Thành phần dữ liệu được thiết kế dựa trên cơ sở của nội dung các biểu mẫu của công việc tương ứng

Ví dụ nội dung màn hình lập hóa đơn bán hàng dựa trên nội dung của hóa đơn được sử dụng trong thế giới thực, nội dung màn hình điểm danh dựa trên nội dung bảng điểm danh sách hàng ngày của các lớp, nội dung màn hình nhập điểm kiểm tra dựa trên bảng điểm môn của lớp

 Các nút điều khiển trong màn hình lập hóa đơn: Nút ghi yêu cầu phần mềm thực hiện việc ghi thông tin về hóa đơn vào bộ nhớ phụ, Nút thêm hóa đơn mới yêu cần phần mềm cho phép bắt đầu lập một hóa đơn mới, nút thoát yêu cầu phần mềm thực hiện chuyển điều khiển về màn hình trước đó

+ Thành phần xử lý được thiết kế dựa trên các thao tác mà người dùng cần thực hiện trên máy tính để thực hiện công việc tương ứng trong thế giới thực Đây là thành phần áp đặt mà người sử dụng phải tuân theo và được trình bày trong tài liệu hướng dẫn sử dụng phần mềm hoặc hướng dẫn trực tuyến ngay khi dùng phần mềm

+ Khi thiết kế ở phần này cần hướng đến tính đơn giản, tính tự nhiên giúp người dùng dễ học và dễ sử dụng phần mềm

c) Hình thức trình bày

- Hình thức trình bày là việc bố trí, sắp xếp các thành phần trong màn hình như vị trí, màu sắc, kích thước, … Với các màn hình có biểu mẫu liên quan, tốt nhất là trình bày màn hình đúng với biểu mẫu tương ứng;

Ví dụ hóa đơn bán hàng, phiếu mượn sách, danh sách lớp, bảng điểm danh

- Trong trường hợp biểu mẫu liên quan cho ra kết quả cuối cùng cần ghi nhận thì trước khi đạt đến kết quả đó cần thực hiện một số công việc trung gian không có biểu mẫu rõ ràng Với các trường hợp này cần bổ sung, sáng tạo hình thức trình bày các màn hình trung gian thể hiện các công việc trung gian

Trang 24

Ví dụ cần lập biểu mẫu thời khoá biểu dạy thực hiện thực hiện các công việc trung gian như chọn giáo viên, chọn tiêu chí phân lớp

- Với các màn hình không có biểu mẫu liên quan thì hình thức trình bày màn hình hoàn toàn là sự sáng tạo khi thiết kế

Ví dụ màn hình ra cứu sách, tra cứu hoá đơn

Quá trình sử dụng phần mềm bao gồm các bước sau:

- Chọn công việc muốn thực hiện trên máy tính

- Cung cấp các thông tin cần thiết tương ứng với công việc đã chọn

- Yêu cầu phần mềm thực hiện

- Xem kết quả thực hiện

Dựa vào quy trình trên, các màn hình có thể được chia thành nhiều loại tùy theo ý nghĩa sử dụng Bảng liệt kê một số loại màn hình cơ sở quan trọng cùng với ý nghĩa và nội dung chính tương ứng (thành phần dữ liệu của màn hình)

Bảng 5.3 Danh mục các loại màn hình

chính

1 Màn hình chính Cho phép người sử dụng chọn việc

thực hiện mong muốn trên máy tính

Danh sách các công việc

Trang 25

STT Loại màn hình Ý nghĩa sử dụng Nội dung

Các thông tin phải cung cấp

6 Màn hình kết quả Trình bày cho người sử dụng kết quả việc thực hiện của một công việc nào

Các thao tác

8 Màn hình tra cứu Cho phép tìm kiếm các thông tin đã

được lưu trữ

Các tiêu chí tra cứu

5.5.4 Thiết kế màn hình chính

1) Mô tả màn hình chính:

- Ý nghĩa sử dụng: Màn hình chính (MAIN, HOMEPAGE, DASHBOARD) là màn hình cho phép người dùng chọn được công việc mà họ muốn thực hiện với phần mềm Thông thường mỗi phần mềm chỉ có một màn hình chính duy nhất

- Nội dung: Danh sách các công việc có thể thực hiện với phần mềm

- Hình thức trình bày: Phím nóng, thực đơn, biểu tượng, sơ đồ, tích hợp

- Thao tác người dùng: Trên màn hình này thao tác chính của người dùng là chọn công việc trong danh sách các công việc được đưa ra bởi phần mềm

2) Thiết kế màn hình chính dùng phím nóng:

Các công việc không có dạng thể hiện tường minh mà được chọn thông qua các phím chức năng trên bàn phím, thông thường là tổ hợp các phím như Ctrl + F1, Shift + F2, …Hình thức này chỉ có tác dụng cho phép chọn nhanh một công việc cần thiết đối với người sử dụng chuyên nghiệp Thông thường không được dùng riêng lẻ mà phải kết hợp với các màn hình khác

3) Thiết kế màn hình chính dùng thực đơn:

Các công việc có cùng ý nghĩa sử dụng nhóm lại trong từng nhóm chức năng, chẳng hạn nhóm các công việc về lưu trữ, nhóm các công việc về kết xuất, nhóm các công việc về xử lý,… Đây là dạng trình bày thông dụng nhất

Tổ chức của thực đơn: Thực đơn bao gồm nhiều nhóm chức năng tương ứng nhóm các công việc, mỗi nhóm chức năng bao gồm nhiều chức năng, mỗi chức năng tương ứng với một công việc

Phân loại thực đơn: có 3 loại

- Thực đơn hướng chức năng: Các nhóm chức năng tương ứng với các loại yêu cầu:

+ Tổ chức: Các công việc liên quan tổ chức

Trang 26

+ Lưu trữ: Các công việc lưu trữ

+ Tra cứu: Các công việc tìm kiếm, theo dõi

+ Tính toán: Các công việc tính toán

+ Kết xuất: Các báo cáo

 n nhóm chức năng tương ứng n lớp đối tượng

+ Các chức năng bên trong mỗi nhóm là các công việc liên quan đến lớp đối tượng tương ứng Các công việc này có thể được phân ra các loại:

 Lưu trữ: Ghi nhận thông tin về đối tượng hoặc quan hệ của đối tượng với các đối tượng khác

Trang 27

 Tra cứu: tìm kiếm và theo dõi các hoạt động của đối tƣợng

 Tính toán: các tính toán liên quan đối tƣợng

 Kết xuất: các báo cáo liên quan đến đối tƣợng

 Tổ chức: xác định cơ cấu tổ chức, ban hành các qui định

 Kế hoạch: Lập các kế hoạch cho các hoạt động sắp tới

 Tiếp nhận: Tiếp nhận các thông tin cần thiết cho hoạt động

 Hoạt động: ghi nhận các thông tin phát sinh bởi các hoạt động

 Tổng kết: tính toán và lập các báo cáo tổng kết

+ Các giai đoạn trên không nhất thiết mỗi qui trình đều phải có mà chỉ có tính chất tham khảo

Trang 28

Ví dụ: Màn hình sơ đồ của một khách sạn

Trang 29

Hình 5.20 Màn hình dùng sơ đồ

6) Thiết kế màn hình dùng tích hợp

Sử dụng đồng thời nhiều hình thức, thông thường hình thức thực đơn sẽ được ưu tiên chọn trước và kết hợp vào đó một hay nhiều hình thức khác

5.5.5 Thiết kế màn hình giới thiệu

Màn hình giới thiệu là màn hình được dùng để cung cấp thông tin về tên của sản phẩm phần mềm, mô tả sản phẩm, bản quyền, phiên bản, nhóm phát triển, địa chỉ liên

hệ, logo,…

Ví dụ 1:

Hình 5.21 Màn hình giới thiệu phần mềm Microsoft HTML Help Image Editor

Trang 31

Hình 5.24 Màn hình đăng nhập hệ thống quản lý dữ liệu

- Ví dụ 2:

Hình 5.25 Màn hình đăng nhập Gmail

2) Màn hình đăng nhập với Username/Password và Secret Key (Khóa bí mật), Khóa bí mật được lưu dưới dạng tập tin sử dụng các phương pháp mã hóa: RSA, AES,…

- Các thành phần của màn hình

Hình 5.26 Mẫu màn hình đăng nhập với khóa bí mật

- Ví dụ:

Hình 5.27 Màn hình đăng nhập với Password và Secret Key

3) Màn hình đăng nhập sử dụng cơ chế khóa khác

- Các loại khóa

Trang 32

+ SafeNet: Là giải pháp bảo mật thông tin và dữ liệu gồm hai giải pháp SafeNet ProtecFile (mã hóa file) và SafeNet ProtecDrive (mã hóa ổ cứng và các thiết bị lưu trữ

di động) Hai giải pháp này riêng biệt nhưng có thể bổ sung cho nhau

Trang 33

Hình 5.31 RSA SecurID

Ví dụ Xét hệ thống rút tiền tự động ATM, để thực hiện việc rút tiền cần phải có đủ hai yếu tố một thẻ ATM (ATM card) và là một mã số cá nhân hay còn được gọi là PIN (Personal Identification Number)

+ Mã thẻ thông minh USB lai tích hợp công nghệ One-Time Password (OTP): Là phương pháp tích hợp nhiều phương pháp xác thực thành một thiết bị bảo mật duy nhất

Hình 5.32 Hybird USB Smartcard Token

Ví dụ, một nhân viên có thể xác thực tổ chức mạng lưới của mình bằng cách kết nối các eToken đến cổng USB của máy tính của mình khi ở trong văn phòng làm việc Khi ở ngoài văn phòng thì kết nối USB là không thể Do đó, người dùng có thể sử dụng mã thông báo tương tự để truy cập an toàn mạng thông qua một kết nối VPN bằng mật khẩu OTP

3) Quản lý đăng nhập hệ thống

Trang 34

Hình 5.33 Quản lý đăng nhập hệ thống

+ Ví dụ: Khóa bí mật được lưu dưới dạng TokenCode, USB sử dụng các phương pháp mã hóa RSA, AES,…được đồng bộ với Server VPN

Trang 35

Hình 5.34 Khóa bí mật được đồng bộ với Server VPN

5.5.7 Thiết kế màn hình nhập dữ liệu lưu trữ

+ Các thông tin tính toán: Là các loại thông tin mà phần mềm chịu trách nhiệm tính toán dựa trên các thông tin đã có Thông thường, loại thông tin này giúp việc nhập liệu thuận tiện hơn Ví dụ nhập số lượng, đơn giá thì tính ra số tiền nhờ công thức thành tiền= số lượng * đơn giá

- Hình thức trình bày: Danh sách, hồ sơ, phiếu, tích hợp

- Thao tác người dùng: Có ba thao tác cơ bản trên màn hình nhập dữ liệu:

+ Nhấn nút Ghi: Lưu trữ các thông tin

+ Nhấn nút Xóa: Xóa các thông tin đã lưu trữ

+ Nhấn nút Tìm: tìm và cập nhật lại thông tin đã lưu trữ

Ngoài ra, để tăng tính tiện dụng có thể bổ sung các thao tác khác như:

Trang 36

+ Dùng các phím nóng: Định nghĩa các phím nóng tương ứng với các giá trị nhập liệu thường dùng, điều này cho phép tăng tốc độ nhập liệu Ví dụ F1 ứng với chuỗi

“Nguyễn”, F2 ứng với chuỗi “Trần”, …

+ Dùng các nút chuyển điều khiển: Chuyển điều khiển trực tiếp đến màn hình khác

có liên quan đến việc nhập liệu dữ liệu hiện hành Ví dụ đang nhập sách có thể bổ sung thể loại sách mới, nhà xuất bản mới, …

- Các phương pháp nhập dữ liệu

+ Nhập từ bàn phím (Dạng Textbox),

+ Nhập bằng cách chọn giá trị trên màn hình (Dạng combox, Listbox)

+ Import từ tập tin vào cơ sở dữ liệu thường từ các tập tin: Excel, XML, CSV, file

cơ sở dữ liệu,…; phương pháp này thường phải chỉ rõ đường dẫn của file nguồn và điều kiện để lọc dữ liệu cần nhập

+ Import dữ liệu từ các chương trình khác

2) Thiết kế màn hình nhập dữ liệu dạng danh sách

- Màn hình nhập liệu dạng danh sách được thể hiện dưới dạng lưới nhập (dạng bảng biểu gồm các dòng và các cột) tương ứng với các bản ghi trong cơ sở dữ liệu

- Màn hình nhập dữ liệu dạng danh sách chỉ thích hợp khi cần nhập liệu cho các bảng danh sách với kích thước nhỏ Ví dụ danh sách các thể loại sách, danh sách các môn học, các tham số, …

- Màn hình nhập dữ liệu dạng danh sách cho phép người sử dụng có thể tùy ý sửa đổi các thông tin trên các dòng hoặc thêm dòng mới (ở cuối danh sách), xóa dòng sau khi đã chọn dòng cần xóa và cuối cùng yêu cầu ghi lại các thay đổi trên bộ nhớ phụ

- Trong một số trường hợp đặc biệt một số thao tác có thể bị cấm (không cho xóa, không cho thay đổi một số thuộc tính, …) tùy vào ý nghĩa cụ thể của danh sách (không thể thêm mới hoặc xóa các tham số mà chỉ có thể sửa giá trị)

Mẫu màn hình nhập dữ liệu dạng danh sách

Hình 5.35 Mẫu màn hình nhập dữ liệu dạng danh sách

Ví dụ

Trang 37

Hình 5.36 Màn hình nhập thể loại sách

3) Thiết kế màn hình nhập dữ liệu dạng hồ sơ

- Màn hình nhập liệu có dạng hồ sơ với nhiều thông tin chi tiết, thích hợp nhu cầu nhập liệu các hồ sơ của đối tƣợng Ví dụ hồ sơ sinh viên, hồ sơ đội bóng, hồ sơ khách hàng, …

- Thành phần xử lý:

+ Thêm: Yêu cầu thêm hồ sơ mới

+ Sửa: Sửa hồ sơ

+ Xóa: Xóa hồ sơ hiện hành

+ Tìm: Chuyển sang màn hình tra cứu, tìm kiếm theo các tiêu chí để xem, sửa, xóa

dụ thêm mặt hàng mới, thêm tác giả mới, thêm nhà xuất bản mới

Một mẫu màn hình nhập dữ liệu dạng hồ sơ:

Hình 5.37 Mẫu màn hình nhập dữ liệu dạng hồ sơ

Trang 38

Hình 5.40 Màn hình nhập thông tin đội bóng

4) Thiết kế màn hình nhập dữ liệu dạng phiếu

- Màn hình nhập dữ liệu có dạng phiếu với nhiều dòng chi tiết, thích hợp khi cần nhập dữ liệu cho các phiếu ghi nhận thông tin về hoạt động các đối tượng Ví dụ hóa đơn bán hàng, phiếu nhập hàng,…

- Thành phần xử lý:

+ Thêm: Yêu cầu thêm một phiếu mới

+ Thêm chi tiết: Yêu cầu thêm một dòng chi tiết mới của phiếu

+ Ghi (Lưu dữ liệu): Chấp nhận thay đổi trên hồ sơ mới cập nhật và lưu hồ sơ mới thêm vào

+ Xóa: Xóa phiếu hiện hành

Trang 39

+ Xóa chi tiết: Xóa dòng chi tiết được chọn

+ Tìm: Chuyển sang màn hình tra cứu để tìm và cập nhật lại hoặc xóa dữ liệuộphiếu

+ Lưu chi tiết: Cập nhật dòng chi tiết được chọn

+ Sửa: Chuyển sang màn hình tra cứu để tìm và cập nhật lại

+ Sửa chi tiết: Cập nhật dòng chương trình được chọn

+ Thoát: Quay về màn hình trước đó

Hình 5.41 Mẫu 1-Màn hình nhập dữ liệu dạng phiếu

Hình 5.42 Mẫu 2-Màn hình nhập dữ liệu dạng phiếu

Hình 5.43 Mẫu 3-Màn hình nhập dữ liệu dạng phiếu

Trang 40

Hình 5.44 Mẫu 4-Màn hình nhập dữ liệu dạng phiếu

Ngày đăng: 28/12/2021, 19:24

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Trần Ngọc Bảo. Bài giảng Nhập môn công nghệ phần mềm. Đại học Sƣ Phạm T.p Hồ Chí Mính. 2009 Khác
[2]. Nguyễn Xuân Huy. Kỹ nghệ phần mềm. Nhà xuất bản Giáo dục. 1999 Khác
[3]. Khoa Công nghệ Thông tin. Bài giảng về nhập môn công trình học phần mềm. Đại học Khoa học Tự nhiên Hà Nội. 2008 Khác
[4]. Lê Đức Long. Công nghệ phần mềm. Đại học Sƣ Phạm T.p Hồ Chí Minh. 2006 Khác
[5]. Lê Đức Trung. Công nghệ phần mềm. Nhà xuất bản Khoa học và Kỹ thuật. 2002 Khác
[6]. Viện Khoa học Kỹ thuâ ̣t Bưu điê ̣n . Đánh giá sản phẩm phần mềm. Bộ thông tin và Truyền thông. 2010 Khác
[7]. Ngô Trung Việt. Kỹ nghệ phần mềm - bản dịch. Nhà xuất bản Giáo dục. 1999 Khác
[8]. ISO IEC 9126-4 - Software engineering - Product quality - Part 1 – Quality model. ISO/IEC JTC1 /SC7 Khác
[9] ISO IEC 9126-4 - Software engineering - Product quality - Part 4 - Quality in Use metrics. ISO/IEC JTC1 /SC7 Khác
[10]. Roger S. Pressman Ph.D. Software engineering a practitioner's - 5th, McGraw-Hill book Co.-Singapore. 2001 Khác
[11]. Yourdon, E. Software reuse, Application development strategies, Vol. 6, No Khác
[12]. Sommerville I. Software engineering - 4th. Addison Wesley. 1995 Khác
[13]. Eldon Wig. Industry Software engineering course - VCIT project. Intellitec Consulting Inc., Hà Nội. 10/1999 Khác

HÌNH ẢNH LIÊN QUAN

Hình 5.2. Mối liên quan của giai đoạn thiết kế với các giai đoạn khác - Bài giảng Công nghệ phần mềm Phần 2  ĐH Sư phạm kỹ thuật Nam Định
Hình 5.2. Mối liên quan của giai đoạn thiết kế với các giai đoạn khác (Trang 2)
Hình 5.3. Các giai đoạn thiết kế - Bài giảng Công nghệ phần mềm Phần 2  ĐH Sư phạm kỹ thuật Nam Định
Hình 5.3. Các giai đoạn thiết kế (Trang 2)
Hình 5.6. Mô hình kho dữ liệu - Bài giảng Công nghệ phần mềm Phần 2  ĐH Sư phạm kỹ thuật Nam Định
Hình 5.6. Mô hình kho dữ liệu (Trang 8)
Bảng 5.2. Yêu cầu về chất lƣợng thiết kế cơ sở dữ liệu - Bài giảng Công nghệ phần mềm Phần 2  ĐH Sư phạm kỹ thuật Nam Định
Bảng 5.2. Yêu cầu về chất lƣợng thiết kế cơ sở dữ liệu (Trang 18)
Hình 5.20.  Màn hình dùng sơ đồ - Bài giảng Công nghệ phần mềm Phần 2  ĐH Sư phạm kỹ thuật Nam Định
Hình 5.20. Màn hình dùng sơ đồ (Trang 29)
Hình 5.22. Màn hình giới thiệu phần mềm Quản lý ngân hàng câu hỏi thi - Bài giảng Công nghệ phần mềm Phần 2  ĐH Sư phạm kỹ thuật Nam Định
Hình 5.22. Màn hình giới thiệu phần mềm Quản lý ngân hàng câu hỏi thi (Trang 30)
Hình 5.29. Màn hình đăng nhập sử dụng SafeNet - Bài giảng Công nghệ phần mềm Phần 2  ĐH Sư phạm kỹ thuật Nam Định
Hình 5.29. Màn hình đăng nhập sử dụng SafeNet (Trang 32)
Hình 5.33. Quản lý đăng nhập hệ thống - Bài giảng Công nghệ phần mềm Phần 2  ĐH Sư phạm kỹ thuật Nam Định
Hình 5.33. Quản lý đăng nhập hệ thống (Trang 34)
Hình 5.34. Khóa bí mật đƣợc đồng bộ với Server VPN - Bài giảng Công nghệ phần mềm Phần 2  ĐH Sư phạm kỹ thuật Nam Định
Hình 5.34. Khóa bí mật đƣợc đồng bộ với Server VPN (Trang 35)
Hình 5.44. Mẫu 4-Màn hình nhập dữ liệu dạng phiếu - Bài giảng Công nghệ phần mềm Phần 2  ĐH Sư phạm kỹ thuật Nam Định
Hình 5.44. Mẫu 4-Màn hình nhập dữ liệu dạng phiếu (Trang 40)
Hình 5.50. Màn hình nhập dữ liệu hóa đơn - Bài giảng Công nghệ phần mềm Phần 2  ĐH Sư phạm kỹ thuật Nam Định
Hình 5.50. Màn hình nhập dữ liệu hóa đơn (Trang 42)
Hình 5.62. Mẫu màn hình tra cứu - Bài giảng Công nghệ phần mềm Phần 2  ĐH Sư phạm kỹ thuật Nam Định
Hình 5.62. Mẫu màn hình tra cứu (Trang 48)
Hình 5.64. Màn hình tra cứu tiếp nhận bưu điện, bưu phẩm - Bài giảng Công nghệ phần mềm Phần 2  ĐH Sư phạm kỹ thuật Nam Định
Hình 5.64. Màn hình tra cứu tiếp nhận bưu điện, bưu phẩm (Trang 49)
Hình 5.65. Mẫu màn hình tra cứu với hình thức cây - Bài giảng Công nghệ phần mềm Phần 2  ĐH Sư phạm kỹ thuật Nam Định
Hình 5.65. Mẫu màn hình tra cứu với hình thức cây (Trang 49)
Hình 5.67. Màn hình cây tra danh mục nhân viên - Bài giảng Công nghệ phần mềm Phần 2  ĐH Sư phạm kỹ thuật Nam Định
Hình 5.67. Màn hình cây tra danh mục nhân viên (Trang 50)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm