Tập bài giảng Công nghệ phần mềm (Phần 2)

Tập bài giảng Công nghệ phần mềm  
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.  
124  
Phạm Hùng Phú -Nguyễn Văn Thẩm  
Tập bài giảng Công nghệ phần mềm  
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  
và phần mềm.  
- 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 đến cấu  
trúc dữ liệu chi tiết và biểu diễn thuật toán cho phần mềm.  
Đối với khía cạnh kỹ thuật, xuất hiện một số hoạt động thiết kế nhƣ:  
- Thiết kế dữ liệu  
- Thiết kế kiến trúc  
Phạm Hùng Phú -Nguyễn Văn Thẩm  
125  
Tập bài giảng Công nghệ phần mềm  
- 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  
STT  
Hoạt động  
Kết quả  
Kết quả chi tiết  
- Sơ đồ các màn hình  
- Danh sách các màn hình  
- Nội dung từng màn hình  
- Biến cố và xử lý trên từng màn  
hình.  
Thiết kế giao  
diện  
Hệ thống các màn  
hình giao diện  
1
- Danh sách các hàm  
Hệ thống các hàm  
Thiết kế xử lý cùng với cấu trúc  
dữ liệu tƣơng ứng  
- 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  
- Cấu trúc lƣu trữ  
2
3
Thiết kế dữ  
liệu  
Tổ chức lƣu trữ  
trên bộ nhớ phụ  
- Danh sách các thành phần lƣu trữ  
- Mô tả chi tiết các thành phần  
- Danh sách các ràng buộc  
Trong tiến trình thiết kế, mô hình để biểu diễn công việc thiết kế là đồ thị. Các  
đỉnh của đồ thị dùng để biểu diễn các thực thể (các tiến trình, các chức năng, các  
kiểu...) và các cạnh là các mối liên hệ giữa chúng. Quá trình thiết kế thƣờng đƣợc mô  
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.  
126  
Phạm Hùng Phú -Nguyễn Văn Thẩm  
Tập bài giảng Công nghệ phần mềm  
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.  
Phạm Hùng Phú -Nguyễn Văn Thẩm  
127  
Tập bài giảng Công nghệ phần mềm  
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:  
128  
Phạm Hùng Phú -Nguyễn Văn Thẩm  
Tập bài giảng Công nghệ phần mềm  
- 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  
Phạm Hùng Phú -Nguyễn Văn Thẩm  
129  
Tập bài giảng Công nghệ phần mềm  
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  
kế kiến trúc bao gồm:  
- Các biểu diễn đồ hoạ về các mô hình hệ thống kèm theo các giải thích bằng văn  
bản.  
- Mô tả tại sao hệ thống đƣợc phân rã thành các phân hệ và các phân hệ lại đƣợc  
phân rã thành các module.  
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.  
130  
Phạm Hùng Phú -Nguyễn Văn Thẩm  
Tập bài giảng Công nghệ phần mềm  
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  
Phạm Hùng Phú -Nguyễn Văn Thẩm  
131  
Tập bài giảng Công nghệ phần mềm  
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.  
2) Mô hình khách - phục vụ  
Mô hình khách - phục vụ là một mô hình hệ thống phân tán biểu diễn việc phân tán  
các dữ liệu và xử lý trên nhiều máy tính khác nhau.  
Hình 5.8. Mô hình kho dữ liệu  
Các thành phần chính là:  
- 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ó  
132  
Phạm Hùng Phú -Nguyễn Văn Thẩm  
Tập bài giảng Công nghệ phần mềm  
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  
Phạm Hùng Phú -Nguyễn Văn Thẩm  
133  
Tập bài giảng Công nghệ phần mềm  
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ƣ:  
134  
Phạm Hùng Phú -Nguyễn Văn Thẩm  
Tập bài giảng Công nghệ phần mềm  
- 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.  
Phạm Hùng Phú -Nguyễn Văn Thẩm  
135  
Tập bài giảng Công nghệ phần mềm  
Ƣ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ự.  
Nhƣợc điểm:  
- Cần phải có một định dạng chung cho các dữ liệu để có thể xử lý bởi mọi bộ biến  
đổi.  
- Các hệ thống tƣơng tác khó đƣợc viết theo mô hình luồng dữ liệu. Trong khi các  
giao diện vào và ra theo dạng văn bản có thể dùng mô hình luồng dữ liệu thì các giao  
diện đồ hoạ có các dạng vào ra phức tạp hơn dựa trên sự kiện khó có thể áp dụng mô  
hình luồng dữ liệu.  
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.  
136  
Phạm Hùng Phú -Nguyễn Văn Thẩm  
Tập bài giảng Công nghệ phần mềm  
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ữ.  
- Danh sách các bảng dữ liệu  
Số thứ tự  
Tên bảng  
Ý nghĩa  
Ghi chú  
1
- Danh sách các thuộc tính của bảng  
Loại  
Số thứ  
tự  
Thuộc  
Giá trị khởi  
tạo  
Ràng buộc  
Ý nghĩa  
thuộc  
tính  
tính  
1
Phạm Hùng Phú -Nguyễn Văn Thẩm  
137  
Tập bài giảng Công nghệ phần mềm  
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  
+ 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ố  
RB1  
Mô tả miền GT (RBTV) Thành phần liên quan Ghi chú  
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ệ  
138  
Phạm Hùng Phú -Nguyễn Văn Thẩm  
Tập bài giảng Công nghệ phần mềm  
- 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  
Phạm Hùng Phú -Nguyễn Văn Thẩm  
139  
Tập bài giảng Công nghệ phần mềm  
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.  
Số thứ tự  
Tên bảng  
Docgia  
Sach  
Ý nghĩa  
Lƣu trữ thông tin về độc giả  
Lƣu trữ thông tin về sách  
Ghi chú  
1
2
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  
140  
Phạm Hùng Phú -Nguyễn Văn Thẩm  
Tập bài giảng Công nghệ phần mềm  
Số thứ  
Ràng  
buộc  
Giá trị  
khởi tạo  
Thuộc tính  
Ý nghĩa  
Loại thuộc tính  
tự  
1
2
3
4
Madg  
Hoten  
Ns  
Mã độc giả  
Họ tên độc giả Đối tƣợng phụ  
Ngày sinh  
Địa chỉ  
Khóa  
Đối tƣợng phụ  
Đối tƣợng phụ  
Diachi  
- Danh sách các thuộc tính của bảng Sach  
Số thứ  
Ràng  
buộc khởi tạo  
Giá trị  
Loại thuộc  
tính  
Khóa  
Thuộc tính  
Ý nghĩa  
tự  
1
MaS  
Mã sách  
2
3
4
5
TenS  
Tên sách  
Rời rạc  
Rời rạc  
Rời rạc  
Rời rạc  
Tacgia  
Nhaxb  
Soluong  
Họ tên tác giả  
Nhà xuất bản  
Số lƣợng  
RB1  
- Danh sách các thuộc tính của bảng Phiếu mƣợn  
Số thứ  
Ràng Giá trị  
buộc khởi tạo  
RB1  
Loại thuộc  
tính  
Thuộc tính  
Ý nghĩa  
tự  
1
2
3
4
Sop  
MaS  
Madg  
NgayM  
NgayTr  
Số phiếu  
Mã sách  
Mã độc giả  
Ngày mƣợn  
Ngày trả  
Khóa chính  
Khóa ngoại  
Khóa ngoại  
Đối tƣợng phụ  
Đối tƣợng phụ  
RB2  
RB3  
5
Bƣớc 6: Lập bảng danh sách bảng miền giá trị.  
Mã số  
RB1  
Mô tả miền GT (RBTV) Thành phần liên quan Ghi chú  
Phải lớn hơn 0 Phiếu mƣợn, Sách  
RB2  
Phải nhỏ hơn hoặc bằng Phiếu mƣợn  
ngày trả.  
RB3  
Phải lớn hơn hoặc bằng Phiếu mƣợn  
ngày mƣợn.  
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  
STT  
Tiêu chuẩn  
Yêu cầu  
Lƣu trữ đầy đủ và đúng ngữ nghĩa các thông tin có trong  
nghiệp vụ liên quan  
1
Tính đúng đắn  
Lƣu trữ thông tin về tổ chức và qui định có trong nghiệp vụ  
liên quan  
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  
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  
2
3
4
Tính tiến hóa  
Tính hiệu quả  
Tính bảo mật  
Phạm Hùng Phú -Nguyễn Văn Thẩm  
141  
Tập bài giảng Công nghệ phần mềm  
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.  
Ví dụ:  
- Khi xem xét quan hệ Độc giả, ta nhận thấy loại độc giả gồm có ba loại "Sinh  
viên", "Học sinh” ", "Cán bộ" thì khả năng thêm loại Độc giả mới là rất thấp.  
Khi xem xét quan hệ Sách, ta nhận thấy ngôn ngữ thể hiện của sách có ba loại ngôn  
ngữ đang dùng là "Tiếng Việt", "Tiếng Anh", "Tiếng Pháp" thì khả năng thêm loại  
ngôn ngữ mới là rất thấp.  
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.  
142  
Phạm Hùng Phú -Nguyễn Văn Thẩm  
Tập bài giảng Công nghệ phần mềm  
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.  
Phạm Hùng Phú -Nguyễn Văn Thẩm  
143  
Tải về để xem bản đầy đủ
pdf 154 trang yennguyen 58680 Free
Bạn đang xem 20 trang mẫu của tài liệu "Tập bài giảng Công nghệ phần mềm (Phần 2)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdftap_bai_giang_cong_nghe_phan_mem_phan_2.pdf