软考-软件工程知识精炼
1.软件开发模型
- 瀑布模型:该模型给出了软件生存周期各阶段的固定的顺序,上一阶段完成后才能进行下一阶段。这种模型缺乏灵活性,无法通过开发活动来澄清本来不够明确的需求。
- 演化模型:在获取一组基本的需求后,通过快速分析构造出该软件的一个初始可运行版本,然后根据用户在使用原型的过程中提出的意见和建议对原型进行改进。该模型主要用于用户对软件需求缺乏准确认识的情况。
- 螺旋模型:将瀑布模型和演化模型结合就成了螺旋模型。包括了4个方面的活动:制定计划、风险分析、实施工程、客户评估。
- 喷泉模型:主要用于描述面向对象的开发过程。该模型具有迭代和无间隙的特点。迭代意味着模型中的开发活动常常需要重复多次,在迭代中不断完善软件系统。无间隙是指在开发活动之间不存在明显的边界。允许开发活动交叉、迭代地进行。
注:增量式开发的优势如下:
- 能够在较短的时间内向用户提交一些有用的工作产品。
- 用户有较充足的时间学习和适应新的产品。
- 提高软件的可维护性。
2.进度管理
- Gantt(甘特)图:Gantt图能清晰地描述每个任务从何时开始,到何时结束以及各个任务之间的并行性。但它不能反映出个任务之间的依赖关系,难以确定整个项目的关键所在,也不能反映计划中有潜力的部分。
- PERT图:PERT图不仅给出了每个任务的开始时间、结束时间和完成该任务所需的时间,还给出了任务之间的关系,即哪些任务完成后才能开始另一项任务,以及如期完成整个工程的关键路径。但是PERT图不能反映 任务之间的并行关系。
3.软件过程管理
软件能力成熟度模型
软件能力成熟度模型(CMM)将软件组织的过程能力分为5个成熟度级别:
- 初始级:软件过程是无序的,有时甚至是混乱的。成功取决于个人努力。
- 可重复级:建立了基本的项目管理过程来跟踪费用、进度和功能特性;指定了必要的过程几率,能重复早先类似应用项目取得的成功。
- 已定义级:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。
- 已管理级:收集对软件过程和产品质量的详细度量,对软件过程和产品都有定量的理解和控制。
- 优化及:过程的量化反馈和先进的新思想、新技术促使过程不断改进。
统一过程
同意过程(UP)模型主要包括五个阶段:
- 初始阶段–生命周期目标
- 精化阶段–生命周期架构
- 构建阶段–初始运作功能
- 移交阶段–产品发布
前4个技术阶段由主要里程碑所终止。
4.软件质量管理与质量保证
软件质量特性
ISO/IEC 9126 软件质量特性模型由3个层次组成,第一层是质量特性,第二层是质量子特性,第三层是度量指标。该模型的质量特性和质量子特性的含义如下:
功能性:
- 适合性
- 准确性
- 互用性
- 依从性
- 安全性
可靠性:
- 成熟型
- 容错性
- 易恢复性
易使用性:
- 易理解性
- 易学性
- 易操作性
4.效率:
- 时间特性
- 资源特性
可维护性:
- 易分析性
- 易改变性
- 稳定性
- 易测试性
可移植性:
- 适应性
- 一致性
- 易替换性
软件复杂性
- 代码行度量法
- McCabe度量法:又称环路度量,给出计算公式
V ( G ) = m − n + 2 p V(G) = m-n+2p V(G)=m−n+2p
其中V(G)为有向图G中的环路数,m为图G中弧的个数,n为图G中的节点数,p为图G中的强连通分量。
结构化分析方法
1. 数据流图
数据流图或称为数据流程图,是一种便于用户理解、分析系统数据流程的图形工具。基本成分如下:
- 外部实体:外部实体是指存在于软件系统之外的人员或组织,他指出系统所需数据的发源地和系统所产生的数据的归宿地。
- 加工:加工描述了输入数据流到输出数据流之间的变换,也就是输入数据流经过什么处理后变成了输出数据流。
- 数据存储: 数据存储用来表示存储的数据。
- 数据流:数据流有一组固定成分您的数据组成,表示数据的流向。
注:数据流图有如下几个设计原则:
- 数据守恒原则:对任何一个加工来说,其所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者说是通过该加工能产生的数据。
- 守恒加工原则:对同一个加工来说,输入和输出的名字必须不相同,即使他们的组成成分相同。
- 对于每个加工,必须既有输入数据流,又有输出数据流。
- 外部实体与外部实体之间不存在数据流
- 外部实体与数据存储之间不存在数据流
- 数据存储与数据存储之间不存在数据流、
- 子图的输入/输出数据流同父图相应加工的输入/输出数据流必须一致。
- 数据流与加工有关,且必须经过加工。
还没有评论,来说两句吧...