系统开发-McCabe复杂度(下)-软件设计(三十三)

系统开发(上)-软件设计(三十二)icon-default.png?t=N176https://blog.csdn.net/ke1ying/article/details/129697626

需求分类

软件需求分为 业务需求、用户需求、系统需求。

系统需求 之后就有了 功能需求、性能需求、设计约束(用java或者.net或者指定什么数据库等约束)。

从QFD角度可以分为:基本需求(必须要做的需求)、期望需求(理所应当做到的需求)、兴奋需求。

机构化设计

结构化方法软件设计:概要设计 和 详细设计。

要求:

  1. 自顶向下,逐步求精。
  2. 信息隐蔽
  3. 模块独立(高内聚、低耦合、复杂度)

低耦合:一个模块尽可能低的与其他模块相关联。

高内聚:一个模块内部各个部件连接紧密程度。

保持模块的大小适中、尽可能减少调用深度、模块作用域在范围之内。

 

功能内聚层次最高、偶然内聚(巧合内聚)最差。

内容耦合程度最高,非直接耦合 耦合程度最低。

软件测试

尽早不断进行测试、

程序员避免测试自己设计程序。

选择有效合理的数据,也要选择无效不合理的数据。

修改后进行回归测试。

尚未发现的错误数量与该程序已发现错误数成正比

动态测试:黑盒测试法、白盒测试法、灰盒测试法。(涉及到计算机)

静态测试:桌前检查、代码走查、代码审查。(未涉及到计算机)

灰盒测试 = 黑盒测试+白盒测试  结合起来。

黑盒测试:等价类划分、边界值分析、错误推测、因果图。

看不到里面什么东西的黑盒子,只可以看到输入输出

等价类划分:分不同等级去测试。

边界值分析:超过最大值和最小值,比如300岁年龄。

错误推测:猜哪些地方有问题。

因果图:找到原因。

白盒测试:基本路径测试、循环覆盖测试、逻辑覆盖测试。

可以打开盒子看里面程序构造是什么样子。

语句覆盖:通过测试用例覆盖所有可能情况。(层次最低,因为可能漏掉)

判定覆盖:所有判断测试。

条件覆盖:判定拆分成两个条件。

测试阶段

单元测试、集成测试、确认测试、系统测试。

集成测试 主要是:一次性组装、增量组装。

确认测试:需求确认。产品β测试,用户参与进来。

系统测试:负载测试、强度测试、容量测试。

McCabe复杂度

 

V(G)=m-n+2

所以V(G) = 11 -8+2 = 5

系统运行与维护

可维护性:

  1. 易分析性
  2. 易改变性
  3. 稳定性
  4. 易测试性

维护类型:

  1. 改正性维护 百分之25:也叫正确性维护,软件开发出来会有瑕疵,维护修改瑕疵。
  2. 适应性维护 百分之20:适应环境。适应不同系统
  3. 完善性维护 百分之50:扩充新的功能。
  4. 预防性维护 百分之5:现在不维护,将来可能导致的问题。(比如写文档方便后人了解细节)

软件过程改进CMMI:

由cmm发展而来

等级:

  1. 混乱级:不需要评级,所有机构没通过cmmi都属于混乱级。
  2. 已管理级:项目需求管理,配置计划,配置管理,项目监督控制,供应商合同管理,度量分析,过程和产品质量保证。(项目级别
  3. 已定义级:需求开发、技术解决方案、产品集成、验证、确认、组织级过程焦点、组织级过程定义、组织级培训、风险管理、(组织级别、文档化,标准化
  4. 定量管理级:定量项目管理(量化
  5. 持续优化:量化都做好了,继续持续优化。

连续式:

过程管理、项目管理、工程、支持。

项目管理

主要考 时间管理 和风险管理。

 

时间管理有Gantt图和PERT图。

Gannt图最直观的看到计划怎么样,简洁明了,时间和进度。

缺点就是不能清晰表达任务之间的逻辑关系。(不知道哪个任务先做或者后做)

所以选D

因为里面最少需要 2+2+5+6 15天

通过逆推 15-4-1 = 10

所以最晚开始时间是10

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后端从入门到精通

你的鼓励是我最大的动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值