Phân tích thiết kế hướng đối tượng

      220

Khi thực hiện các dự án phần mềm, áp dụng tôi có thói quen phân tách đôi thời gian thực hiện, một nửa giành cho việc tò mò nghiệp vụ, phân tích bản lĩnh và thi công database, một nửa thời gian còn lại dành riêng cho việc code. Trong thời đại mở của các nền tảng kỹ thuật họ hoàn toàn rất có thể áp dụng những technology tốt duy nhất cho năng suất ứng dụng của mình, bây giờ việc ứng dụng hoạt động ổn định, đúng nghiệp vụ, tiện lợi mở rộng theo yêu thương cầu đổi khác của tình hình thực tiễn lại là điều quan trọng hơn.

Bạn đang xem: Phân tích thiết kế hướng đối tượng

Phân tích và kiến thiết hướng đối tượng người dùng OOAD (Object Oriented Analysis & Design) và ngôn ngữ quy mô hóa UML (Unified Modeling Language) thịnh hành và được đưa vào các trường giảng dạy ngành CNTT tuy nhiên để áp dụng thực tiễn với sinh viên vẫn còn đấy tương đối cạnh tranh khăn. Trong bài bác này chúng ta sẽ tiếp cận bằng cách đơn giản những kỹ năng và kiến thức về so sánh và xây cất hướng đối tượng người sử dụng và UML để thuộc hiểu và vận dụng vào thực tế.

Khái niệm OOAD (Object Oriented Analysis và Design)

Phân tích và kiến thiết hướng đối tượng người dùng là một nghệ thuật tiếp cận phổ biến dùng để làm phân tích, xây cất một ứng dụng, hệ thống. Nó dựa vào bộ các nguyên tắc chung, đó là 1 trong tập các hướng dẫn nhằm giúp chúng ta tránh ngoài một xây dựng xấu. 5 hình thức SOLID trong xây đắp hướng đối tượng:

Một lớp nên làm có một vì sao để cố gắng đổi, tức là một lớp nên làm xử lý một công dụng đơn lẻ, độc nhất vô nhị thôi. Nếu đặt nhiều tác dụng vào trong một lớp đang dẫn đến sự phụ thuộc giữa các công dụng với nhau cùng mặc dù sau đó ta chỉ chuyển đổi ở một chức năng thì cũng phá tan vỡ các công dụng còn lại.Các lớp, module, công dụng nên dễ ợt Mở (Open) mang đến việc không ngừng mở rộng (thêm công dụng mới) với Đóng (Close) cho việc thay đổi.Lớp dẫn xuất phải có công dụng thay vậy được lớp cha của nó.Chương trình tránh việc buộc phải thiết đặt một interface mà nó không thực hiện đến.Các module cấp cao không nên nhờ vào vào những module cấp cho thấp. Cả hai nên phụ thuộc thông qua lớp trừu tượng. Lớp trừu tượng không nên phụ thuộc vào đưa ra tiết. Chi tiết nên nhờ vào vào trừu tượng

Khái niệm UML

UML là ngôn ngữ mô hình hóa hợp nhất dùng làm biểu diễn hệ thống. Nói một cách dễ dàng và đơn giản là nó dùng để làm tạo ra các bạn dạng vẽ nhằm mục đích mô tả xây đắp hệ thống. Các bản vẽ này được áp dụng để các nhóm xây đắp trao thay đổi với nhau cũng như dùng nhằm thi công khối hệ thống (phát triển), thuyết phục khách hàng hàng, các nhà đầu tư chi tiêu v.v..

Tại sao lại là OOAD với UML?

OOAD đề xuất các bản vẽ để mô tả hệ thống được thiết kế, còn UML là ngôn ngữ mô tả các phiên bản vẽ nên buộc phải nội dung thể hiện. Vị vậy, chúng ta phân tích và xây dựng theo hướng đối tượng và áp dụng UML để trình diễn các kiến tạo đó yêu cầu chúng thường đi đôi với nhau.

OOAD sử dụng UML

UML sử dụng để vẽ cho những lĩnh vực khác nhau như phần mềm, cơ khí, desgin v… trong phạm vi các bài viết này họ chỉ nghiên cứu và phân tích cách áp dụng UML đến phân tích và kiến thiết hướng đối tượng người sử dụng trong ngành phần mềm. OOAD thực hiện UML bao hàm các nhân tố sau:

View (góc nhìn)Diagram (bản vẽ)Notations (ký hiệu)Mechanisms (qui tắc, cơ chế)

Chúng ta sẽ tò mò kỹ hơn các thành phần trên.

View (góc nhìn)

Mỗi góc nhìn như thầy tướng xem voi, nó không biểu thị hết hệ thống nhưng biểu lộ rõ khối hệ thống ở một khía cạnh. Bởi vì thế trong xây đắp có bản vẽ bản vẽ xây dựng (nhìn về mặt kiến trúc), bạn dạng vẽ kết cấu (nhìn về mặt kết cấu), bạn dạng vẽ kiến thiết (nhìn về phương diện thi công). Vào phần mềm tương tự như vậy, OOAD áp dụng UML bao gồm các góc nhìn sau:

*

Trong đó,

Use Case View: cung cấp mắt nhìn về những ca sử dụng giúp họ hiểu khối hệ thống có gì? ai cần sử dụng và sử dụng nó như vậy nào.Logical View: cung cấp mắt nhìn về cấu trúc hệ thống, xem nó được tổ chức như vậy nào. Bên trong nó có gì.Process View: cung cấp góc nhìn động về hệ thống, xem những thành phần trong khối hệ thống tương tác cùng với nhau như vậy nào.Component View: cũng là một mắt nhìn về kết cấu giúp chúng ta hiểu cách phân chia và áp dụng lại các thành phần trong hệ thống ra sao.Deployment View: cung cấp ánh mắt về tiến hành hệ thống, nó cũng tác động lớn đến phong cách thiết kế hệ thống.

Xem thêm: 30+ Quà Tặng Sinh Nhật Chồng Đặc Biệt Và Ý Nghĩa Vô Cùng, Sinh Nhật Chồng Tặng Gì Ý Nghĩa Và Tạo Bất Ngờ

Tập hợp các ánh mắt này đã giúp chúng ta hiểu rõ hệ thống cần phân tích, thiết kế. Trong hình trên họ thấy ánh mắt Use Case View nằm ở vị trí giữa và bỏ ra phối toàn bộ các góc nhìn còn lại. Cũng chính vì thế chúng ta thường thấy những tài liệu nói về 4 view + 1 chứ chưa hẳn 5 view nhằm mục đích nhấn dũng mạnh vai trò của Use Case View.

Diagram (Bản vẽ)

Diagram bạn cũng có thể dịch là sơ đồ. Mặc dù ở đây bọn họ sử dụng từ phiên bản vẽ mang đến dễ hình dung. Các bạn dạng vẽ được dùng để thể hiện nay các ánh mắt của hệ thống.

*

Trong đó,

Use Case Diagram: bản vẽ miêu tả về ca áp dụng của hệ thống. Bản vẽ này vẫn giúp bọn họ biết được ai áp dụng hệ thống, khối hệ thống có những chức năng gì. Lập được phiên bản vẽ này bọn họ sẽ đọc được yêu mong của khối hệ thống cần xây dựng.Class Diagram: bản vẽ này tế bào tả cấu tạo của hệ thống, tức khối hệ thống được cấu trúc từ gần như thành phần nào. Nó mô tả khía cạnh tĩnh của hệ thống.Object Diagram: giống như như Class Diagram tuy thế nó bộc lộ đến đối tượng người tiêu dùng thay vị lớp (Class).Sequence Diagarm: là bản vẽ biểu đạt sự hệ trọng của các đối tượng trong hệ thống với nhau được mô tả tuần tự quá trình tương tác theo thời gian.Collaboration Diagram: tựa như như sequence Diagram dẫu vậy nhấn mạnh về việc tương tác thay vì tuần từ theo thời gian.State Diagram: bản vẽ biểu đạt sự chuyển đổi trạng thái của một đối tượng. Nó được dùng để theo dõi các đối tượng người sử dụng có trạng thái chuyển đổi nhiều vào hệ thống.Activity Diagram: bản vẽ miêu tả các buổi giao lưu của đối tượng, hay được thực hiện để đọc về nghiệp vụ của hệ thống.Component Diagram: bản vẽ biểu thị về việc sắp xếp các yếu tố của hệ thống tương tự như việc sử dụng các thành phần đó.Deployment Diagram: bạn dạng vẽ biểu lộ việc thực thi của hệ thống như việc kết nối, cài đặt đặt, tính năng của khối hệ thống v.v…

Notations (các ký kết hiệu)

Notations là những ký hiệu để vẽ, nó như trường đoản cú vựng trong ngữ điệu tự nhiên. Chúng ta phải biết từ vựng thì mới có thể ghép thành câu, thành bài bác được. Họ sẽ tìm hiểu kỹ các notations trong từng bản vẽ sau này. Dưới đây là vài lấy ví dụ như về notation.

*

Hình bên trên là ví dụ về ký kết hiệu của Use Case, Class, Actor, ngoài ra còn rất nhiều các ký hiệu khác

Mechanisms (Rules)

Mechanisms là những qui tắc nhằm lập nên bản vẽ, mỗi phiên bản vẽ tất cả qui tắc riêng biệt và họ phải nạm được để làm cho các bạn dạng vẽ xây đắp đúng. Những qui tắc này họ sẽ bàn kỹ trong những bài về các bản vẽ.

 

Tổng kết

Nguyên tắc phân tích, xây đắp một hệ thống phần mượt cũng không khác bài toán xây dựng một cái nhà vào xây dựng. Họ nên nhớ cách tiếp cận này để dễ nắm bắt hơn trong bài toán phân tích và xây cất hệ thống. Hãy giữ phần đa thứ mang lại thật dễ dàng và đơn giản để dễ nắm bắt và dễ áp dụng.

Trong thực tế, tùy từng độ tinh vi của dự án mà bạn có thể lược vứt đi một số phiên bản vẽ không quan trọng (bản vẽ cho các phần đối kháng giản, không phức tạp). Tôi thường xuyên vẽ Use Case Diagram, Class Diagram như hai bạn dạng bắt buộc với Activity Diagram cho một số trong những tính năng phức tạp.

 

Theo dõi các bài viết tiếp theo: Phân tích thiết kế khối hệ thống hướng đối tượng người dùng (OOAD) cùng ngôn ngữ quy mô hóa (UML)