Xem mẫu

  1. CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ HTTT THEO HƯỚNG ĐỐI TƯỢNG ANALYSIS AND DESIGN INFORMATION SYSTEMS IN OBJECT ORIENTED PGS.TS. Nguyễn Mậu Hân Khoa CNTT-ĐHKH HUẾ nmhan2005@yahoo.com 196
  2. NỘI DUNG 3.1 QUÁ TRÌNH PHÁT TRIỂN PHẦN MỀM HƯỚNG ĐỐI TƯỢNG 3.2. PHÂN TÍCH YÊU CẦU HỆ THỐNG 3.3. ĐẶC TẢ CÁC YÊU CẦU CỦA HT 3.4. THIẾT KẾ HƯỚNG ĐỐI TƯỢNG 3.5. CÁC NHÓM MẪU THIẾT KẾ 3.6. THIẾT KẾ GIAO DIỆN, BÁO BIỂU, AN TOÀN HỆ THỐNG
  3. 3.1 QUÁ TRÌNH PHÁT TRIỂN PHẦN MỀM HĐT Nhận xét: Quá trình xây dựng một sản phẩm phần mềm hoặc nâng cấp một sản phẩm đã có được gọi là quá trình phát triển phần mềm (Software Development Process). Quá trình phát triển một phần mềm là quá trình xác định:  làm cái gì (WHAT?),  làm ở đâu (WHERE?)  làm khi nào (WHEN?)  làm như thế nào (HOW?). 198
  4. 3.1 QUÁ TRÌNH PHÁT TRIỂN PHẦN MỀM HĐT Có 5 bước chính cần thực hiện trong quá trình phát triển phần mềm theo hướng đối tượng: 1. Nghiên cứu hiện trạng và xác định các yêu cầu 2. Phân tích hệ thống 3. Thiết kế hệ thống 4. Lập trình và kiểm thử hệ thống 5. Vận hành và bảo trì hệ thống. 199
  5. 3.1. QUÁ TRÌNH PHÁT TRIỂN PHẦN MỀM HĐT ... 3.1.1 Nghiên cứu hiện trạng và xác định các yêu cầu Từ các yêu cầu của khách hàng chúng ta xác định được mục tiêu của phần mềm cần phát triển. Thường đó là các yêu cầu chức năng về những gì mà hệ thống phải thực hiện. Ở giai đoạn này chưa cần chỉ ra các chức năng đó thực hiện như thế nào. Việc xác định đúng và đầy đủ các yêu cầu của bài toán là nhiệm vụ rất quan trọng, nó làm cơ sở cho các bước tiếp theo. Do đó, phải đặc tả được các yêu cầu của hệ thống (Sử dụng các Use Case để đặc tả các yêu cầu). 200
  6. 3.1.1 Nghiên cứu hiện trạng và xác định các yêu cầu Các công việc cần phải làm trong giai đoạn này: Hiểu rõ miền xác định của bài toán (Domain Understanding) Nắm bắt các yêu cầu của khách hàng/người sử dụng Phân loại (Classification): theo tầm quan trọng hay theo chức năng chính của những người sử dụng. Thẩm định (Validation): Kiểm tra xem các yêu cầu có thống nhất với nhau và đầy đủ không, đồng thời tìm cách giải quyết các mối mâu thuẫn giữa các yêu cầu nếu có. 201
  7. 3.1.1 Nghiên cứu hiện trạng và xác định các yêu cầu Nghiên cứu khả thi (Feasibility Study): Tính khả thi của một dự án tin học phải được thực hiện dựa trên các yếu tố bao gồm các khía cạnh:  tài chính  chiến lược  thị trường  con người, đối tác  kỹ thuật  công nghệ và phương pháp mô hình hoá, v.v. 202
  8. 3.1.1 Nghiên cứu hiện trạng và xác định các yêu cầu Tóm lại, giai đọan nghiên cứu sơ bộ, cần xem xét: Các yêu cầu của NSD, những nguồn tài nguyên có thể sử dụng, công nghệ, các ý tưởng của người sử dụng đối với hệ thống mới. Có thể thực hiện thảo luận, nghiên cứu, xem xét khía cạnh thương mại, phân tích khả năng lời-lỗ Thường trong giai đoạn này người ta cũng tiến hành tạo một phiên bản thô của lịch trình và kế hoạch sử dụng tài nguyên. Kết quả của giai đoạn nghiên cứu sơ bộ là bản Báo Cáo Kết Quả Nghiên Cứu Tính Khả Thi. Khi hệ thống tương lai được chấp nhận dựa trên bản báo cáo này cũng là lúc giai đoạn Phân tích bắt 203 đầu.
  9. 3.1.1 Nghiên cứu hiện trạng và xác định các yêu cầu Mục đích cụ thể của bước xác định yêu cầu: Đi đến thỏa thuận với khách hàng và người dùng về các chức năng của hệ thống-Những gì mà hệ thống phải thực hiện Cho phép các System Developer hiểu rõ hơn các yêu cầu đối với hệ thống Phân định ranh giới của hệ thống Cung cấp cơ sở để hoạch định nội dung kỹ thuật của các vòng lặp Xác định giao diện người dùng cho hệ thống 204
  10. 3.1.1 Nghiên cứu hiện trạng và xác định các yêu cầu Khi nào thì kết thúc giai đoạn này? Khách hàng/người sử dụng (NSD) và những người phát triển đã hiểu hoàn toàn hệ thống chưa? Đã nêu được đầy đủ các yêu cầu về chức năng (dịch vụ), đầu vào/ra và những dữ liệu cần thiết chưa? 205
  11. 3.1.1 Nghiên cứu hiện trạng và xác định các yêu cầu Mối quan hệ giữa các công việc trong pha phân tích các yêu cầu 206
  12. 3.1.2 Phân tích hướng đối tượng  Là giai đoạn quan trọng của quá trình phát triển phần mềm, trong đó mô hình khái niệm phải được mô tả chính xác. Phân tích hướng đối tượng tập trung vào việc tìm kiếm các đối tượng, khái niệm trong lĩnh vực bài toán và xác định mối quan hệ của chúng trong hệ thống. Phân tích hệ thống cần trả lời các câu hỏi sau:  Hệ thống gồm những thành phần, bộ phận, đối tượng nào?  Hệ thống cần thực hiện những cái gì? Kết quả chính của việc phân tích hệ thống hướng đối tượng là: biểu đồ lớp, biểu đồ trạng thái, biểu đồ trình tự, biểu đồ cộng tác và biểu đồ thành phần. 207
  13. 3.1.2 Phân tích hướng đối tượng ... Tóm lại, mục tiêu cụ thể của giai đoạn phân tích là: Xác định hệ thống cần phải làm gì. Nghiên cứu đầy đủ các chức năng cần cung cấp và những yếu tố liên quan. Xây dựng một mô hình nêu bật bản chất vấn đề từ một hướng nhìn có thực (trong đời sống thực). Nhờ chuyên gia lĩnh vực đánh giá, góp ý. Kết quả của giai đoạn phân tích là bản Đặc Tả Yêu Cầu (Requirements Specifications). 208
  14. 3.1.3 Thiết kế hướng đối tượng  Hệ thống được tổ chức thành tập các đối tượng tương tác với nhau và mô tả được cách để hệ thống thực thi nhiệm vụ của bài toán.  Giai đoạn này cần trả lời các câu hỏi: Hệ thống làm như thế nào? (HOW?)  Trong hệ thống có những lớp đối tượng nào, trách nhiệm của chúng như thế nào?  Các đối tượng tương tác với nhau như thế nào?  Các nhiệm vụ mà mỗi lớp đối tượng phải thực hiện như thế nào?  Dữ liệu nghiệp vụ và các giao diện được xây dựng như thế nào?  Kiến trúc và cấu hình của hệ thống như thế nào? 209
  15. 3.1.3 Thiết kế hướng đối tượng Tóm lại, nhiệm vụ chính của thiết kế hệ thống là: Xây dựng các thiết kế chi tiết mô tả các thành phần của hệ thống ở mức cao hơn (khâu phân tích) để phục vụ cho việc cài đặt. Đưa ra được kiến trúc của hệ thống để đảm bảo cho hệ thống có thể thay đổi, có tính mở, dễ bảo trì, thân thiện với NSD, ... Những kết quả trên được thể hiện trong các biểu đồ: biểu đồ lớp (chi tiết), biểu đồ hành vi, biểu đồ thành phần và biểu đồ triển khai. Trong các tài liệu thiết kế phải mô tả cụ thể những thành phần nào, làm những gì và làm như thế nào. 210
  16. 3.1.3 Thiết kế hướng đối tượng Một số các công việc thường được thực hiện trong giai đoạn thiết kế: Thiết kế database Thiết kế các chức năng, thủ tục mô tả các quá trình xử lý từ input đến output. Thiết kế các forms nhập dữ liệu tùy theo các thành phần dữ liệu cần nhập. Thiết kế các reports và những output mà hệ thống mới phải sản sinh Kết quả giai đoạn thiết kế là bản Đặc Tả Thiết Kế (Design Specifications). Bản Đặc Tả Thiết Kế Chi Tiết sẽ được chuyển sang cho các lập trình viên để thực hiện giai đoạn xây 211 dựng phần mềm.
  17. 3.1.4 Lập trình và kiểm thử hệ thống Trong giai đoạn này, mỗi thành phần đã được thiết kế sẽ được lập trình thành những mô đun chương trình (chương trình con). Mỗi mô đun này sẽ được kiểm chứng hoặc thử nghiệm theo các tài liệu đặc tả của giai đoạn thiết kế.  Công việc này được mô tả như sau: Quá trình xây dựng phần mềm 212
  18. 3.1.4 Lập trình và kiểm thử hệ thống Phần kiểm thử được chia thành hai bước chính: Thử nghiệm đơn vị: Người viết code chạy thử các phần chương trình của mình với dữ liệu giả (test/dummy data). Mục đích chính trong giai đoạn kiểm thử này là xem chương trình có cho ra những kết quả mong muốn. Giai đoạn thử nghiệm đơn vị còn được gọi là “Kiểm thử hộp trắng" (White Box Testing) 213
  19. 3.1.4 Lập trình và kiểm thử hệ thống Kiểm thử đơn vị độc lập Công việc này do một thành viên khác đảm trách. Cần chọn người không có liên quan trực tiếp đến việc viết code của đơn vị chương trình cần thử nghiệm để đảm bảo tính “độc lập”. Kiểm thử hệ thống Sau khi các thủ tục đã được thử nghiệm riêng, cần phải thử nghiệm toàn bộ hệ thống. Mọi thủ tục được tích hợp và chạy thử, kiểm tra xem mọi chi tiết ghi trong Đặc Tả Yêu Cầu. Dữ liệu kiểm thử cần được chọn lọc đặc biệt, kết quả cần được phân tích để phát hiện các sai sót so với bản thiết kế. 214
  20. 3.1.5 Vận hành và bảo trì hệ thống Cài đặt hệ thống phần mềm trong môi trường sử dụng của khách hàng Chỉnh sửa phần mềm đúng như những gì đã thiết kế và yêu cầu của người sử dụng Về bảo trì phần mềm:  Nâng cao hiệu quả của hệ thống  Đảm bảo sự thích nghi đối với sự thay đổi của môi trường của hệ thống hay sự sửa đổi cho phù hợp với những thay đổi của chính sách, qui chế mới 215
nguon tai.lieu . vn