Tiêu chí đánh giá chất lượng dự án phần mềm


Đặc tính, tiêu chí đánh giá và các ứng dụng phần mềm
1. Đặc tính chung của phần mềm
•  Là hàng hóa vô hình, không nhìn thấy được

•  Chất lượng phần mềm: không mòn đi mà có xu hướng tốt lên sau mỗi lần có lỗi [error/bug] được phát

hiện và sửa •  Phần mềm vốn chứa lỗi tiềm tàng, theo quy mô càng lớn thì khả năng chứa lỗi càng cao

•  Lỗi phần mềm dễ được phát hiện bởi người ngoài


•  Chức năng của phần mềm thường biến hóa, thay đổi theo thời gian [theo nơi sử dụng] •  Hiệu ứng làn sóng trong thay đổi phần mềm •  Phần mềm vốn chứa ý tưởng và sáng tạo của tác giả/nhóm làm ra nó

•  Cần khả năng “tư duy nhị phân” trong xây dựng, phát triển phần mềm

•  Có thể sao chép rất đơn giản

2 Thế nào là phần mềm tốt ?

2.1 Các chỉ tiêu cơ bản •  Phản ánh đúng yêu cầu người dùng [tính hiệu quả - effectiveness] •  Chứa ít lỗi tiềm tàng •  Giá thành không vượt quá giá ước lượng ban đầu •  Dễ vận hành, sử dụng •  Tính an toàn và độ tin cậy cao 2.2 Hiệu suất xử lý cao •  Hiệu suất thời gian tốt [efficiency]:  –  Độ phức tạp tính toán thấp [Time complexity] –  Thời gian quay vòng ngắn [Turn Around Time: TAT] –  Thời gian hồi đáp nhanh [Response time] •  Sử dụng tài nguyên hữu hiệu: CPU, RAM, HDD, Internet resources, . . .  2.3 Tính dễ hiểu •  Kiến trúc và cấu trúc thiết kế dễ hiểu •  Dễ kiểm tra, kiểm thử, kiểm chứng •  Dễ bảo trì •  Có tài liệu [mô tả yêu cầu, điều kiện kiểm thử, vận hành, bảo trì, FAQ, . . .] với chất lượng cao Tính dễ hiểu: chỉ tiêu ngày càng quan trọng  

3. Các ứng dụng phần mềm

•  Phần mềm hệ thống [System SW] •  Phần mềm thời gian thực [Real-time SW] •  Phần mềm nghiệp vụ [Business SW] •  Phần mềm tính toán KH&KT [Eng.&Scie. SW] •  Phần mềm nhúng [Embedded SW] •  Phần mềm máy cá nhân [Personal computer SW] •  Phần mềm trên Web [Web-based SW] •  Phần mềm trí tuệ nhân tạo [AI  SW]  

Trong kinh doanh, việc chọn được phần mềm hỗ trợ quản lý phù hợp giúp tối ưu quy trình quản lý và vận hành là một điều vô cùng quan trọng và cần thiết. Đặc biệt là những đơn vị có quy mô hoạt động lớn, sản phẩm cùng nguồn nhân lực đông đảo thì các tiêu chí được đặt ra lại càng phải khắt khe hơn. Vậy chất lượng phần mềm là gì? Và những tiêu chí đánh giá chất lượng phần mềm? Cùng chúng tôi đi tìm hiểu về 5 tiêu chí đánh giá chất lượng của một phần mềm trong bài viết dưới đây nhé.

Chất lượng được hiểu là tốt hay không tốt, bền hay không bền, có thể sử dụng được lâu hay không? Đối với các phần mềm, chất lượng chính là khả năng mà nó có thể đáp ứng các nhu cầu của người sử dụng. Một phần mềm chất lượng cần phải có đầy đủ những yếu tố sau:

  • Mức độ mà sản phẩm phần mềm đó đáp ứng yêu cầu của người dùng như thế nào. Tức là trước khi thiết kế phần mềm, người thực hiện phải làm việc với bên khách hàng để làm rõ những yêu cầu, mong muốn của họ đối với phần mềm của mình ra sao.
  • Khả năng mà ứng dụng đó có thể đáp ứng tốt cho nhu cầu của khách hàng hoặc người dùng sử dụng. Đây chính là khách hàng có được thỏa mãn nhu cầu khi sử dụng phần mềm đó hay không. Tuy nhiên, để có thể đánh giá được chất lượng của một phần mềm khách hàng cần phải có khả năng phân tích, đánh giá và nhận xét.

Thông tin và dữ liệu của khách hàng luôn là tài sản cực kỳ quan trọng với bất kỳ một đơn vị nào. Chúng cần phải được lưu giữ, không được lan truyền hay rò rỉ ra bên ngoài nên việc bảo mật các thông tin, dữ liệu này là vô cùng quan trọng.

Chính vì vậy, công tác bảo mật dữ liệu là cực kỳ quan trọng có ảnh hưởng quan trọng đến sự sống còn của một công ty, doanh nghiệp. Do đó, việc lựa chọn phần mềm có khả năng bảo mật tốt là vô cùng cần thiết. Một phần mềm chất lượng được thiết lập và xây dựng có khả năng bảo mật cao là điều mà các đơn vị cần. Chính vì lý do đó mà khả năng bảo mật thông tin, an toàn dữ liệu đã trở thành một trong những tiêu chí quan trọng trong việc lựa chọn ứng dụng quản lý.

Hiện nay, các phần mềm hỗ trợ công tác quản lý được thiết kế tích hợp rất nhiều tính năng ưu việt nhằm để phục vụ nhiều nhóm khách hàng khác nhau, từ những khách hàng lớn cho đến người tiêu dùng nhỏ lẻ. Do đó, các bạn nên chú ý đến những phần mềm miễn phí không có nhiều tính năng hữu ích giúp hỗ trợ trong quá trình sử dụng.

Chỉ cần chấp nhận bỏ ra một khoản chi phí nhỏ, bạn có thể mua được những phần mềm hoặc thuê những công ty lập trình phần mềm thiết kế riêng một sản phẩm chất lượng với đầy đủ các tính năng và tiện ích mà mình cần. Ngoài ra, các bạn cũng nên tìm hiểu về khả năng mở rộng và nâng cấp của phần mềm đó. Đây là một điều cực kỳ quan trọng mà các bạn nên tìm hiểu rõ trước khi lựa chọn. Một phần mềm chất lượng sẽ cần có đầy đủ những tính năng cơ bản như:

Khi sử dụng bất kỳ một phần mềm nào, không một ai muốn sử dụng một ứng dụng quá phức tạp, khó hiểu. Điều này sẽ khiến cho những người quản lý trực tiếp sử dụng phần mềm phải mất thêm nhiều thời gian, công sức để làm quen với nó. Đặc biệt là mỗi khi xảy ra lỗi thì rất khó để sửa.

Do đó, các bạn nên chú ý lựa chọn những ứng dụng có giao diện đơn giản, tính năng dễ sử dụng để các nhân viên của mình không phải mất nhiều thời gian để tiếp cận. Đặc biệt là trong thời đại công nghệ số như hiện nay, việc tối giản hóa luôn là sự lựa chọn được các nhà quản lý đặt làm ưu tiên hàng đầu.

Không chỉ riêng với bất cứ một đơn vị nào, bất cứ ai khi sử dụng phần mềm quản lý cũng đều mong muốn ứng dụng của mình được cập nhật, nâng cấp thường xuyên các tính năng cần thiết, thêm các tính năng mới cũng như khắc phục những nhược điểm, hạn chế còn tồn đọng. Qua đó, người dùng sẽ có được sản phẩm phần mềm tốt nhất, có được trải nghiệm tuyệt vời nhất trong quá trình sử dụng.

Bên cạnh đó, mọi người cũng cần tìm hiểu xem phần mềm đó có được thiết kế theo đúng tiêu chuẩn hay không. Trong một số trường hợp, các phần mềm cần phải được thiết kế theo đúng tiêu chuẩn của lĩnh vực đó. Đây cũng là một yếu tố quan trọng mà mọi người cần chú ý để triển khai phần mềm quản lý doanh nghiệp phù hợp.

Khi mà chất lượng của những phần mềm không có quá nhiều sự chênh lệch thì chăm sóc khách hàng sẽ là điều trở nên quan trọng và được quan tâm đến. Những nhà cung cấp dịch vụ chuyên nghiệp, tận tình sẽ được đánh giá như sau:

  • Luôn sẵn sàng giải đáp mọi thắc mắc của khách hàng 24/7 một cách nhiệt tình
  • Khắc phục, giải quyết lỗi, những vấn đề mà người dùng gặp phải một cách nhanh chóng và hiệu quả.
  • Phục vụ khách hàng tận tình, chu đáo khi tiếp xúc, hỗ trợ khách hàng cả trước, trong và sau quá trình sử dụng.

Với những chia sẻ về chất lượng phần mềm là gì và những tiêu chí đánh giá phần mềm chất lượng, các bạn sẽ có thêm những thông tin hữu ích trong việc lựa chọn phần mềm phù hợp, đáp ứng tốt nhu cầu sử dụng của mình. Điều quan trọng không phải là chọn được phần mềm tốt nhất mà phải chọn được phần mềm có thể đáp ứng tốt tất cả những nhu cầu sử dụng của mình, hỗ trợ công việc đạt được hiệu quả tốt đa. Việc này không chỉ giúp nâng cao hiệu quả công việc mà còn giúp bạn tiết kiệm chi phí hơn khi sử dụng phần mềm.

1MỞ ĐẦUCơ sở khoa học và tính cấp thiết của đề tàiTrong hơn ba chục năm qua con người đã chứng kiến sự lớn mạnh về sốlượng cũng như mức độ quan trọng trong việc ứng dụng công nghệ thông tin vàocuộc sống. Ở trong nước lĩnh vực công nghệ thông tin đang phát triển mạnh mẽ vớisự xuất hiện ngày càng nhiều những công ty phần mềm. Chất lượng các sản phẩmphần mềm do các công ty này sản xuất chủ yếu là sự thỏa thuận với người sử dụngvà họ tự đưa ra quy trình cũng như tiêu chí cho riêng mình. Để đánh giá được chấtlượng phần mềm có đáp ứng được nhu cầu cho trước hay không thì cần phải đưacác tiêu chí đánh giá chất lượng phần mềm về một tiêu chuẩn chung và phải đánhgiá chất lượng phần mềm trong thực tế [tức là phần mềm phải qua sử dụng].Mục tiêu và nhiệm vụ của luận vănCác tổ chức tiêu chuẩn quốc tế như ISO, IEEE . . . đã công bố các bộ chuẩngồm các tiêu chí đánh giá chất lượng sản phẩm phần mềm như:a. ISO 9126: Software engineering -- Product qualityb. ISO 14598: Information technology -- Software product evaluationc. ISO 12119: Software Packages – Quality Requirement and Testingd. ISO 9000-3: Quality Management and Quality Assurance Standards- part 3e. IEEE Std 1061-1992: Standard for Software Quality Metrics MethodologyTuy nhiên một trong các chuẩn thông dụng về tiêu chí đánh giá chất lượngphần mềm chúng ta chỉ có thể áp dụng một phần nhỏ. Vì vậy, chúng ta cần có cáctiêu chí theo một tiêu chuẩn chung, có mức tương đương với quốc tế để áp dụng.Trong phạm vi luận văn với đề tài "Các tiêu chí đánh giá chất lượng phần mềm" vớimong muốn tìm hiểu về các tiêu chuẩn quy trình, phương pháp đánh giá chất lượngphần mềm giúp khách hàng cũng như người sử dụng phần mềm có thể đánh giákhách quan về chất lượng phần mềm sử dụng trong thực tế.2Mục tiêu của đề tài là nghiên cứu, tìm hiểu về các tiêu chuẩn đánh giá phầnmềm, ý nghĩa của các tiêu chuẩn đó và tìm hiểu quy trình, phương pháp đánh giáphần mềm, để từ đó có thể áp dụng để đánh giá một phần mềm cụ thể.Phạm vi nghiên cứuLuận văn tập trung nghiên cứu, tìm hiểu các tiêu chí đánh giá chất lượngphần mềm của các tổ chức tiêu chuẩn quốc tế.Phương pháp nghiên cứuLuận văn tập trung nghiên cứu, tìm hiểu các tiêu chí đánh giá chất lượng sảnphẩm phần mềm thông qua việc thu thập, tổng hợp các sách, các bài báo, các tài liệutrên mạng bằng tiếng Việt, tiếng Anh.Nghiên cứu các tiêu chuẩn, hướng dẫn của các tổ chức tiêu chuẩn quốc tế [ISO/IEC,IEEE ...] về đánh giá chất lượng sản phẩm phần mềm qua các bộ chuẩn.Cấu trúc của luận vănCấu trúc của luận văn gồm: phần mở đầu; chương 1, 2, 3 và 4; phần kết luận và đềnghị; tài liệu tham khảo;3Nội dung chính của luận vănChương 1: Trình bày tổng quan về quá trình phát triển phần mềm, các tiêu chíđánh giá sản phẩm phần mềm cho một số loại phần mềm.Chương 2: Trình bày tổng quan về tiêu chuẩn chất lượng phần mềm, một sốtiêu chí đánh giá chất lượng phần mềm và độ đo các tiêu chí.Chương 3: Trình bày các bước tiến hành đánh giá sản phẩm phần mềm.Chương 4: Đưa ra ví dụ đánh giá một phần mềm cụ thể, từ đó xây dựng một sốtiêu chí đánh giá phần mềm.4Chương 1TỔNG QUAN VỀ ĐÁNH GIÁ CHẤT LƯỢNG PHẦN MỀM1.1. Các thuật ngữ:Tiêu chí: là bộ tiêu chuẩn dùng để kiểm định hay để đánh giá một đối tượng,mà bao gồm các yêu cầu về chất lượng, mức độ, hiệu quả, khả năng, tuân thủ cácqui tắc và qui định, kết quả cuối cùng và tính bền vững của các kết quả.Tiêu chuẩn: Là những quy định thống nhất được xây dựng theo một thể thứcnhất định do một cơ quan có thẩm quyền ban hành để bắt buộc hay khuyến khích ápdụng cho các bên liên quan.Đánh giá phần mềm: Tập hợp các tiêu thức xác định chất lượng phần mềmvà các phương pháp xác định tiêu thức này.Phần mềm: là những chương trình điều khiển các chức năng phần cứng vàhướng dẫn phần cứng thực hiện các tác vụ của mình.Chất lượng phần mềm: Là sự đáp ứng các nhu cầu chức năng, sự hoàn thiệnvà các chuẩn [đặc tả] được phát triển.Quy trình phát triển phần mềm RUP [Rational Unified Process]: Quy trìnhhợp nhất của Rational [hãng IMB] dùng riêng cho phát triển phần mềm. Quy trìnhgồm 4 pha cơ bản: Inception [khởi đầu], Elaboration [phân tích, phân rã],Construction [xây dựng] và Transition [bàn giao].Tính mềm dẻo: Nỗ lực cần để cải biên một chương trình là chấp nhận được.Tính phổ biến: Mức độ tiềm năng trình ứng dụng của các bộ phận trongchương trình.Tính toàn vẹn: Có thể khống chế được việc truy cập của những người khôngđược phép sử dụng phần mềm và dữ liệu.Tính thiết thực: Là mức độ sản phẩm các công việc thích hợp được chuyểntiếp tới các chức năng hợp thức dưới các điều kiện hoặc tình huống khác thường.5Tính an ninh, an toàn: Là khả năng của sản phẩm phần mềm bảo vệ cácthông tin và các dữ liệu khi bị xâm nhập bất hợp pháp.Tính đơn giản: Mức độ dễ hiểu của một chương trình.Tính ổn đinh: Là khả năng của sản phẩm phần mềm tránh được các tácđộng bất ngờ từ các cải biên của phần mềm.Tính dung thứ được: Kết hợp các khả năng mở rộng chương trình, khả năngthích ứng và tính tiện lợi.Tính thử nghiệm được: Là khả năng của sản phẩm phần mềm cho phép cảibiên nó, và quá trình thử nghiệm không ảnh hưởng đến cấu hình và các bộ phậnđược tạo ra.Tính dời chuyển được: Là những thuộc tính liên quan đến chi phí vận chuyểnmột sản phẩm phần mềm từ ổ cứng gốc đến ổ cứng khác hoặc từ một môi trườnghoạt động này đến môi trường hoạt động khác.Tính tin cậy được: Khả năng của hệ thống có thể cung cấp cho người sử dụngcác thông tin về lỗi dịch vụ.Tính hiểu được: Là khả năng của sản phầm phần mềm cho phép người sửdụng hiểu được phần mềm có thích hợp hay không và sử dụng nó như thế nào.Tính tiện lợi: Là khả năng của sản phẩm phần mềm trở nên dễ hiểu, dễ học,dễ sử dụng và hấp dẫn người sử dụng.Tính tiện ích: Là mức độ cho phép nhiều người sử dụng truy cập và sử dụngphần mềm ở các kiểu khác nhau.Tính thẩm tra được: Là không phụ thuộc vào các trình ứng dụng hay các bộphận được kiểm tra.Tính không ổn định: Là các thuộc tính liên quan đến các văn bản thủ tục khisản phẩm phần mềm được thay đổi thường xuyên.1.2. Quá trình phát triển phần mềmQuá trình phát triển phần mềm là tập hợp các thao tác và các kết quả tươngquan để sản xuất ra một sản phẩm phần mềm. Quá trình phát triển phần mềm là sựkết hợp giữa mô hình vòng đời phần mềm, các công cụ được sử dụng và những6người xây dựng nên phần mềm đó. Những thao tác đó hầu hết được tiến hành vàthực hiện bởi các kỹ sư phần mềm.Nền tảng của hầu hết các quá trình phần mềm là 4 thao tác sau:Đặc tả phần mềm: Các chức năng của phần mềm và điều kiện để nó hoạtđộng phải được định nghĩa.Sự triển khai phần mềm: Để phần mềm đạt được đặc tả thì phải trải quaquá trình phát triển này, đó chính là quá trình tạo ra phần mềm.Đánh giá phần mềm: Phần mềm phải được đánh giá để xem nó làm đượcnhững gì, có đáp ứng được yêu cầu cũng như những mong muốn củangười dùng.Sự tiến hóa của phần mềm: Phần mềm phải được đổi cũng như phát triểnđể thỏa mãn sự thay đổi các yêu cầu của khách hàng.1.2.1. Các giai đoạn phát triển phần mềm:Quá trình phát triển phần mềm luôn được xây dựng trên cơ sở các giaiđoạn chuẩn, theo đúng thứ tự đã đặt ra: Xác định yêu cầu phần mềm – Requirement Engineering Phân tích hệ thống phần mềm – Anslysis Thiết kế phần mềm – Design Cài đặt phần mềm – Development Kiểm thử phần mềm – Testing Bảo trì phần mềm – MaintenanceCác công ty phần mềm khác nhau có các quá trình phát triển phần mềmkhác nhau. Trong một số trường hợp thì tên các giai đoạn [pha] này có thểkhác.1.2.1.1. Xác định yêu cầu phần mềmKhách hàng và người phát triển trong những lần gặp nhau đầu tiên,khách hàng phác thảo các yêu cầu, chức năng, các công việc của phần mềmmà họ muốn đặt hàng. Nhiệm vụ của người phát triển là phải tìm hiểu xem7khách hàng cần gì. Những khảo sát ban đầu về nhu cầu khách hàng đượcgọi là tìm hiều vấn đề [concept exploration].Kiểm thử pha yêu cầuNhóm bảo đảm chất lượng phần mềm [SQA = software qualityassurance] bắt đầu thực hiện vai trò của mình ngay từ pha khởi đầu. Nếu sửdụng bản mẫu thì trong pha này nhóm cùng khách hàng kiểm thử phiên bảncuối cùng của bản mẫu xem nó đã được thực hiện đúng các yêu cầu màkhách hàng cần không.Tài liệu báo cáo trong pha yêu cầuTài liệu báo cáo trong pha yêu cầu này bao gồm bản mẫu và các ghichép trong quá trình trao đổi với khách hàng.1.2.1.2. Phân tích [hay đặc tả] hệ thống phần mềmNhóm phân tích sẽ biên soạn tài liệu đặc tả [hay tài liệu phân tích].Những điều được nêu lên trong tài liệu của pha yêu cầu sẽ được chi tiết vàchính xác hóa. Tài lệu đặc tả còn chỉ rõ đầu vào [input] và đầu ra [output]của phần mềm. Tài liệu đặc tả đóng vai trò quan trọng trong việc kiểm thửvà bảo trì phần mềm. Những thành phần chính của kế hoạch là: những phầnsản phẩm chuyển giao cho khách hàng, các mốc thời gian cần chuyển giao,chi phí của các phần sản phẩm này ...Kiểm thử pha đặc tảNhóm SQA kiểm tra tài liệu đặc tả một cách kỹ lưỡng, nhận ra nhữngđiều mâu thuẫn hay chưa đầy đủ. Ngoài ra, nhóm SQA còn phải xem xéttính khả thi của đặc tả. Tài liệu đặc tả phải có thể kiểm thử được. Nếu cóbản mẫu trong pha yêu cầu thì trong đặc tả cũng nên có các mục tương ứngvới các chức năng trong bản mẫu.Tài liệu trong pha đặc tảTài liệu trong pha này bao gồm: bản báo cáo đặc tả và bản thiết kếquản lý dự án phần mềm.1.2.1.3. Thiết kế phần mềm8Nhóm thiết kế tìm hiểu, nghiên cứu bản báo cáo đặc tả, xác định cấutrúc bên trong của phần mềm, phân chia phần mềm thành các module, lànhững phần mã lệnh độc lập nhau và có các giao tiếp phù hợp với các phầncòn lại của phần mềm, tiếp theo là công việc thiết kế chi tiết cho từngmodule. Với mỗi module cần chọn các thuật toán và các cấu trúc dữ liệuthích hợp.Kiểm thử pha thiết kếBản thiết kế được nhóm SQA thực hiện phải được xem xét kỹ, xemnó đã thực sự phù hợp với báo cáo đặc tả chưa. Các lỗi thường được pháthiện trong pha này là: lỗi logic, lỗi giao tiếp, thiếu phần xử lý các trườnghợp ngoại lệ, và quan trọng nhất là không tương hợp với báo cáo đặc tả.Tài liệu báo cáo trong pha thiết kếSản phẩm chính trong pha này là bản thiết kế kiến trúc và thiết kếchi tiết.1.2.1.4. Cài đặt phần mềmTrong pha này các lập trình viên viết chương trình cho các moduletheo thiết kế chi tiết.Kiểm thử pha cài đặtMỗi module cần kiểm thử trong khi thực hiện và sau khi hoàn thành[desk checking] được người lập trình thực hiện bằng cách chạy thử các sốliệu mẫu, xem xét các mã nguồn để tìm ra lỗi lập trình. Sau đó nhóm SQAsử dụng một số phương pháp đã có để thử lại các module.Tài liệu báo các trong pha cài đặtTài liệu trong pha cài đặt chính là các mã nguồn của mỗi module cùngvới lời chú thích.1.2.1.5. Kiểm thử phần mềmTrong pha cài đặt từng module đã được kiểm thử. Trong pha kiểm thửcác module sẽ được kết hợp thành phần mềm và chúng ta cần kiểm tra xem9các chức năng của phần mềm có hoạt động chính xác không. Bước cuối củakiểm thử là kiểm thử chấp nhận [acceptance testing].Tài liệu báo cáo trong pha kiểm thửSản phẩm trong pha kiểm thử là các mã nguồn đã được hiệu chỉnhcùng các chú thích. Kèm theo đó là tài liệu hướng dẫn sử dụng, tài liệuhướng dẫn cài đặt và vận dụng chương trình, giải thích các cơ sở dữ liệu ...1.2.1.6. Bảo trì phần mềmBảo trì là một phần của quy trình phần mềm và thường có chi phí lớnhơn tất cả các pha khác cộng lại. Pha bảo trì là pha trải qua nhiều thách thứcnhất trong quá trình sản xuất phần mềm.Kiểm thử pha bảo trìViệc kiểm thử ở đây bao gồm hai phần: thứ nhất cần kiểm tra xemphần mềm được sửa theo đúng yêu cầu đặt ra chưa. Thứ hai là sau khi sửađổi lại một phần của phần mềm thì những phần còn lại có bị ảnh hưởngkhông.Tài liệu báo cáo trong pha bảo trìTài liệu quan trọng trong pha bảo trì là các ghi chép về các sửa đổi đãđược thực hiện cùng các lý do.1.2.2. Các mô hình vòng đời phần mềmMô hình vòng đời phần mềm [SLC – Software Life Cycle] là tập hợpcác công việc và quan hệ giữa chúng với nhau diễn ra trong quá trình pháttriển phần mềm. Có nhiều mô hình khác nhau, một số trong đó được ứngdụng khá phổ biến trên thế giới.1.2.2.1. Mô hình thác nướcTrong mô hình thác nước, các pha phải được thực hiện một cách tuầntự, kết thúc pha trước, rồi mới được thực hiện pha tiếp theo. Do đó, nhượcđiểm chính của mô hình thác nước là rất khó khăn trong việc thay đổi cácpha đã được thực hiện. Giả sử, pha phân tích và xác định yêu cầu đã hoàn10tất và chuyển sang pha kế tiếp, nhưng lúc này lại có sự thay đổi yêu cầu củangười sử dụng, thì chỉ còn cách là phải thực hiện lại từ đầu.Cho nên, mô hình này chỉ thích hợp khi các yêu cầu đã được tìm hiểurõ ràng và những thay đổi sẽ được giới hạn một cách rõ ràng trong suốt quátrình thiết kế. Tuy nhiên, trong thực tế có rất ít những hệ thống nghiệp vụ cócác yêu cầu ổn định.Phân tích các yêu cầu và định nghĩa: hệ thống dịch vụ, khó khăn vàmục tiêu được hình thành bởi sự trợ ý của hệ thống người tiêu dùng.Thiết kế phần mềm và hệ thống: thiết kế hệ thống các quá trình, các bộphận và các yêu cầu cả phần mềm lẫn phần cứng. Hoàn tất hầu như tất cảkiến trúc của hệ thống này.Thực hiện và thử nghiệm các đơn vị: trong giai đoạn này, thiết kế phầnmềm phải được chứng thực như là một tập hợp nhiều chương trình haynhiều đơn vị nhỏ. Thử nghiệm các đơn vị bao gồm xác minh rằng mỗi đơnvị thỏa mãn đặc tả của nó.Tổng hợp và thử nghiệm toàn bộ: các đơn vị chương trình riêng lẻ haycác chương trình được tích hợp lại và thử nghiệm như là một hệ thống hoàntất và chứng tỏ được các yêu cầu của phần mềm được thỏa mãn. Sau khi thửnghiệm phần mềm được cung ứng cho người tiêu dùng.Sản xuất và bảo trì: thông thường [nhưng không bắt buộc] đây là phalâu nhất của chu kỳ sống [của sản phẩm]. Phần mềm được cài đặt và đượcdùng trong thực tế. Bảo trì bao gồm điều chỉnh các lỗi mà chưa được pháthiện trong các giai đoạn trước của chu kỳ sống, nâng cấp sự thực hiện củahệ thống các đơn vị và nâng cao hệ thống dịch vụ.Chỗ yếu của mô hình này là nó không linh hoạt. Các bộ phận của đềán chia ra thành những phần riêng của các giai đoạn. Hệ thống phân phốiđôi khi không dùng được vì không thỏa mãn được yêu cầu của khách hàng.Mặc dù mô hình này phản ánh thực tế công nghệ. Như là một hệ quả đây11vẫn là mô hình cơ sở cho đa số các hệ thống phát triển phần mềm - phầncứng.1.2.2.2. Mô hình phát triển tiến hóa của phần mềmPhân tích mô hình: Mô hình phát triển tiến hóa này hiệu quả hơn mô hìnhthác nước. Tuy nhiên, nó vẫn có khuyết điểm:- Quá trình không nhìn thấy rõ được: Các nhà quản lý cần phân phốithường xuyên để đo lường sự tiến bộ. Nó không kinh tế trong việc làm racác hồ sơ cho phần mềm.- Phần mềm thường được cấu trúc nghèo nàn: Sự thay đổi liên tục dễ làmsai lệch cấu trúc của phần mềm, tạo ra sự khó khăn và tốn chi phí.- Thường đòi hỏi những kỹ năng đặc biệt: Hầu hết các hệ thống khả dĩtheo cách này được tiến hành bởi các nhóm nhỏ có kỹ năng cao.Mô hình này hợp với: Phát triển các loại phần mềm tương đối nhỏ. Phát triển các loại phần mềm có đời sống tương đối ngắn. Tiến hành trong các hệ thống lớn hơn ở những chỗ mà không thểbiểu thị được các đặc tả chi tiết trong lúc tiến hành. Thí dụ của trường hợpnày là các hệ thống thông minh nhân tạo [AI] và các giao diện cho ngườidùng.1.2.2.3. Mô hình xoắn ốc BoehmMô hình Boehm có dạng xoắn ốc. Mô hình Boehm có thể chỉ ra cácrủi ro có thể hình thành trên căn bản của mô hình quá trình [sản xuất] tổngquát. Mỗi vòng mô hình đại diện cho một pha của quá trình phần mềm.Vòng trong cùng tập trung về tính khả thi, kế đến là vòng định nghĩa cácyêu cầu, vòng tiếp theo là thiết kế ...Không có một pha nào được xem là cố định trong vòng xoắn. Mỗivòng có 4 phần tương ứng với 1 pha.- Cài đặt đối tượng: chỉ ra các đối tượng của pha trong đề án. Nhữngkhó khăn của quá trình và của các sản phẩm được xác định và được lên kế12hoạch chi tiết. Xác định các yếu tố rủi ro của đề án. Các phương án thay thếtùy theo các rủi ro này có thể được dự trù.- Lượng định và giảm thiểu rủi ro. Tiến hành phân tích mỗi yếu tố rủiro đã xác định. Đặt ra các bước để giảm thiểu rủi ro.- Phát triển và đánh giá: Sau khi đánh giá các yếu tố rủi ro, một môhình phát triển cho hệ thống được chọn.- Lên kế hoạch: Đề án được xem xét và quyết định có nên hay khôngtiếp tục pha mới trong vòng lặp.1.3. Yêu cầu về đánh giá phần mềm1.3.1. Tầm quan trọng của việc đánh giá chất lượng phần mềmTrong kỷ nguyên hiện đại, phần mềm đóng vai trò vô cùng quan trọng,có thể so sánh như một hệ thần kinh số điều khiển toàn bộ hoạt động hệthống thông tin toàn cầu. Trong bối cảnh đó, một sai lầm, dù rất nhỏ củaphần mềm cũng có thể gây ra hậu quả khôn lường. Chỉ vì một dấu phẩynhầm lẫn trong hệ thống phần mềm điều khiển mà tàu vũ trụ Apollo 11 củaMỹ đã nổ tung khi phóng lên quỹ đạo, gây thiệt hại hàng tỷ USD và nghiêmtrọng là đã cướp đi mạng sống của toàn bộ phi hành đoàn.Theo kết quả nghiên cứu của Viện Công Nghệ và Tiêu Chuẩn QuốcGia [NIST] thuộc Bộ Thương Mại Mỹ, các nhược điểm trong phần mềmkhông chỉ gây phiền phức cho người dùng mà hàng năm còn gây tổn thấtlớn cho nền kinh tế Mỹ ước tính 59,5 tỷ USD. Tuy nhiên, cũng theo NIST,thử nghiệm để phát hiện và loại bỏ khiếm khuyết ngay từ quá trình sản xuấtphần mềm có thể giảm mức thiệt hại khoảng 22,2 tỷ USD trong tổng số59,5 tỷ này.Thời gian gần đây, cùng với sự phát triển mạnh của ngành phần mềmViệt Nam, nhiều doanh nghiệp đã nhận thức đúng về vai trò của chất lượngphần mềm và định hướng xây dựng các quy trình sản xuất phần mềm theochuẩn quốc tế với mục đích sản xuất phần mềm chất lượng.13Lĩnh vực công nghệ thông tin trong nước đang phát triển rất mạnh mẽvới sự xuất hiện rất nhiều các công ty phần mềm. Chất lượng của các sảnphẩm phần mềm do các công ty này sản xuất chủ yếu là sự thỏa thuận vớingười sử dụng và họ tự đưa ra quy trình cũng như tiêu chí cho riêng mình.Để đánh giá được chất lượng phần mềm có đáp ứng được nhu cầu cho trướchay không thì cần phải đưa các tiêu chí đánh giá chất lượng phần mềm vềmột tiêu chuẩn chung và phải đánh giá chất lượng phần mềm trong thực tế[tức là phần mềm phải qua sử dụng]. Tuy nhiên, hiện nay cơ quan quản lýnhà nước về ngành công nghệ thông tin còn thiếu cơ sở phương pháp và cáctiêu chí đánh giá để xác định định mức cho sản phẩm phần mềm. Và mộtvấn đề đặt ra đối với công tác quản lý chất lượng phần mềm là cần phải cómột tổ chức độc lập để xây dựng các tiêu chí đánh giá chất lượng phầnmềm. Nhằm hỗ trợ các doanh nghiệp phần mềm Việt Nam trong việc nângcao chất lượng của sản phẩm phần mềm cũng như việc thống nhất quản lýchất lượng phần mềm trong các doanh nghiệp thành viên của Hiệp hộidoanh nghiệp phần mềm Việt Nam [VINASA]. Mới đây, VINASA đã chínhthức thành lập Ban công tác chất lượng VINASA [VINASA QUALITYCOMMITEE -VQC], với nhiệm vụ xây dựng “các tiêu chuẩn và đánh giáchất lượng phần mềm Việt Nam” tư vấn cho các doanh nghiệp phần mềmvề quy trình đảm bảo chất lượng phần mềm, cung cấp cho doanh nghiệp cácchỉ tiêu, các tiêu chuẩn để đánh giá chất lượng phần mềm trong các lĩnh vựckhác nhau dựa trên các chuẩn quốc tế ISO-9000, ISO-9126, ISO-14598 …Công ty cổ phần phần mềm Hà Nội [HanoiSoftware] kinh doanh trên cácgiải pháp phần mềm cho Website thương mại điện tử, phát triển và triểnkhai các cổng thông tin tích hợp thì xây dựng các sản phẩm phần mềm đápứng các mô hình chất lượng của tiêu chuẩn ISO-9126. Tập đoàn bưu chínhviễn thông Việt Nam lại thực hiện đánh giá sản phẩm phần mềm theo tiêuchuẩn ISO/IEC 12119:1994 về “Yêu cầu và kiểm tra chất lượng phầnmềm”. Các tiêu chí đánh giá về phần mềm của Trung tâm Công nghệ thông14tin CDiT thuộc Học viện Bưu chính Viễn thông được xây dựng dựa trên 6đặc tính chất lượng nêu trong tiêu chuẩn ISO/IEC 9126 và áp dụng tiêuchuẩn ISO/IEC 12119:1994 để đánh giá chung cho các tài liệu hướng dẫn,tài liệu mô tả sản phẩm, chương trình và dữ liệu. Nói tóm lại hiện nay trongnước vẫn chưa có một tiêu chuẩn chung nào để đánh giá chất lượng phầnmềm, chưa thể trả lời được câu hỏi đánh giá phần mềm trong nước theo cácmặt nào, sử dụng tiêu chuẩn nào, bằng cách nào đánh giá được thực chấtchất lượng của phần mềm, độ tin cậy và chính xác của các phương phápđánh giá. Hiện nay, khi chọn mua bất cứ một sản phẩm phần mềm nàongười sử dụng đều phải tìm hiểu tính năng tác dụng của sản phẩm phầnmềm đó, nhưng việc tìm ra tính năng tác dụng của sản phẩm không chỉ dựavào quảng cáo, giới thiệu của người bán hàng mà phải tự mình đặt ra câuhỏi đặc thù với nhu cầu cũng như đối với sản phẩm mình có ý định mua. Đểđánh giá sự đảm bảo về mặt chất lượng của sản phẩm phần mềm đáp ứngcác nhu cầu cho trước thì cần áp dụng tiêu chuẩn về tiêu chí đánh giá chấtlượng sản phẩm phần mềm và có tiến trình đánh giá phù hợp. Các tổ chứctiêu chuẩn quốc tế như IEEE, ISO … đã có các tiêu chuẩn về tiến trình đánhgiá sản phẩm phần mềm. Một trong các chuẩn thông dụng về tiến trình đánhgiá sản phẩm phần mềm là bộ tiêu chuẩn ISO/IEC-14598, bao gồm 6 phần:[phần 1: tổng quan; phần 2: lập kế hoạch và quản lý; phần 3: tiến trình chongười phát triển; phần 4: tiến trình cho người sử dụng; phần 5: tiến trìnhcho người đánh giá; phần 6: tài liệu đánh giá].1.3.2. Tiêu chí đánh giá chất lượng một số loại phần mềmPhần mềm có thể phân thành nhiều loại theo nhiều tiêu chí khác nhautùy theo mục đích, tuỳ theo lĩnh vực ứng dụng: phần mềm kinh doanh, phầnmềm giáo dục, phần mềm giải trí, phần mềm tài chính kế toán, phần mềman ninh và bảo mật … Mỗi loại phần mềm được xây dựng các tiêu chí đánhgiá riêng biệt.1.3.2.1. Tiêu chí đánh giá phần mềm giáo dục15Các tiêu chí để đánh giá phần mềm giáo dục:Cài đặt và thiết lập cấu hình: Hướng dẫn rõ ràng, chính xác cho việccài đặt cũng như việc thiết lập cấu hình. Thời gian cài đặt phần mềm hợp lý,chấp nhận được. Nơi cài đặt đã có đầy đủ phần cứng và phần mềm theo yêucầu. Dễ dàng thêm bớt thông tin trong việc quản lý học sinh.Tiện lợi và thân thiện với người dùng: Tài liệu hướng dẫn sử dụng rõràng, chính xác. Yêu cầu về kỹ năng Công nghệ thông tin phù hợp vớingười sử dụng. Nội dung không có lỗi. Giao diện phần mềm thiết kế thânthiện, dễ sử dụng. Sử dụng văn phạm và chính tả chính xác. Phần mềm dễsử dụng cho cả giáo viên và học sinh. Phần mềm có các hướng dẫn, gợi ý sửdụng trong lớp học, trong công tác giảng dạy cũng như các hoạt động dạyhọc liên quan.Phù hợp, hữu ích và linh hoạt: Phần mềm đáp ứng được mục tiêu giáodục. Nội dung và nhiệm vụ phù hợp với học sinh. Phương pháp luận củaphần mềm phù hợp với phương pháp giảng dạy của giáo viên, tình hìnhthực tế. Nội dung của phần mềm được tổ chức chặt chẽ. Phần mềm xâydựng dựa trên nội dung kiến thức. Nội dung luôn được cập nhật mới, cómục đích rõ ràng, chính xác. Phần mềm cung cấp nhiều hoạt động khácnhau tùy theo việc lựa chọn tăng tính năng đa dạng và phức tạp.Thi hành: Phần mềm chạy không bị lỗi. Hình ảnh, âm thanh, videohiển thị nhanh, rõ nét, chính xác trong khoảng thời gian hợp lý. Các liên kết,nút lệnh, dường dẫn di chuyển chính xác. Phần mềm có các lựa chọn in ấn,sao chép, nhập, xuất dữ liệu … Phần mềm hỗ trợ font tiếng Việt và các kýtự đặc biệt.Phản hồi cho học sinh: Học sinh có thể lựa chọn hoặc bỏ qua một sốphần trong chương trình. Học sinh có thể xem phần trợ giúp hoặc hướngdẫn. Học sinh nhận được phản hồi cho câu hỏi của mình, cũng như xem cáckiến thức liên quan.16Lợi ích chung: Phần mềm thúc đẩy việc học tập của học sinh. Phầnmềm duy trì sự quan tâm tới việc tìm hiểu kiến thức của người sử dụng.Phần mềm tiết kiệm thời gian trong giờ học. Phần mềm cho phép theo dõisự tiến bộ của học sinh, người sử dụng và là nơi lưu trữ thông tin.Hỗ trợ kỹ thuật: Được cung cấp các tài liệu hỗ trợ. Sẵn sàng đáp ứngcác hỗ trợ về mặt kỹ thuật. Công cụ hỗ trợ toàn diện có sẵn. Có thể truy cậpvào phần trợ giúp khi đang sử dụng chương trình.Chi phí: So với các chương trình tương tự chi phí bản quyền hợp lý.Phần mềm được nâng cấp và hỗ trợ miễn phí.1.3.2.2. Tiêu chí đánh giá phần mềm an ninh, bảo mậtNhững tiêu chí thường được đưa ra để đánh giá phần mềm an ninh,bảo mật như sau:Dễ cài đặt và sử dụng: Chương trình phần mềm phải dễ và cài đặtnhanh chóng. Dễ hiểu, dễ sử dụng cho người dùng dù người đó có làchuyên gia về máy tính hay không. Khi thay đổi các thiết lập chương trìnhkhông làm khó khăn người sử dụng. Chương trình phần mềm chỉ cần cài đặtmột lần trên hệ thống sau đó nó tự làm công việc của mình [phần mềm diệtvirus].Phát hiện và cảnh báo nguy hiểm: Phần mềm tốt, hiệu quả luôn pháthiện, cảnh báo và ngăn chặn nguy hiểm, sự lây nhiễm một cách nhanhchóng trong hệ thống, hay trong các ứng dụng … Phần mềm an ninh, bảomật được coi là đáng tin cậy thông qua việc nó phát hiện và ngăn chặn cácfile nhiễm virus. Tốc độ thực hiện cũng rất quan trọng vì nó có thể can thiệpvà làm chậm những ứng dụng đang được thực thi trên máy.Cô lập và tiêu diệt những file bị lây nhiễm một cách hiệu quả: Việcxác định các file nguy hiểm cũng như bị lây nhiễm nhanh chóng thông quaviệc xóa hay cách ly chúng một cách hợp lý - điều đó ngăn chặn nguy hiểmvà sự lây lan trong hệ thống hoặc trong mạng.17Nhiều tính năng: Điều này làm khả năng an ninh, bảo mật của chươngtrình phần mềm hoàn thiện hơn. Phần mềm tốt khả năng xử lý, bảo vệ nângcao … nhiều máy tính được bảo vệ an toàn hơn.Báo cáo: Chương trình đưa ra thông báo ngay khi phát hiện tác nhângây hại cũng như những lựa chọn xử lý hợp lý cho người sử dụng.1.3.2.3. Tiêu chí đánh giá phần mềm kế toánVới loại phần mềm này các tiêu chí đưa ra để đánh giá như sau:Tính dễ sử dụng: Khi thỏa mãn tính dễ sử dụng phần mềm phải thỏamãn: Thao tác nhập dữ liệu tối ưu. Các danh mục quản lý vừa theo mã, vừatheo tên. Có thể sửa dữ liệu ngay khi tìm kiếm. Khi xem báo cáo nếu pháthiện thiếu sót có thể sửa chữa ngay khi ở màn hình báo cáo. Có hệ thốnghướng dẫn sử dụng trên màn hình làm việc. Thao tác tìm kiếm, truy xuấtthông tin, xem in báo cáo dễ dàng và nhanh chóng. Người sử dụng khôngcần biết nghiệp vụ kế toán có thể sử dụng chương trình.Tính động đáp ứng được yêu cầu đặc thù: Chương trình có khả năngthay đổi, thêm bớt đầu vào và báo cáo đầu ra theo nhu cầu đặc thù. Giaodiện có thể thay đổi để phù hợp với yêu cầu quản lý của từng doanh nghiệp.Có thể áp dụng nhiều phương pháp để tính toán hàng hóa vật tư của doanhnghiệp. Công thức tính lương, tỷ lệ chiết khấu hao theo yêu cầu của doanhnghiệp. Quản lý 2 đơn vị tính cho cùng 1 loại sản phẩm. Báo cáo có thểthực hiện bằng tiếng Anh và tiếng Việt.Tính tự động cao: Khách hàng có thể tự động đặt mã một số yếu tố lặplại thường xuyên như: Định khoản tự động, tính thuế VAT tự động, khoảnmục chi phí … cho chứng từ nhập vào. Tự động xử lý chênh lệch tỷ giá.Phân bổ chi phí sản xuất, chi phí bán hàng, chi phí quản lý … thực hiện mộtcách tự động. Khi tổng hợp không cần qua bước trung gian nào. Khi giáthành sản phẩm thay đổi chương trình tự động tính lại các khoản mục và dữliệu chương trình cũng được tự động cập nhật theo.18Tính quản trị: Có tính quản trị xuôi. Truy xuất ra các thông tin dạngthống kê, báo cáo theo các hình thức gộp, lọc thông tin nhanh khi có yêucầu tìm kiếm dữ liệu. Các báo cáo trước khi in có thể sắp xếp, gộp lọc dữliệu theo bất kỳ trường nào. Có tính quản trị ngược. Khi đang xem báo cáotổng hợp có thể xem ngay số liệu chi tiết của từng mục tổng hợp. Có tínhquản trị theo kế hoạch. Sự chênh lệch giữa kế hoạch và việc thực hiện trongthực tế. Thực hiện báo cáo tổng hợp so sánh theo thời gian. Có thể cung cấpcác báo cáo theo yêu cầu đặc thù của doanh nghiệp. Thay đổi báo cáo theoyêu cầu mà không cần đến nhà cung cấp. Khi muốn thêm những tính năngcó thể yêu cầu nhà lập trình thêm.Tính liên kết: thỏa mãn các tiêu chí sau: Các modul tài sản cố định, laođộng tiền lương, thực hiện tính giá thành sản phẩm có tích hợp trong cùngmột phần mềm, cùng chung một cơ sở dữ liệu. Các bộ phận nghiệp vụ kháctrong cùng cơ quan có thể cập nhật dữ liệu và khai thác thông tin trong hệthống cơ sở dữ liệu có sẵn.Tính chi tiết, bảo mật: Chương trình quản lý chi tiết tới từng yếu tốtheo đặc thù của doanh nghiệp mà nhà quản lý muốn. Có thể thực hiện từngyếu tố riêng lẻ hay kết hợp các yếu tố lại: chi tiết doanh thu, lỗ lãi, công nợtheo từng hợp đồng, từng hóa đơn, từng khách hàng, từng kênh luồng phânphối … Sau khi khóa sổ dữ liệu, các số dư chi tiết theo các yếu tố cần quảnlý được chuyển chính xác sang kỳ mới. Cho phép bù trừ công nợ và chobiết công nợ và tồn kho tức thời. Chương trình có thể sao lưu dữ liệu tựđộng. Cơ chế bảo mật chi tiết theo từng nghiệp vụ, từng báo cáo, từng chứcnăng … Chương trình lưu vết tên người nhập, người sửa chữa, thay đổi dữliệu …19Chương 2TIÊU CHUẨN ĐÁNH GIÁ CHẤT LƯỢNG PHẦN MỀM2.1. Tổng quan về tiêu chuẩn chất lượng phần mềm2.1.1. Tìm hiểu về chất lượng phần mềmTheo định nghĩa hình thức về chất lượng sản phẩm phần mềm của Tổ ChứcTiêu Chuẩn Quốc Tế ISO trong bộ tiêu chuẩn 8402, "chất lượng là khả năng đápứng toàn diện nhu cầu của người dùng về tính năng cũng như công dụng được nêura một cách tường minh hoặc không tường minh trong những ngữ cảnh xác định".Hay đó chính là sự tuân thủ các yêu cầu chức năng và sự hoàn thiện đã được phátbiểu tường minh, trong đó các chuẩn phát triển đã được tư liệu hóa tường minh vàcác đặc trưng không tường minh được trông đợi từ tất cả các phần mềm được pháttriển theo cách chuyên nghiệp.Chất lượng của phần mềm theo quan điểm của người phát triển là phần mềmít lỗi và chạy giống thiết kế. Đây được gọi là quan điểm theo kiểu lập trình. Vớinhững khó khăn về định lượng trong khái niệm chất lượng phần mềm, để có đượcmột phần mềm tốt cách thông thường nhất là tiếp cận theo lối chất lượng quy trình.Nghĩa là nếu chúng ta có quy trình sản xuất tốt thì sẽ có khả năng sản xuất ra sảnphẩm tốt.Sự thay đổi trong cách quan niệm chất lượng phần mềm của khách hàng,phần mềm tốt là phần mềm đáp ứng đầy đủ yêu cầu của khách hàng, dễ sử dụng, dễbảo trì, nâng cấp. Người ta nói đó là chất lượng theo nghĩa hấp dẫn vì nó hướng tớingười dùng.20Sự mới mẻ trong quan niệm chất lượng phần mềm là độ tin cậy, đó chính làtính chính xác, tính ổn định, tính an toàn của phần mềm. Khi người sử dụng thỏamãn với sản phẩm, tức là khi nhu cầu của người sử dụng được đáp ứng và phầnmềm có độ tin cậy cao thì đó là một phần mềm tốt.2.1.2. Đánh giá chất lượng sản phẩm phần mềm bằng các bộ chuẩn của các tổchức tiêu chuẩn quốc tế.2.1.2.1. ISO-14598ISO/IEC 14598 bao gồm 6 phần chính dưới tiêu đề chung: Công NghệThông Tin – Đánh giá sản phẩm phần mềm.Phần 1: Tổng quanPhần 2: Lập kế hoạch và quản lýPhần 3: Quy trình cho người phát triểnPhần 4: Quy trình cho người sử dụngPhần 5: Quy trình cho người đánh giáPhần 6: Tài liệu đánh giá các khốiQuá trình đánh giá sản phẩm phần mềm trong ISO 14598 đối với 3 đốitượng khác nhau: Người phát triển Người khai thác Người đánh giáa. Quá trình đánh giá dành cho người phát triểnPhần này liên quan đến việc thu thập số liệu về chất lượng theo như kế hoạchđể so sánh với các giá trị đích.Đánh giá trong: Công việc điều khiển và quản lý chất lượng được thực hiệntrong suốt quá trình phát triển. Người phát triển sẽ thu thập số liệu thực từ phươngpháp đo để xác định các thuộc tính trong dựa theo các công việc thu thập số liệu đãxác định trước đó. Nếu có sự thay đổi về các yêu cầu chất lượng, người phát triển sẽxem xét lại bản đặc tả và bản thiết kế của đánh giá.21Đánh giá sản phẩm cuối cùng: Việc đánh giá chất lượng sản phẩm phầnmềm được thực hiện khi hoàn thành quá trình phát triển. Người phát triển sẽ tiếnhành các hoạt động cần thiết để đảm bảo chất lượng của dữ liệu thu được. Ngườiphát triển sẽ thực hiện đánh giá các kết quả thu được và chứng minh bằng tài liệukết quả đánh giá.b. Quá trình đánh giá dành cho người khai thácQuá trình đánh giá sản phẩm phần mềm dành cho người khai thác thường có4 bước chính. Bước 1: Thiết lập các yêu cầu đánh giáQuá trình đánh giá sẽ thiết lập: Một tập các yêu cầu chất lượng phần mềm sử dụng mô hình chất lượng Thứ tự ưu tiên thích hợp cho các tiêu chí chất lượng phần mềm Tạo một cơ sở hệ thống để đánh giá thích hợp mức tích hợp của ứng dụng. Quá trình khai thác cần thực hiện theo và cách để các yêu cầu đầu vào củađánh giá giao tiếp được với nhà cung cấp. Phạm vi, mục tiêu, mục đích của đánh giá bằng cách xem xét:+ Liệu sản phẩm phần mềm sẽ được sử dụng cho một ứng dụng cụ thể,cho tập các ứng dụng cụ thể hay cho một bộ các ứng dụng chung.+ Liệu đánh giá được thực hiện bởi các bên thứ 2, thứ 3 hay được lên kếhoạch để thực hiện sau. Bước 2: Đặc tả đánh giáCông việc này nên được ghi chép để việc đánh giá có thể được lặp lại nhiều lần. Đểchọn phương pháp đo đặc tả đánh giá nên xác định: Tiêu chí của sản phẩm cần đánh giá. Phương pháp đo chất lượng ngoài định lượng. Phương pháp đo chất lượng sử dụng liên quan đến khung xem xét của ngườisử dụng về chất lượng của hệ thống chứa phần mềm. Chuẩn cho phương pháp đo để mô tả dải chấp nhận được. Các modul đánh giá được đóng gói.22 Mức độ bao phủ liên quan đến các yêu cầu đánh giá cần thiết sau khi xem lạicác đánh giá trước dụng, được thực hiện bởi những người khác. Danh sách kiểm tra cần trả lời bằng đánh giá. Danh sách các ví dụ có thể giúp ích trong việc trả lời các câu hỏi. Các test case sử dụng. Dữ liệu cần thu thập và phân tích, cùng định dạng của dữ liệu đó. Các phương thức đánh giá được sử dụng, bao gồm việc xem xét, đánh giá:+ Người dùng sản phẩm phần mềm và tài liệu công nghệ.+ Việc đánh giá sản phẩm phần mềm dựa trên các khoá đào tạo của nhàcung cấp.+ Quá trình phát triển công nghệ phần mềm, bao gồm cả các sản phẩmphần mềm trung gian.+ Lịch sử chạy sản phẩm của nhà cung cấp.+ Lịch sử sử dụng sản phẩm của khách hàng.+ Khả năng hỗ trợ của nhà cung cấp và chất lượng hệ thống.+ Mô tả nguyên mẫu hay các phương pháp đánh giá khác.+ Danh sách các điểm còn thiếu sót của sản phẩm và các thông tin liênquan. Phương pháp để đánh giá kết quả đánh giá. Phương pháp phù hợp để phân loại kết quả đánh giá được để cho phép chọnlựa sản phẩm phù hợp giữa các sản phẩm cùng chức năng. Phương pháp so sánh nhiều hơn 1 sản phẩm phần mềm. Phương pháp này cóthể dựa theo mức ưu tiên của các tiêu chí chất lượng. Bước 3: Thiết kế đánh giáKế hoạch đánh giá sản phẩm nên xác định xem: Liệu nhà cung cấp hay bên thứ 3 có sẵn lòng cho phép sử dụng các tài liệuđược yêu cầu, các thiết bị, công cụ, phần mềm, có đào tạo và hỗ trợ kinh phíđào tạo không. Các điều kiện để có thể truy cập các thông tin độc quyền.23 Liệu nhà cung cấp hay bên thứ 3 có sẵn lòng cung cấp cho các đơn vị nhữngthông tin đúng đắn để trả lời các câu hỏi. Ý kiến chuyên môn cần thiết cho việc đánh giá có cơ sở trên các yêu cầuđánh giá, chi phí liên quan để có được những ý kiến này. Các công việc tiền kiểm tra cần thực hiện để sản phẩm phù hợp với phépkiểm tra. Giá thành liên quan đến môi trường kiểm tra [ví dụ phần cứng, phần mềm,công cụ và chuyên gia] để thực hiện phép đánh giá. Trách nhiệm đối với công việc đánh giá và kế hoạch cần thiết Các hạn chế và thiếu sót trong việc đảm bảo chất lượng của phương phápđánh giá, và liệu những hạn chế và thiếu sót này còn tồn tại ở nơi nào khácnữa trong kế hoạch không. Sự phụ thuộc lẫn nhau giữa các phương pháp đánh giá được sử dụng, thiếtlập một chuỗi tối ưu các phương pháp. Tài nguyên cần có, tổng giá thành của đánh giá, giá thành mỗi phương phápđánh giá. Các điểm ràng buộc giữa các hoạt động đánh giá và các hoạt động khai thác. Các điểm quyết định trong quá trình đánh giá xác định khi nào và tại saođánh giá được coi là đã hoàn thành và có thể dừng được. Một số điều sau cho mỗi hoạt động đánh giá được lên kế hoạch:+ Thủ tục và công nghệ được chọn.+ Thông tin đầu vào, đầu ra và các tài liệu liên quan.+ Các yêu cầu về định dạng và nội dung đối với các tài liệu. Những cơ sở, giả định dẫn đến sự ra đời các quyết định ngoại lệ trong quátrình lên kế hoạch đánh giá. Công cụ đánh giá. Các thủ tục cho việc phát triển và kiểm tra phương pháp đo, chuẩn hoá cáctiến trình và các phép đánh giá.24 Bước 4: Thực hiện đánh giáThực thi phương pháp đánh giá: Đánh giá được thực hiện, ghi chép và phân tích để: Thiết lập một mức độ tin tưởng hợp lý để sản phẩm phần mềm có thể đápứng được các yêu cầu đánh giá. Xác định và đặc tả những thiếu sót đối với các yêu cầu đánh giá và nhữngđánh giá cần thêm để xác định phạm vi của những thiếu sót trên. Xác định những giới hạn đặc biệt hay những điều kiện để sử dụng sản phẩmphần mềm. Xác định những điểm yếu trong bản thân phương pháp đánh giá và các đánhgiá cần thêm. Xác định các tùy chọn trong việc sử dụng sản phẩm phần mềmc. Quá trình đánh giá dành cho người đánh giáHoạt động chuẩn hóa đánh giá bao gồm :-Phân tích mô tả sản phẩm-Chuẩn hóa đo lường áp dụng trên sản phẩm và các thành phần-Thẩm tra chuẩn để đáp ứng yêu cầu đánh giáPhân tích mô tả sản phẩm:Khách hàng cung cấp bản mô tả sản phẩm cần đánh giá. Tổ chức thực hiệnđánh giá nên kiểm tra xem bản mô tả sản phẩm có đạt được yêu cầu đã nêu phíatrên.Xác nhận chuẩn đánh giáTổ chức thực hiện đánh giá xác nhận chuẩn đánh giá khi xem xét các yêu cầuđánh giá. Tổ chức này kiểm tra liệu các thành phần được liệt kê trong bản mô tả sảnphẩm có cung cấp thông tin đầy đủ để thực hiện đánh giá theo yêu cầu. Đồng thờixác minh liệu phương pháp đánh giá có khả năng đáp ứng yêu cầu đánh giá.Bước 1: Giải quyết các thông tin còn thiếu trong các thành phần đãđược liệt kê bằng cách:-Thêm vào bản mô tả sản phẩm một tham chiếu tới thành phần bị thiếu, cónghĩa là khách hành cung cấp thành phần này để thực hiện đánh giá.25-Khi đối tượng đánh giá phải xác định lại, đồng nghĩa với việc các yêu cầuphải xem xét lại.Bước 2: Kiểm tra phương pháp đo được thiết lập trong tiêu chuẩnđánh giá có bao gồm các mô tả kĩ thuật không, bằng cách: xác định các chuẩn đoliên quan, cung cấp tham chiếu, thông tin chi tiết đến tài liệu chính thức trong lĩnhvực đó, thông tin này có trong chuẩn đánh giá.Thiết kế đánh giáViệc thiết kế đánh giá cung cấp tư liệu được sử dụng bởi tổ chức thực hiệnđánh giá để áp dụng phương pháp đo trong một tiêu chuẩn đánh giá. Tổ chức thựchiện đánh giá đưa phương án sử dụng nguồn tài liệu cho một đánh giá cụ thể cũngnhư cách thức áp dụng nguồn tài liệu khi thực hiện.Thực hiện đánh giáMục đích của việc thực hiện đánh giá là để đạt được các kết quả từ việc thựcthi các hoạt động nhằm đo và kiểm tra sản phẩm phần mềm theo yêu cầu đánh giá,như đã được mô tả trong các đặc tả và như được lên kế hoạch trong các kế hoạchđánh giá. Để thực hiện đánh giá, người đánh giá sẽ:- Quản lí các thành phần sản phẩm.- Quản lí dữ liệu đánh giá.- Quản lí việc sử dụng công cụ để thực hiện đánh giá.- Quản lý hoạt động đánh giá- Yêu cầu về công nghệ đánh giá đặc biệt.2.1.2.2. ISO-9126ISO-9126 thiết lập một mô hình chất lượng chuẩn cho các sản phẩm phầnmềm. Bộ tiêu chuẩn này được chia làm bốn phần: 9126-1 Đưa ra mô hình chất lượng sản phẩm phần mềm. 9126-2 Độ đo ngoài. 9126-3 Độ đo trong. 9126-4 Độ đo cho chất lượng sản phẩm phần mềm trong quá trình sử dụng.

Video liên quan

Chủ Đề