【软件构造】第一章 软件构造基础(2)

二.软件构造的质量目标

1. 外部属性(主要):影响用户感受,如外观、速度等

(1)正确性:符合规格范围和计划目标

·只保证各个层面的正确性(假设调用正确)

·检验与调试

·防御性编程

·形式化编程

(2)健壮性:响应规格范围外的异常情况

·提示错误信息

·正常退出或降级

(3)可扩展性:提供增加新功能的空间

·固化需求以规避风险

·设计简洁、离散化

(4)可复用性:使软件模块能够被其他程序使用

·模式固化

(5)兼容性:跨平台、跨软件交互

·使用标准文件格式、数据结构、接口,保持一致性

·定义一套标准的访问协议

(6)效率:程序运行过程中对CPU、内存、硬盘等的占用情况

·优化过程中正确性优先,在各个指标间进行权衡

·良好的算法、 I/O技术、内存管理

·将问题抽象便于处理,去掉一层抽象便于优化

(7)可移植性:从一个环境转移到另一个环境

(8)易用性:不影响专业用户的前提下便于初学者使用

·结构清晰的设计

·理解用户的界面

(9)功能性:软件提供功能的多少

·蠕变特征:竞争导致程序冗杂混乱

·更新原则:保证整体质量处于稳定水平

·渐进式开发

(10)其他

·及时性:高效率大致完成以占领市场

·可验证性:保证软件的效果

·完整性:各个模块间不会被非法访问所干扰

2. 内部属性(次要):影响外部属性,针对开发人员

(1)代码可读性

(2)圈复杂度:用来衡量一个模块判定结构的复杂程度

(3)耦合度/内聚度:追求低耦合、高内聚

3. 均衡决策

(1)经济性与功能性相矛盾

(2)性能与可移植性、可复用性相矛盾

(3)及时性与延展性相矛盾

4. 重要属性

(1)可读性

(2)可复用性

(3)可扩展性

(4)可靠性(正确性 && 健壮性)

(5)性能

原文地址:https://www.cnblogs.com/zhangyushuqing/p/8502587.html

时间: 2024-11-07 01:49:25

【软件构造】第一章 软件构造基础(2)的相关文章

软件构造 第一章第二节 软件开发的质量属性

?软件构造 第一章第二节 软件开发的质量属性 1.软件系统质量指标 External quality factors affect users 外部质量因素影响用户 Internal quality factors affect the software itself and its developers 内部质量因素影响软件本身和它的开发者 External quality results from internal quality 外部质量取决于内部质量 外部属性: 正确性:按照预先定义的"

第一章软件开发概述思维导图

第一章软件开发概述思维导图

第一章:机器学习基础

第一部分:分类 本书前两部分主要探讨监督学习(supervisedieaming).在监督学习的过程中,我们只需要给定输入样本集,机器就可以从中推演出指定目标变量的可能结果.监督学习相对比较简单,机器只需从输入数据中预测合适的模型,并从中计算出目标变量的结果.      监督学习一般使用两种类型的目标变量:标称型和数值型.标称型目标变量的结果只在有限目标集中取值,如真与假.动物分类集合{爬行类.鱼类.哺乳类.两栖类.植物.真菌};数值型目标变量则可以从无限的数值集合中取值,如0.100.42.0

第一章 oracle数据库基础

第一章   oracle数据库基础 1.oracle简介-->数据库管理系统    1.1:数据库    1.2:全局数据库名    1.3:数据库实例    1.4:表空间    1.5:数据文件(扩展名:.dbf)    1.6:控制文件(扩展名:.ctl)    1.7:日志文件(扩展名:.log)    1.8:模式和模式对象2.连接oracle数据库    2.1 SQL*Plus工具    2.2 PL/SQL Developer工具3.配置oracle数据库    3.1 配置监听

Spark入门到精通视频学习资料--第一章、Scala基础与实践

第一章.Scala基础与实践(3讲) Scala编程语言抓住了很多开发者的眼球.如果你粗略浏览Scala的网站,你会觉得Scala是一种纯粹的面向对象编程语言,而又无缝地结合了命令式和函数式的编程风格. 根据David Rupp在博客中的说法,Scala可能是下下一代Java. Scala有几项关键特性表明了它的面向对象的本质.例如,Scala中的每个值都是一个对象,包括基本数据类型(即布尔值.数字等)在内,连函数也是对象.另外,类可以被子类化,而且Scala还提供了基于mixin的组合(mix

第一章. ActionScript 语言基础

第一章. ActionScript 语言基础 1.0. ActionScript 3.0 Cookbook 概述 1.1. 新建一个 ActionScript project 1.2. 自己定义应用程序属性 1.3. 在哪里写ActionScript 代码呢 1.4. 怎样跟踪信息 1.5. 处理事件 1.6. 响应鼠标和键盘事件 1.7. 算术运算 1.8. 逻辑运算 1.9. 运行条件语句 1.10. 运行复杂的条件语句 1.11. 某段时间反复运行一种操作 1.12. 长时间运行一个任务

回顾PHP:第一章:PHP基础语法

第一章:PHP基础语法 一.常量: 1.1.define()函数:define(‘R’,’5’,’true’); //R:常量名,5:常量值,true:常量名对大小写不敏感,为false时表示对常量名敏感. 1.2 const关键字:const关键字在定义常量时,只需要在后面跟上一个常量名称. 并且使用“=”赋值.Const R=6; phpinfo(); //phpinfo是一个函数(功能),这个函数(功能)会显示一个当前电脑(服务器)的详细的PHP信息 二.变量: 变量的几个特点: 1.x

软件构造 第一章

一.课程简介 1.软件构造课程的目标 ①程序设计与实现能力 ②系统设计与实现能力 ③系统分析与评价能力 ④利用现代软件构造工具的能力 2.传统软件设计步骤 ①讨论需要写的软件并实现②测试代码并改错③重复②.图示如下 3.更好的软件设计 ①未雨绸缪②考虑非功能质量属性③考虑多种设计选择④把设计决策明确写下来 4.设计的目标.原则和模式 设计目标:编程的视野 设计原则:编程的标尺 设计模式:编程的经验 二.软件构造多维视图 1.什么是软件 (1)构成: ·程序Program:UI, Algorith

python 学习第一章(python基础编程第二版)

第一章:基础知识 1.双斜线:实现整除的操作符 >>>1//2 0 就算是浮点数,双斜线也会执行整除 >>>1.0//2.0 0.0 2.幂(乘方)运算符:双星 >>>2**3 8 tip:可以用函数pow代替运算符,pow(2,3) 3.十六进制和八进制 十六进制:前面加0x,第一个是数字0 >>>0xAF 175 八进制:在3.0以上版本的python中加0o,首数字是0,第二个是字母o >>>0o10 8 4.

Python培训知识总结系列- 第一章Python编程基础

第一章主要是讲了下面几点: Python的基本历史,Python2,Python3的差别. Python的数据类型,变量,顺序执行,分支,循环语句. Python的开发工具,老师推荐的是PythonCharm. 与编程相关的知识,如数制的转换,二进制,十进制,十六进制等. 还有就是列表,字典,集合的概念的.老师在第二章具体讲应用. 原文地址:http://blog.51cto.com/huangsheng2/2065133