Tải bản đầy đủ (.ppt) (39 trang)

Chương 4 các yêu cầu của phần mềm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (228.17 KB, 39 trang )

Chương 4. Các yêu cầu của phần mềm

Bùi Thế Hồng

Chư
ơ ng 4. Các yêu c ầu c ủa ph ần m ềm


Mục tiêu
Giới thiệu các khái niệm về yêu cầu hệ thống và
yêu cầu của người sử dụng
Mô tả các yêu cầu chức năng và không chức
năng
Giải thích cách tổ chức các yêu cầu phần mềm
trong tài liệu các yêu cầu

Bùi Thế Hồng

Chương 4. Các yêu c ầu c ủa ph ần m ềm


Công nghệ xác định yêu cầu
Qui trình thiết lập các dịch vụ do khách hàng yêu
cầu hệ thống phải thoả mãn với các ràng buộc
mà trong đó hệ thống này sẽ hoạt động và sẽ
được phát triển.
Bản thân các yêu cầu chính là các mô tả của các
dịch vụ và những ràng buộc hệ thống phát sinh
trong quá trình công nghệ xác định yêu cầu.

Bùi Thế Hồng



Chương 4. Các yêu c ầu c ủa ph ần m ềm


Một yêu cầu là gì?
Nó có thể là một mô tả tóm tắt ở mức cao một
dịch vụ hoặc một ràng buộc hệ thống đối với đặc
tả toán học chi tiết.
Rõ ràng là các yêu cầu có thể có chức năng kép.
Ví dụ:




Bùi Thế Hồng

Có thể là cơ sở để đấu thầu một hợp đồng – do đó
phải được mở ra để tìm hiểu;
Có thể là cơ sở cho chính một hợp đồng – do đó
phải được định nghĩa chi tiết;
Cả hai điều trên đây có thể được gọi là các yêu cầu.

Chương 4. Các yêu c ầu c ủa ph ần m ềm


Mô tả tóm tắt các yêu cầu
Nếu một công ty muốn ký một hợp đồng thực hiện một dự án phát triển m ột phần
mềm lớn, thì công ty này phải xác định nhu cầu của mình trong m ột b ản tóm tắt
trong đó chưa có giải pháp nào được đềxuất trước. Các yêu cầu phải được viết ra
để trên cơ sở này một vài nhà thầu có thể tham gia đấu th ầu, và có l ẽ c ả cung c ấp

các cách khác nhau đáp ứng các nhu cầu của công ty. Một khi h ợp đồng đã được
công bố thì người được chọn thầu phải viết một tài liệu mô tả chi tiết hệ thống cần
xây dựng và nộp cho công ty gọi thầu đểcông ty này xem xét và có th ể ch ấp nh ận
phần mềm sẽđược xây dựng. Cả hai tài liệu này có thểđược gọi là tài liệu các yêu
cầu của hệ thống.

Bùi Thế Hồng

Chương 4. Các yêu c ầu c ủa ph ần m ềm


Các kiểu yêu cầu khác nhau
Các yêu cầu của người sử dụng


Các mô tả bằng ngôn ngữ tự nhiên cùng với các
lược đồ diễn tả các dịch vụ mà hệ thống sẽ cung cấp
và những ràng buộc khi vận hành của hệ thống.
Những yêu cầu này phải được cung cấp cho khách
hàng.

Các yêu cầu hệ thống


Bùi Thế Hồng

Một tài liệu có cấu trúc tốt trình bày các mô tả chi tiết
các chức năng, các dịch vụ và các ràng buộc khi vận
hành của hệ thống.


Chương 4. Các yêu c ầu c ủa ph ần m ềm


Các yêu cầu chức năng và không-chức năng
Các yêu cầu chức năng


Các mô tả dịch vụ mà hệ thống sẽ cung cấp, hệ thống sẽ phản
ứng lại những inputs đặc biệt như thế nào và hệ thống sẽ cư
xử như thế nào trong các tình huống đặc biệt.

Các yêu cầu không-chức năng


Những ràng buộc trên các dịch vụ hoặc các chức năng do hệ
thống cung cấp chẳng hạn như những hạn chế về thời gian,
những ràng buộc về qui trình phát triển, về các tiêu chuẩn v.v.

Các yêu cầu lĩnh vực ứng dụng


Bùi Thế Hồng

Những yêu cầu xuất phát từ lĩnh vực ứng dụng của hệ thống
phản ánh các đặc trưng của lĩnh vực này.

Chương 4. Các yêu c ầu c ủa ph ần m ềm


Các yêu cầu chức năng

Mô tả các dịch vụ chức năng hoặc hệ thống.
Phụ thuộc vào kiểu phần mềm, những người sẽ
sử dụng và kiểu của hệ thống nơi phần mềm sẽ
được cài đặt và sử dụng.
Những yêu cầu chức năng của người sử dụng
có thể là những trình bày tóm tắt công việc mà
hệ thống phải làm nhưng các yêu cầu chức năng
hệ thống thì phải mô tả chi tiết các dịch vụ của
hệ thống.
Bùi Thế Hồng

Chương 4. Các yêu c ầu c ủa ph ần m ềm


Tính không chính xác của các yêu cầu
Các vấn đề sẽ xuất hiện khi các yêu cầu không
được đặt ra một cách chính xác.
Những yêu cầu mập mờ sẽ làm cho người phát
triển và người sử dụng hiểu theo các cách khác
nhau.
Hãy xem xét thuật ngữ ‘các cách nhìn thích hợp’



Bùi Thế Hồng

Mục đích của người sử dụng - cách nhìn đặc biệt
đối với từng kiểu tài liệu khác nhau
Cách hiểu của người phát triển – cung cấp một cách
nhìn văn bản để hiện nội dung của tài liệu.


Chương 4. Các yêu c ầu c ủa ph ần m ềm


Tính đầy đủ và nhất quán của các yêu cầu
Về nguyên tắc, các yêu cầu phải vừa đầy đủ và vừa nhất
quán.
Đầy đủ
• Chúng phải bao gồm các mô tả về tất cả những tiện
ích cần thiết.
Nhất quán
• Phải không có các điều trái ngược hoặc các mâu
thuẫn trong các mô tả về các tiện ích hệ thống.
Trong thực tế, không thể đưa ra được một tài liệu các
yêu cầu vừa đầy đủ lại vừa nhất quán.

Bùi Thế Hồng

Chương 4. Các yêu c ầu c ủa ph ần m ềm


Các yêu cầu không-chức năng
Những yêu cầu này định nghĩa các đặc tính và các ràng
buộc của hệ thống, ví dụ độ tin cậy, thời gian đáp ứng
và những yêu cầu về bộ nhớ. Các ràng buộc là khả năng
của thiết bị I/O, cách trình diễn của hệ thống, v.v.
Các yêu cầu về qui trình cũng có thể được đặc tả bằng
một hệ thống CASE, một ngôn ngữ lập trình hoặc một
phương pháp phát triển nào đó.
Các yêu cầu không-chức năng có thể đòi hỏi phải bàn

đến nhiều hơn những yêu cầu chức năng. Nếu những
yêu cầu này không được đáp ứng thì hệ thống có thể
không dùng được.

Bùi Thế Hồng

Chương 4. Các yêu c ầu c ủa ph ần m ềm


Phân loại các yêu cầu không-chức năng
Các yêu cầu về sản phẩm


Những yêu cầu chỉ rõ sản phẩm được chuyển giao phải vận
hành theo một tiêu chuẩn riêng nào đó, ví dụ về tốc độ thực
hiện, độ tin cậy, v.v.

Các yêu cầu về tổ chức


Những yêu cầu là hệ quả của các chính sách và thủ tục tổ
chức, ví dụ như các chuẩn qui trình đang được sử dụng, các
yêu cầu về quá trình thực hiện, v.v.

Các yêu cầu ngoại lai


Bùi Thế Hồng

Những yêu cầu xuất phát từ những nhân tố bên ngoại hệ thống

và qui trình phát triển của nó, ví dụ như những yêu cầu liên kết
với bên ngoài, những yêu cầu về luật pháp, v.v.

Chương 4. Các yêu c ầu c ủa ph ần m ềm


Các kiểu yêu cầu không-chức năng
Non-functional
re quir e me nts

Product
re quir e me nts

E fficie ncy
re quir e me nts

Re lia bility
re quir e me nts

Usa bility
re quir e me nts

Pe rfor mance
re quir e me nts

Bùi Thế Hồng

Organisational
re quir e me nts


Por ta bility
re quir e me nts

De li ve ry
re quir e me nts

I nte rope r a bility
re quir e me nts

Imple me nta tion
re quir e me nts

S pace
re quir e me nts

Chương 4. Các yêu c ầu c ủa ph ần m ềm

E xte rnal
r e quir e me nts

Ethical
r e quir e me nts

S tandar ds
re quir e me nts

Pri vacy
r e quir e me nts

Le gisla tive

re quir e me nts

S afe ty
re quir e me nts


Mục đích và yêu cầu
Các yêu cầu không-chức năng có thể sẽ rất khó đặt ra
một cách chính xác và các yêu cầu mơ hồ có thể sẽ rất
khó kiểm chứng.
Mục đích


Một mong muốn chung của người sử dụng ví dụ như dễ sử
dụng.

Yêu cầu không-chức năng có thể kiểm chứng được


Một mô tả bằng một biện pháp nào đó mà có thể được kiểm tra
lại một cách khách quan.

Các mục đích rất hữu ích cho người phát triển vì chúng
chứa đựng những điều mong muốn của người sử dụng
hệ thống.

Bùi Thế Hồng

Chương 4. Các yêu c ầu c ủa ph ần m ềm



Các ví dụ
Một mục đích hệ thống


Hệ thống phải dễ sử dụng và phải được tổ chức theo một cáhc
nào đó mà người sử dụng ít mắc lỗi nhất.

Một yêu cầu không-chức năng có thể kiểm chứng được


Bùi Thế Hồng

Những người sử dụng có kinh nghiệm phải có khả năng sử dụng
tất cả các chức năng hệ thống sau khi được huấn luyện sử dụng
2 tiếng đồng hồ. Sau đợt huấn luyện này, số lỗi trung bình mà
những người này mắc phải khi sử dụng hệ thống sẽ không quá 2
lỗi trong một ngày.

Chương 4. Các yêu c ầu c ủa ph ần m ềm


Đo lường các yêu cầu
Property

Measure

Speed

Processed transactions/second

User/Event response time
Screen refresh time

Size

M Bytes
Number of ROM chips

Ease of use

Training time
Number of help frames

Reliability

Mean time to failure
Probability of unavailability
Rate of failure occurrence
Availability

Robustness

Time to restart after failure
Percentage of events causing failure
Probability of data corruption on failure

Portability

Percentage of target dependent statements
Number of target systems


Bùi Thế Hồng

Chương 4. Các yêu c ầu c ủa ph ần m ềm


Sự ảnh hưởng lẫn nhau của các yêu cầu
Trong các hệ thống phức tạp, các yêu cầu
không-chức năng thường xung đột lẫn nhau.
Hệ thống tàu vũ trụ




Bùi Thế Hồng

Để giảm thiểu trọng lượng thì số lượng các chips
riêng biệt phải giảm.
Để giảm đến mức tối thiểu sự tiêu hao năng lượng
thì phải sử dụng các chips công suất thấp hơn.
Tuy nhiên, sử dụng các chips công suất thấp có
nghĩa là phải sử dụng nhiều chips hơn. Yêu cầu nào
là quan trọng hơn?

Chương 4. Các yêu c ầu c ủa ph ần m ềm


Các yêu cầu lĩnh vực ứng dụng
Phát sinh từ lĩnh vực ứng dụng và mô tả những
đặc trưng và tính năng hệ thống phản ánh lĩnh

vực ứng dụng này.
Nếu các yêu cầu lĩnh vực không được xác định
thì hệ thống có thể sẽ không thể vận hành được.

Bùi Thế Hồng

Chương 4. Các yêu c ầu c ủa ph ần m ềm


Các vấn đề đối với yêu cầu lĩnh vực
Tính có thể hiểu được



Các yêu cầu phải được diễn tả bằng ngôn ngữ của
lĩnh vực ứng dụng;
Thường thì các kỹ sư phát triển hệ thống rất khó
khăn để hiểu được những yêu cầu về lĩnh vực ứng
dụng.

Tính ẩn ý


Bùi Thế Hồng

Các chuyên gia thuộc lĩnh vực ứng dụng thông hiểu
lĩnh vực của họ đến mức cho rằng không cần phải
nêu rõ những yêu cầu về lĩnh vực ứng dụng.

Chương 4. Các yêu c ầu c ủa ph ần m ềm



Các yêu cầu của người sử dụng
Nên mô tả các yêu cầu chức năng và khôngchức năng theo một cách nào đó mà những
người sử dụng hệ thống không có kiến thức đầy
đủ về kỹ thuật cũng có thể hiểu được.
Các yêu cầu của người sử dụng cần được định
nghĩa bằng ngôn ngữ tự nhiên, bằng các bảng
và các biểu đồ vì làm như vậy thì bất cứ người
sử dụng nào cũng có thể hiểu rõ được.

Bùi Thế Hồng

Chương 4. Các yêu c ầu c ủa ph ần m ềm


Chỉ dẫn cho việc viết các yêu cầu
Sáng chế ra một format chuẩn và sử dụng nó
cho tất cả các yêu cầu.
Sử dụng ngôn ngữ theo một phong cách nhất
quán.
In đậm những phần chìa khoá của các yêu cầu.
Tránh dùng những thuật ngữ riêng của máy tính.

Bùi Thế Hồng

Chương 4. Các yêu c ầu c ủa ph ần m ềm


Các yêu cầu hệ thống

Đặc tả của các chức năng, các dịch vụ và các
ràng buộc của hệ thống cần phải chi tiết hơn so
với các yêu cầu của người sử dụng.
Chúng sẽ là cơ sở cho việc thiết kế hệ thống.
Chúng có thể được đưa vào hợp đồng phát triển
hệ thống.
Các yêu cầu hệ thống có thể được định nghĩa
hoặc minh hoạ bằng các mô hình hệ thống.

Bùi Thế Hồng

Chương 4. Các yêu c ầu c ủa ph ần m ềm


Các yêu cầu và thiết kế
Về nguyên tắc, các yêu cầu cần xác đinh rõ hệ
thống cần làm gì và thiết kế cần mô tả hệ thống
sẽ làm như thế nào.
Trong thực tế, các yêu cầu và thiết kế không thể
tách rời nhau.

Bùi Thế Hồng

Chương 4. Các yêu c ầu c ủa ph ần m ềm


Các vấn đề với đặc tả bằng ngôn ngữ tự nhiên
Tính mơ hồ



Người đọc và người viết các yêu cầu phải hiểu cùng một từ
theo cùng một cách. Bản thân ngôn ngữ tự nhiên thường
mang tính mơ hồ và vì vậy sẽ rất khó để có thể luôn hiểu nhau.

Tính quá mềm dẻo


Cùng một điều có thể được nói bằng một số cách khác nhau
trong khi đặc tả.

Thiếu cấu trúc


Bùi Thế Hồng

Cấu trúc của ngôn ngữ tự nhiên không đủ để cấu trúc các yêu
cầu hệ thống.

Chương 4. Các yêu c ầu c ủa ph ần m ềm


Những thay thế cho đặc tả bằng ngôn ngữ tự nhiên

N otation

Descri ption

Structured natural
language


This approach depends on defining standard forms or templates to express the
requirements specification.

Design
description
languages

This approach uses a language like a programming language but with more abstract
features to specify the requirements by defining an operational model of the system.
This approach is not now widely used although it can be useful for interface
specifications.

Graphical
notations

A graphical language, supplemented by text annotations is used to define the
functional requirements for the system. An early example of such a graphical
language was SADT. Now, use-case descriptions and sequence diagrams are
commonly used .

Mathematical
specifications

These are notations based on mathematical concepts such as finite-state machines or
sets. These unambiguous specifications reduce the arguments between customer and
contractor about system functionality. However, most customers don’t understand
formal specifications and are reluctant to accept it as a system contract.

Bùi Thế Hồng


Chương 4. Các yêu c ầu c ủa ph ần m ềm


×