Sau giai đoạn phân tích, mô hình khái niệm được phát triển hơn nữa thành mô hình hướng đối tượng sử dụng thiết kế hướng đối tượng (OOD). Trong OOD, các khái niệm độc lập với công nghệ trong mô hình phân tích được ánh xạ vào các lớp thực hiện, các ràng buộc được xác định và các giao diện được thiết kế, dẫn đến một mô hình cho miền giải pháp. Tóm lại, một mô tả chi tiết được xây dựng chỉ định cách thức xây dựng hệ thống trên các công nghệ cụ thể
Các giai đoạn cho thiết kế hướng đối tượng có thể được xác định là -
- Định nghĩa bối cảnh của hệ thống
- Thiết kế kiến trúc hệ thống
- Xác định các đối tượng trong hệ thống
- Xây dựng mô hình thiết kế
- Đặc điểm kỹ thuật của giao diện đối tượng
Thiết kế hệ thống
Thiết kế hệ thống hướng đối tượng liên quan đến việc xác định bối cảnh của một hệ thống theo sau là thiết kế kiến trúc của hệ thống.
Bối cảnh - Bối cảnh của một hệ thống có một phần tĩnh và một phần động. Bối cảnh tĩnh của hệ thống được thiết kế bằng sơ đồ khối đơn giản của toàn bộ hệ thống được mở rộng thành hệ thống phân cấp của các hệ thống con. Mô hình hệ thống con được đại diện bởi các gói UML. Bối cảnh động mô tả cách hệ thống tương tác với môi trường của nó. Nó được mô hình hóa bằng cách sử dụng sơ đồ ca sử dụng .
Kiến trúc hệ thống - Kiến trúc hệ thống được thiết kế trên cơ sở bối cảnh của hệ thống theo các nguyên tắc thiết kế kiến trúc cũng như kiến thức về miền. Thông thường, một hệ thống được phân vùng thành các lớp và mỗi lớp được phân tách để tạo thành các hệ thống con.
Phân rã hướng đối tượng
Phân rã có nghĩa là phân chia một hệ thống phức tạp lớn thành một hệ thống phân cấp các thành phần nhỏ hơn với độ phức tạp ít hơn, theo các nguyên tắc phân chia chinh phục và chinh phục. Mỗi thành phần chính của hệ thống được gọi là hệ thống con. Phân rã hướng đối tượng xác định các đối tượng tự trị cá nhân trong một hệ thống và giao tiếp giữa các đối tượng này.
Ưu điểm của phân hủy là -
Các thành phần riêng lẻ có độ phức tạp ít hơn, và do đó dễ hiểu và dễ quản lý hơn.
Nó cho phép phân chia lực lượng lao động có các kỹ năng chuyên ngành.
Nó cho phép các hệ thống con được thay thế hoặc sửa đổi mà không ảnh hưởng đến các hệ thống con khác.
Xác định đồng thời
Đồng thời cho phép nhiều hơn một đối tượng nhận các sự kiện cùng một lúc và nhiều hoạt động được thực hiện đồng thời. Đồng thời được xác định và đại diện trong mô hình động.
Để kích hoạt đồng thời, mỗi phần tử đồng thời được gán một luồng điều khiển riêng. Nếu đồng thời ở mức đối tượng, thì hai đối tượng đồng thời được gán hai luồng điều khiển khác nhau. Nếu hai hoạt động của một đối tượng là đồng thời về bản chất, thì đối tượng đó được phân chia giữa các luồng khác nhau.
Đồng thời có liên quan đến các vấn đề về tính toàn vẹn dữ liệu, bế tắc và chết đói. Vì vậy, một chiến lược rõ ràng cần phải được thực hiện bất cứ khi nào cần đồng thời. Bên cạnh đó, đồng thời đòi hỏi phải được xác định ở giai đoạn thiết kế và không thể để lại cho giai đoạn thực hiện.
Xác định mẫu
Trong khi thiết kế các ứng dụng, một số giải pháp thường được chấp nhận được áp dụng cho một số loại vấn đề. Đây là những mẫu thiết kế. Một mẫu có thể được định nghĩa là một tập hợp các khối xây dựng được lập thành tài liệu có thể được sử dụng trong một số loại vấn đề phát triển ứng dụng nhất định.
Một số mẫu thiết kế thường được sử dụng là -
- Mẫu mặt tiền
- Mô hình tách mô hình xem
- Mẫu quan sát
- Mô hình điều khiển xem mô hình
- Xuất bản mẫu đăng ký
- Mẫu proxy
Kiểm soát sự kiện
Trong quá trình thiết kế hệ thống, các sự kiện có thể xảy ra trong các đối tượng của hệ thống cần phải được xác định và xử lý thích hợp.
Một sự kiện là một đặc điểm kỹ thuật của một sự kiện quan trọng có vị trí trong thời gian và không gian.
Có bốn loại sự kiện có thể được mô hình hóa, cụ thể là -
Sự kiện tín hiệu - Một đối tượng được đặt tên được ném bởi một đối tượng và bị bắt bởi một đối tượng khác.
Sự kiện cuộc gọi - Một sự kiện đồng bộ thể hiện công văn của một hoạt động.
Sự kiện thời gian - Một sự kiện đại diện cho thời gian trôi qua.
Thay đổi sự kiện - Một sự kiện đại diện cho sự thay đổi trong trạng thái.
Xử lý các điều kiện biên
Giai đoạn thiết kế hệ thống cần giải quyết việc khởi tạo và chấm dứt toàn bộ hệ thống cũng như từng hệ thống con. Các khía cạnh khác nhau được ghi lại như sau -
Khởi động lại hệ thống, nghĩa là sự chuyển đổi hệ thống từ trạng thái không khởi tạo sang trạng thái ổn định.
Việc chấm dứt hệ thống, nghĩa là đóng tất cả các luồng đang chạy, dọn sạch các tài nguyên và các tin nhắn sẽ được gửi.
Cấu hình ban đầu của hệ thống và cấu hình lại hệ thống khi cần.
Nhìn thấy trước những thất bại hoặc chấm dứt không mong muốn của hệ thống.
Điều kiện biên được mô hình hóa bằng cách sử dụng các trường hợp sử dụng ranh giới.
Thiết kế đối tượng
Sau khi hệ thống phân cấp của các hệ thống con được phát triển, các đối tượng trong hệ thống được xác định và các chi tiết của chúng được thiết kế. Ở đây, nhà thiết kế chi tiết ra chiến lược được lựa chọn trong quá trình thiết kế hệ thống. Sự nhấn mạnh chuyển từ các khái niệm miền ứng dụng sang các khái niệm máy tính. Các đối tượng được xác định trong quá trình phân tích được khắc ra để thực hiện với mục đích giảm thiểu thời gian thực hiện, tiêu thụ bộ nhớ và chi phí tổng thể.
Thiết kế đối tượng bao gồm các giai đoạn sau -
- Nhận dạng đối tượng
- Đại diện đối tượng, nghĩa là xây dựng các mô hình thiết kế
- Phân loại hoạt động
- Thiết kế thuật toán
- Thiết kế các mối quan hệ
- Thực hiện kiểm soát các tương tác bên ngoài
- Gói các lớp và các hiệp hội thành các mô-đun
Nhận dạng đối tượng
Bước đầu tiên của thiết kế đối tượng là xác định đối tượng. Các đối tượng được xác định trong các giai đoạn phân tích hướng đối tượng của nhóm được nhóm thành các lớp và được tinh chỉnh sao cho phù hợp để thực hiện thực tế.
Các chức năng của giai đoạn này là -
Xác định và tinh chỉnh các lớp trong mỗi hệ thống con hoặc gói
Xác định các liên kết và liên kết giữa các lớp
Thiết kế các hiệp hội phân cấp giữa các lớp, nghĩa là khái quát hóa / chuyên môn hóa và kế thừa
Thiết kế tập hợp
Đại diện đối tượng
Khi các lớp được xác định, chúng cần được biểu diễn bằng các kỹ thuật mô hình đối tượng. Giai đoạn này về cơ bản liên quan đến việc xây dựng các sơ đồ UML.
Có hai loại mô hình thiết kế cần được sản xuất -
Mô hình tĩnh - Để mô tả cấu trúc tĩnh của một hệ thống bằng sơ đồ lớp và sơ đồ đối tượng.
Mô hình động - Để mô tả cấu trúc động của một hệ thống và hiển thị sự tương tác giữa các lớp bằng sơ đồ tương tác và sơ đồ biểu đồ trạng thái.
Phân loại hoạt động
Trong bước này, thao tác được thực hiện trên các đối tượng được xác định bằng cách kết hợp ba mô hình được phát triển trong pha OOA, cụ thể là mô hình đối tượng, mô hình động và mô hình chức năng. Một hoạt động xác định những gì sẽ được thực hiện và không phải làm như thế nào.
Các tác vụ sau được thực hiện liên quan đến hoạt động -
Sơ đồ chuyển trạng thái của từng đối tượng trong hệ thống được phát triển.
Các hoạt động được xác định cho các sự kiện nhận được bởi các đối tượng.
Các trường hợp trong đó một sự kiện kích hoạt các sự kiện khác trong cùng hoặc các đối tượng khác nhau được xác định.
Các hoạt động phụ trong các hành động được xác định.
Các hành động chính được mở rộng thành sơ đồ luồng dữ liệu.
Thiết kế thuật toán
Các hoạt động trong các đối tượng được xác định bằng thuật toán. Một thuật toán là một thủ tục từng bước để giải quyết vấn đề được đặt ra trong một hoạt động. Các thuật toán tập trung vào cách nó được thực hiện.
Có thể có nhiều hơn một thuật toán tương ứng với một hoạt động nhất định. Khi các thuật toán thay thế được xác định, thuật toán tối ưu được chọn cho miền vấn đề đã cho. Các số liệu để chọn thuật toán tối ưu là -
Độ phức tạp tính toán - Độ phức tạp xác định hiệu quả của thuật toán theo thời gian tính toán và yêu cầu bộ nhớ.
Tính linh hoạt - Tính linh hoạt xác định liệu thuật toán được chọn có thể được thực hiện phù hợp hay không mà không mất tính thích hợp trong các môi trường khác nhau.
Dễ hiểu - Điều này xác định liệu thuật toán được chọn có dễ hiểu và thực hiện hay không.
Thiết kế các mối quan hệ
Chiến lược để thực hiện các mối quan hệ cần phải được vạch ra trong giai đoạn thiết kế đối tượng. Các mối quan hệ chính được giải quyết bao gồm các hiệp hội, tập hợp và kế thừa.
Nhà thiết kế nên làm như sau về các hiệp hội -
Xác định xem một hiệp hội là một chiều hay hai chiều.
Phân tích đường dẫn của các hiệp hội và cập nhật chúng nếu cần thiết.
Triển khai các hiệp hội như một đối tượng riêng biệt, trong trường hợp có nhiều mối quan hệ với nhiều người; hoặc như một liên kết đến đối tượng khác trong trường hợp một mối quan hệ với một hoặc một hoặc nhiều mối quan hệ.
Về kế thừa, nhà thiết kế nên làm như sau -
Điều chỉnh các lớp và các hiệp hội của họ.
Xác định các lớp trừu tượng.
Đưa ra các quy định để các hành vi được chia sẻ khi cần thiết.
Thực hiện kiểm soát
Người thiết kế đối tượng có thể kết hợp các sàng lọc trong chiến lược của mô hình biểu đồ trạng thái. Trong thiết kế hệ thống, một chiến lược cơ bản để hiện thực hóa mô hình động được thực hiện. Trong quá trình thiết kế đối tượng, chiến lược này được tô điểm một cách khéo léo để thực hiện phù hợp.
Các cách tiếp cận để thực hiện mô hình động là -
Đại diện cho Bang dưới dạng Địa điểm trong Chương trình - Đây là cách tiếp cận theo thủ tục truyền thống, theo đó vị trí kiểm soát xác định trạng thái chương trình. Một máy trạng thái hữu hạn có thể được thực hiện như một chương trình. Một chuyển đổi tạo thành một câu lệnh đầu vào, đường dẫn điều khiển chính tạo thành chuỗi các lệnh, các nhánh tạo thành các điều kiện và các đường dẫn ngược tạo thành các vòng lặp hoặc lặp.
Máy trạng thái - Cách tiếp cận này đại diện trực tiếp cho máy trạng thái thông qua lớp động cơ máy trạng thái. Lớp này thực thi bộ máy trạng thái thông qua một tập hợp các chuyển đổi và hành động được cung cấp bởi ứng dụng.
Điều khiển như các tác vụ đồng thời - Trong phương pháp này, một đối tượng được triển khai như một tác vụ trong ngôn ngữ lập trình hoặc hệ điều hành. Ở đây, một sự kiện được thực hiện như một cuộc gọi liên tác vụ. Nó bảo tồn đồng thời vốn có của các đối tượng thực.
Lớp học đóng gói
Trong bất kỳ dự án lớn nào, phân vùng tỉ mỉ của việc triển khai thành các mô-đun hoặc gói là quan trọng. Trong quá trình thiết kế đối tượng, các lớp và đối tượng được nhóm thành các gói để cho phép nhiều nhóm làm việc hợp tác trong một dự án.
Các khía cạnh khác nhau của bao bì là -
Ẩn thông tin nội bộ khỏi chế độ xem bên ngoài - Nó cho phép một lớp được xem như một hộp đen của Google và cho phép thay đổi thực hiện lớp mà không yêu cầu bất kỳ khách hàng nào của lớp sửa đổi mã.
Sự kết hợp của các yếu tố - Một yếu tố, chẳng hạn như một lớp, một hoạt động hoặc một mô-đun, sẽ được kết hợp nếu nó được tổ chức trên một kế hoạch nhất quán và tất cả các phần của nó có liên quan về bản chất để chúng phục vụ một mục tiêu chung.
Xây dựng các mô-đun vật lý - Các hướng dẫn sau đây giúp trong khi xây dựng các mô-đun vật lý -
Các lớp trong một mô-đun nên biểu diễn những thứ hoặc thành phần tương tự trong cùng một đối tượng tổng hợp.
Các lớp kết nối chặt chẽ nên trong cùng một mô-đun.
Các lớp không được kết nối hoặc kết nối yếu nên được đặt trong các mô-đun riêng biệt.
Các mô-đun nên có sự gắn kết tốt, nghĩa là, sự hợp tác cao giữa các thành phần của nó.
Một mô-đun nên có sự ghép thấp với các mô-đun khác, nghĩa là sự tương tác hoặc phụ thuộc lẫn nhau giữa các mô-đun nên ở mức tối thiểu.
Tối ưu hóa thiết kế
Mô hình phân tích nắm bắt thông tin logic về hệ thống, trong khi mô hình thiết kế thêm chi tiết để hỗ trợ truy cập thông tin hiệu quả. Trước khi thiết kế được triển khai, nó cần được tối ưu hóa để thực hiện hiệu quả hơn. Mục đích của tối ưu hóa là để giảm thiểu chi phí về thời gian, không gian và các số liệu khác.
Tuy nhiên, tối ưu hóa thiết kế không nên quá mức, vì dễ thực hiện, khả năng bảo trì và mở rộng cũng là những mối quan tâm quan trọng. Người ta thường thấy rằng một thiết kế được tối ưu hóa hoàn hảo là hiệu quả hơn nhưng ít đọc và có thể tái sử dụng. Vì vậy, nhà thiết kế phải đạt được sự cân bằng giữa hai.
Những điều khác nhau có thể được thực hiện để tối ưu hóa thiết kế là -
- Thêm các hiệp hội dự phòng
- Bỏ qua các hiệp hội không thể sử dụng
- Tối ưu hóa các thuật toán
- Lưu các thuộc tính dẫn xuất để tránh tính toán lại các biểu thức phức tạp
Bổ sung các hiệp hội dự phòng
Trong quá trình tối ưu hóa thiết kế, nó được kiểm tra nếu tạo ra các hiệp hội mới có thể giảm chi phí truy cập. Mặc dù các hiệp hội dự phòng này có thể không thêm bất kỳ thông tin nào, nhưng chúng có thể làm tăng hiệu quả của mô hình tổng thể.
Bỏ sót các hiệp hội không sử dụng được
Sự hiện diện của quá nhiều hiệp hội có thể khiến một hệ thống không thể giải mã được và do đó làm giảm hiệu quả chung của hệ thống. Vì vậy, trong quá trình tối ưu hóa, tất cả các hiệp hội không thể sử dụng được loại bỏ.
Tối ưu hóa thuật toán
Trong các hệ thống hướng đối tượng, tối ưu hóa cấu trúc dữ liệu và thuật toán được thực hiện theo cách hợp tác. Một khi thiết kế lớp được đưa ra, các hoạt động và thuật toán cần phải được tối ưu hóa.
Tối ưu hóa các thuật toán thu được bằng cách -
- Sắp xếp lại thứ tự các nhiệm vụ tính toán
- Đảo ngược thứ tự thực hiện các vòng lặp từ đó được đặt trong mô hình chức năng
- Loại bỏ các đường chết trong thuật toán
Lưu và lưu trữ các thuộc tính phái sinh
Thuộc tính phái sinh là những thuộc tính có giá trị được tính là hàm của các thuộc tính khác (thuộc tính cơ sở). Tính toán lại các giá trị của các thuộc tính dẫn xuất mỗi khi chúng cần là một thủ tục tiêu dùng thời gian. Để tránh điều này, các giá trị có thể được tính toán và lưu trữ ở dạng tính toán của chúng.
Tuy nhiên, điều này có thể gây ra sự bất thường cập nhật, nghĩa là thay đổi giá trị của các thuộc tính cơ sở không có thay đổi tương ứng trong các giá trị của các thuộc tính dẫn xuất. Để tránh điều này, các bước sau đây được thực hiện -
Với mỗi bản cập nhật của giá trị thuộc tính cơ sở, thuộc tính dẫn xuất cũng được tính lại.
Tất cả các thuộc tính dẫn xuất được tính lại và cập nhật định kỳ trong một nhóm thay vì sau mỗi lần cập nhật.
Tài liệu thiết kế
Tài liệu là một phần thiết yếu của bất kỳ quy trình phát triển phần mềm nào ghi lại quy trình tạo phần mềm. Các quyết định thiết kế cần phải được ghi lại cho bất kỳ hệ thống phần mềm không tầm thường nào để truyền thiết kế cho người khác.
Khu vực sử dụng
Mặc dù là một sản phẩm thứ cấp, một tài liệu tốt là không thể thiếu, đặc biệt là trong các lĩnh vực sau -
- Trong việc thiết kế phần mềm đang được phát triển bởi một số nhà phát triển
- Trong các chiến lược phát triển phần mềm lặp đi lặp lại
- Trong việc phát triển các phiên bản tiếp theo của một dự án phần mềm
- Để đánh giá một phần mềm
- Để tìm điều kiện và khu vực thử nghiệm
- Để bảo trì phần mềm.
Nội dung
Một tài liệu có lợi về cơ bản nên bao gồm các nội dung sau -
Kiến trúc hệ thống cấp độ cao - Các sơ đồ quy trình và sơ đồ mô-đun
Các tóm tắt và cơ chế chính - Sơ đồ lớp và sơ đồ đối tượng.
Kịch bản minh họa hành vi của các khía cạnh chính - Sơ đồ hành vi
Tính năng, đặc điểm
Các tính năng của một tài liệu tốt là -
Súc tích và đồng thời, rõ ràng, nhất quán và đầy đủ
Có thể truy nguyên theo thông số kỹ thuật yêu cầu của hệ thống
Cấu trúc tốt
Sơ đồ thay vì mô tả
إرسال تعليق