Requirements Engineering (CNYC)

Khái niệm

Là qtr xđ các dvu mà KH YC từ HT và các ràng buộc đv HT

YC: có thể 1 mô tả ở mức cao, tquát về 1 dvụ hoặc 1 ràng buộc của HT cho đến một mô tả chi tiết

Các loại yêu cầu

Yêu cầu của người dùng

Là những câu mtả = ngngữ tự nhiên + với các sđồ về các dvụ mà HT ccấp và các ràng buộc

Được viết cho KH

Yêu cầu của hệ thống

Là 1 TL có ctrúc mtả chi tiết các cnăng, dvụ và các ràng buộc trong vận hành của HT

ĐN ~ gì sẽ được t.hiện, cđặt như là 1 phần của hợp đồng với KH

Nhận dạng các bên lwan

Phân loại các bên lwan

~ ng trực tiếp dùng HT

~ ng gián tiếp bị ảnh hưởng

Các loại các bên lwan

Ng dùng cuối

Qlý HT

Ng sở hữu HT

~ ng lwan bên ngoài

Yêu cầu chức năng

Là ~ pbiểu về các dvụ mà HT ccấp, cách mà HT xử lý các đầu vào và các tình huống

Có thể bgồm ~ gì HT ko ccấp

Yêu cầu phi chức năng

Là ~ràng buộc trên các dvụ hoặc cnăng của HT như tg thực thi, qtr phát triển, các tiêu chuẩn...

Thường áp dụng cho cả hệ thống

Mtả cnăng hay các dvụ HT

YC cnăng ng udnfg: ~ pbiểu ở mức cao

YC cnăng HT: ở mức chi tiết

Nguyên tắc

Hoàn chỉnh: All dvụ mà ng dùng YC phải được ĐN

Nhất quán:ko có bất kỳ xđột nào trong các mtả về các YC

=> Thực tế, khó thỏ 2 đk trên

Là ~ YC về các thuộc tính như độ tin cậy, tg đáp ứng,… và ràng buộc của HT

1số YC phi chức năng có thể qtrọng hơn các YC chức năng vì kođạt các YC này thì HT sẽ trở nên vô dụng

YC phi CN có thể tác động đến ctrúc của toàn bộ HT

YC1 phi CN có thể phát sinh 1 số YC CN có lwan

Khó để mô tả cxác và khó ktra

sd ccu đo lường: Speed, Size, Ease of use, Reliability, Robustness, Portability

bdien ở dạng nào đó để ktra

Quy trình công nghệ yêu cầu

Qtr mỗi ứng dụng sẽ khác nhau

hđ tổng quát

Thu thập và phân tích yêu cầu

Đặc tả yêu cầu

Thẩm định yêu cầu

Hđ có tính lặp đi lặp lại

NV KT làm việc với KH để xđ miền ứd, các dịch vụ mà HT sẽ ccấp và các ràng buộc để vhành HT

Có thể bg ~ ng có lwan

Vấn đề

Các bên lwan ko biết họ muốn gì

Các ng dùng có lwan xđột nhau

Nhân tố về tchức và ch.trị ảnh hưởng đển HT

YC bị thay đổi trong qtr ptich

Các hoạt động

Khám phá YC

Tương tác với stakeholders để xđ YC của họ

Xđ các YC trong miền ứng dụng

Ploại và tchức YC: Nhóm các YC và tchức chúng vào các nhóm 1 cách hợp lý

Sx ưu tiên và thương lượng: Sx thứ tự ưu tiên các YC và gquyết các xung đột

Phương pháp khám phá: Phỏng vấn, kịch bản

YC người dùng: ng dùng cuối và KH hiểu được

YC hệ thống: YC chi tiết hơn và bgồm ~ ttin về kỹ thuật

TL YC là 1 phần của hợp đồng

Cách viết : Ngôn ngữ tự nhiên, Dùng ký hiệu đồ họa

Đặc tả YC: YC được viết thành TL, trở thành đầu vào của vòng xoắn kế tiếp

Đặc tả và thiết kế

YC: mô tả HT cần làm gì

TK: mô tả cách làm thế nào để HT thực hiện 1 yêu cầu

=> YC và TK ko nên tách biệt nhau

Muc đı́ch: chứng tỏ YC ĐN được HT mà KH YC

Chi phí khắc phục lỗi là rất cao => Thẩm định

Checklist

Tính hiệu lực (validity): HT có ccấp ~ cnăng đ.ứng tốt n.cầu của ng dùng hay không?

Tính nhất quán (consistency): Có các YC nào xung đột không?

Tính đầy đủ (completeness): Có all ~ YC của KH hay không?

Tính thực tế (realism): Có thể cđặt cácYC trong ngân sách cho phép, với các cnghệ cho trước hay không?

Có thể kiểm định được (verifiability): CácYC có thể ktra được hay không?

Kỹ thuật

Duyệt YC: Phân tı́ch 1 cách có HT các YC

Mô phỏng và sx nguyên mẫu: sd mô hình thực thi được để ktra

Tạo các test-case

Đánh giá yêu cầu

Nên đgiá YC thường xuyên trong qtr ĐN YC

All các bên có lwan nên tgia đgiá YC

Mang tính hình thức hoặc ko hình thức

Giao tiếp tốt giữa ng priển, KH và ng sd có thể được gquyết được các vđề ngay từ đầu

Quản trị yêu cầu

Là quản trị sự thay đổi của YC

YC phát sinh khi đang thực hiện và cả khi đã đưa vào sd

Theo dõi ~ YC đơn lẻ và dtrì mlh giữa các YC pthuộc nhau

Cần thiết lập 1 qtr có tính hình thức cho ~ đề nghị thay đổi

Thay đổi yêu cầu

Ng chi trả cho HT và ng sd HT là khác nhau

HT lớn có 1 cộng đồng ng dùng đa dạng

Quy trình quản lý thay đổi

Có 3 giai đoạn

Ptích vđề và đặc tả thay đổi: ktra tính hợp lệ của YC. Mục tiêu: trả lời ng đưa ra YC thay đổi là chấp nhận hay hủy bỏ

Ptích và ước lượng cphí thay đổi: đgiá hiệu ứng của tđổi, từ đó qđịnh xem nên tiến hành thay đổi hay không

Cài đặt sự thay đổi: sửa TL nếu cần