软件工程

  • 计算机软件概念
    软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合
    • 程序: 按事先设计的功能和性能要求执行的指令序列
    • 数据:使程序能正常操纵信息的数据结构
    • 文档:与程序开发,维护和使用有关的图文材料

软件生命周期

★★★★★
分为三个阶段:计划时期、开发时期、运行时期。

  • 计划时期划分:
    • 问题定义
    • 可行性研究
  • 开发时期又划分:
    • 需求分析
    • 概要设计
    • 详细设计
    • 编码和测试阶段
  • 运行时期主要是在运行中完成各类维护。包括改正性维护、适应性维护,完善性维护。

可行性研究的任务

  • 技术可行性
    • 开发风险
    • 资源可行性
    • 技术
  • 经济可行性
    • 成本和效益的估算
    • 开发成本的估算
    • 开发效益的估算
    • 运行成本的估算
    • 运行效益的估算
  • 操作可行性
  • 社会可行性
    • 操作可行性
    • 法律可行性

  • 基本社会因素
    ★★★★★
    分析项目的社会影响,包括对政治制度,政策,经济结构,法律道德,宗教人士,人文关怀,以及对社会的稳定的促进。

  • 货币的时间价值
    ★★★★★
    在这里插入图片描述
    i为年利率,n为年数,F为n年后的收入,p为本金
    即F元的现在价值P=F/(1+i)^n
    例如:
    开发某工程中使用的系统需要投资20万元,经估算在工程中用该系统后将取代大部分人工设计工作,每年可节省9.6万元。若软件的生存器为5年,试对该项目进行效益分析。
    货币时间价值(万元)
年份 将来值 (1+i)^n 现在值 累计现在值
1 9.6 1.05 9.1429 9.1429
2 9.6 1.1025 8.7075 17.8513
3 9.6 1.1576 8.2928 26.1432
4 9.6 1.2155 7.8979 34.0411
5 9.6 1.2763 7.5219 41.5630

  • 投资收益比
    ★★★★★
    投资纯收入:41.5630-20=21.5630万元
    投资回收期:系统使用后两年可以节省17.8513万元,比最初的投资少2.1487万元,第三年以后再节省了8.2928万元,2.1487/8.2928=0.2591,即项目的投资回收期为2.2591年。
    投资回收率:
    现在的投资额=Σ(i=n)(第i年年底的效益*(1+r)i
    20=9.6/(1+r)+9.6/(1+r)2+9.6/(1+r)3+9.6/(1+r)4+9.6/(1+r)5
    得出的r即为投资回收率

需求分析

  • 功能需求
  • 性能需求
  • 环境需求
  • 界面需求
  • 用户或人的因素
  • 文档需求
  • 数据需求
  • 资源需求
  • 安全保密要求
  • 软件材料成本消耗与软件开发进度要求
  • 质量保证

  • 数据字典(DD)
    模型核心(中心库)

  • E-R图(ERD)
    ★★★★★
    数据建模的基础

  • 数据流图(DFD)
    ★★★★★
    指明数据在系统中移动时如何被变换
    描述对数据流进行变换的功能(DFD中每个功能的描述包含在加工规约)

  • 状态变迁图(STD)
    指明作为外部事件的结果,系统将如何动作

软件设计

形成软件的一种层次的可对底层节点交叉引用的模块化结构

  • 概要设计
    dfd转sc结构框图
    ★★★★★
  • 详细设计
    分模块流程图

测试

软件工程_第1张图片
软件工程_第2张图片

  • 白盒测试
    ★★★★★
  • 黑盒测试
    ★★★★★
  • α测试和β测试
    • α测试(Alpha)
      是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。
    • β测试(Beta)
      β测试是由软件的多个用户在实际使用环境下进行的测试。这些用户返回有关错误信息给开发者。

维护

软件维护是软件生命周期中的最后一个阶段,不属于系统开发时期
定义:在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。
目的:通过必要的维护工作使得系统持久的满足用户的需要。包括四类维护:

  • 改正性维护
  • 适应性维护
  • 完善性维护
  • 预防性维护

总结

通过软件工程学到了什么

你可能感兴趣的:(软件工程)