赞
踩
自己整理的, 难免会有错误!!!
基本的要素:方法,工具和过程
可信性分析与项目开发计划
需求分析
详细设计
编码
测试
维护
是若干过程模型的综合和改进
是软件开发全部过程,活动和任务的结构框架
结构化的典型代表
优点:
缺点:
瀑布模型的变体
强调了测试应该贯穿开发的始终
特点
逐步开发出完整的系统
瀑布模型和演化模型的结合
特点:引入了其他模型不具备的风险分析,使软件在无法排出重大风险时有机会停止,以减少损失
每个周期的任务
强调风险分析, 使得开发人员对每个演化层出现的风险有所了解, 从而做相应的反映
适用于庞大, 复杂且高风险的系统
4大价值观: 沟通, 简单性, 反馈和勇气
5个原则:快速反馈, 简单性假设, 逐步修改, 提倡更改和优质工作
12个实践: 没用
近螺旋式的开发方法,将复杂的开发过程分解为一个个小的相对来说简单的过程
开发人员和客户可以知道开发的进度,变化,待解决的问题和潜在的困难
主要解决了代码质量低, 不能解决编码的速度
承担了共同代码拥有和共同对系统负责
承担了非正式的代码审查过程
采用“大型连续”, “小型迭代”的方式
是用户对目标软件系统在功能, 行为, 性能, 设计约束等方面的期望
具体的内容
与客户交流
对需求组织分类, 分析需求之间的关系
使用合适的工具和符号系统地描述需求
是分析任务的最终产物, 通过完整的信息描述, 详细的功能和行为描述等给出目标软件的各种需求
目的: 检测需求功能的正确性, 完整性 和清晰性, 检查是否符合用户的意愿
常用的两种设计方法:
结构化方法的知道思想是自顶而下, 逐层分解,适用于数据处理领域的问题, 不适合解决大规模,特别负责的项目,难以适应需求变化
以数据结构为驱动, 适用于小规模的项目, 适用于时序性特点较强的系统
功能内聚:完成一个单一功能, 各个部分协同工作
顺序内聚:处理元素相关, 必须顺序执行
通讯内聚:处理元素集中在一个数据结构的区域上
过程内聚:处理元素相关, 而且必须按照特定的次序执行
瞬时内聚:所包含的任务必须在同一时间间隔内执行
逻辑内聚:完成逻辑上相关的一组任务
偶然内聚(巧合内聚):完成一组没有关系或松散关系的任务
目的:发现隐藏的错误
先单元测试, 后集成测试
测试的内容:
测试的过程:
集成的两个方法:
测试的方法:
阿尔法测试和贝塔测试
测试一个类
静态测试
动态测试
系统的可维护性定义为维护人员理解, 改正, 改动和改进这个软件的难以程度
评价指标
硬件维护
软件维护
正确性维护: 程序无错误
适应性维护: 系统升级等
完善性维护: 功能的添加
预防性维护: 以后可能会需要维护的内容
数据维护
E = a ( L ) b E=a(L)^b E=a(L)b
D = c E d D=cE^d D=cEd
E:工作量,人月,D:开发时间,月, L:项目的源代码行估计值, 不包括注释和文档,abcd为常数
gantt
图
能描述每个任务从何开始,到何结束, 进度的进展情况以及各个任务之间的并行性
不能反映任务之间的依赖关系
PERT
图
上述的优点+可以反映依赖关系
风险显露度:
R E = P ∗ C RE = P*C RE=P∗C
p:风险发生的概率, c:风险发生时带来的项目成本
可靠性, 可用性, 可维护性
指一个系统对于给定的时间间隔内, 在给定条件下无失效运作的概率
MTTF/(1+MTTF) MTTF为平均无故障时间
指一个系统在给定的时间上, 能按照规格说明正常运作的概率
MTBF/(1+MTBF) MTBF为平均失效间隔时间
指一个系统对于给定的时间间隔内, 在给定条件下,使用规定的过程和资源完成维护的活动
1/(1+MTTR) MTTR是平均修复时间
V ( G ) = 边 − 点 + 2 V(G) = 边-点+2 V(G)=边−点+2
包括版本控制, 变更控制, 过程支持
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。