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

篇章之:软件工程

作者: 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