Đặc tả yêu cầu Đặc tả yêu cầu Bởi: Khoa CNTT ĐHSP KT Hưng Yên Khi xác định rõ toán bước tìm hiểu xem hệ thống dự kiến yêu cầu làm Điều quan trọng phải xây dựng danh sách yêu cầu người sử dụng Dựa yêu cầu người sử dụng, người phát triển đưa đặc tả cho hệ thống Người xây dựng hệ thống phải trả lời yêu cầu sau đây: ? Đầu hệ thống ? Hệ thống phải làm để có kết mong muốn, nghĩa phải xử lý ? Những tài nguyên mà hệ thống yêu cầu Hiểu rõ nguồn gốc, dạng thông tin cần cung cấp cho hệ thống hoạt động Hệ thống phải giải vấn đề gì, kết cần phải có Xác định mối quan hệ vào cho trình hoạt động hệ thống Các đặc tả chi tiết phục vụ cho việc xây dựng trắc nghiệm hệ thống để kiểm tra xem nhiệm vụ đặt có hoàn tất hay không Ở đây, cần ý số trường hợp, nảy sinh yêu cầu mà ta phải xây dựng lại hệ thống, tất nhiên điều làm chậm tiến trình xây dựng làm tăng giá thành vài lý để hoàn chỉnh đặc tả hệ thống như: ? Các hệ thống phần mềm lớn đòi hỏi cải tiến từ trạng Mặc dù khó khăn hệ thống xác định ảnh hưởng hiệu ứng hệ thống khó dự đoán trước ? Hệ thống lớn thường có nhiều cộng đồng sử dụng khác Họ có yêu cầu ưu tiên khác Các yêu cầu hệ thống cuối không tránh khỏi thỏa hiệp 1/5 Đặc tả yêu cầu ? Người trả tiền cho hệ thống người sử dụng thường khác Các yêu cầu đưa ràng buộc tổ chức tài tranh chấp với yêu cầu người sử dụng Do đặc tả yêu cầu thêm thông tin vào định nghĩa yêu cầu nên đặc tả thường biểu diễn với mô hình hệ thống phát triển trình phân tích yêu cầu Nó cần bao gồm thông tin cần thiết yêu cầu chức ràng buộc hệ thống Phân tích yêu cầu tiếp tục xác định đặc tả yêu cầu nảy sinh Đây tài liệu thường xuyên thay đổi nên kiểm soát chặt chẽ Ngôn ngữ tự nhiên không hoàn toàn thuận tiện cho thiết kế viên hợp đồng khách hàng cán phát triển hệ thống có số lý sau: ? Nhầm lẫn cách hiểu khái niệm khác hai bên ? Đặc tả yêu cầu ngôn ngữ tự nhiên mềm dẻo Một vấn đề mô tả nhiều cách khác ? Các yêu cầu không phân hoạch tốt, khó tìm mối quan hệ, Do người ta thường dùng thay khác để đặc tả yêu cầu như: ? Ngôn ngữ tự nhiên có cấu trúc, ? Ngôn ngữ mô tả thiết kế, giống ngôn ngữ lập trình có mức trừu tượng cao hơn, ? Ngôn ngữ đặc tả yêu cầu, ? Ghi chép graphic, ? Đặc tả toán học, Có thể chia đặc tả yêu cầu làm hai loại: đặc tả phi hình thức (ngôn ngữ tự nhiên) đặc tả hình thức (dựa kiến trúc toán học) Đặc tả phi hình thức Đặc tả phi hình thức đặc tả sử dụng ngôn ngữ tự nhiên Tuy không chặt chẽ đặc tả hình thức nhiều người biết dùng để trao đổi với để làm xác hóa điểm chưa rõ, chưa thống bên phát triển hệ thống Đ ặ c tả hình thức 2/5 Đặc tả yêu cầu Đặc tả hình thức đặc tả mà từ ngữ, cú pháp, ngữ nghĩa định nghĩa hình thức dựa vào toán học Đặc tả hình thức coi phần hoạt động đặc tả phần mềm Các đặc tả yêu cầu phân tích chi tiết Các mô tả trừu tượng chức chương trình tạo để làm rõ yêu cầu Đặc tả phần mềm hình thức đặc tả trình bày ngôn ngữ bao gồm: từ vựng, cú pháp ngữ nghĩa định nghĩa Định nghĩa ngữ nghĩa đảm bảo ngôn ngữ đặc tả ngôn ngữ tự nhiên mà dựa toán học Các chức nhận đầu vào trả lại kết Các chức định điều kiện tiền tố hậu tố Điều kiện tiền tố điều kiện cần thỏa mãn để có liệu vào, điều kiện hậu tố điều kiện cần thỏa mãn sau có kết Có hai hướng tiếp cận đặc tả hình thức để phát triển hệ thống tương đối phức tạp + Tiếp cận đại số, hệ thống mô tả dạng toán tử quan hệ + Tiếp cận mô hình, mô hình hệ thống câú trúc sử dụng thực thể toán học tập hợp thứ tự Sử dụng đặc tả hình thức, ta có thuận lợi: ? Cho phép thấy hiểu chất bên yêu cầu, cách tốt để làm giảm lỗi, thiếu sót xảy giúp cho công việc thiết kế thuận lợi ? Do sử dụng toán học cho việc đặc tả nên dựa vào công cụ toán học phân tích điều làm tăng thêm tính chắn tính đầy đủ hệ thống ? Đặc tả hình thức, thân cho cách thức cho việc kiểm tra hệ thống sau Tuy vậy, đặc tả hình thức bộc lộ vài khó khăn: ? Quản lý phần mềm có tính bảo thủ cố hữu nó, không sẵn sàng chấp nhận kỹ thuật ? Chi phí cho việc đặc tả hình thức thường cao so với đặc tả khác (tuy phần cài đặt thấp hơn), nên khó để chứng minh chi phí tương đối cao cho đặc tả làm giảm tổng chi phí dự án ? Phần lớn, người đặc tả hệ thống không đào tạo cách quy việc sử dụng đặc tả hình thức cho việc đặc tả hệ thống mà dựa thói quen họ 3/5 Đặc tả yêu cầu ? Thông thường, nhiều thành phần hệ thống khó cho việc đặc tả ngôn ngữ hình thức Thêm vào khách hàng hiểu ? Khách hàng không thích đặc tả toán học Nguyên lý đặc tả Nguyên lý 1: Phân tách chức với cài đặt: đặc tả mô tả điều mong muốn cách thức thực (cài đặt) Kết thu theo dạng Nguyên lý 2: Cần tới ngôn ngữ đặc tả hệ thống hướng tiến trình: cần thiết đặc biệt trường hợp môi trường động thay đổi ảnh hưởng tới hành vi thực thể tương tác với môi trường Nguyên lý 3: Đặc tả phải bao gồm hệ thống có phần mềm thành phần: hệ thống bao gồm thành phần tương tác với nhau, bên hoàn cảnh toàn hệ thống tương tác thành phần hành vi thành phần xác định Nguyên lý 4: Đặc tả phải bao gồm môi trường mà hệ thống vận hành Nguyên lý 5: Đặc tả hệ thống phải mô hình nhận thức: mô hình thiết kế hay cài đặt Nó phải mô tả hệ thống cộng đồng người sử dụng cảm nhận thấy (Các vật mà thao tác phải tương ứng với vật lĩnh vực đó; tác nhân phải mô hình cho cá nhân, tổ chức, trang thiết bị; hành động họ thực mô hình cho hoạt động thực tế xuất lĩnh vực; ) Nguyên lý 6: Đặc tả phải vận hành: phải đầy đủ hình thức để dùng việc xác định liệu cài đặt đề nghị có thỏa mãn đặc tả trường hợp kiểm thử tùy ý hay không Nguyên lý 7: Đặc tả hệ thống phải dung sai tính không đầy đủ tính nâng cao Đặc tả hoàn toàn đầy đủ môi trường phức tạp + Đặc tả mô hình - trừu tượng hóa - tình thực nên không đầy đủ + Đặc tả tồn nhiều mức chi tiết + Các công cụ phân tích sử dụng để giúp cho đặc tả kiểm thử đặc tả phải có khả xử lý với tính không đầy đủ 4/5 Đặc tả yêu cầu Nguyên lý 8: Đặc tả phải cục hóa ghép lỏng lẻo: Đặc tả làm sở cho thiết kế cài đặt, tĩnh mà vật động, trải qua thay đổi đáng kể nên nội dung cấu trúc phải phù hợp Sự thay đổi cần sửa đổi tối thiểu, phần nhỏ thành phần thâm vào hay loại bớt cách dễ dàng 5/5 ... c tả hình thức 2/5 Đặc tả yêu cầu Đặc tả hình thức đặc tả mà từ ngữ, cú pháp, ngữ nghĩa định nghĩa hình thức dựa vào toán học Đặc tả hình thức coi phần hoạt động đặc tả phần mềm Các đặc tả yêu. .. ngữ mô tả thiết kế, giống ngôn ngữ lập trình có mức trừu tượng cao hơn, ? Ngôn ngữ đặc tả yêu cầu, ? Ghi chép graphic, ? Đặc tả toán học, Có thể chia đặc tả yêu cầu làm hai loại: đặc tả phi.. .Đặc tả yêu cầu ? Người trả tiền cho hệ thống người sử dụng thường khác Các yêu cầu đưa ràng buộc tổ chức tài tranh chấp với yêu cầu người sử dụng Do đặc tả yêu cầu thêm thông tin