Trong các chương trước, chúng ta đã thảo luận về các khối xây dựng và các thành phần cần thiết khác của UML. Bây giờ chúng ta cần hiểu nơi sử dụng các yếu tố đó.
Các phần tử giống như các thành phần có thể được liên kết theo nhiều cách khác nhau để tạo thành một bức tranh UML hoàn chỉnh, được gọi là sơ đồ. Vì vậy, điều rất quan trọng là phải hiểu các sơ đồ khác nhau để triển khai kiến thức trong các hệ thống thực tế.
Bất kỳ hệ thống phức tạp nào cũng được hiểu rõ nhất bằng cách tạo ra một số loại sơ đồ hoặc hình ảnh. Những sơ đồ này có tác động tốt hơn đến sự hiểu biết của chúng ta. Nếu chúng ta nhìn xung quanh, chúng ta sẽ nhận ra rằng các sơ đồ không phải là một khái niệm mới nhưng nó được sử dụng rộng rãi dưới các hình thức khác nhau trong các ngành công nghiệp khác nhau.
Chúng tôi chuẩn bị các sơ đồ UML để hiểu hệ thống theo cách đơn giản và tốt hơn. Một sơ đồ duy nhất là không đủ để bao quát tất cả các khía cạnh của hệ thống. UML định nghĩa các loại biểu đồ khác nhau để bao hàm hầu hết các khía cạnh của một hệ thống.
Bạn cũng có thể tạo bộ sơ đồ của riêng mình để đáp ứng yêu cầu của bạn. Sơ đồ thường được thực hiện theo cách tăng dần và lặp đi lặp lại.
Có hai loại biểu đồ rộng và chúng lại được chia thành các danh mục con –
- sơ đồ kết cấu
- sơ đồ hành vi
sơ đồ kết cấu
Các sơ đồ cấu trúc thể hiện khía cạnh tĩnh của hệ thống. Các khía cạnh tĩnh này đại diện cho các phần của sơ đồ, tạo thành cấu trúc chính và do đó ổn định.
Những phần tĩnh này được đại diện bởi các lớp, giao diện, đối tượng, thành phần và nút. Bốn sơ đồ cấu trúc là –
- sơ đồ lớp
- sơ đồ đối tượng
- sơ đồ thành phần
- Sơ đồ triển khai
sơ đồ lớp
Sơ đồ lớp là sơ đồ phổ biến nhất được sử dụng trong UML. Sơ đồ lớp bao gồm các lớp, giao diện, liên kết và cộng tác. Sơ đồ lớp về cơ bản đại diện cho quan điểm hướng đối tượng của một hệ thống, có tính chất tĩnh.
Lớp tích cực được sử dụng trong sơ đồ lớp để thể hiện tính tương tranh của hệ thống.
Sơ đồ lớp thể hiện hướng đối tượng của một hệ thống. Do đó, nó thường được sử dụng cho mục đích phát triển. Đây là sơ đồ được sử dụng rộng rãi nhất tại thời điểm xây dựng hệ thống.
sơ đồ đối tượng
Sơ đồ đối tượng có thể được mô tả như một thể hiện của sơ đồ lớp. Do đó, các sơ đồ này gần với các tình huống thực tế hơn khi chúng ta triển khai một hệ thống.
Sơ đồ đối tượng là một tập hợp các đối tượng và mối quan hệ của chúng giống như sơ đồ lớp. Chúng cũng đại diện cho chế độ xem tĩnh của hệ thống.
Việc sử dụng sơ đồ đối tượng tương tự như sơ đồ lớp nhưng chúng được sử dụng để xây dựng nguyên mẫu của một hệ thống từ góc độ thực tế.
Sơ đồ thành phần
Biểu đồ thành phần biểu thị một tập hợp các thành phần và mối quan hệ của chúng. Các thành phần này bao gồm các lớp, giao diện hoặc cộng tác. Các sơ đồ thành phần biểu thị khung nhìn triển khai của một hệ thống.
Trong giai đoạn thiết kế, các tạo phẩm phần mềm (các lớp, giao diện, v.v.) của một hệ thống được sắp xếp theo các nhóm khác nhau tùy thuộc vào mối quan hệ của chúng. Bây giờ, các nhóm này được gọi là các thành phần.
Cuối cùng, có thể nói sơ đồ thành phần được sử dụng để trực quan hóa việc thực hiện.
Sơ đồ triển khai
Sơ đồ triển khai là một tập hợp các nút và mối quan hệ của chúng. Các nút này là các thực thể vật lý nơi các thành phần được triển khai.
Sơ đồ triển khai được sử dụng để trực quan hóa chế độ xem triển khai của một hệ thống. Điều này thường được sử dụng bởi nhóm triển khai.
Lưu ý – Nếu các mô tả và cách sử dụng ở trên được quan sát cẩn thận thì rất rõ ràng rằng tất cả các sơ đồ đều có một số mối quan hệ với nhau. Sơ đồ thành phần phụ thuộc vào các lớp, giao diện, v.v. là một phần của sơ đồ lớp/đối tượng. Một lần nữa, sơ đồ triển khai phụ thuộc vào các thành phần, được sử dụng để tạo sơ đồ thành phần.
sơ đồ hành vi
Bất kỳ hệ thống nào cũng có thể có hai khía cạnh, tĩnh và động. Vì vậy, một mô hình được coi là hoàn chỉnh khi bao hàm đầy đủ cả hai khía cạnh.
Sơ đồ hành vi về cơ bản nắm bắt khía cạnh động của một hệ thống. Khía cạnh động có thể được mô tả thêm như là các bộ phận thay đổi/chuyển động của một hệ thống.
UML có năm loại sơ đồ hành vi sau đây –
- Sử dụng sơ đồ trường hợp
- biểu đồ trình tự
- sơ đồ cộng tác
- sơ đồ trạng thái
- Sơ đồ hoạt động
Sử dụng sơ đồ trường hợp
Sơ đồ ca sử dụng là một tập hợp các ca sử dụng, tác nhân và mối quan hệ của chúng. Chúng đại diện cho khung nhìn trường hợp sử dụng của một hệ thống.
Một ca sử dụng đại diện cho một chức năng cụ thể của một hệ thống. Do đó, sơ đồ trường hợp sử dụng được sử dụng để mô tả mối quan hệ giữa các chức năng và bộ điều khiển bên trong/bên ngoài của chúng. Những bộ điều khiển được gọi là diễn viên .
Biểu đồ trình tự
Một sơ đồ trình tự là một sơ đồ tương tác. Từ cái tên, rõ ràng là biểu đồ đề cập đến một số trình tự, đó là trình tự các thông điệp truyền từ đối tượng này sang đối tượng khác.
Tương tác giữa các thành phần của một hệ thống là rất quan trọng từ quan điểm triển khai và thực thi. Sơ đồ trình tự được sử dụng để trực quan hóa trình tự các cuộc gọi trong một hệ thống để thực hiện một chức năng cụ thể.
sơ đồ cộng tác
Sơ đồ cộng tác là một dạng khác của sơ đồ tương tác. Nó đại diện cho tổ chức cấu trúc của một hệ thống và các thông điệp được gửi/nhận. Tổ chức cấu trúc bao gồm các đối tượng và liên kết.
Mục đích của sơ đồ cộng tác tương tự như sơ đồ trình tự. Tuy nhiên, mục đích cụ thể của sơ đồ cộng tác là trực quan hóa việc tổ chức các đối tượng và tương tác của chúng.
Biểu đồ trạng thái
Bất kỳ hệ thống thời gian thực nào cũng sẽ bị phản ứng bởi một số loại sự kiện bên trong/bên ngoài. Những sự kiện này chịu trách nhiệm cho sự thay đổi trạng thái của hệ thống.
Biểu đồ trạng thái được sử dụng để biểu diễn sự thay đổi trạng thái theo hướng sự kiện của một hệ thống. Về cơ bản, nó mô tả sự thay đổi trạng thái của một lớp, giao diện, v.v.
Sơ đồ biểu đồ trạng thái được sử dụng để hình dung phản ứng của một hệ thống bởi các yếu tố bên trong/bên ngoài.
Sơ đồ hoạt động
Biểu đồ hoạt động mô tả luồng điều khiển trong một hệ thống. Nó bao gồm các hoạt động và liên kết. Luồng có thể là tuần tự, đồng thời hoặc phân nhánh.
Các hoạt động không là gì ngoài các chức năng của một hệ thống. Số lượng sơ đồ hoạt động được chuẩn bị để nắm bắt toàn bộ luồng trong một hệ thống.
Biểu đồ hoạt động được sử dụng để trực quan hóa luồng điều khiển trong một hệ thống. Điều này được chuẩn bị để có ý tưởng về cách hệ thống sẽ hoạt động khi được thực thi.Lưu ý – Bản chất động của một hệ thống rất khó nắm bắt. UML đã cung cấp các tính năng để nắm bắt động lực học của một hệ thống từ các góc độ khác nhau. Biểu đồ tuần tự và biểu đồ cộng tác là đẳng cấu, do đó chúng có thể được chuyển đổi lẫn nhau mà không làm mất bất kỳ thông tin nào. Điều này cũng đúng với Statechart và sơ đồ hoạt động.
UML – Sơ đồ lớp
Sơ đồ lớp là sơ đồ tĩnh. Nó đại diện cho chế độ xem tĩnh của một ứng dụng. Sơ đồ lớp không chỉ được sử dụng để trực quan hóa, mô tả và ghi lại các khía cạnh khác nhau của hệ thống mà còn để xây dựng mã thực thi của ứng dụng phần mềm.
Sơ đồ lớp mô tả các thuộc tính và hoạt động của một lớp cũng như các ràng buộc áp đặt lên hệ thống. Các sơ đồ lớp được sử dụng rộng rãi trong việc mô hình hóa các hệ thống hướng đối tượng vì chúng là các sơ đồ UML duy nhất, có thể được ánh xạ trực tiếp bằng các ngôn ngữ hướng đối tượng.
Biểu đồ lớp hiển thị một tập hợp các lớp, giao diện, liên kết, cộng tác và ràng buộc. Nó còn được gọi là sơ đồ cấu trúc.
Mục đích của sơ đồ lớp
Mục đích của sơ đồ lớp là mô hình hóa chế độ xem tĩnh của một ứng dụng. Sơ đồ lớp là sơ đồ duy nhất có thể được ánh xạ trực tiếp bằng các ngôn ngữ hướng đối tượng và do đó được sử dụng rộng rãi tại thời điểm xây dựng.
Các sơ đồ UML như sơ đồ hoạt động, sơ đồ trình tự chỉ có thể cung cấp luồng trình tự của ứng dụng, tuy nhiên sơ đồ lớp thì hơi khác một chút. Đây là sơ đồ UML phổ biến nhất trong cộng đồng lập trình viên.
Mục đích của sơ đồ lớp có thể được tóm tắt là –
- Phân tích và thiết kế chế độ xem tĩnh của một ứng dụng.
- Mô tả trách nhiệm của một hệ thống.
- Cơ sở cho các sơ đồ thành phần và triển khai.
- Chuyển tiếp và đảo ngược kỹ thuật.
Làm thế nào để vẽ một sơ đồ lớp?
Sơ đồ lớp là sơ đồ UML phổ biến nhất được sử dụng để xây dựng các ứng dụng phần mềm. Điều rất quan trọng là phải học quy trình vẽ sơ đồ lớp.
Sơ đồ lớp có rất nhiều thuộc tính cần xem xét trong khi vẽ nhưng ở đây sơ đồ sẽ được xem xét từ chế độ xem cấp cao nhất.
Sơ đồ lớp về cơ bản là một biểu diễn đồ họa của chế độ xem tĩnh của hệ thống và biểu thị các khía cạnh khác nhau của ứng dụng. Một tập hợp các sơ đồ lớp đại diện cho toàn bộ hệ thống.
Những điểm sau đây cần được ghi nhớ trong khi vẽ sơ đồ lớp –
- Tên của sơ đồ lớp nên có ý nghĩa để mô tả khía cạnh của hệ thống.
- Mỗi yếu tố và các mối quan hệ của chúng nên được xác định trước.
- Trách nhiệm (thuộc tính và phương thức) của mỗi lớp cần được xác định rõ ràng
- Đối với mỗi lớp, số lượng thuộc tính tối thiểu phải được chỉ định, vì các thuộc tính không cần thiết sẽ làm cho sơ đồ trở nên phức tạp.
- Sử dụng ghi chú bất cứ khi nào cần thiết để mô tả một số khía cạnh của sơ đồ. Ở phần cuối của bản vẽ, nhà phát triển/người viết mã phải hiểu được.
- Cuối cùng, trước khi tạo phiên bản cuối cùng, sơ đồ nên được vẽ trên giấy thường và làm lại nhiều lần nhất có thể để làm cho nó chính xác.
Sơ đồ sau đây là một ví dụ về Hệ thống đặt hàng của một ứng dụng. Nó mô tả một khía cạnh cụ thể của toàn bộ ứng dụng.
- Trước hết, Đơn hàng và Khách hàng được xác định là hai thành tố của hệ thống. Chúng có mối quan hệ một-nhiều vì một khách hàng có thể có nhiều đơn đặt hàng.
- Lớp Order là một lớp trừu tượng và nó có hai lớp cụ thể (quan hệ kế thừa) SpecialOrder và NormalOrder.
- Hai lớp kế thừa có tất cả các thuộc tính như lớp Order. Ngoài ra, chúng còn có thêm các chức năng như công văn () và nhận ().
Sơ đồ lớp sau đây đã được vẽ xem xét tất cả các điểm được đề cập ở trên.
Sử dụng sơ đồ lớp ở đâu?
Sơ đồ lớp là một sơ đồ tĩnh và nó được sử dụng để mô hình hóa chế độ xem tĩnh của một hệ thống. Chế độ xem tĩnh mô tả từ vựng của hệ thống.
Sơ đồ lớp cũng được coi là nền tảng cho các sơ đồ thành phần và triển khai. Sơ đồ lớp không chỉ được sử dụng để trực quan hóa chế độ xem tĩnh của hệ thống mà chúng còn được sử dụng để xây dựng mã thực thi cho kỹ thuật chuyển tiếp và đảo ngược của bất kỳ hệ thống nào.
Nói chung, sơ đồ UML không được ánh xạ trực tiếp với bất kỳ ngôn ngữ lập trình hướng đối tượng nào nhưng sơ đồ lớp là một ngoại lệ.
Sơ đồ lớp thể hiện rõ ràng ánh xạ với các ngôn ngữ hướng đối tượng như Java, C++, v.v. Từ kinh nghiệm thực tế, sơ đồ lớp thường được sử dụng cho mục đích xây dựng.
Tóm lại, có thể nói, sơ đồ lớp được sử dụng cho –
- Mô tả khung nhìn tĩnh của hệ thống.
- Hiển thị sự cộng tác giữa các thành phần của chế độ xem tĩnh.
- Mô tả các chức năng được thực hiện bởi hệ thống.
- Xây dựng ứng dụng phần mềm sử dụng ngôn ngữ hướng đối tượng.
UML – Sơ đồ đối tượng
Sơ đồ đối tượng có nguồn gốc từ sơ đồ lớp nên sơ đồ đối tượng phụ thuộc vào sơ đồ lớp.
Sơ đồ đối tượng đại diện cho một thể hiện của sơ đồ lớp. Các khái niệm cơ bản là tương tự đối với sơ đồ lớp và sơ đồ đối tượng. Các sơ đồ đối tượng cũng biểu thị chế độ xem tĩnh của một hệ thống nhưng chế độ xem tĩnh này là ảnh chụp nhanh của hệ thống tại một thời điểm cụ thể.
Sơ đồ đối tượng được sử dụng để hiển thị một tập hợp các đối tượng và các mối quan hệ của chúng dưới dạng một thể hiện.
Mục đích của sơ đồ đối tượng
Mục đích của một sơ đồ nên được hiểu rõ ràng để thực hiện nó một cách thực tế. Mục đích của sơ đồ đối tượng tương tự như sơ đồ lớp.
Sự khác biệt là sơ đồ lớp biểu thị một mô hình trừu tượng bao gồm các lớp và các mối quan hệ của chúng. Tuy nhiên, một sơ đồ đối tượng đại diện cho một thể hiện tại một thời điểm cụ thể, về bản chất là cụ thể.
Nó có nghĩa là sơ đồ đối tượng gần với hành vi hệ thống thực tế hơn. Mục đích là để ghi lại chế độ xem tĩnh của một hệ thống tại một thời điểm cụ thể.
Mục đích của sơ đồ đối tượng có thể được tóm tắt là –
- Chuyển tiếp và đảo ngược kỹ thuật.
- Mối quan hệ đối tượng của một hệ thống
- Chế độ xem tĩnh của một tương tác.
- Hiểu hành vi của đối tượng và mối quan hệ của chúng từ góc độ thực tế
Làm thế nào để vẽ một sơ đồ đối tượng?
Chúng ta đã thảo luận rằng sơ đồ đối tượng là một thể hiện của sơ đồ lớp. Nó ngụ ý rằng một sơ đồ đối tượng bao gồm các thể hiện của những thứ được sử dụng trong sơ đồ lớp.
Vì vậy, cả hai sơ đồ được làm từ các yếu tố cơ bản giống nhau nhưng ở dạng khác nhau. Trong sơ đồ lớp, các phần tử ở dạng trừu tượng để biểu diễn bản in màu xanh lam và trong sơ đồ đối tượng, các phần tử ở dạng cụ thể để biểu diễn đối tượng trong thế giới thực.
Để nắm bắt một hệ thống cụ thể, số lượng sơ đồ lớp bị hạn chế. Tuy nhiên, nếu chúng ta xem xét các sơ đồ đối tượng thì chúng ta có thể có số lượng phiên bản không giới hạn, về bản chất là duy nhất. Chỉ những trường hợp được xem xét, có tác động đến hệ thống.
Từ cuộc thảo luận ở trên, rõ ràng là một sơ đồ đối tượng đơn lẻ không thể nắm bắt được tất cả các trường hợp cần thiết hay đúng hơn là không thể chỉ định tất cả các đối tượng của một hệ thống. Do đó, giải pháp là –
- Trước tiên, hãy phân tích hệ thống và quyết định phiên bản nào có dữ liệu và liên kết quan trọng.
- Thứ hai, chỉ xem xét những trường hợp sẽ bao hàm chức năng.
- Thứ ba, thực hiện một số tối ưu hóa vì số lượng phiên bản là không giới hạn.
Trước khi vẽ sơ đồ đối tượng, cần ghi nhớ và hiểu rõ những điều sau đây –
- Sơ đồ đối tượng bao gồm các đối tượng.
- Liên kết trong sơ đồ đối tượng được sử dụng để kết nối các đối tượng.
- Đối tượng và liên kết là hai yếu tố được sử dụng để xây dựng sơ đồ đối tượng.
Sau đó, những điều sau đây sẽ được quyết định trước khi bắt đầu xây dựng sơ đồ –
- Sơ đồ đối tượng nên có một tên có ý nghĩa để chỉ ra mục đích của nó.
- Các yếu tố quan trọng nhất phải được xác định.
- Sự liên kết giữa các đối tượng cần được làm rõ.
- Giá trị của các phần tử khác nhau cần được nắm bắt để đưa vào sơ đồ đối tượng.
- Thêm ghi chú thích hợp vào những điểm cần rõ ràng hơn.
Sơ đồ sau đây là một ví dụ về sơ đồ đối tượng. Nó đại diện cho hệ thống quản lý Đơn đặt hàng mà chúng ta đã thảo luận trong chương Sơ đồ lớp. Sơ đồ sau đây là một phiên bản của hệ thống tại một thời điểm mua hàng cụ thể. Nó có các đối tượng sau.
- Khách hàng
- Đặt hàng
- Đơn hàng đặc biệt
- thứ tự bình thường
Giờ đây, đối tượng khách hàng (C) được liên kết với ba đối tượng đặt hàng (O1, O2 và O3). Các đối tượng thứ tự này được liên kết với các đối tượng thứ tự đặc biệt và thứ tự thông thường (S1, S2 và N1). Khách hàng có ba đơn đặt hàng sau với các số khác nhau (12, 32 và 40) trong thời gian cụ thể được xem xét.
Khách hàng có thể tăng số lượng đơn đặt hàng trong tương lai và trong trường hợp đó, sơ đồ đối tượng sẽ phản ánh điều đó. Nếu các đối tượng theo thứ tự, thứ tự đặc biệt và thứ tự bình thường được quan sát thì bạn sẽ thấy rằng chúng có một số giá trị.
Đối với các đơn đặt hàng, các giá trị là 12, 32 và 40 ngụ ý rằng các đối tượng có các giá trị này trong một thời điểm cụ thể (ở đây thời điểm cụ thể khi giao dịch mua được thực hiện được coi là thời điểm) khi phiên bản được chụp
Điều này cũng đúng đối với các đối tượng đặt hàng đặc biệt và đặt hàng thông thường có số lượng đặt hàng là 20, 30 và 60. Nếu xem xét thời điểm mua hàng khác, thì các giá trị này sẽ thay đổi tương ứng. Sơ đồ đối tượng sau đây đã được vẽ xem xét tất cả các điểm được đề cập ở trên
Sử dụng sơ đồ đối tượng ở đâu?
Sơ đồ đối tượng có thể được tưởng tượng như ảnh chụp nhanh của một hệ thống đang chạy tại một thời điểm cụ thể. Chúng ta hãy xem xét một ví dụ về một đoàn tàu đang chạy
Bây giờ, nếu bạn chụp nhanh đoàn tàu đang chạy thì bạn sẽ tìm thấy một bức ảnh tĩnh về nó như sau:
- Một trạng thái cụ thể đang chạy.
- Một số lượng hành khách cụ thể. điều này sẽ thay đổi nếu ảnh chụp được thực hiện vào một thời điểm khác
Ở đây, ta có thể hình dung snap của đoàn tàu đang chạy là một đối tượng có các giá trị trên. Và điều này đúng với bất kỳ hệ thống đơn giản hay phức tạp nào trong đời thực.
Tóm lại, có thể nói rằng sơ đồ đối tượng được sử dụng cho –
- Tạo nguyên mẫu của một hệ thống.
- Kỹ thuật đảo ngược.
- Mô hình hóa các cấu trúc dữ liệu phức tạp.
Hiểu hệ thống từ quan điểm thực tế.