Đang tải dữ liệu...
ParkOur Việt

 Bản tin | Bài viết | Thư viện | Diễn đàn | Giới thiệu | Liên hệ | Tìm kiếm 
Trưng cầu ý kiến
Khi xây dựng ứng dụng trên .NET, bạn thích và hay thường sử dụng ngôn ngữ lập trình nào?
 
Tìm kiếm
Tìm kiếm nâng cao
Thống kê
Số người truy cập: 4.306.837
Số người trực tuyến: 90
Trang chủ .NET Việt Nam  >  Bài viết  >  Theo chủ đề  >  Kỹ nghệ phần mềm  >  Ngôn ngữ UML
Ngôn ngữ mô hình hoá UML - Chương 1: Tổng quan về UML

UML Bài 1: Giới thiệu tổng quan về ngôn ngữ UML

Quỳnh Nguyễn
.NET Việt Nam
   
04:36' PM - Thứ hai, 11/04/2005

Tại sao chúng ta phải xây dựng mô hình cho hệ thống?

Mô hình hóa là cách xem xét một bài toán thông qua việc sử dụng các mô hình. Mô hình dùng để hiểu rõ bài toán, trao đổi thông tin giữa những người liên quan như khách hàng, chuyên gia, người phân tích, người thiết kế... Mô hình giúp cho việc xác định các yêu cầu tốt hơn, thiết kế rõ ràng hơn và khả năng bảo trì hệ thống cao hơn.

Mô hình là sự trừu tượng hóa, mô tả mặt bản chất của một vấn đề hoặc một cấu trúc phức tạp bằng cách loại bỏ những chi tiết không quan trọng, khiến cho bài toán trở nên dễ hiểu và dễ nắm bắt hơn. Trừu tượng hóa là một khả năng cơ bản của con người trong việc giải quyết các vấn đề phức tạp. Các kỹ sư, kiến trúc sư, các nghệ sĩ đã từng xây dựng những mô hình từ hàng nghìn năm nay để thử các thiết kế của họ trước khi thực hiện chúng. Việc phát triển các hệ thống phần mềm cũng không ngoại lệ. Để xây dựng một hệ thống phức tạp, những người phát triển phải trừu tượng hóa những khía cạnh (View) khác nhau của hệ thống, xây dựng các mô hình bằng cách sử dụng các kí hiệu một cách rõ ràng, cẩn thận, kiểm tra xem các mô hình đã thoả mãn các yêu cầu của hệ thống chưa và dần dần thêm vào các chi tiết để có thể chuyển đổi từ mô hình sang một cài đặt cụ thể.

Chúng ta xây dựng mô hình của những hệ thống phức tạp bởi vì chúng ta không thể lĩnh hội một lúc toàn bộ hệ thống đó. Ví dụ như khi xây một nhà kho chúng ta có thể bắt tay vào xây ngay, khi xây một ngôi nhà chúng ta có thể cần bản thiết kế của ngôi nhà đó. Khi cần xây môt tòa nhà cao tầng, chúng ta chắc chắn cần bản thiết kế của toà nhà đó. Điều này cũng đúng trong lĩnh vực phần mềm. Hệ thống càng phức tạp thì việc xây dựng mô hình càng quan trọng. Xây dựng mô hình cho phép người thiết kế thấy được bức tranh tổng quan của hệ thống, thấy được các thành phần của hệ thống tương tác với nhau như thế nào hơn là việc sa lầy vào chi tiết bên trong của các thành phần đó.

Trong thế giới luôn biến động của các ứng dụng hướng đối tượng thì việc phát triển và bảo trì các ứng dụng có chất lượng cao trong một khoảng thời gian hợp lý ngày càng trở nên khó khăn hơn. Một tổ chức phát triển phần mềm thành công là tổ chức xây dựng được các phần mềm có chất lượng, thoả mãn được mọi yêu cầu của khách hàng.

Mô hình hóa là phần trung tâm trong các công việc, các hoạt động để dẫn tới một phần mềm tốt. Chúng ta xây dựng mô hình để trao đổi, bàn bạc về cấu trúc và ứng xử(behavior) mong muốn của hệ thống. Chúng ta xây dựng mô hình để trực quan hóa và kiểm soát kiến trúc của hệ thống.

Mô hình có thể mô tả các cấu trúc, nhấn mạnh về mặt tổ chức của hệ thống hoặc nó có thể mô tả các hành vi, tập trung vào mặt động của hệ thống.

Chúng ta xây dựng mô hình để hiểu rõ hơn về hệ thống mà chúng ta đang xây dựng, tạo ra cơ hội để có thể đơn giản hóa và tái sử dụng. Chúng ta xây dựng mô hình để kiểm soát rủi ro.

Việc lập mô hình không chỉ dành cho các hệ thống lớn. Khi xây dựng mô hình chúng ta sẽ đạt được 4 mục đích sau:

  • Mô hình giúp chúng ta trực quan hóa hệ thống như là nó vốn có hay theo cách mà chúng ta muốn nó sẽ như vậy.
  • Mô hình cho phép chúng ta chỉ rõ cấu trúc và ứng xử của hệ thống
  • Mô hình cho chúng ta một khuôn mẫu để hướng dẫn chúng ta trong quá trình xây dựng hệ thống.
  • Mô hình đưa ra các dẫn chứng bằng tài liệu về các quyết định mà chúng ta đã đưa ra trong quá trình thiết kế hệ thống.

Thông qua việc mô hình hóa, chúng ta thu hẹp bài toán mà chúng ta đang nghiên cứu bằng cách chỉ tập trung vào một khía cạnh tại một thời điểm. Điều này cũng giống như phương pháp “chia để trị” mà Edsger Diskstra đã đưa ra: “Giải quyết một vấn đề khó bằng cách chia nó thành những bài toán nhỏ hơn mà bạn có thể giải quyết được.”

Mô hình hóa là việc đơn giản hóa thực tế, loại bỏ những điểm thứ yếu, tuy nhiên ta phải chắc chắn rằng không bỏ sót một chi tiết quan trọng nào.

Tùy thuộc vào đặc điểm tự nhiên của hệ thống, mỗi mô hình có thể tập trung vào những mặt khác nhau của hệ thống. Như hệ thống tập trung vào dữ liệu thì các mô hình về phần thiết kế tĩnh của hệ thống sẽ được chú ý hơn. Trong hệ thống giao diện người dùng thì phần tĩnh và động của Use case sẽ là quan trọng. Trong hệ thống thời gian thực, các tiến trình động là quan trọng. Cuối cùng, trong hệ thống phân tán dựa trên cở sở Web thì các mô hình về thực thi và triển khai là quan trọng nhất.

Trang:  1/9  1   2   3   4   ...   »
Số lượt đọc:  139436  -  Cập nhật lần cuối:  07/07/2005 11:03:45 PM
  Đánh giá - Trao đổi - Nhận xétTổng số:  96
nhận xét
Kiên  - Email:  dannuocnam_h87@yahoo.com   (23/08/2008 05:09:58 PM)
bài viết còn chung chung quá!nhưng mà tớ ủng hộ tinh thần viết bài!
Hỏi tí
chary   (02/08/2008 02:19:17 PM)
cho hỏi sự khác nhau giữa include với extend trong phần connector
Good job
NIITer  - Email:  khanhkidy@yahoo.com   (03/06/2008 04:39:40 PM)
Bài viết của bạn nói chung vẫn còn là lý thuyết. Muốn người đọc như tớ hiểu rõ hơn thì cần phải có vài ví dụ cụ thể để thể hiện hết tất cả các vấn đề đuọc nói đến trong bài. Tiếp tục nào bạn.
tỵhty
gfhfg  - Email:  hgthtyhtyhj   (22/04/2008 12:55:53 AM)
jtyjryjryj
Sequence diagram
Nguyễn Loan  - Email:  ntcloan@gmail.com   (12/04/2008 02:48:58 PM)
Sequence diagram là gì vậy các bạn nhỉ?

Là luợc đồ tuần tự mô tả trình tự các sự kiện trong Usecase, đặc tả luồng công việc của hiện thực hóa usecase (trình tự thực hiện bên trong)

Hay là đặc tả quy trình thực hiện bên ngoài,chẳng hạn(chọn form, hiện messagebox,...)
ý kiến
nguyễn nam cao  - Email:  nguyenxuancuongqt@yahoo.com   (01/04/2008 03:46:10 PM)
Trình bày khá đầy đủ thế nào là mô hình và mô hình hóa, nhưng cái này hầu như chỉ phục vụ mô hình hóa cho một số ngành điện tử, máy móc... gì gì đó thôi. Chứ các hệ thống tự nhiên thì chưa thấy có ứng dụng nhiều. Thật tiếc tôi đang quan tâm đến vấn đề này mà chưa tìm thấy tài liệu
y kien
trung kien  - Email:  trungkien_bkit04@yahoo.com.vn   (31/03/2008 02:04:26 AM)
cung binh thuong
nhung cai nay that ra la rat chung chung, tai lieu nao ma chang co cai quan trong la chi tiet cua chung, hien thuc nhu the nao.
can cho them nhieu vi du ...
thanks
Trang:  1/14Trang sau 
  Ý kiến của bạn về bài viết
Bài mới:  
UML Bài 3: Tìm lớp (Class)
11/07/2005 12:30' AM
UML Bài 2: Tìm Use Case
27/04/2005 06:32' PM
Bài đã đăng:
 Trang chủ | Giới thiệu | Liên hệ BQT | Tìm kiếm