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 (854.08 KB, 48 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<small>Giáo viên: Nguyễn Dũng </small>
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">• <sub>Khái niệm và tầm quan trọng </sub>
• <sub>Phân loại các yêu cầu </sub>
• <sub>Phân tích và xác định u cầu </sub>
• <sub>Đặc tả yêu cầu </sub>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">• <sub>Xác định và đặc tả yêu cầu </sub>
• <sub>Là khâu kỹ thuật đầu tiên của q trình phát </sub>
triển phần mềm. Thiếu nó khơng thể tiếp tục q trình
• <sub>Là sự phối hợp của nhà phát triển và khách </sub>
hàng
• <sub>Nó quyết định chất lượng phần mềm đạt được </sub>
với chi phí dự kiến và thời hạn cho trước
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">• <i><b><sub>Các yêu cầu là các mô tả trừu tượng đến chi tiết </sub></b></i>
về <i><b>dịch vụ mà hệ thống cung cấp </b></i>cũng như các
<i><b>ràng buộc</b></i> lên sự phát triển và hoạt động của nó
• <sub>Mục đích của các u cầu: </sub>
• <sub>Làm cơ sở cho việc mời thầu (cần có giải thích </sub>
từ phía chủ đầu tư)
• <sub>Làm cở sở cho việc ký hợp đồng thầu (cần đủ </sub>
và chi tiết)
• <sub>Làm tư liệu đầu vào cho thiết kế và triển khai </sub>
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><small>•</small> <i><b><sub>Yêu cầu người sử dụng </sub></b></i>
<small>•</small> <sub>Đơn giản, dễ hiểu </sub>
<small>•</small> <sub>Diễn đạt bằng ngơn ngữ tự nhiên và sơ đồ về dịch vụ hệ </sub>
<small>thống cần cung cấp và các ràng buộc trong hoạt động của nó </small>
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><small>•</small> <sub>Nên mơ tả </sub>
<small>•</small> <sub>u cầu chức năng </sub> <small>•</small> <sub>Yêu cầu phi chức năng </sub>
<small>•</small> <sub>Dễ hiểu đối với người sử dụng </sub>
<small>•</small> <sub>Khơng có kiến thức chi tiết về kĩ thuật/tin học </sub>
<small>•</small> <sub>Nên được mơ tả bởi: </sub>
<small>•</small> <sub>Ngơn ngữ tự nhiên </sub>
<small>•</small> <sub>Ưu điểm: Dễ hiểu, dễ sử dụng </sub> <small>•</small> <sub>Hạn chế: </sub>
<small>•Khơng rõ ràng, thiếu chính xác, nhập nhằng </small>
<small>•Lẫn lộn giữa u cầu chức năng và phi chức năng </small>
<small>•</small> <sub>Quá mềm dẻo (trình bày nhiều cách) </sub>
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">• <sub>Là đặc tả chi tiết hơn yêu cầu người sử dụng </sub>
• <sub>Phục vụ cơ bản cho bước thiết kế </sub>
• <sub>Có thể sử dụng làm một phần của hợp đồng </sub>
• <sub>Có thể sử dụng các mơ hình để mơ tả </sub>
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9"><small>•</small> <i><b><sub>Các u cầu chức năng (Function requirement): </sub></b></i>
<small>•</small> <sub>Mơ tả các chức năng hay các dịch vụ mà hệ thống phần </sub>
<small>mềm cần cung cấp </small>
<small>•</small> <i><b><sub>Các yêu cầu phi chức năng (Non-Function requirement): </sub></b></i>
<small>•</small> <sub>Mơ tả các ràng buộc đặt lên dịch vụ và quá trình phát </sub>
<small>triển hệ thống (về chất lượng, về môi trường, chuẩn sử dụng, qui trình phát triển,…) </small>
<small>•</small> <i><b><sub>Các u cầu miền/lĩnh vực ngồi: </sub></b></i>
<small>•</small> <sub>Những u cầu đặt ra từ miền ứng dụng, phản ánh </sub>
<small>những đặc trưng miền đó. </small>
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">• <i><b><sub>Mơ tả chức năng hay dịch vụ của hệ thống </sub></b></i> • <sub>Chúng phụ thuộc vào: </sub>
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13"><small>•</small> <sub>Định nghĩa các tính chất và ràng buộc của hệ thống </sub>
<small>•</small> <sub>u cầu tiến trình </sub>
<small>•</small> <sub>u cầu về lưu trữ dữ liệu </sub>
<small>•</small> <sub>Yêu cầu phi chức năng có thể quan trọng hơn yêu cầu </sub>
<small>chức năng. Nếu yêu cầu phi chức năng không được đáp </small>
<small>ứng hệ thống trở nên vô dụng 14 </small>
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">• <i><b><sub>Yêu cầu về sản phẩm: </sub></b></i>
• <sub>Tốc độ, độ tin cậy, bộ nhớ cần, giao diện,… </sub>
• <i><b><sub>Yêu cầu về tổ chức/tiến trình phát triển: </sub></b></i>
• <sub>Các chuẩn áp dụng, phương pháp thiết kế, </sub>
ngơn ngữ lập trình, mơ trình tiến trình,…
• <i><b><sub>u cầu từ bên ngồi: </sub></b></i>
• <sub>Về chi phí, thời gian, bản quyền, liên kết,… </sub>
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16"><small>16 </small>
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">• <sub>Các hoạt động của tiến trình kỹ nghệ </sub>
• <sub>Nghiên cứu khả thi Báo cáo khả thi </sub>
• <sub>Phân tích, xác định u cầu Mơ hình hệ </sub>
thống
• <sub>Đặc tả yêu cầu Các yêu cầu được đặc tả </sub>
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19"><small>•</small> <sub>Nhằm trả lời câu hỏi: </sub>
<small>•</small> <i><b><sub>Có nên phát triển hệ thống hay khơng? </sub></b></i>
<small>•</small> <sub>Nội dung nghiên cứu khả thi tập trung để trả lời các câu </sub>
<small>hỏi: </small>
<small>•</small> <i><b><sub>Hệ thống được xây dựng sẽ giúp ích gì cho tổ chức? </sub></b></i> <small>•</small> <i><b><sub>Hệ thống sử dụng cơng nghệ nào, kinh phí bao nhiêu, </sub></b></i>
<i><b><small>thời gian bao nhiêu? </small></b></i>
<small>•</small> <i><b><sub>Hệ thống cần phải tích hợp với hệ thống nào đang sử </sub></b></i>
<small>dụng? </small>
<small>20 </small>
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21"><small>•</small> <sub>Báo cáo khả thi được viết dựa trên các thông tin, báo cáo </sub>
<small>thu thập được, những đánh giá ban đầu về hệ thống hiện tại và phác thảo các phương án dự kiến </small>
<small>•</small> <sub>Câu hỏi đặt ra cho người của tổ chức: </sub>
<small>•</small> <i><sub>Cái gì xảy ra nếu hệ thống không được triển khai? </sub></i>
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">• <sub>Làm rõ: </sub>
• <sub>Phạm vi lĩnh vực ứng dụng </sub>
• <sub>Các dịch vụ hệ thống cần cung cấp </sub> • <sub>Các ràng buộc đặt lên hệ thống </sub>
• <sub>Bằng cách xây dựng các mơ hình phân tích (mơ </sub>
hình nghiệp vụ của hệ thống) để làm rõ các yêu
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23"><small>•</small> <sub>Khách hàng thương mơ hồ về u cầu, khơng biết rõ </sub>
<small>mình muốn gì, dễ lẫn lộn giữa yêu cầu và mong muốn </small>
<small>•</small> <sub>Họ thể hiện yêu cầu theo thuật ngữ riêng </sub>
<small>•</small> <sub>Khách hàng đa dạng, các yêu cầu có thể mâu thuẩn nhau </sub>
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">• <i><b><sub>Mục tiêu, mong muốn: là cái hướng tới </sub></b></i>
• <sub>Chẳng hạn: xây dựng giao diện thân thiện với </sub>
người dùng
• <i><b><sub>Yêu cầu: là cái cụ thể, kiểm tra được </sub></b></i>
• <sub>Chẳng hạn: giao diện đồ họa, các lệnh được </sub>
chọn bằng thực đơn hay biểu tượng
Nhiệm vụ của người phân tích là gợi mở, xác định đúng, đầy đủ, chính xác các yêu cầu
<small>24 </small>
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25"><small>•</small> <sub>Các hoạt động chính: </sub>
<small>•</small> <sub>Tìm hiểu miền ứng dụng </sub> <small>•</small> <sub>Phát hiện, thu thập yêu cầu </sub> <small>•</small> <sub>Phân loại yêu cầu </sub>
<small>•</small> <sub>Giải quyết xung đột (nếu có) </sub> <small>•</small> <sub>Sắp xếp ưu tiên các u cầu </sub>
<small>25 </small>
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">• <i><b><sub>Mơ hình hóa miền thơng tin: </sub></b></i>
• <sub>Xác định các </sub><i><b><sub>thực thể </sub></b></i><sub>dữ liệu (đối tượng) </sub> • <sub>Xác định các </sub><i><b><sub>thuộc tính </sub></b></i><sub>của chúng </sub>
• <sub>Thiết lập </sub><i><b><sub>mối quan hệ </sub></b></i><sub>giữa các dữ liệu </sub>
• <i><b><sub>Mơ hình hóa chức năng: </sub></b></i>
• <sub>Bản chất của phần mềm là biến đổi thơng tin </sub>
<small>•</small> <sub>Xác định các </sub><i><b><sub>chức năng </sub></b></i><sub>(biến đổi thơng tin) </sub>
<small>•</small> <sub>Xác định cách thức dữ liệu (thơng tin) </sub><i><b><sub>di chuyển </sub></b></i>
<small>trong hệ thống (luồng dữ liệu) </small>
<small>•</small> <sub>Xác định các </sub><i><b><sub>tác nhân </sub></b></i><sub>tạo và nhận dữ liệu </sub> <sup>26 </sup>
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27"><small>•</small> <i><b><sub>Mơ hình hóa hành vi </sub></b></i>
<small>•</small> <sub>Xác định các trạng thái của hệ thống </sub>
<small>•</small> <sub>Xác định các dữ kiện làm thay đổi hành vi của hệ thống </sub>
<small>•</small> <sub>Phân hoạch, làm mịn: biểu diễn các mô tả ở các mức chi tiết </sub>
<small>khác nhau </small>
<small>•</small> <sub>Làm mịn các mơ hình dữ liệu </sub>
<small>•</small> <sub>Tạo cây (biểu đồ) phân rã chức năng </sub>
<small>•</small> <sub>Biểu diễn hành vi ở các mức chi tiết khác nhau </sub>
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">• <sub>Đặc tả u cầu là </sub><sub>mơ tả u cầu một cách đặc </sub>
biệt. Yêu cầu nên được biểu diễn ở nhiều mức trừu tượng khác nhau: đầy đủ, chính xác dần, nhiều đối tượng có thể đọc:
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">• <sub>Đặc tả: </sub>
• <sub>Các lỗi chính tả được gạch đỏ bên dưới </sub> • <sub>Lỗi soạn thảo được gạch xanh bên dưới </sub>
Lỗi chính tả
<small>•</small> <sub>Từ đơn khơng có trong từ điển </sub> Lỗi soạn thảo
<small>•</small> <sub>Thừa dấu cách </sub>
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">• <i><b><sub>Đầy đủ</sub></b></i><sub>: Mọi yêu cầu của người dùng phải được </sub>
mơ tả
• <i><b><sub>Khơng mâu thuẫn với nhau </sub></b></i>
• <i><b><sub>Chính xác</sub></b></i><sub>: u cầu khơng được mơ hồ </sub>
• <sub>Chỉ được hiểu theo một nghĩa duy nhất </sub>
</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32"><small></small><sub>Nhiều cách biểu diễn cho một khái niệm </sub>
<small></small><sub>Khó phân hoạch, khó sửa đổi </sub> <sub>32 </sub>
</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33"><small>•</small> <sub>Mơ hình luồng dữ liệu </sub>
<small>•</small> <sub>Mơ hình thực thể - mối quan hệ (ERD) </sub> <small>•</small> <sub>Mơ hình dữ liệu quan hệ </sub>
<small>•</small> <sub>Các mơ hình nghiệp vụ, mơ hình phân tích hướng đối tượng với </sub>
</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">• <sub>Biểu diễn mơ hình tốn học </sub>
• <sub>Khái niệm và ký pháp tốn học </sub>
• <sub>Quy tắc khai báo và biểu diễn biểu thức </sub> • <sub>Các luật biểu diễn biểu thức </sub>
<sub>Có thể tự động hóa giải mơ hình </sub>
<sub>Sử dụng mơ hình cho chứng minh, kiểm </sub>
chứng
<sub>Khó hiểu, khó sử dụng </sub>
<small>34 </small>
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">• <sub>Liên quan đến việc kiểm tra tính đúng đắn, tính </sub>
đầy đủ, tính nhất quán, tính hiện thực và kiểm tra được của yêu cầu. Cụ thể trả lời được các câu
hỏi:
• <sub>Cịn nhu cầu nào của người dùng chưa kể đến? </sub> • <sub>Có mâu thuẩn gì giữa các u cầu? </sub>
• <sub>Chức năng, ràng buộc gì chưa kể? </sub> • <sub>Có thực hiện được khơng? </sub>
•
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">• <sub>Xem xét lại yêu cầu: </sub> • <sub>Kiểm tra tính thực hiện được </sub>
• <sub>Tạo ca kiểm thử (test case) </sub>
</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">• <sub>Mơ hình nghiệp vụ (Chức năng) </sub>
• <sub>Biểu đồ phân rã chức năng (FDD) </sub> • <sub>Mơ hình ca sử dụng (use case) </sub>
• <sub>Biểu đồ hoạt động (Activity Diagram) </sub>
• <sub>Biểu đồ chuyển trạng thái </sub> • <sub>Mơ hình luồng dữ liệu (DFD) </sub>
</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38"><small>•</small> <i><b><sub>FDD – Function Decomposition Diagram </sub></b></i>
<small>•</small> <i><sub>Xác định phạm vi của hệ thống </sub></i> <small>•</small> <i><sub>Phân hoạch chức năng </sub></i>
<small>•</small> <i><sub>Tạo nền tảng cho thiết kế kiến trúc hệ thống </sub></i>
<small>38 </small>
</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39"><small>40 </small>
</div><span class="text_page_counter">Trang 41</span><div class="page_container" data-page="41"><small>•</small> <sub>Khái niệm </sub>
<small>•</small> <sub>Tác nhân: người, tổ chức, hệ khác </sub>
<small>•</small> <sub>Đối tượng ngồi hệ thống </sub>
<small>•</small> <sub>Phát sinh hoặc tiếp nhân dữ liệu/thơng tin </sub>
<small>•</small> <sub>Tiến trình: hoạt động nghiệp vụ </sub>
<small>•</small> <sub>Dãy hoạt động tác động lên dữ liệu </sub>
<small>•</small> <sub>Luồng dữ liệu: dữ liệu di chuyển </sub>
<small>•</small> <sub>Dữ liệu di chuyển từ nguồn tới đích </sub>
<small>•</small> <sub>Kho dữ liệu: dữ liệu được lưu trữ </sub>
<small>•</small> <sub>Dữ liệu được lưu trữ ở một vị trí </sub>
<small>Tên luồng dữ liệu </small>
</div><span class="text_page_counter">Trang 42</span><div class="page_container" data-page="42"><small>42 </small>
</div><span class="text_page_counter">Trang 43</span><div class="page_container" data-page="43">• <sub>Phân tích dữ liệu độc lập với lưu trữ và xử lý </sub>
• <sub>Nghiên cứu phạm vi miền thơng tin </sub>
• <sub>Tạo ra mơ hình trừu tượng hướng khách hàng </sub>
(mơ hình khái niệm), trực quan
• <sub>Xác định các mối quan hệ mang tính cấu trúc giữa </sub>
các dữ liệu. Dễ dàng chuyển sang mơ hình thiết
</div><span class="text_page_counter">Trang 45</span><div class="page_container" data-page="45">• <sub>Phỏng vấn </sub>
• <sub>Quan sát </sub>
• <sub>Điều tra bằng bảng hỏi </sub>
• <sub>Nghiên cứu tài liệu </sub>
</div><span class="text_page_counter">Trang 46</span><div class="page_container" data-page="46"><small>46 </small>
</div><span class="text_page_counter">Trang 47</span><div class="page_container" data-page="47"><small>•</small> <i><b><small>Giới thiệu:</small></b></i><small> Mơ tả sự cần thiết của hệ thống </small>
<small>•</small> <i><b><sub>Thuật ngữ: </sub></b></i><sub>Định nghĩa các khái niệm kỹ thuật được sử dụng </sub>
<small>trong tài liệu này </small>
<small>•</small> <i><b><sub>Định nghĩa yêu cầu người sử dụng: </sub></b></i><sub>yêu cầu chức năng và phi </sub>
<small>chức năng </small>
<small>•</small> <i><b><sub>Kiến trúc hệ thống </sub></b></i>
<small>•</small> <i><b><sub>Đặc tả u cầu hệ thống:</sub></b></i><sub> Mơ tả u cầu cơ bản chi tiết hơn </sub> <small>•</small> <i><b><sub>Mơ hình hệ thống: </sub></b></i><sub>Mơ hình đối tượng, mơ hình luồng dữ liệu </sub>
<small>và ngữ nghĩa dữ liệu,… </small>
<small>•</small> <i><b><sub>Phát triển/thay đổi của hệ thống: </sub></b></i><sub>Các giả thiết, các dự đoán về </sub>
<small>phát triển phần cứng, yêu cầu người dùng </small>
<small>•</small> <i><b><sub>Phụ lục </sub></b></i>
</div><span class="text_page_counter">Trang 48</span><div class="page_container" data-page="48"><small>48 </small>
</div>