PHẦN IV: NGễN NGỮ Mễ HèNH HểA UML

Một phần của tài liệu Giáo trình: Phân tích thiết kế hệ thống pptx (Trang 110 - 114)

G

 Hỡnh dung một hệ thống theo thực tế hay theo mong muốn của chỳng ta .

 Chỉ rừ cấu trỳc hoặc ứng xử của hệ thống.

 Tạo một khuụn mẫu trợ giỳp nhà phỏt triển trong suốt quỏ trỡnh xõy dựng hệ thống.

 Ghi lại cỏc quyết định của nhà phỏt triển để sử dụng sau này.

14.1.2 Trước khi UML ra đời

Đầu những năm 1980, ngành cụng nghệ phần mềm chỉ cú duy nhất một ngụn ngữ hướng đối tượng là Simula. Sang nửa sau của thập kỷ 1980, cỏc ngụn ngữ hướng đối tượng như Smalltalk và C++ xuất hiện. Cựng với chỳng, nảy sinh nhu cầu mụ hỡnh hoỏ cỏc hệ thống phần mềm theo hướng đối tượng. Và một vài trong số những ngụn ngữ mụ hỡnh hoỏ xuất hiện những năm đầu thập kỷ 90 được nhiều người dựng là:

 Grady Booch’s Booch Modeling Methodology

 James Rambaugh’s Object Modeling Technique – OMT

 Ivar Jacobson’s OOSE Methodology

 Hewlett- Packard’s Fusion

 Coad and Yordon’s OOA and OOD

Mỗi phương phỏp luận và ngụn ngữ trờn đều cú hệ thống ký hiệu riờng, phương phỏp xử lý riờng và cụng cụ hỗ trợ riờng, khiến nảy ra cuộc tranh luận phương phỏp nào là tốt nhất. Đõy là cuộc tranh luận khú cú cõu trả lời, bởi tất cả cỏc phương phỏp trờn đều cú những điểm mạnh và điểm yếu riờng. Vỡ thế, cỏc nhà phỏt triển phần mềm nhiều kinh nghiệm thường sử dụng phối hợp cỏc điểm mạnh của mỗi phương phỏp cho ứng dụng của mỡnh. Trong thực tế, sự khỏc biệt giữa cỏc phương phỏp đú hầu như khụng đỏng kể và theo cựng tiến trỡnh thời gian, tất cả những phương phỏp trờn đó tiệm cận lại và bổ sung lẫn cho nhau. Chớnh hiện thực này đó được những người tiờn phong trong lĩnh vực mụ hỡnh hoỏ hướng đối tượng nhận ra và họ quyết định ngồi lại cựng nhau để tớch hợp những điểm mạnh của mỗi phương phỏp và đưa ra một mụ hỡnh thống nhất cho lĩnh vực cụng nghệ phần mềm.

14.1.3 Sự ra đời của UML

Trong bối cảnh trờn, người ta nhận thấy cần thiết phải cung cấp một phương phỏp tiệm cận được chuẩn hoỏ và thống nhất cho việc mụ hỡnh hoỏ hướng đối tượng. Yờu cầu cụ thể là đưa ra một tập hợp chuẩn hoỏ cỏc ký hiệu (Notation) và cỏc biểu đồ (Diagram) để nắm bắt cỏc quyết định về mặt thiết kế một cỏch rừ ràng, rành mạch. Đó cú ba cụng trỡnh tiờn phong nhắm tới mục tiờu đú, chỳng được thực hiện dưới sự lónh đạo của James Rumbaugh, Grady Booch và Ivar Jacobson. Chớnh những cố gắng này dẫn đến kết quả là xõy dựng được một

Ngụn Ngữ Mụ Hỡnh Hoỏ Thống Nhất (Unifield Modeling Language – UML).

UML là một ngụn ngữ mụ hỡnh hoỏ thống nhất cú phần chớnh bao gồm những ký hiệu hỡnh học, được cỏc phương phỏp hướng đối tượng sử dụng để thể hiện và miờu tả cỏc thiết kế của một hệ thống. Nú là một ngụn ngữ để đặc tả, trực quan hoỏ, xõy dựng và làm sưu liệu cho nhiều khớa cạnh khỏc nhau của một hệ thống cú nồng độ phần mềm cao. UML cú thể được sử dụng làm cụng cụ giao tiếp giữa người dựng, nhà phõn tớch, nhà thiết kế và nhà phỏt triển phần mềm.

Trong quỏ trỡnh phỏt triển cú nhiều cụng ty đó hỗ trợ và khuyến khớch phỏt triển UML cú thể kể tới như: Hewlett Packard, Microsoft, Oracle, IBM, Unisys.

G 14.1.4 UML (Unifield Modeling Language) 14.1.4 UML (Unifield Modeling Language)

Ngụn ngữ mụ hỡnh húa thống nhất (Unifield Modeling Language – UML) là một ngụn ngữ để biểu diễn mụ hỡnh theo hướng đối tượng được xõy dựng bởi ba tỏc giả trờn với chủ đớch là:

 Mụ hỡnh hoỏ cỏc hệ thống sử dụng cỏc khỏi niệm hướng đối tượng.

 Thiết lập một kết nối từ nhận thức của con người đến cỏc sự kiện cần mụ hỡnh hoỏ.

 Giải quyết vấn đề về mức độ thừa kế trong cỏc hệ thống phức tạp, cú nhiều ràng buộc khỏc nhau.

 Tạo một ngụn ngữ mụ hỡnh hoỏ cú thể sử dụng được bởi người và mỏy.

14.1.5 Phương phỏp và cỏc ngụn ngữ mụ hỡnh hoỏ

Phương phỏp hay phương thức (method) là một cỏch trực tiếp cấu trỳc hoỏ sự suy nghĩ và hành động của con người. Phương phỏp cho người sử dụng biết phải làm gỡ, làm như thế nào, khi nào và tại sao (mục đớch của hành động). Phương phỏp chứa cỏc mụ hỡnh (model), cỏc mụ hỡnh được dựng để mụ tả những gỡ sử dụng cho việc truyền đạt kết quả trong quỏ trỡnh sử dụng phương phỏp. Điểm khỏc nhau chớnh giữa một phương phỏp và một ngụn ngữ mụ hỡnh hoỏ (modeling language) là ngụn ngữ mụ hỡnh hoỏ khụng cú một tiến trỡnh (process) hay cỏc cõu lệnh (instruction) mụ tả những cụng việc người sử dụng cần làm.

Một mụ hỡnh được biểu diễn theo một ngụn ngữ mụ hỡnh hoỏ. Ngụn ngữ mụ hỡnh hoỏ bao gồm cỏc ký hiệu – những biểu tượng được dựng trong mụ hỡnh – và một tập cỏc quy tắc chỉ cỏch sử dụng chỳng. Cỏc quy tắc này bao gồm:

 Syntactic (Cỳ phỏp): cho biết hỡnh dạng cỏc biểu tượng và cỏch kết hợp chỳng trong ngụn ngữ.

 Semantic (Ngữ nghĩa): cho biết ý nghĩa của mỗi biểu tượng, chỳng được hiểu thế nào khi nằm trong hoặc khụng nằm trong ngữ cảnh của cỏc biểu tượng khỏc.

 Pragmatic : định nghĩa ý nghĩa của biểu tượng để sao cho mục đớch của mụ hỡnh được thể hiện và mọi người cú thể hiểu được.

14.2 UML trong phõn tớch thiết kế hệ thống

UML cú thể được sử dụng trong nhiều giai đoạn, từ phỏt triển, thiết kế cho tới thực hiện và bảo trỡ. Vỡ mục đớch chớnh của ngụn ngữ này là dựng cỏc biểu đồ hướng đối tượng để mụ tả hệ thống nờn miền ứng dụng của UML bao gồm nhiều loại hệ thống khỏc nhau như:

Hệ thống thống tin (Information System): Cất giữ, lấy, biến đổi biểu diễn thụng tin cho người sử dụng. Xử lý những khoảng dữ liệu lớn cú cỏc quan hệ phức tạp , mà chỳng được lưu trữ trong cỏc cơ sở dữ liệu quan hệ hay hướng đối tượng .

Hệ thống kỹ thuật (Technical System): Xử lý và điều khiển cỏc thiết bị kỹ thuật như viễn thụng, hệ thống quõn sự, hay cỏc quỏ trỡnh cụng nghiệp. Đõy là loại thiết bị phải xử lý cỏc giao tiếp đặc biệt , khụng cú phần mềm chuẩn và thường là cỏc hệ thống thời gian thực (real time).

Hệ thống nhỳng (Embeded System): Thực hiện trờn phần cứng gắn vào cỏc thiết bị như điện thoại di động, điều khiển xe hơi, … Điều này được thực hiện bằng việc

G

lập trỡnh mức thấp với hỗ trợ thời gian thực. Những hệ thống này thường khụng cú cỏc thiết bị như màn hỡnh đĩa cứng, …

Hệ thống phõn bố (Distributed System): Được phõn bố trờn một số mỏy cho phộp truyền dữ liệu từ nơi này đến nơi khỏc một cỏch dễ dàng. Chỳng đũi hỏi cỏc cơ chế liờn lạc đồng bộ để đảm bảo toàn vẹn dữ liệu và thường được xõy dựng trờn một số cỏc kỹ thuật đối tượng như CORBA, COM/DCOM, hay Java Beans/RMI.

Hệ thống giao dịch (Business System): Mụ tả mục đớch, tài nguyờn (con người, mỏy tớnh,…), cỏc quy tắc (luật phỏp, chiến thuật kinh doanh, cơ chế,…), và cụng việc hoạt động kinh doanh.

Phần mềm hệ thống (System Software): Định nghĩa cơ sở hạ tầng kỹ thuật cho phần mềm khỏc sử dụng, chẳng hạn như hệ điều hành, cơ sở dữ liệu, giao diện người sử dụng.

14.3 UML và cỏc giai đoạn phỏt triển hệ thống

Preliminary Investigation: use cases thể hiện cỏc yờu cầu của người dựng. Phần miờu

tả use case xỏc định cỏc yờu cầu, phần diagram thể hiện mối quan hệ và giao tiếp với hệ thống.

Analysis: Mục đớch chớnh của giai đọan này là trừu tượng húa và tỡm hiểu cỏc cơ cấu cú

trong phạm vi bài toỏn. Class diagrams trờn bỡnh diện trừu tượng húa cỏc thực thể ngoài đời thực được sử dụng để làm rừ sự tồn tại cũng như mối quan hệ của chỳng. Chỉ những lớp (class) nằm trong phạm vi bài toỏn mới đỏng quan tõm.

Design: Kết quả phần analysis được phỏt triển thành giải phỏp kỹ thuật. Cỏc lớp được mụ

hỡnh húa chi tiết để cung cấp hạ tầng kỹ thuật như giao diện, nền tảng cho database, … Kết quả phần Design là cỏc đặc tả chi tiết cho giai đoạn xõy dựng phần mềm.

Development: Mụ hỡnh Design được chuyển thành code. Programmer sử dụng cỏc UML

diagrams trong giai đoạn Design để hiểu vấn đề và tạo code.

Testing: Sử dụng cỏc UML diagrams trong cỏc giai đoạn trước. Cú 4 hỡnh thức kiểm tra

hệ thống:

Unit testing (class diagrams & class specifications) : kiểm tra từng đơn thể, được dựng để kiểm tra cỏc lớp hay cỏc nhúm đơn thể.

Integration testing (integration diagrams & collaboration diagrams) : kiểm tra tớch hợp là kiểm tra kết hợp cỏc component với cỏc lớp để xem chỳng hoạt động với nhau cú đỳng khụng.

System testing (use-case diagrams) : kiềm tra xem hệ thống cú đỏp ứng được chức năng mà người sử dụng yờu cầu hay khụng.

Acceptance testing: Kiểm tra tớnh chấp nhận được của hệ thống, thường được

thực hiện bởi khỏch hàng, việc kiểm tra này thực hiện tương tự như kiểm tra hệ thống.

G Chương 15 Chương 15

Một phần của tài liệu Giáo trình: Phân tích thiết kế hệ thống pptx (Trang 110 - 114)