美文网首页
篇章之:软件工程

篇章之:软件工程

作者: Mr姜饼 | 来源:发表于2021-04-14 14:55 被阅读0次

一:软件危机

包含的两个问题:
1.如何开发软件来满足日益增长的需求
2.如何维护数量不断庞大且复杂的已有软件

典型表现:
1.对软件的开发成本和进度常常估计不准
2.对已有的软件表现不满
3.成本逐渐提高
4.软件常常不可维护
5.软件的质量是不可靠的
6.软件缺少适当的文档资料
7.开发速率跟不上

产生的原因:
1.软件自身的特点造成的
2.开发与维护的方法不当
3.在软件开发的不同阶段进行修改付出的代价很不相同

一:软件工程

基本原理:
1.用分阶段的生命周期计划严格把控
2.坚持每个阶段进行评审
3.实行严格的产品控制
4.采用现代化程序设计技术
5.结果能清楚的审查
6.开发小组人员少而精
7.承认不断改进软件工程实践的必要性

软件工程方法学三要素:

  • 方法
  • 过程
  • 工具

软件生命周期:
1.软件定义:问题定义->可行性研究->需求分析
2.软件开发:总体设计->详细设计->编码和单元测试(实现)->综合测试
3.软件运行维护

软件过程:

过程模型(生命周期模型):

  • 瀑布流模型:使用最广泛的一种模型。具有顺序性、依赖性和可靠性的特点

  • 快速原型模型:总功能的子集,快速构建原型

  • 增量模型:较短时间内可提交完成部分工作的产品,有充足的时间适应和学习;适用于软件需求不明确,有风险的

-螺旋模型:更注重软件质量,重用;大型复杂的开发

  • 喷泉模型:保证工作中得到的信息不会改变,面向对象技术

可行性研究

一:概念
技术可行性
经济可行性
操作可行性
社会可行性

二:步骤

三:系统流程图


image.png

四:数据流图

需求分析:”系统必须做什么“

总体设计:

功能模块间应该遵循 高内聚、低耦合
耦合
内聚:偶然内聚、顺序内聚、功能内聚、时间内聚、通信内聚。

描绘软件结构的图形工具

1.层次图:自顶向下

2.HIPO图:层次图/输入/处理/输出图 加编号

详细设计

结构化程序设计

3种基本的控制结构:顺序、选择、循环

使用结构化程序设计的好处:
1.开发出的程序结构层次清晰
2.不使用GOTO语句
3.控制结构有确定的逻辑模式
4.可重用的代码量大
5.程序的逻辑结构清晰,有利于程序正确性证明

过程设计的工具:

1.程序流程图:使用最广泛、最混乱

2.盒图(N-S)

3.PAD图(问题分析图)

编码和单元测试(实现)

软件测试方法:
白盒测试:结构测试
黑盒测试:功能测试

软件测试的步骤:
1.单元测试
2.子系统测试(将多个单元测试组装在一起)
3.系统测试(将子系统组装在一起)
4.验收测试(用户)
5.平行运行

相关文章

网友评论

      本文标题:篇章之:软件工程

      本文链接:https://www.haomeiwen.com/subject/zbiklltx.html