Viết tư liệu kiến trúc phần mềm, Phần 2: Phát triển ngữ cảnh hệ thống

Trong loạt bài này, hãy tìm hiểu lý do và cách bạn sẽ viết tư liệu kiến trúc phần mềm. Bài viết thứ hai này cung cấp hướng dẫn để viết tư liệu thông tin ngữ cảnh hệ thống của bạn. Ngữ cảnh hệ thống là tạo tác kiến trúc đầu tiên mà bạn phải nắm bắt. Hãy tìm hiểu cách sử dụng một sơ đồ ngữ cảnh hệ thống và các luồng thông tin để phát triển và viết tư liệu ngữ cảnh hệ thống đối với hệ thống hoặc kiến trúc phần mềm của ứng dụng của bạn.

Tilak Mitra, Kiến trúc sư IT cao cấp, IBM

Author photoTilak Mitra là một Kiến trúc sư cấp cao về Công nghệ Thông tin được công nhận của IBM. Ông chuyên về các SOA, giúp IBM về chiến lược và định hướng kinh doanh của nó trong SOA. Ông cũng làm việc như một chuyên gia về chủ đề SOA, giúp các khách hàng trong việc chuyển đổi kinh doanh dựa trên SOA của họ, với sự tập trung vào các kiến trúc doanh nghiệp lớn và phức tạp. Trọng tâm hiện tại của ông là xây dựng các tài sản tái sử dụng được xung quanh Các dịch vụ Kinh doanh Đa hợp (CBS), có khả năng chạy trên nhiều nền tảng như các vùng nhớ SOA cho IBM, SAP v.v… Ông sống ở vùng Nam Florida có nhiều nắng, và trong lúc không làm việc thì dành hết thời gian vào các trò crickê và bóng bàn. Tilak có các bằng cử nhân về Vật lý của Đại học Presidency, Calcutta, Ấn Độ, và các bằng Cử nhân và Thạc sĩ Tích hợp về EE của Viện Khoa học Ấn Độ, Bangalore, Ấn Độ. Phát hiện nhiều hơn về SOA tại blog của Tilak về SOA và kiến trúc. Xem tiểu sử sơ lược của Tilak Mitra trên LinkedIn hoặc gửi thư điện tử cho ông về các đề nghị của bạn tại tmitra@us.ibm.com


Cấp độ đóng góp cho developerWorks của
        tác giả

30 10 2009

Giới thiệu

Phần 1 của loạt bài này giải thích tầm quan trọngcủa một cách tiếp cận có nguyên lí về viết tư liệu kiến trúc phần mềm. Nó cũng giới thiệu các cơ chế thường được sử dụng để nắm bắt các tạo tác kiến trúc sử dụng trong một qui trình phát triển phần mềm điển hình. Bài viết này tiếp tục bàn luận và tập trung vào tạo tác kiến trúc quan trọng đầu tiên ngữ cảnh hệ thống. Hãy tìm hiểu cách viết tư liệu thông tin ngữ cảnh hệ thống với các sơ đồ và luồng thông tin.

Ở một mức độ rất cao, bạn phải xem xét hai khung nhìn của một hệ thống:

  • Trong khung nhìn phổ biến nhất, phần mềm hoặc ứng dụng được thể hiện qua tập các khối cơ bản của kiến trúc (còn gọi là kiến trúc tổng quan).
  • Khung nhìn thứ hai có hình thức bên ngoài nhiều hơn. Hãy nghĩ về hệ thống được thiết kế như một hộp đen. Xung quanh hệ thống là người sử dụng và các vai truy cập hệ thống, và trong đó có các ngữ cảnh mà họ truy cập. Sơ đồ cũng sẽ miêu tả các hệ thống bên ngoài mà hệ thống sẽ cần để tương tác, nhằm thực hiện các chức năng riêng.

    Thể hiện của hộp đen của ngữ cảnh hệ thống cho bạn thấy cách phần mềm của bạn phụ thuộc vào các hệ thống bên ngoài, và cách những phụ thuộc đó cần được xây dựng thành giải pháp tổng thể.

Vai trò của ngữ cảnh hệ thống trong kiến trúc phần mềm

Ngữ cảnh hệ thống là một tạo tác chủ yếu trong kiến trúc phần mềm của một hệ thống. Việc phát triển khung nhìn ngữ cảnh hệ thống là điều quan trọng, vì khung nhìn này được sử dụng như một cơ chế để dò tìm ngược lại đến ngữ cảnh kinh doanh, và xuôi chiều đến kiến trúc hoạt động và chức năng. Chúng ta sẽ cung cấp một tổng quan tóm tắt về ngữ cảnh kinh doanh để hiểu tại sao khả năng tạo vết cho nó lại quan trọng.

Ngữ cảnh kinh doanh
Cung cấp một khung nhìn tổ chức về cách hệ thống cần để tương tác với các tổ chức khác để miêu tả hệ sinh thái kinh doanh nơi phần mềm sẽ thường trú. Khung nhìn này là đặc biệt quan trọng trong các hệ thống với một sự phụ thuộc cao vào các tổ chức bên ngoài. Khung nhìn cấp cao không phân biệt giữa những người sử dụng và các vai khác nhau. Đúng hơn là nó miêu tả họ như một cộng đồng những người sử dụng mà tương tác với tổ chức kinh doanh đó.

Ví dụ, nếu bạn đang xây dựng phần mềm cho một trường đại học, ngữ cảnh kinh doanh hẳn có thể miêu tả trường đại học đó như một thực thể trung tâm và trình bày những sự phụ thuộc vào:
  • Chính phủ, để yêu cầu được tài trợ và để nhận được và thực hiện kiểm tra sự phù hợp thường xuyên.
  • Công nghiệp công nghệ thông tin, để yêu cầu các dự án nghiên cứu và các dịch vụ giáo dục.
  • Cộng đồng người sử dụng, mà trường đại học sẽ cung cấp trợ giúp về phần cứng và phần mềm.
  • Các trường đại học khác trong cộng đồng đại học, để thu thập được các bản ghi và lịch sử sinh viên.
Ngữ cảnh hệ thống
Sử dụng ngữ cảnh kinh doanh để định danh các tổ chức bên ngoài. Sau khi các tổ chức bên ngoài được xác định, ngữ cảnh hệ thống sẽ nhận biết được các hệ thống công nghệ thông tin và ứng dụng mà hệ thống sẽ cần tương tác để nhận hoặc gửi thông tin. Nó thực hiện cùng một bài tập cho từng tổ chức bên ngoài, và nó tạo chung một khung nhìn mức hệ thống mà cho thấy cái mà các hệ thống bên ngoài cần được mang lại thành phạm vi của giải pháp tổng thể đó.

Ngữ cảnh hệ thống cung cấp một việc phân tách ngữ cảnh kinh doanh và cung cấp khả năng tạo vết cho thông tin ngữ cảnh kinh doanh. .

Ngữ cảnh hệ thống giúp định danh một số tạo tác kiến trúc chủ yếu mà sẽ được yêu cầu để xây dựng giải pháp đầy đủ. Luồng thông tin giữa hệ thống sắp được xây dựng và từng hệ thống bên ngoài cung cấp đầu vào chủ yếu cho mô hình thông tin. Các đặc tính của hệ thống bên ngoài quyết định nhu cầu về các thiết bị tiếp hợp (adapters) mà sẽ tạo thuận lợi cho tích hợp công nghệ. Các luồng thông tin cũng trình bày các hoạt động có ý nghĩa về kiến trúc. Có thể truy ngược lại các mô hình qui trình kinh doanh, thể hiện bộ phận chính của các yêu cầu của hệ thống.

Tầm quan trọng của ngữ cảnh hệ thống không thể bị đánh giá thấp. Nó đóng một vai trò rất quan trọng trong việc phát triển kiến trúc phần mềm của một hệ thống ứng dụng. Tôi khuyến cáo mạnh rằng bạn nên viết tư liệu ngữ cảnh hệ thống.


Viết tư liệu ngữ cảnh hệ thống

Nhiệm vụ đầu tiên trong việc viết tư liệu ngữ cảnh hệ thống là tạo ra một sơ đồ ngữ cảnh hệ thống. Như Hình 1, sơ đồ ngữ cảnh hệ thống:

  • Thể hiện hệ thống sẽ được xây dựng như một hộp đen.
  • Miêu tả tương tác của nó với các thực thể bên ngoài (các hệ thống và người sử dụng cuối).
  • Xác định các luồng thông tin và điều khiển giữa hệ thống và các thực thể bên ngoài.

Các thực thể bên ngoài không nhất thiết phải là các hệ thống mà ở ngoài chu vi doanh nghiệp. Một ứng dụng doanh nghiệp hiện tại hoặc một cơ sở dữ liệu có thể được thể hiện như một thực thể bên ngoài trong ngữ cảnh hệ thống. Tôi khuyên rằng một bộ phận nên dành cho sơ đồ ngữ cảnh hệ thống và đặt một tên tự giải thích, chẳng hạn như “Sơ đồ ngữ cảnh hệ thống.”

Sơ đồ ngữ cảnh hệ thống

Hình 1 chỉ ra một sơ đồ ngữ cảnh hệ thống cho một ứng dụng ngân hàng.

Hình 1. Sơ đồ ngữ cảnh hệ thống
Một ví dụ về sơ đồ ngữ cảnh hệ thống từ ngân hàng

Thật là một ý kiến tốt để bổ sung vào sơ đồ các thí dụ chi tiết của mỗi tạo tác.

Hệ thống trong hộp trung tâm trong Hình 1 có một tên chung. Dĩ nhiên bạn sẽ thay thế một tên để trình bày ứng dụng mà sẽ được xây dựng.

Tạo tác rơi vào các loại sau đây:

Những người sử dụng và các vai
Các tạo tác này hiển thị những người sử dụng và các vai tương tác với hệ thống. Mặc dù không có nguyên tắc bất di bất dịch, thường thì trong công nghệ thông tin là chỉ ra những người sử dụng và các vai ở bên trái của hệ thống. Tôi khuyên bạn nên tạo ra một khu vực con dưới khu vực chính này trong đó những người sử dụng và các vai sẽ được viết tư liệu. Những người sử dụng thông thường được phân loại theo các vai.

Thí dụ, trong Hình 1 có hai kiểu vai: trưởng phòng quan hệ và trưởng phòng quản lý rủi ro. Việc viết tư liệu cho mỗi vai phải có:
  • Một sự mô tả về vai và ngữ cảnh trong đó nó truy cập hệ thống.
  • Một sự mô tả về thông tin mà vai truy cập hệ thống cho nó.
  • Khối lượng các giao dịch mà một người sử dụng tiêu biểu trong một vai đã cho sẽ thực hiện trong một đơn vị thời gian đã cho.
Các kênh
Những người sử dụng sẽ sử dụng các kênh khác nhau để truy cập hệ thống. Tôi khuyên rằng bạn tạo một khu vực con riêng để viết tư liệu kênh thông tin này. Việc viết tư liệu đối với mỗi kênh phải nắm bắt được tối thiểu:
  • Mô tả về kênh và kiểu vai hoặc người sử dụng dùng nó một cách điển hình trong tương tác với hệ thống. Ví dụ phản hồi tương tác giọng nói (IVR), trình duyệt, điện thoại thông minh, v.v…
  • Mạng và băng thông được các kênh hỗ trợ, chẳng hạn như đường T1, 8.02 11g, một T3 cục bộ, v.v…
  • Giao thức truy cập để gửi và nhận dữ liệu đến và từ hệ thống, chẳng hạn như HTTP, các ổ cắm, IVR, v.v…
Các hệ thống bên ngoài
Bạn phải viết tư liệu các hệ thống bên ngoài mà hệ thống của bạn tương tác khi nó đang thực hiện các chức năng được yêu cầu. Nhiều phân tích được thực hiện đằng sau các cảnh để xác định các hệ thống bên ngoài, cần được đưa vào phạm vi của giải pháp. Nhà phân tích kinh doanh và các chuyên gia lĩnh vực thường tham gia vào phân tích này. Bạn cũng phải viết tư liệu đầy đủ các kết quả của phân tích.

Khuyên bạn nên dành ra một đoạn con cho việc viết tư liệu các hệ thống bên ngoài. Viết tư liệu này phải nắm bắt được tối thiểu:
  • Một tổng quan mô tả của hệ thống bên ngoài, gồm thông tin nền móng về bố trí của hệ thống trong quan hệ với hệ thống được xây dựng.

    Ví dụ, hệ thống bên ngoài có thể được đặt bên trong mạng cục bộ doanh nghiệp, trong mạng công ty (extranet) như đã xác định bởi doanh nghiệp đó, hoặc trên Internet.
  • Giao thức truy cập yêu cầu tương tác với hệ thống bên ngoài, chẳng hạn như HTTP an toàn, các ổ cắm, một cơ chế truy cập cá nhân, v.v…
  • Định dạng dữ liệu được hỗ trợ hoặc chờ đợi từ hệ thống bên ngoài để tạo thuận lợi cho việc tích hợp.
  • Bất kỳ yêu cầu thích đáng nào cần được làm theo để tương tác với hệ thống bên ngoài.
  • Các đặc tả kỹ thuật phi chức năng của hệ thống, chẳng hạn như an toàn, tính sẵn dùng, lưu lượng thông tin, v.v…


Không phải tất cả các đặc tả kỹ thuật phi chức năng cho các hệ thống bên ngoài đều cần được viết tư liệu. Chỉ viết tư liệu những cái mà có thể ảnh hưởng đến kiến trúc và thiết kế của hệ thống được xây dựng.

Khi được viết tư liệu đầy đủ, thông tin trước đây cần đảm bảo mô tả tốt về sơ đồ ngữ cảnh hệ thống. Tuy nhiên, thông tin nắm bắt được cho đến nay chỉ cung cấp một khung nhìn tĩnh của ngữ cảnh hệ thống, thể hiện qua những người sử dụng, các vai, các kênh, và các hệ thống bên ngoài. Việc xác định và nắm bắt thông tin qua trao đổi giữa hệ thống và từng hệ thống bên ngoài cung cấp khung nhìn động của ngữ cảnh hệ thống. Phần tiếp theo nhằm vào luồng thông tin này.

Luồng thông tin

Thông tin mà di chuyển giữa hệ thống và các hệ thống bên ngoài, những người sử dụng, và các kênh là một một bộ phận cơ bản của hệ thống của bạn. Thông tin có thể di chuyển theo nhóm hoặc theo thời gian thực. Việc viết tư liệu thông tin và các đặc tả kỹ thuật của nó như là một bộ phận của ngữ cảnh hệ thống là đỉnh cao trong việc xác định kiến trúc phần mềm tổng thể.

Luồng thông tin thường được thể hiện qua cụm từ ngắn mà có thể là một danh từ hoặc một động từ. Liệu bạn có chọn một danh từ hoặc một động từ hay không là vấn đề về ý thích, những lời khuyên rằng bạn tuân theo một dạng thay vì dùng cả hai. Tôi sử dụng một dạng động từ trong ví dụ. Đối với mỗi luồng thông tin, tôi khuyên rằng, ở mức tối thiểu, bạn viết tư liệu về tập các tạo tác sau đây:

  • Mô tả về thông tin mà đang dịch chuyển giữa hệ thống và những người sử dụng, các kênh, và các hệ thống bên ngoài.
  • Phân loại thông tin như lô nhóm, thời gian thực, hoặc thời gian bán thực.
  • Số lượng các giao dịch phải được hỗ trợ trên từng đơn vị thời gian.
  • Kiểu dữ liệu cấu thành một giao dịch điển hình.
  • Khối lượng dữ liệu mà sẽ thường dịch chuyển trên mỗi giao dịch.
  • Tần số khai thác các giao dịch.

Các tạo tác này, như trước đây đã trình bày, không nhằm vào trình tự của các tương tác giữa hệ thống và các thực thể bên ngoài. Khi có luồng thông tin giữa hai hệ thống, có thể có một chuỗi thông tin trao đổi giữa các hệ thống mà hoàn tất một giao dịch. Trong những tình huống như vậy, chuỗi trao đổi thông tin cũng phải được viết tư liệu.

Tầm quan trọng của việc viết tư liệu luồng thông tin là rất nhiều:

  • Luồng thông tin nhận ra thông tin quan trọng, có ảnh hưởng đến mô hình thông tin cuối cùng đối với phần mềm được xây dựng.
  • Nó giúp bạn hiểu được các định dạng dữ liệu được hỗ trợ bởi hệ thống bên ngoài bằng cách phân tích các phần tử thông tin.

    Đối với các hệ thống bên ngoài phạm vi doanh nghiệp, dữ liệu định dạng thường khác với định dạng mà được lệnh được hỗ trợ bởi hệ thống, nghĩa là hai hệ thống tương tác cũng sẽ yêu cầu phiên dịch dữ liệu.
  • Giao thức truy cập (mạng và dữ liệu) được hỗ trợ bởi hệ thống bên ngoài có thể khác với giao thức mà hệ thống mà sẽ được xây dựng hỗ trợ. Sự chênh lệch giao thức này làm nảy sinh các yêu cầu về công nghệ nhằm tích hợp ứng dụng và các hệ thống. Các yêu cầu thường được nhằm đến qua sự lựa chọn của các bộ điều hợp công nghệ.

    Một bộ điều hợp công nghệ bình thường hóa định dạng dữ liệu và truy cập giao thức khác nhau giữa các hệ thống bên ngoài và hệ thống sẽ được xây dựng. Việc lựa chọn của bộ điều hợp công nghệ là một khía cạnh quan trọng của một kiến trúc tích hợp, để hỗ trợ hệ thống hoạt động.
  • Mô hình hoá quy trình kinh doanh là một cách tiếp cận từ trên xuống để thu thập các yêu cầu và để phân tích và hiểu các quy trình kinh doanh nằm trong phạm vi của sáng kiến kinh doanh hoặc công nghệ thông tin.

    Việc phân tách quy trình xác định một tập các quy trình con, các hoạt động, hoặc các nhiệm vụ mà cấu thành một quy trình kinh doanh lớn hơn. Một số hoạt động hoặc nhiệm vụ yêu cầu tương tác hoặc tích hợp với các hệ thống bên ngoài, chẳng hạn như các phụ thuộc dữ liệu giữa một hệ thống với hệ thống khác. Các hoạt động như vậy có thể được truy ngược lại về một hoặc nhiều định nghĩa luồng thông tin, từ danh mục của các luồng thông tin. Điều này cung cấp khả năng tạo vết chủ yếu giữa các yêu cầu và sự phụ thuộc về thực hiện của chúng vào các hệ thống bên ngoài. Khả năng tạo vết là một điều chính yếu cơ bản của một vòng đời phát triển phần mềm được tổ chức tốt và có hiệu quả.
  • Dữ liệu, giao thức, và các bộ điều hợp mạng thực chất là các công thức pha chế mà trở thành định nghĩa của tổng quan kiến trúc của hệ thống hoặc ứng dụng. Thực ra tính không đồng nhất của các hệ thống bên ngoài ảnh hưởng đến nhiều lớp của kiến trúc (sẽ được đề cập đến trong bài viết tiếp theo của loạt bài này).

Với sơ đồ ngữ cảnh hệ thống và các luồng thông tin, bạn có thể xác định một tài liệu ngữ cảnh hệ thống nghiêm túc, cho phép tỏ ra là rất quan trọng trong việc hình thành kiến trúc phần mềm của hệ thống.


Kết luận

Trong bài viết này, bạn đã tìm hiểu về khung nhìn ngữ cảnh hệ thống của kiến trúc phần mềm. Ngữ cảnh hệ thống sẽ là một trong những tạo tác đầu tiên mà bạn phát triển như một bộ phận của kiến trúc hệ thống. Bạn đã tìm hiểu về các cách hiệu quả để phát triển việc viết tư liệu kỹ lưỡng về ngữ cảnh hệ thống. Bài viết này cũng đã nêu bật tầm quan trọng của việc viết tư liệu ngữ cảnh hệ thống khi nó liên quan đến khả năng tạo vết của các tạo tác đã phát triển trong một vòng đời phát triển phần mềm điển hình.

Hãy chờ các bài viết tiếp theo trong loạt bài này, chúng sẽ xây dựng trên một tập các các nguyên tắc để viết tư liệu phần còn lại của các tạo tác kiến trúc.

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

Thảo luận

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Rational
ArticleID=441855
ArticleTitle=Viết tư liệu kiến trúc phần mềm, Phần 2: Phát triển ngữ cảnh hệ thống
publish-date=10302009