12/08/2018, 14:21

Mô hình đặc trưng cho dòng sản phẩm phần mềm

a) Định nghĩa Đối với sự phát triển không ngừng của công nghệ, thị trường ngày càng mở rộng và yêu cầu của người dùng đối với sản phẩm ngày càng cao thì việc một công ty nhanh chóng đưa ra thị trường một số lượng lớn các sản phẩm với chất lượng cao, giá thành thấp là một thách thức không nhỏ. ...

a) Định nghĩa

Đối với sự phát triển không ngừng của công nghệ, thị trường ngày càng mở rộng và yêu cầu của người dùng đối với sản phẩm ngày càng cao thì việc một công ty nhanh chóng đưa ra thị trường một số lượng lớn các sản phẩm với chất lượng cao, giá thành thấp là một thách thức không nhỏ. Dòng sản phẩm phần mềm là một kỹ thuật hữu ích trong những trường hợp như vậy.

Dòng sản phầm là một loạt các hệ thống phần mềm có chung và cùng quản lý một tập các tính năng nhằm đảm bảo cho một số nhu cầu riêng biệt của một phân khúc thị trường hoặc một mục tiêu kinh tế nhất định, được phát triển từ một tập các thành phần cơ bản chung được xác định trước. Nó là một trong những phương pháp để cải thiện tính năng sử dụng của phần mềm trong một loạt các sản phẩm có sử dụng chung một tập các tính năng. Do việc tái sử dụng có hệ thống nên thời gian đưa ra thị trường cũng như giá cả cho việc phát triển và bảo trì cũng sẽ giảm một cách đáng mong đợi trong khi chất lượng của từng sản phẩm riêng lẻ cũng tăng lên đáng kể. Vì vậy dòng sản phẩm phần mềm có thể hỗ trợ cho các nhà phát triển phát triển nhanh chóng những sản phẩm tùy chỉnh thay vì phát triển một loạt những sản phẩm mới kế thừa từ những sản phẩm ban đầu.

b) Lợi ích của dòng sản phẩm phần mềm

Các dòng sản phẩm phần mềm có thể giúp các tổ chức giải quyết được các vấn đề phát sinh do thiếu thốn tài nguyên. Các tổ chức trong nhiều lĩnh vực, quy mô đều nhận thấy rằng, chiến lược dòng sản phẩm nếu được áp dụng theo đúng kỹ năng, có thể tạo ra rất nhiều lợi ích, kết quả là nâng cao khả năng cạnh tranh của tổ chức đó. Theo đánh già của đại học Carnegie Mellon, có thể ví dụ một số lợi ích cho tổ chức bao gồm:

  • Năng suất tăng lên gấp 10 lần.
  • Chất lượng tăng lên 10 lần .
  • Giá thành giảm xuống khoảng 60% .
  • Nhu cầu lao động giảm xuống 87% .
  • Giảm bớt 98% khoảng thời gian trước khi đưa thị trường (đưa vào khai thác sử dụng,vận hành). Khả năng thâm nhập vào các thị trường mới được tính bằng tháng thay vì tính bằng năm.

c) Ví dụ

Với những ưu điểm nổi trội kể trên, dòng sản phẩm phần mềm được rất nhiều công ty sử dụng. Nổi bật là:

  • Hệ thống công nghiệp LG có hệ thống điều khiển thang máy giảm độ phức tạp của cơ sở phần mềm, chức năng giảm một nửa, giảm chi phí của việc thay đổi.
  • Nokia là nhà sản xuất điện thoại di động lớn nhất thế giới và họ tin rằng kỹ thuật dòng sản phẩm phần mềm đã giúp họ đạt được vị trí đó.
  • Ti vi của hãng Philips đã giảm đáng kể lỗi khi tích hợp. “Mỗi năm có 20 phiên bản phần mềm khác nhau và mỗi bản có 1-5 loại sản phẩm khác nhau và dòng sản phẩm phần mềm hỗ trợ 3 loại khác”.
  • Hãng Siemens cũng sử dụng kỹ thuật dòng sản phẩm phần mềm. Và họ đã giảm được sự phụ thuộc không có kế hoạch, ứng phó được với những thay đổi bất ngờ và giảm được 25% thời gian phát triển.

Dòng sản phẩm phần mềm thường được mô hình hóa bằng mô hình đặc trưng, mô tả một tập các đặc trưng trong dòng sản phẩm phần mềm và các mối quan hệ, các ràng buộc giữa các đặc trưng đó. Kết quả là các sản phẩm có thể được tạo ra bằng cách lựa chọn một tập các đặc trưng cùng với các ràng buộc từ mô hình đặc trưng. Vậy mô hình đặc trưng là gì?

a) Định nghĩa

Theo định nghĩa của IEEE, đặc trưng phần mềm là đặc điểm phân biệt của một sản phẩm phần mềm. Mô hình đặc trưng là mô hình xác định các đặc trưng và quan hệ của nó thường được tổ chức theo sơ đồ cùng với các ràng buộc đi kèm.

Theo Kang và các cộng sự, đặc trưng là những thuộc tính của một hệ thống mà nó ảnh hưởng trực tiếp tới người dùng cuối. Người dùng cuối phải đưa ra quyết định liên quan tới tính tồn tại của đặc trưng trong hệ thống và họ phải hiểu được ý nghĩa của đặc trưng để có thể sử dụng được hệ thống. Ví dụ như gọi điện là một đặc trưng của chiếc điện thoại.

b) Biểu diễn cây đặc trưng

Cây đặc trưng là mô hình đại diện cho thông tin của tất cả các sản phẩm có thể có của một dòng sản phẩm phần mềm về đặc trưng và mối quan hệ giữa chúng. Mô hình đặc trưng là một loại mô hình đặc biệt của mô hình thông tin được sử dụng rộng rãi trong dòng sản phẩm phần mềm. Mô hình đặc trưng được biểu diễn dưới dạng phân cấp các đặc trưng và được tạo bởi 2 yếu tố:

  • Mối quan hệ: quan hệ giữa đặc trưng cha – con
  • Kiểu ràng buộc: gồm kiểu ràng buộc loại trừ hoặc bao gồm
  • Mô hình đặc trưng cơ bản là một phương pháp tiếp cận theo mô hình cây để thể hiện tính tương đồng của các dòng sản phẩm.

Mô hình đặc trưng có thể được biển diễn như một bộ gồm 2 thành phần: đặc trưng và ràng buộc. Với 4 loại đặc trưng là: thay thế, tùy chọn, hoặc, bắt buộc và với 2 loại ràng buộc là: yêu cầu, loại trừ.

Dưới đây là mô hình đặc trưng của một chiếc điện thoại:

kMy8Sd.png

                      Hình 2.1: Ví dụ về mô hình đặc trưng của Android

Ý nghĩa của các đặc trưng như sau:

  • Đặc trưng Mandatory (Bắt buộc): Một đặc trưng con có quan hệ bắt buộc với cha của nó khi đặc trưng con phải có trong mọi sản phẩm mà cha nó xuất hiện. Như rong hình 2.1 thì tính năng Basic Functions là bắt buộc phải có trong các hệ thống điện thoại.

  • Đặc trưng Optional (Tùy chọn): Một đặc trưng con có quan hệ tùy chọn với cha của nó khi đặc trưng đó có thể có hoặc không có trong các sản phẩm mà cha nó xuất hiện. Như trong hình 2.1 thì chức năng Communication có thể tùy chọn trong các dòng điện thoại.

  • Nhóm đặc trưng Alternative (Thay thế): Một trong các đặc trưng con phải được lựa chọn. Trong hình 2.1 thì Camera có thể hỗ trợ 3MP là hoặc 8MP nhưng chỉ được chọn một trong hai tùy chọn đó.

  • Nhóm đặc trưng Or (Hoặc): Một tập đặc trưng con có quen hệ hoặc với đặc trưng cha khi một hoặc nhiều đặc trưng con được lựa chọn trong sản phẩm mà đặc trưng cha được lựa chọn. Trong hình 2.1, đặc trưng Extra có thể hỗ trợ tính năng camera hoặc mp3 hoặc hỗ trợ cả hai tính năng này.

Ngoài ra ý nghĩa của các quan hệ như sau:

  • Quan hệ Requires (Yêu cầu): Đặc trưng A yêu cầu đặc trưng B, tồn tại A trong một sản phẩm thì mặc định B cũng phải có trong sản phẩm đó. Như trong hình 2.1 thì điện thoại đã có MMS thì phải hỗ trợ Camera.

  • Quan hệ Excludes (Loại trừ): Đặc trưng A không bao gồm đặc trưng B, tồn tại A trong một sản phẩm thì không tồn tại B trong một sản phẩm hay nói cách khác A và B không thể cùng tồn tại trên một sản phẩm. Hình 2.1 cho thấy tính năng Bluetooth và MP3 là không tương thích trên một dòng điện thoại.

Do những ưu điểm của nó, mô hình đặc trưng đã được sử dụng để mô tả, phân tích và test các dòng sản phẩm phần mềm.

0