II. Kỹ nghệ phần mềm
5. Đặc tả phần mềm
5.2 Cỏc nguyờn lý đặc tả
Đặc tả cú thể được xem như một tiến trỡnh biểu diễn. Mục đớch cuối cựng của đặc tả cỏc yờu cầu được biểu thị sao cho dẫn tới việc cài đặt phần mềm thành cụng. Balzer và Goldman đề nghị 8 nguyờn lý đặc tả tốt:
Nguyờn lý 1: Phõn biệt chức năng với cài đặt- phõn biệt giữa cỏi gỡ(what) – chứ kg phải làm như thế nào(how)
Trước hết, theo định nghĩa, đặt tả là một mụ tả về điều mong muốn, chứ khụng phải là cỏch thực hiện nú (cài đặt). Đặc tả cú thể chấp nhận hai dạng hoàn toàn khỏc nhau. Dạng thứ nhất là dạng của cỏc hàm toỏn học: với một tập cỏi vào đó cho, tạo ra một tập cỏi ra đặc biệt. Dạng tổng quỏt của những đặc tả như thế là tỡm ra một hoặc tất cả những kết quả ứng với P (cỏi vào), với P biểu thị một tõn từ bất kỳ. Trong những đặc tả như thế, kết quả cần thu được phải hoàn toàn được diễn đạt cỏi gỡ khụng phải là thế nào.
Nguyờn lý 2: Cần tới ngụn ngữ đặc tả hệ thống hướng tiến trỡnh
Xột tỡnh huống trong đú mụi trường là động và sự thay đổi của nú ảnh hưởng tới hành vi của thực thể nào đú tương tỏc với mụi trường đú. Hành vi của nú khụng thể biểu diễn được ở dạng hàm toỏn học của cỏi vào. Thay vỡ thế, cần phải sử dụng cỏch biểu diễn khỏc: cỏch mụ tả hướng tiến trỡnh, trong đú đặc tả cỏi gỡ đạt được bằng cỏch xỏc định một mụ hỡnh hành vi mong muốn của hệ thống dưới dạng cỏc đỏp ứng chức năng đối với cỏc kớch thước khỏc nhau từ mụi trường.
Những đặt tả hướng tiến trỡnh như vậy: 1. Trỡnh bày một mụ hỡnh về hành vi hệ thống
2. Thụng thường khụng thuộc ngụn ngữ đặc tả hỡnh thức
3. Lột tả được bản chất của nhiều tỡnh huống phức tạp cần phải đặc tả
4. Trong những tỡnh huống cần tự động húa, cả tiến trỡnh lẫn mụi trường tồn tại của nú đều phải được mụ tả một cỏch hỡnh thức. Muốn vậy, toàn bộ hệ thống cỏc bộ phận tương tỏc phải được đặc tả chứ khụng chỉ đặc tả một thành phần
Nguyờn lý 3: Đặc tả phải bao gồm hệ thống trong đú phần mềm là một thành phần(đảm bảo tớnh hệ thống, thể hiện mối liờn kết giữa phần mềm cần xõy dựng với cỏc thành phần khỏc).
Một hệ thống bao gồm cỏc thành phần tương tỏc nhau. Chỉ bờn trong hoàn cảnh của toàn bộ hệ thống và tương tỏc giữa cỏc thành phần của nú thỡ hành vi của một thành phần riờng mới cú thể được xỏc định. Núi chung, một hệ thống được mụ hỡnh húa như một tập hợp cỏc mối quan hệ giữa cỏc thụ động. Những sự vật này cú liờn quan lẫn nhau và qua thời gian dẫn đến mối quan hệ giữa cỏc sự vật thay đổi. Mối quan hệ động này đưa ra sự kớch thớch cho cỏc sự vật tớch cực, cũn gọi là cỏc tỏc nhõn, đỏp ứng. Sự đỏp ứng cú thể gõy ra những thay đổi thờm nữa, và do đú, tạo ra thờm kớch thớch để cho cỏc tỏc nhõn cú thể đỏp ứng lại.
Nguyờn lý 4: Đặc tả bao gồm cả mụi trường mà hệ thống vận hành(cú xột đến mụi trường xung quanh)
Mụi trường trong đú hệ thống vận hành và cỏc tương tỏc phải được xỏc định.
Bản thõn mụi trường cũng là một hệ thống bao gồm cỏc sự vật tương tỏc, cả tớch cực lẫn thụ động, mà trong hệ thống chỳng chỉ là một tỏc nhõn. Cỏc tỏc nhõn khỏc, theo định nghĩa là khụng thay đổi bởi vỡ chỳng là một phần của mụi trường, giới hạn phạm vi của việc thiết kế và cài đặt về sau. Trong thực tế, sự khỏc nhau duy nhất giữa hệ thống và mụi trường của nú là ở chỗ nỗ lực thiết kế và cài đặt về sau sẽ vận hành chỉ trong đặc tả cho hệ thống. Đặc tả mụi trường làm cho "giao diện" của hệ thống được xỏc định theo cựng cỏch như bản thõn hệ thống chứ khụng đưa vào cỏch hỡnh thức húa khỏc.
Đặc tả hệ thống chớnh là bức tranh của tập hợp cỏc tỏc nhõn xoắn xuýt nhau cao độ, phản ứng lại những kớch thớch trong mụi trường (thay đổi cỏc sự vật). Chỉ cú thụng qua những hành động điều phối của tỏc nhõn mà hệ thống mới đạt được cỏc mục tiờu của nú. Thiết kế tuõn theo đặc tả và quan tõm đến việc phõn ró một đặc tả thành cỏc mẩu gần tỏch biệt để chuẩn bị cho cài đặt. Tuy nhiờn đặc tả phải vẽ lại chớnh xỏc bức chõn dung của hệ thống và mụi trường của nú như cộng đồng người dựng cảm nhận tới mức chi tiết, phục vụ cho cỏc giai đoạn thiết kế và cài đặt. Vỡ mức độ chi tiết cần thiết này là khú thấy trước, nếu khụng núi là khụng thể, nờn đặc tả, thiết kế và cài đặt phải được thừa nhận như một hoạt động tương tỏc. Do đú, điều mấu chốt là cụng nghệ cần bao quỏt thật nhiều cỏc hoạt động này khi bản đặc tả được soạn thảo và thay đổi (trong cả hai giai đoạn phỏt triển khởi đầu và bảo trỡ về sau)
Nguyờn lý 5: Đặc tả hệ thống phải là một mụ hỡnh nhận thức- nghĩa là ngừơi đọc phải hiểu được vấn đề thụng qua đặc tả
- Đặc tả hệ thống phải là một mụ hỡnh nhận thức chứ khụng phải là một mụ hỡnh thiết kế hay cài đặt
- Mụ tả một hệ thống sao cho đạt được sự cảm nhận của cộng đồng người sử dụng. Cỏc sự vật mà nú thao tỏc phải tương ứng với cỏc sự vật của lĩnh vực đú; cỏc tỏc nhõn phải được mụ hỡnh húa cho cỏc cỏ nhõn, tổ chức và trang thiết bị trong lĩnh vực đú; cũn cỏc hành động họ thực hiện thỡ phải được mụ hỡnh húa cho những hoạt động thực tế xuất hiện trong lĩnh vực
- Phải cú khả năng tổ hợp vào trong đặc tả những quy tắc hay luật bao trựm cỏc sự vật thuộc lĩnh vực:
Một trong những luật này bài trừ những trạng thỏi nào đú của hệ thống (như "hai sự vật khụng thể đồng thời cựng một chỗ và vào cựng một lỳc") và do đú giới hạn hành vi của cỏc tỏc nhõn hay chỉ ra nhu cầu bổ trợ để ngăn cản những trạng thỏi khỏi nảy sinh.
Nguyờn lý 6: Đặc tả phải thể hiện tớnh vận hành- nghĩa là đọc tài liệu đặc tả hỡnh dung ra được sự vận hành của phần mềm.
Đặc tả phải đầy đủ và mang tớnh hỡnh thức để cú thể được dựng trong việc xỏc định rằng liệu một cài đặt được đề nghị cú thỏa món đặc tả cho những trường hợp kiểm thử tựy ý khụng. Tức là, với kết quả của việc cài đặt trờn một tập dữ liệu được chọn một cỏch tựy ý, phải cú thể dựng đặc tả để xỏc định tớnh hợp lệ cho những kết quả đú. Điều này kộo theo rằng đặc tả, mặc dầu khụng phải là một đặc tả hoàn toàn về cỏch thức, vẫn cú thể hành động như một bộ sinh cỏc hành vi. Do đú theo nghĩa mở rộng, đặc tả này phải thể hiện tớnh vận hành …
Quỏ trỡnh cài đặt
H 2.4 Quỏ trỡnh cài đặt
Nguyờn lý 7: cú khả năng update
Đặc tả hệ thống chấp nhận dung sai về tớnh khụng đầy đủ và vỡ vậy cú tớnh nõng cao
Khụng đặc tả nào cú thể là đầy đủ hoàn toàn. Mụi trường mà hệ thống tồn tại trong đú quỏ phức tạp. Một đặc tả bao giờ cũng là một mụ hỡnh - một sự trừu tượng húa - của một tỡnh huống thực (hay được mường tượng) nào đú. Do đú nú sẽ khụng đầy đủ. Hơn thế nữa, nú tồn tại ở nhiều mức chi tiết. Cỏc cụng cụ phõn tớch được sử dụng để giỳp đặc tả và kiểm thử đặc tả phải cú khả năng xử lý với tớnh khụng đầy đủ.
Nguyờn lý 8: Đặc tả phải được cục bộ húa và cú khả năng lắp ghộp- xuất phỏt từ lập trỡnh hướng đối tượng.
Cỏc nguyờn lý trước xử lý đặc tả như một thực thể tĩnh. Nguyờn lý này nảy sinh từ tớnh động của đặc tả. Cần phải thừa nhận rằng mặc dầu mục tiờu chớnh của một đặc tả là dựng làm cơ sở cho thiết kế và cài đặt một hệ thống nào đú, nú khụng phải là một sự vật tĩnh dựng sẵn mà là một vật động đang trải qua thay đổi đỏng kể.
Việc thay đổi (động) của đặc tả xuất hiện trong 3 hoạt động chớnh: - phỏt biểu: khi một đặc tả ban đầu đang được tạo ra
- phỏt triển: khi đặc tả được soạn thảo trong quỏ trỡnh thiết kế
- lặp: để phản ỏnh mụi trường đó thay đổi và/hoặc cỏc yờu cầu chức năng phụ.
Với nhiều thay đổi xuất hiện đối với đặc tả, điều mấu chốt là nội dung và cấu trỳc của đặc tả được chọn để làm phự hợp thay đổi này. Yờu cầu chớnh cho sự phự hợp đú là ở chỗ:
- thụng tin bờn trong đặc tả phải được cục bộ húa sao cho chỉ một phần nhỏ (một cỏch lý tưởng) cần phải sửa đổi khi thụng tin thay đổi.
- đặc tả cần được cấu trỳc (ghộp) một cỏch lỏng lẻo cho từng phần cú thể được thờm vào hay loại bỏ một cỏch dễ dàng, và cấu trỳc được điều chỉnh một cỏch tự động.
đặc tả đặc tả đặc tả đặc tả đặc tả
Xỏc định
tớnh hợp lệ kiểm chứng
-
5.3 Cỏc mức trừu tượng của đặc tả
Cỏc đặc tả được thể hiện ở vài mức trừu tượng khỏc nhau cựng với mối tương quan giữa cỏc mức ấy. Mỗi mức nhắm đến cỏc đối tượng đọc khỏc nhau mà họ cú quyền quyết định về việc mua sắm và thực hiện.
Cỏc mức đú là:
Định ra yờu cầu:
- thể hiện bằng ngụn ngữ tự nhiờn về cỏc dịch vụ mà hệ thống sẽ phải cung cấp
- phải được viết sao cho dễ hiểu đối với khỏch hàng và người quản lý hợp đồng, người sẽ mua sắm sẽ sử dụng
Đặc tả yờu cầu:
- tài liệu nờu ra cỏc dịch vụ một cỏch chi tiết hơn. Tài liệu này (thường được gọi là đặc tả chức năng)
- đũi hỏi chớnh xỏc tới mức nú cú thể làm cơ sở cho hợp đồng giữa người mua sắm hệ thống và người phỏt triển phần mềm.
- được viết dễ hiểu đối với cỏc nhõn viờn kĩ thuật ở cả nơi mua lẫn nơi phỏt triển
- kỹ thuật đặc tả hỡnh thức hẳn là thớch hợp cho cỏc đặc tả kiểu như vậy, nhưng nú cũng tựy thuộc ở trỡnh độ kiến thức cơ bản của người mua sắm hệ thống.
Đặc tả phần mềm/ đặc tả thiết kế (đõy là một mụ tả trừu tượng cho phần mềm):
- dựng làm cơ sở cho việc thiết kế và thực thi
- thể hiện một quan hệ rừ ràng giữa tư liệu này và đặc tả yờu cầu.
- đối tượng đọc ở đõy chủ yếu là cỏc kĩ sư phần mềm chứ khụng phải là người sử dụng hoặc người quản lý
- sử dụng kĩ thuật đặc tả hỡnh thức là thớch hợp cho tư liệu này.