软件质量
软件质量是指软件本身实体满足用户要求的能力。但并不是软件功能越多质量就越好
一、质量铁三角
1、组织:组织完备,各司其职,工作全面
2、技术:开发技术面向对象、云技术;测试技术:敏捷测试、测试用例管理工具、bug管理工具等使用
3、流程:业务流程和测试、开发流程
二、质量管理体系
评估团队生成高质量软件的能力,通过评估团队进行软件开发过程中的活动是否符合规范
1、ISO9000体系:全行业的质量管理体系,定义了原则,评估时以公司、团队是否采取措施满足这些原则
2、6sigma:以百万产品中,不合格率为评估标准
3、CMMI:capability maturity model integrated
a、初始级:没有任何管理、流程的团队
b、可重复级:在以前的成功经验上、总结出基本的流程
有流程:需求分析——设计——编码——测试
但流程的具体实现没有定义
c、已定义级:流程经过细化,定义了其执行的方式和活动
将流程扩展到不同类型的软件产品上
d、已管理级:通过数据的搜集、整理,对流程进行定量描述
e、优化级:通过对流程进行跟踪,对反馈进行分析,优化流程
不合理的流程删除、增加新的流程
三、质量模型
1、功能性
软件的正常功能满足用户的能力
a、适合性:软件的功能符合用户需求
b、准确性:软件的功能实现的是否正确、精度符合要求
c、互操作性:软件之间信息传递和操作的能力
d、保密安全性:对私密数据保护的能力
e、依从性:软件符合规则、标准的能力
2、易用性
软件的方便操作、美观等
a、易理解性:软件的功能按钮等描述容易理解
b、易学性:软件的功能和操作是否方便学习
c、易操作性:软件功能查找的方便性、实现流程是否复制
d、吸引性:对于用户的感官、心理的满足程度
3、效率
软件功能的执行的速度、占用的资源
a、相应时间
b、资源使用,内存、硬盘、cpu等
4、可靠性
软件遇到故障或错误自行解决或恢复的能力
a、成熟性:软件的自身缺陷,对软件的活动造成的影响
b、容错性:软件对外部错误的输入的容忍程度
c、易恢复性:从错误的状态恢复到正常状态的能力
5、可移植性
软件和环境的搭配
a、适应性:对不同环境的兼容能力
b、易安装性:软件对支撑软件的依赖程度
c、共存性:和其他同类软件的共存能力
d、易替换性:软件的卸载和升级能力
6、可维护性
对软件后期的维护
a、易分析性:代码的容易解读
b、易改变性:当放生改变时,需要改变的代码量很小
c、稳定性:当需求发生变化时,软件是否需要一定的变化
d、易测试性:软件特性是否容易验证
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· 程序员常用高效实用工具推荐,办公效率提升利器!
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 【译】WinForms:分析一下(我用 Visual Basic 写的)