Năm giai đoạn để phát triển hệ thống phần mềm theo hướng đối tượng.
Đặc tả yêu cầu(Requirement analysis)
Phân tích (Analysis)
Thiết kế (Design)
Lập trình (Programming)
Kiểm tra (Testing)
16 trang |
Chia sẻ: thuychi16 | Lượt xem: 921 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Kĩ thuật lập trình - Bài 8: Thiết kế chương trình theo hướng đối tượng, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài 8: Thiết kế chương trình theohướng đối tượng.Các giai đoạn phát triển hệ thống Năm giai đoạn để phát triển hệ thống phần mềm theo hướng đối tượng. Đặc tả yêu cầu(Requirement analysis) Phân tích (Analysis) Thiết kế (Design) Lập trình (Programming) Kiểm tra (Testing) Đặc tả yêu cầu:Tìm hiểu các trường hợp sử dụng (use-case) qui trình nghiệp vụ, yêu cầu của khách hàng, của vấn đề giải quyết.Thông qua các use case tìm ra các nhân tố tham gia vào hệ thống.Mỗi use case được mô tả bằng văn bản, đặc tả yêu cầu của khách hàng.Các giai đoạn phát triển hệ thống Phân tích:Từ các đặc tả yêu cầu , hệ thống bước đầu được mô hình hóa bởi các khái niệm lớp, đối tượng và các cơ chế để diễn tả hoạt động của hệ thống.Trong bước này chỉ mô tả các lớp chưa đi sâu vào các chi tiết kỹ thuật.Các giai đoạn phát triển hệ thống Thiết kế:Trong giai đoạn thiết kế, kết quả quá trình phân tích được mở rộng thành giải pháp kỹ thuật. Các lớp được thêm vào như lớp giao diện, lớp cơ sở dữ liệu, lớp chức năng Lập trình: Bước này đặc tả chi tiết kết quả của bước thiết kế. Các bước của lớp thiết kế được chuyển thành mã nguồn theo ngôn ngữ lập trình hướng đối tượng nào đó.Các giai đoạn phát triển hệ thốngKiểm tra: Có 4 hình thức kiểm tra hệ thống.Kiểm tra từng đơn thể (unit testing) được dùng kiểm tra các lớp hoặc các nhóm đơn.Kiểm tra tính tích hợp (integration testing), được kết hợp với các thành phần và các lớp để kiểm tra xem chúng hoạt động với nhau có đúng không. Kiểm tra hệ thống (system testing) chỉ để kiểm tra xem hệ thống có đáp ứng được chức năng mà người dùng yêu cầu không.Kiểm tra tính chấp nhận được(acceptance testing), việc kiểm tra này được thực hiện bởi khách hàng, việc kiểm tra cũng thực hiện giống như kiểm tra hệ thốngCác giai đoạn phát triển hệ thống Lớp được tìm từ pham vi bài toán, nên đặt tên lớp trùng với tên các đối tượng thực mà ta biểu diễn. Để tìm lớp trả lời các câu hỏi sau:Có thông tin nào cần lưu trữ hay phân tích không? Nếu có, cần tạo lớp.Có hệ thống bên ngoài hay không? Hệ thống ngoài có thể được xem như các lớp mà hệ thống của chúng ta chứa hoặc tương tác với nó.Có các mẫu thiết kế, thư viện lớp, thành phần, hay không? Các thành phần này đã được xây dựng từ các project trước đó, từ các đồng nghiệp hoặc các nhà sản xuất?Có thiết bị nào mà hệ thống phải đáp ứng? Bất cứ thiết bị nào được nối với hệ thống có thể chuyển thành lớp dự tuyển.Tác nhân đóng vai trò như thế nào trong hệ thống? Các vai diễn này nên được xem là lớp như người sử dụng, khách hàng, người quản trịCách tìm lớp Để thiết kế một chương trình theo hướng đối tượng phải xây dựng một cây phả hệ mang tính kế thừa và mối quan hệ giữa các đối tượng. Để xây dựng cây phả hệ trải qua các bước sau:Xác định các dạng đối tượng (lớp) của bài toán.Tìm kiếm các đặc tính chung (dữ liệu chung) trong các dạng đối tượng này, những gì chúng cùng nhau chia sẻ.Xác định được lớp cơ sở dựa trên cơ sở các đặc tính chung của các dạng đối tượng.Từ lớp cơ sở, sử dụng quan hệ tổng quát hóa để đặc tả trong việc đưa ra các lớp dẫn xuất chứa các thành phần, những đặc tính không chung còn lại của dạng đối tượng. Bên cạnh đó, ta còn đưa ra các lớp có quan hệ với các lớp cơ sở và lớp dẫn xuấtCác bước cần thiết để thiết kế chương trìnhĐối với các bài toán phức tạp: Phân tích một cách cẩn thận về các đối tượng của bài toán theo trật tự từ dưới lên (bottom up).Tìm ra những gì tồn tại chung giữa các đối tượng, nhóm các đặc tính này lại để được các lớp cơ sở.Tiếp tục theo hướng từ dưới lên, chúng ta thiết kế được các đối tượng phù hợp.Các bước cần thiết để thiết kế chương trìnhSau đó:Cài đặt theo hướng đối tượng từ trên xuống bằng cách cài đặt lớp cơ sở chung nhất.Tiếp tục cài đặt các lớp dẫn xuất trên cơ sở các đặc tính chung của từng nhóm đối tượng.Cho đến khi tất cả các dạng đối tượng của hệ thống được cài đặt xong để được cây phả hệCác bước cần thiết để thiết kế chương trìnhTính tiền lương của các nhân viên trong cơ quan theo các dạng khác nhau:Dạng người lao động lãnh lương từ ngân sách Nhà nước được gọi là cán bộ, công chức (dạng biên chế). Dạng người lao động lãnh lương từ ngân sách của cơ quan được gọi là người làm hợp đồng.Ví dụ 1 Hệ thống có hai đối tượng: Biên chế và hợp đồng. Hai loại đối tượng này có đặc tính chung đó là viên chức làm việc cho cơ quan. có thể tạo nên lớp cơ sở để quản lý một viên chức (lớp Nguoi) bao gồm mã số, họ tên và lương. Sau đó xây dựng các lớp còn lại kế thừa từ lớp cơ sở trên:Lớp dành cho cán bộ, công chức (lớp BienChe) gồm các thuộc tính: hệ số lương, tiền phụ cấp chức vụ.Lớp dành cho người làm hợp đồng (lớp HopDong) gồm các thuộc tính: tiền công lao động, số ngày làm việc trong tháng, hệ số vượt giờ. Ví dụ 1Giả sử cuối năm học cần trao giải thưởng cho các sinh viên xuất sắc và các giảng viên có nhiều công trình khoa học được công bố trên tạp chí.Ví dụ 2Các lớp trong cây phả hệ: lớp Nguoi quản lý hồ sơ cá nhân lớp SinhVien quản lý về sinh viên lớp GiangVien quản lý giảng viên.+ Lớp Nguoi: - Dữ liệu họ và tên. - Phương thức kiểm tra khả năng được khen thưởng. Đây là phương thức thuần ảo. - Phương thức xuất. Đây là phương thức thuần ảo.+ Lớp SinhVien: - Dữ liệu điểm trung bình. - Phương thức kiểm tra khả năng được khen thưởng. - Phương thức xuất.+ Lớp GiangVien: - Dữ liệu điểm trung bình. - Phương thức kiểm tra khả năng được khen thưởng. - Phương thức xuấtVí dụ 2Giả sử cần phải tạo các hình: hình tròn và hình chữ nhật được tô theo hai màu red và blue. Xây dựng một cây phả hệ để quản lý các hình nàyVí dụ 3Trước hết cần có lớp cơ sở Shape để lưu trữ thông tin chung cho các hình, sau đó là hai lớp dẫn xuất Rectangle về hình hình chữ nhật và Circle về hình tròn.+ Lớp Shape: - Tọa độ tâm. - Màu đường biên. - Màu tô. - Phương thức thiết lập tô màu. - Phương thức vẽ hình. Đây là phương thức thuần ảo.+ Lớp Rectangle: - Chiều dài và chiều rộng. - Phương thức vẽ hình.+ Lớp Circle: - Bán kính. - Phương thức vẽ hình.Ví dụ 3