Bài tập Nhập môn công nghệ phần mềm - Tuần 6: Kỹ nghệ yêu cầu phần mềm
          
        
            
            
              
            
 
            
                
                    Chức năng
- Hỗ trợ nhiều người dùng làm việc đồng thời.
- Nếu một lớp bị hết chỗ khi một sinh viên đang đăng ký học của lớp đó thì sinh viên
này phải được thông báo.
Tính dễ dùng
- Giao diện nguời dùng tương thích Windows 7/ Window 10. Thân thiện.
Tính ổn định
- Hệ thống phải hoạt động liên tục 24 giờ/ngày, 7 ngày/tuần, với thời gian ngừng hoạt
động không quá 10%.
Hiệu suất
- Hệ thống phải hỗ trợ đến 2000 người dùng truy xuất CSDL trung tâm đồng thời bất
kỳ lúc nào, và đến 500 người dùng truy xuất các server cục bộ.
- Hệ thống phải truy xuất đến CSDL danh mục học phần cũ với độ trễ không quá 10
giây.
                
              
                                            
                                
            
 
            
                 17 trang
17 trang | 
Chia sẻ: hachi492 | Lượt xem: 972 | Lượt tải: 0 
              
            Bạn đang xem nội dung tài liệu Bài tập Nhập môn công nghệ phần mềm - Tuần 6: Kỹ nghệ yêu cầu phần mềm, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Software Engineering Department - SoICT/HUST Trang 1 / 17 
Bài tập tuần 06 
Kỹ nghệ yêu cầu phần mềm (Requirement Engineering) 
Mục tiêu 
- Thực hiện các bài tập (câu hỏi) về Yêu cầu phần mềm 
- Thực hiện các bài tập về công cụ đặc tả yêu cầu phần mềm 
- Đặc tả các yêu cầu cho bài toán (casestudy) của môn học: sử dụng usecase của 
UML 
o Xác định các thành phần: tác nhân (actor), ca sử dụng (usecase) và các 
quan hệ → xây dựng biểu đồ usecase 
o Đặc tả kịch bản chi tiết cho các usecase 
o Xác định và mô tả các yêu cầu phi chức năng 
Đánh giá 
- Hoàn thành các bài tập về Yêu cầu phần mềm 
- Nắm được đặc điểm của các công cụ đặc tả yêu cầu phần mềm: Biểu đồ luồng dữ 
liệu – DFD (data flow diagram) + Máy trạng thái – FSM (Finite state machine) + Sơ 
đồ thực thể liên kết – ERD (entity relation diagram) + Usecase (UML) 
- Hoàn thành đặc tả các yêu cầu cho bài toán (casestudy) của môn học: sử dụng 
usecase của UML 
Phần I: 
Bài 1.1 
a) Lựa chọn nào sau đây mô tả một yêu cầu phi chức năng? 
1. Hệ thống phải phát sinh ra một báo cáo về tất cả các chiến dịch quảng cáo cho một 
khách hàng cụ thể 
2. Hệ thống phải cho phép những người sử dụng nhập vào chi tiết các khách hàng 
3. Hệ thống phải có khả năng lưu trữ ban đầu là 500MB dữ liệu, mỗi năm tăng lên 
100MB 
4. Tất cả các phương án trên đều đúng 
b) Lựa chọn nào sau đây mô tả một yêu cầu chức năng? 
1. Hệ thống phải có khả năng trả lời tất cả các truy vấn trong 5 giây 
2. Hệ thống cho phép người sử dụng thêm một sản phẩm muốn mua vào giỏ hàng 
3. Người sử dụng sẽ gây ra ít lỗi hơn 50% so với hệ thống hiện tại 
4. Giao diện hệ thống thân thiện với người dùng 
c) Sơ đồ luồng dữ liệu cung cấp thông tin gì? 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Software Engineering Department - SoICT/HUST Trang 2 / 17 
1. Đưa ra hình ảnh quan hệ giữa các đối tượng dữ liệu 
2. Đưa ra hình ảnh những chức năng biến đổi luồng dữ liệu 
3. Chỉ ra những quyết định logic chính khi chúng xuất hiện 
4. Chỉ ra sự tương tác của hệ thống với sự kiện bên ngoài 
d) Đặc tả hệ thống mô tả _____? 
1. Chức năng, hiệu năng và các ràng buộc của hệ thống 
2. Bản cài đặt của hệ thống 
3. Các phần tử kiến trúc phần mềm 
4. Thời gian cần thiết cho mô phỏng hệ thống 
e) Hoạt động nào sau đây không phải là mục tiêu của xây dựng mô hình yêu cầu? 
1. Xác định một tập các yêu cầu phần mềm có thể được thẩm định 
2. Mô tả các yêu cầu khách hàng 
3. Tạo lập một cơ sở cho thiết kế phần mềm 
4. Đưa ra giải pháp sơ bộ cho vấn đề đặt ra 
f) Điều gì xảy ra khi sử dụng ngôn ngữ tự nhiên để mô tả các yêu cầu? (chọn nhiều) 
1. Một vài yêu cầu được diễn đạt chung, đi cùng nhau ở dạng một yêu cầu 
2. Các yêu cầu, mục tiêu hệ thống và thông tin thiết kế có thể không được phân biệt rõ 
ràng 
3. Dễ dẫn đến hiểu nhầm giữa người đọc và người viết 
4. Cung cấp thông tin đầy đủ nhất cho người phát triển 
Bài 1.2 
a) Bạn thử đưa ra một cấu trúc chung nhất cho tài liệu đặc tả yêu cầu. Trình bày 
ngắn gọn các lợi ích chính của tài liệu đặc tả yêu cầu? 
b) Bạn hãy tìm hiểu và mô tả các vấn đề gây ra các khó khăn trong thu thập yêu 
cầu? 
Bài 1.3 
Trong ngữ cảnh của software engineering và kỹ nghệ yêu cầu phần mềm, hãy thảo luận 
nhóm và viết một đoạn ngắn bình luận về bức tranh vui dưới đây? 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Software Engineering Department - SoICT/HUST Trang 3 / 17 
Phần II: Công cụ đặc tả yêu cầu phần mềm 
Bài 1.4 
Hãy gọi tên các biểu đồ sau đây. Mỗi biểu đồ hướng về vấn đề gì trong đặc tả và phân 
tích yêu cầu phần mềm? Từng biểu đồ cho chúng ta biết những thông tin gì? 
Biểu đồ 1: Hệ thống bán hàng 
Biểu đồ 2: Hệ thống đăng ký học trực tuyến 
Chi tiết đơn 
đặt hàng và 
mẫu HĐ 
trống
Đơn hàng đã
 được điền
Đơn hàng đã
 được duyệt
Đơn hàng đã
 được duyệt
1
Điền đơn hàng
2
Kiểm tra đơn hàng
3
Ghi đơn hàng
4
Điều chỉnh kho
5
Gửi nhà cung cấp
1 Đơn hàng
2 Kho hàng
Khách hàng
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Software Engineering Department - SoICT/HUST Trang 4 / 17 
Biểu đồ 3: Hệ thống bán hàng 
Biểu đồ 4: Hệ thống đăng ký học trực tuyến 
Trả lời: 
 Tên gọi loại 
biểu đồ 
Hướng về vấn đề Thông tin biểu đồ cung cấp 
Biểu đồ 1 
Biểu đồ 2 
Biểu đồ 3 
Biểu đồ 4 
Bài 1.5 
Xây dựng biểu đồ luồng dữ liệu (DFD (data flow diagram)) trong đặc tả và phân tích 
yêu cầu phần mềm. 
Background: 
• Với sơ đồ phân rã chức năng BFD, chúng ta đã xem xét hệ thống thông tin theo 
quan điểm "chức năng" thuần túy. Để xem xét chi tiết hơn về các thông tin cần 
cho việc thực hiện các chức năng đã được nêu chúng ta sử dụng biểu đồ luồng 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Software Engineering Department - SoICT/HUST Trang 5 / 17 
dữ liệu DFD. DFD để biểu diễn một cách linh hoạt các thực thể ngoài, các chức 
năng, luồng dữ liệu và các kho dữ liệu. 
• DFD là một trong những công cụ hữu hiệu của giai đoạn phân tích yêu cầu. DFD 
diễn tả hoạt động của hệ thống hiện hành (dựa trên xác định yêu cầu). 
• Việc xây dựng DFD theo các mức cấp bậc: 
o Sơ đồ ngữ cảnh (Context diagram): đầy là sơ đồ mức cao nhất. Nó cho ra một 
cái nhìn tổng quát về hệ thống trong môi trường nó đang tồn tại. Ở mức này, 
sơ đồ ngữ cảnh chỉ có một tiến trình duy nhất, các tác nhân và các luồng dữ 
liệu (không có kho dữ liệu). 
o Sơ đồ mức 0 là sơ đồ phân rã từ sơ đồ ngữ cảnh. Với mục đích mô tả hệ thống 
chi tiết hơn, sơ đồ mức 0 được phân rã từ sơ đồ ngữ cảnh với các tiến trình 
được trình bày chính là các mục chức năng chính của hệ thống. 
o Sơ đồ mức i (i >= 1) là sơ đồ được phân rã từ sơ đồ mức i-1. Mỗi sơ đồ phân 
rã mức sua chính là sự chi tiết hóa một tiến trình mức trước. Quá trình phân 
rã sẽ dừng khi đạt được sơ đồ luồng dữ liệu sơ cấp (khi một tiến trình là một 
tính toán hay thao tác dữ liệu đơn giản, khi mỗi luồng dữ liệu không cần chia 
nhỏ hơn nữa. 
• Mỗi biểu đồ DFD cũng đi kèm với các mô tả chi tiết về ý nghĩa các luồng dữ 
liệu và các bước thực hiện của chức năng xử lý. DFD cũng cung cấp thông tin 
về đầu ra và đầu vào của mỗi thực thể và chính quá trình. Cấu trúc tổng quát 
một thực thể có dạng như sau: 
Bài tập minh hoạ: 
Hệ thống thông tin quản lý thư viện 
• Sơ đồ DFD mức ngữ cảnh: 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Software Engineering Department - SoICT/HUST Trang 6 / 17 
• Yêu cầu: xây dựng biểu đồ DFD cho yêu cầu chức năng Lập thẻ độc giả: bạn đọc 
phải đăng lý thẻ độc giả với thư viện thì mới có thể thực hiện mượn trả sách. 
Khi đăng ký bạn đọc cần điền vào một biểu mẫu như sau: 
Quy định: Tuổi của người đăng ký phải từ 18 tuổi trở lên và thẻ có giá trị hiệu lực trong 
vòng 12 tháng. 
Hướng dẫn: 
Xác định các thành phần: 
• Chức năng xử lý: Lập thẻ độc giả 
• Kho dữ liệu: Thông tin độc giả 
• Xây dựng sơ đồ và các mô tả chi tiết kèm theo 
Biểu đồ Mô tả 
Phần III: Đặc tả các yêu cầu cho bài toán (casestudy) với usecase 
Background: 
• Sơ đồ usecase (UML): Mô hình hóa các chức năng mà hệ thống sẽ thực thi. 
• Usecase là gì? 
o Use case là một trình tự hành động của hệ thống thực hiện nhằm thu 
được một kết quả dễ thấy tới một tác nhân nào đó. 
o Một use case mô hình hóa một hội thoại giữa một hoặc nhiều tác nhân 
với hệ thống 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Software Engineering Department - SoICT/HUST Trang 7 / 17 
o Một use case mô tả hành động của hệ thống thực hiện nhằm mang đến 
một giá trị nào đó cho tác nhân 
• Mô hình usecase (usecase model) gồm các thành phần sau: 
Mô hình usecase Các thành phần 
o Các biểu đồ ca sử dụng (usecase 
diagram): biểu diễn trực quan bức 
tranh tổng thể về hệ thống định xây 
dựng 
o Phần mô tả bằng lời các kịch bản 
usecase (đặc tả usecase – usecase 
specification): mô tả chi tiết trình tự 
tương tác giữa các tác nhân và hệ 
thống trong kịch bản usecase. Có thể 
sử dụng kết hợp thêm các biểu đồ: 
➢ Biểu đồ tuần tự 
➢ Biểu đồ tương tác 
o Đặc tả phụ trợ (Supplementary 
specification): các đặc tả bổ sung về 
các yêu cầu phần mềm mà các đặc tả 
usecase chưa mô tả. Ví dụ: các yêu 
cầu chung cho các chức năng, các 
yêu cầu phi chức năng 
o Bảng chú giải (Glossary): danh sách 
các từ vựng / thuật ngữ và giải nghĩa 
kèm theo 
• Biểu đồ usecase (usecase diagram) gồm các thành phần sau: 
Biểu đồ usecase Các thành phần 
o Một đường bao (System boundary): 
thể hiện ranh giới giữa bên trong và 
bên ngoài hệ thống. 
o Tác nhân (Actor): Một tác nhân là một 
người hoặc một vật thể có tương tác 
với hệ thống. Có trao đổi thông tin với 
hệ thống, hay hưởng lợi từ hệ thống và 
phải có sự tự trị trong quyết định. Tác 
nhân mô tả một thực thể tham gia 
tương tác với vai trò cụ thể. 
➢ Tác nhân có thể là: người với vai 
trò xác định, các thiết bị, các hệ 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Software Engineering Department - SoICT/HUST Trang 8 / 17 
thống khác tương tác với hệ 
thống đang xét 
o Usecase: tập hợp chuỗi hành động dẫn 
đến một kết quả cụ thể. 
o Các quan hệ (relationship): Phân loại: 
➢ Quan hệ kết hợp (asociation) : 
Quan hệ kết hợp cho biết tác 
nhân nào tham gia vào ca sử 
dụng nào. Biểu diễn bằng 
đường thẳng nối giữa tác nhân 
và ca sử dụng (có thể sử dụng 
mũi tên để nhấn mạnh vào 
hướng của ca sử dụng) 
➢ Quan hệ tổng quát hóa 
(generalization) : Tác nhân hoặc 
usecase con kế thừa tính chất 
và hành vi của tác nhân hoặc 
usecase cha 
➢ Quan hệ bao gồm (include): 
Quan hệ «include» biểu diễn 
một UC chứa hành vi định nghĩa 
trong một UC khác (luôn luôn 
gọi đến) 
➢ Quan hệ mở rộng (extend): một 
UC tùy ý mở rộng chức năng do 
UC khác cung cấp. Chỉ chèn khi 
điều kiện extend là đúng tại 
điểm phát sinh (extension 
point) 
Yêu cầu: Đặc tả các yêu cầu cho bài toán (casestudy) với nhóm chức 
năng đã chọn. Phần nội dung này các nhóm làm vào trong file 
.docx (báo cáo) 
Hướng dẫn: 
- Bước 1: Phân tích các yêu cầu chức năng của hệ thống: 
 + Xác định các tác nhân của hệ thống: 
 + Trả lời các câu hỏi sau để xác định Actor cho hệ thống: 
 Ai sử dụng hệ thống này? Ai cung cấp thông tin cho các hoạt động của hệ 
thống? Ai nhận kết quả từ các chức năng của hệ thống? 
 Nhóm người nào sẽ duy trì và quản trị hệ thống hoạt động? 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Software Engineering Department - SoICT/HUST Trang 9 / 17 
 Hệ thống có tương tác với các thiết bị hay phần mềm ngoại vi nào khác hay 
không? 
 Hệ thống nào tương tác với hệ thống này? 
 Các thiết bị có tương tác với hệ thống này? 
 + Lập bảng liệt kê các tác nhân và mô tả thông tin cho các tác nhân: 
STT Tên tác nhân Mô tả tác nhân 
1 
2 
3 
4 
 + Xác định quan hệ giữa các tác nhân. 
+ Xác định các ca sử dụng 
+ Với từng tác nhân đã xác định ở trên, đặt và trả lời các câu hỏi: 
 Các tác nhân yêu cầu những gì từ hệ thống 
 Các công việc chính mà tác nhân đó muốn hệ thống thực thi? 
 Tác nhân đó có tạo ra hay thay đổi dữ liệu gì của hệ thống? 
 Tác nhân đó có phải thông báo gì cho hệ thống? 
 Tác nhân đó có cần thông tin thông báo gì từ hệ thống? 
+ Chúng ta sẽ xác định được các Use Case cần thiết cho hệ thống. Nếu có nhiều 
usecase thì nên đặt mã để tham chiếu dễ dàng trong các phần sau của tài liệu. 
STT Mã usecase Tên usecase Mô tả Usecase Tác nhân 
tương tác 
Độ phức 
tạp 
1 
2 
3 
4 
5 
+ Xác định các quan hệ 
Phân tích và các định các quan loại hệ giữa các Actor và Use Case, giữa các Actor với 
nhau, giữa các Use Case với nhau. 
- Bước 2: Xây dựng biểu đồ ca sử dụng với công cụ Astah UML 
+ Biểu diễn các tác nhân: 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Software Engineering Department - SoICT/HUST Trang 10 / 17 
+ Tạo một Actor bằng cách chọn nó trên bảng công cụ: 
+ Biểu diễn các usecase: 
+ Các quan hệ giữa usecase: extend / include 
+ Chọn trên công cụ quan hệ phù hợp: 
+ Hoặc thực hiện kéo từ usecase này đến usecase khác. 
+ Với quan hệ extend → có thể thiết lập điểm mở rộng (Extension Points): 
+ Thêm điểm mở rộng vào usecase: 
+ Một số thiết lập khác: hiển thị tên UseCase bên ngoài 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Software Engineering Department - SoICT/HUST Trang 11 / 17 
+ Kết quả hiển thị: 
Với các usecase lớn có thể xây dựng biểu đồ usecase tổng quát và các biểu 
đồ usecase phân rã mức thấp hơn. 
Ví dụ minh hoạ: 
• Với nhóm chức năng số 1: "1. Quản lý thông tin hộ khẩu, nhân khẩu" 
• Tác nhân: “Quản lý tổ dân phố”, hai tác nhân con thể hiện hai vai trò “Tổ 
trưởng” và “Tổ phó” 
• Các usecase tổng quát: 
o Đăng nhập / đăng xuất, các usecase khác được thực hiện với điều 
kiện usecase “Đăng nhập” thực hiện thành công 
o Quản lý thông tin sổ hộ khẩu 
o Quản lý thông tin nhân khẩu 
o Thống kê thông tin nhân khẩu 
o Tìm kiếm thông tin, usecase tìm kiếm có thể được gọi đến khi tác nhân 
thực hiện các usecase quản lý khác 
• Xây dựng biểu đồ usecase tổng quát cho nhóm chức năng số 1: "1. Quản lý 
thông tin hộ khẩu, nhân khẩu" 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Software Engineering Department - SoICT/HUST Trang 12 / 17 
• Biểu đồ usecase phân rã cho “Quản lý thông tin sổ hộ khẩu” 
• Tương tự với biểu đồ usecase phân rã cho “Quản lý thông tin nhân khẩu” 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Software Engineering Department - SoICT/HUST Trang 13 / 17 
• Biểu đồ usecase phân rã cho “Thống kê thông tin nhân khẩu” 
- Bước 3: Đặc tả ca sử dụng 
+ Miêu tả tất cả các vấn đề liên quan đến một ca sử dụng. Dùng làm cơ sở cho các 
định hướng phân tích, thiết kế, mã hóa, kiểm thử theo hướng ca sử dụng ở các 
công đoạn tiếp theo. 
+ Các thành phần gồm có: 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Software Engineering Department - SoICT/HUST Trang 14 / 17 
+ Thực hiện đặc tả ca sử dụng theo mẫu sau: 
Đặc tả use case UC001 “Đăng nhập” 
Mã Use case UC001 Tên Use case Đăng nhập 
Tác nhân Quản lý tổ dân phố 
Mô tả Cho phép một người dùng có tài khoản truy cập vào hệ thống 
Tiền điều kiện Không 
Luồng sự kiện chính 
(Thành công) 
STT Thực hiện bởi Hành động 
1. Quản lý tổ dân 
phố 
chọn chức năng Đăng nhập 
2. Hệ thống hiển thị giao diện đăng nhập 
3. Quản lý tổ dân 
phố 
nhập username và mật khẩu (mô tả phía dưới *) 
4. Quản lý tổ dân 
phố 
yêu cầu đăng nhập 
5. Hệ thống kiểm tra xem tác nhân đã nhập các trường bắt buộc 
nhập hay chưa 
6. Hệ thống kiểm tra username và mật khẩu có hợp lệ do tác 
nhân nhập trong hệ thống hay không 
7. Hệ thống tạo giao diện màn hình chính 
Luồng sự kiện thay 
thế 
STT Thực hiện bởi Hành động 
6a. Hệ thống thông báo lỗi: Cần nhập các trường bắt buộc nhập 
nếu người dùng nhập thiếu 
7a. Hệ thống thông báo lỗi: username và/hoặc mật khẩu chưa 
đúng nếu không tìm thấy username và mật khẩu 
trong hệ thống 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Software Engineering Department - SoICT/HUST Trang 15 / 17 
Hậu điều kiện Không 
* Dữ liệu đầu vào của thông tin cá nhân gồm các trường dữ liệu sau: 
STT 
Trường 
dữ liệu 
Mô tả Bắt buộc? Điều kiện hợp lệ Ví dụ 
1. Username Có hung 
2. Mật khẩu Có ToiLa12#$ 
Đặc tả use case UC002 “Tạo mới sổ hộ khẩu” 
Mã Use case UC002 Tên Use case Tạo mới sổ hộ 
khẩu 
Tác nhân Quản lý tổ dân phố 
Mô tả Cho phép một người dùng đã đăng nhập tạo ra một sổ hộ khẩu mới 
Tiền điều kiện Tác nhân đã đăng nhập thành công 
Luồng sự kiện chính 
(Thành công) 
STT Thực hiện bởi Hành động 
1. Quản lý tổ dân 
phố 
Nhấn nút tạo mới hộ khẩu 
2. Hệ thống hiển thị giao diện tạo mới hộ khẩu 
3. Quản lý tổ dân 
phố 
nhập thông tin đầy đủ (thông tin về chủ hộ và các 
thành viên) (mô tả phía dưới *) 
4. Quản lý tổ dân 
phố 
nhấn nút xác nhận 
5. Hệ thống kiểm tra xem tác nhân đã nhập các trường bắt buộc 
nhập hay chưa 
6. Hệ thống kiểm tra số hộ khẩu có hợp lệ do tác nhân nhập 
trong hệ thống hay không (số hộ khẩu không được 
trùng với hộ khẩu đã có) 
7. Hệ thống Gọi usecase “Thêm nhân khẩu vào hộ khẩu” và 
thiết lập thông tin chủ hộ 
Luồng sự kiện thay 
thế 
STT Thực hiện bởi Hành động 
6a. Hệ thống thông báo lỗi: Cần nhập các trường bắt buộc nhập 
nếu người dùng nhập thiếu 
7a. Hệ thống thông báo lỗi: số hộ khẩu không hợp lệ 
Hậu điều kiện Thông tin sổ hộ khẩu mới được lưu vào cơ sở dữ liệu 
* Dữ liệu đầu vào của thông tin cá nhân gồm các trường dữ liệu sau: 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Software Engineering Department - SoICT/HUST Trang 16 / 17 
STT 
Trường 
dữ liệu 
Mô tả Bắt buộc? Điều kiện hợp lệ Ví dụ 
1. Số hộ khẩu Có TQB002 
2. Khu vực Không HN03 
3. Địa chỉ Không 
4. Ngày lập Không 
5. Chủ hộ Không Chủ hộ có thể thiết lập sau 
- Bước 4: Đặc tả các yêu cầu phi chức năng và lập bảng chú giải các từ vựng / 
thuật ngữ 
+ Các yêu cầu phi chức năng và chức năng không được đưa ra trong bất kỳ use case 
cụ thể nào 
➢ Chức năng (Functionality): Các yêu cầu chức năng tổng quan cho tất cả các use 
case 
➢ Khả năng sử dụng (Usability): Ví dụ: các yêu cầu về khả năng sử dụng dễ dàng 
hoặc yêu cầu về đào tạo người dùng. 
➢ Độ tin cậy (Reliability): Các độ đo định lượng như thời gian trung bình giữa các 
lần gặp sự cố hoặc lỗi trên nghìn dòng mã 
➢ Hiệu năng (Performance): Bao gồm thời gian đáp ứng, số lượng người sử dụng 
đồng thời,... 
➢ Khả năng hỗ trợ (Supportability): Các yêu cầu nhằm tăng cường khả năng hỗ 
trợ hoặc khả năng bảo trì của hệ thống 
➢ Các ràng buộc thiết kế (Design constraints) 
➢  
Ví dụ minh hoạ: 
Chức năng 
- Hỗ trợ nhiều người dùng làm việc đồng thời. 
- Nếu một lớp bị hết chỗ khi một sinh viên đang đăng ký học của lớp đó thì sinh viên 
này phải được thông báo. 
Tính dễ dùng 
- Giao diện nguời dùng tương thích Windows 7/ Window 10. Thân thiện. 
Tính ổn định 
- Hệ thống phải hoạt động liên tục 24 giờ/ngày, 7 ngày/tuần, với thời gian ngừng hoạt 
động không quá 10%. 
Hiệu suất 
- Hệ thống phải hỗ trợ đến 2000 người dùng truy xuất CSDL trung tâm đồng thời bất 
kỳ lúc nào, và đến 500 người dùng truy xuất các server cục bộ. 
- Hệ thống phải truy xuất đến CSDL danh mục học phần cũ với độ trễ không quá 10 
giây. 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Software Engineering Department - SoICT/HUST Trang 17 / 17 
- Hệ thống phải có khả năng hoàn tất 80% giao dịch trong vòng 2 phút. 
Sự hỗ trợ 
- Không có. 
Các ràng buộc thiết kế 
- Hệ thống tích hợp với Hệ thống danh mục học phần có sẵn, một CSDL RDBMS. 
- Hệ thống phải cung cấp giao diện dựa Web. 
Nội dung bài tập tự làm 
Hoàn thành Đặc tả các yêu cầu cho bài toán (casestudy) với usecase 
Các nhóm chuẩn bị thêm một slide powerpoint về nội dung Đặc tả các 
yêu cầu ở trên, buổi học tiếp theo sẽ trình bày. 
HẾT 
            Các file đính kèm theo tài liệu này:
 bai_tap_nhap_mon_cong_nghe_phan_mem_tuan_6_ky_nghe_yeu_cau_p.pdf bai_tap_nhap_mon_cong_nghe_phan_mem_tuan_6_ky_nghe_yeu_cau_p.pdf