如何计算Quality factor?

allangoing 2005-09-05 02:56:09
小弟不幸被要求写一个计算Quality factor 的程序,但是对软件质量控制一窍不通,有哪些quality factor是可以被计算的?又有都有哪些算法呢?感谢感谢!
...全文
496 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangmike 2005-09-13
  • 打赏
  • 举报
回复
呵呵,自己定义一套
写出来,也许更有创新.
pyp 2005-09-05
  • 打赏
  • 举报
回复
去查了查,都是理论方面的东东,没有实际计算的例子,只能说在实际工程中套用。
而且很多是繁体的,可能台湾的软工比大陆强。一般都是三级模式,给些链接你自己去看看吧。
其实你也可以去网上找找,我找的都是中文的链接,E文的应该更多更多……

http://www.mypm.net/articles/show_article_content.asp?articleID=5800
http://51cmm.csai.cn/PubCMM/No119.htm?ID=1416
http://51cmm.csai.cn/SoftQuality/No095.htm
http://216.239.63.104/search?&q=cache:kTQFzwvivwcJ:140.127.189.19/proceedings/2002%E4%B8%AD%E8%8F%AF%E6%B0%91%E5%9C%8B%E7%AC%AC%E5%8D%81%E5%B1%86%E6%A8%A1%E7%B3%8A%E7%90%86%E8%AB%96%E5%8F%8A%E5%85%B6%E6%87%89%E7%94%A8%E6%9C%83%E8%AD%B0(CSFAT2002)/docs%255C116.pdf+Quality+factor+Criteria+Metrics&hl=zh-CN&lr=lang_zh-CN%7Clang_zh-TW
http://216.239.63.104/search?&q=cache:LcMovtZdfrgJ:www.loyen.idv.tw/~loyen/homework/java/%25A6%25D2%25B8%25D5%25C3D%25AEw%26PDF/NIGHT1.PDF+Quality+factor+Criteria+Metrics&hl=zh-CN&lr=lang_zh-CN%7Clang_zh-TW


軟體品質之要素(Software quality factor)。

依據“軟體品質確保手冊”(Handbook of Software Quality Assurance)所述,軟體品質要素應表現您的需求與期望的; 它應具有以下之功能表現;

?正 確 性(Correctness)
?彈  性(Flexibility)
?可 靠 性(Reliability)
?可測試性(Testability)
?維 修 性(Maintainability)
?可使用性(Usability)
?完 整 性(Integrity)
?再使用性(Reusability)
?移 植 性(Portability)
?相容結合性(Interoperability)

讓我們先討論正確性(Correctness),可靠性(Reliability),可測試性(Testability),可使用性(Usability),效率(Efficiency)及相容結合性(Interoperability)等重要品質要素。

正確性(Correctness) -- 正確性是不是最重要的品質要素呢?

正確性(correctness)意指軟體程式符合您設定的規格及預期結果。然而您必須正確的利用您的工具以得到正確的結果。使用正確的軟體是您唯一可以決定的品質要素。

可靠性(Reliability)

可靠性(Reliability)是評鑑有限分析軟體準確性的一種方式。軟體供應者及使用者均應對軟體進行可靠性(Reliability)的測試。

為確保軟體可靠度,軟體供應者應進行無數次測試。這些測試應包括已知答案的教科書題目及較複雜,實際的題目。軟體供應者應能提供這些測試題目的檔案及分析結果。每當軟體版本更新時,所有測試均應在各種不同硬體上再次執行測試。

同樣的,使用者亦可利用自行建立的模式進行可靠度測試。類似的測試,通常稱之為“承認測試”(Acceptance Testing)。若軟體無法通過您的測試,當然您不會接受這個軟體。另一方面,如果您的軟體供應者的可靠性測試及品質確保步驟相當深入時,使用者也可以直接導入該軟體。

可測試性(Testability)

可測試性(Testability)是用來表示測試及驗證軟體的難易度。然而當軟體不容易進行測試時,即表示很難判斷其可靠性。此時,如果從軟體供應測商試題目的數量及項目亦可以顯示出該軟體供應商負責的態度及軟體之可測試性。

可使用性(Usability)

除了使用正確的軟體外,容易使用是另一個非常重要的因素。可使用性(Usability)即是用來判斷使用軟體的難易程度。在軟體品質要素中,可使用性的判斷是非常主觀的。使用者必須自行判斷該軟體之可使用性。

效率(Efficiency)

在電腦運算上,軟體除了要能容易使用且得到正確答案外。利用最少電腦資源(記憶體,硬碟空間)也是一個重要的品質要素。效率即指測量軟體運算速度及所須之磁碟空間。使用電腦運算的目的當然是縮短分析時間,同樣的您也會希望軟體在運算時能利用最少記憶體及硬碟空間而儘快得到答案。從解題的效率可以判斷該軟體在設計時的優劣程度。

相容結合性(Interoperability)

相容結合性(Interoperability)是指軟體與其他軟體之界面,偶合及整合的能力。通常有限元素分析軟體會與含固體模型的CAD軟體,機構分析軟體,測試軟體及出圖機器與軟體工作。您使用的有限元素軟體一定要能與以上這些軟體相容結合。畢竟有限元素分析並不含蓋所有的設計工程。

其他重要品質要素

移植性(Portability)意指軟體應能在各種不同操作系統及硬體下被使用。

彈性(Flexibility)是指測試該軟體加入新功能的難易度。

維修性(Maintainability)是測試軟體的錯誤修訂。

再使用性(Reusability)顯示軟體在各種領域上的應用程度。

完整性(Integrity)指測試分析軟體及資料完整性及保護性。所有分析過程均能經過授權程序進行管制。

可學習性(Learnability)

可學習性(Learnability)用來量測軟體學習的難易程度。可學習性與可使用性的差異在於: 可使用性強調它的操作性,而可學習性則是討論理論與觀念。可學習性與軟體供應提商供的文件與訓練有很大的關係。除了操作上的訓練,還應該包括原理,更應強調在時際的應用。訓練最好要有題目進行演練。

使用者文件(User documentation)一定要完整,有條理,有組織,使得使用者能很快,很容易的得到資訊。基本上文件會有兩種類別: 學習(Tutorial)及參考(Reference)。學習式文件適用於新的使用者。使用者可以根據文件說明而使用及操作該軟體。參考式文件應包括很多例題供使用者使用。另一方面參考式文件亦需含蓋更深入的探討及細節。

有效性(Availability)

有效性(Availability) 是另一個非常重要的品質要素。軟體一定要能在您指定的硬體能夠執行。當更新版次時,新增之功能及修正後的錯誤,都應能在您的硬體上表現出來。同時您須要您的軟體供應者提供繼續支援您使用之硬體的承諾。

有責任性(Accountability)

由於沒有一個軟體是完美的。故軟體供應者必須列印說明其錯誤報告(Error Reports)以描述其已知錯誤及解決之道。負責任的軟體供應者應將軟體錯誤文件化並通知使用者,同時修正軟體之錯誤。

版次相容性(Compatibility)

版次相容性(Compatibility)測試不同版次之軟體的相容性。軟體版次的更新不應影響您已建立及分析的資料。有限元素分析軟體應有版次相容性的追蹤記錄。

除了以上所述之品質要素。軟體供應者的穩定也是很重要的。軟體供應者要具有足夠知識及技術能力以提供給使用者良好的技術支援。高品質的軟體來自於高品質的軟體供應者。

所有的軟體供應者均有品質的承諾。您可以從軟體在各工業的安裝數,使用者文件(User documentation)的完整性,軟體發展人員人數,技術支援人員的知識及經驗,公司整體的發展記錄,再從正式的軟體品質確保制度(Software Quality Assurance Program)來判斷軟體之品質。
lisir010 2005-09-05
  • 打赏
  • 举报
回复
不清楚
pyp 2005-09-05
  • 打赏
  • 举报
回复
从介绍看,应该没有适普公式,更多是从理论的探讨。
因为Ctriteria和Metrics都是不确定的,而且可能还有加权系数问题。
我更多的认为,应该从实际项目取一些内容,不同项目间进行通用的比较更有意义。
allangoing 2005-09-05
  • 打赏
  • 举报
回复
怎么找都是介绍一些概念的,,究竟应该如何计算呢...我把要求贴出来,大家帮我看看..e文的,不好意思...
Requirement Specification
You are to design and develop a system for Measurement and Reporting of Quality Factor, MARQF, composed of a three components. Each component ideally should be designed and developed and compiled separately and later integrated to form a complete application. The information used or produced by the application should be stored in a database, the third component. Following is a description of the system components:

1. A Quality Factor Calculation component which will calculate a quality factor based on the parameters provided. For example to calculate the program complexity using Halstead’s method based on number of operands and operators. This component ideally will allow calculating any specified quality factor.
2. A user interface allowing user to:
• Select the quality factor to be used.
• Set the parameters to be used, with specific type and limits ( may use scale or gauge).
• Display the single or multiple results over selected time interval, on same window or separate window, may include numerical values, a scale, or a chart.
3. A database which will include the parameter specification, and set of data required for each parameter and quality factor calculated in different time intervals.

Students can choose any programming language and database or file system to implement the this software system. The completed software system will satisfy the following criteria:
• Error checking, reject invalid data and invalid user input, user friendliness
• High level design including; class diagram, user interface and database design, etc
• Documented test design, evidence of test, and tabulated test results.

是我女朋友要写的作业,,,,超痛苦....大家多帮帮忙亚!!

5,177

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 质量管理/软件测试
功能测试压力测试安全性测试 个人社区 湖南省·长沙市
社区管理员
  • 软件测试
  • 虫无涯
  • 小博测试成长之路
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

欢迎大家加入到软件测试的社区,在这里,希望大家勇于发表自己的看法,欢迎大家分享自己在软件测试工作过程中遇到的问题以及工作经验分享。

1.想转行的小伙伴,遇到问题没有及时回复的,可以私聊小博进行反馈

2.大家对社区有好的建议,都可以在社区发帖进行反馈

推荐大家学习的软件测试入门笔记:软件测试入门学习笔记

试试用AI创作助手写篇文章吧