软件工程期末复习(3)软件生命周期

软件生命周期

一般问题的解决过程:

  • 问题的阐述:界定问题,用较宽的范围而不是细节来定义和描述待解问题;

  • 问题的分析:问题定义的提炼,把问题分成可以理解和处理的子问题,进而提供基本细节;

  • 寻找解法:收集问题的一组可能解法;

  • 判定:每一种可能解法的评估和比较,直至获得最佳解法;

  • 设计规格说明:对选中解法的细节描述;

  • 实现:由设计到构造出结果产品,包括把分解过的各部分综合成一个有机的整体。

如同任何事物一样,软件也有一个孕育、诞生、成长、成熟、衰亡、演化的生存过程;

为了用工程化方式有效地管理软件的全过程,软件的生存过程也可以划分为几个阶段,由此逐步形成“软件生命周期”的概念;

它是一个从用户需求开始,经过开发、交付使用,在使用中不断增补修订,直至让位于新软件的全过程;

概括地说,软件生命周期由软件定义软件开发运行维护3个时期组成,每个时期又进一步划分成若干个阶段

软件定义时期:

  • 问题定义阶段:界定问题的范围,确切地定义问题;

  • 可行性研究阶段:研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法;

  • 需求分析阶段:确定目标系统必须具备哪些功能; 还要估计完成该项工程所需要的资源和成本,制定工程进度表。

软件开发时期:

具体设计和实现在前一个时期定义的软件。

  • 总体设计阶段:设计出实现目标系统的几种可能的方案,权衡利弊推荐一最佳方案,并制定实现最佳方案的详细计划,以及设计软件的体系结构;
  • 详细设计阶段:设计出程序的详细规格说明;
  • 编码和单元测试阶段:写出正确的、容易理解、容易维护的程序模块;
  • 综合测试阶段:通过各种类型的测试使软件达到预定的要求。集成测试/验收测试/现场测试/平行运行

运行维护(软件维护)时期:

通过各种必要的维护活动使软件系统持久地满足用户的需要。

通常的4种维护活动:

  • 改正性维护:诊断和改正使用过程中发现的软件错误;
  • 适应性维护:修改软件以适应环境的变化;
  • 完善性维护:根据用户需要改进或扩充软件使之更完善;
  • 预防性维护:修改软件从而为将来的维护活动做好准备。

软件开发中的各种角色:

  • 需求分析师:弄清客户想要什么
  • 设计师:系统该如何去做
  • 程序员:用代码实现设计师的想法
  • 测试员:按照需求清单给系统挑毛病
  • 培训人员:教用户如何使用系统
  • 维护人员:这个角色可能包括上面所有角色
  • 文档库管理员:组织和维护项目文档、记录软件的开发过程
  • 配置管理小组:维护变更、控制变更、确保变更正确实现、报告变更

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

大嘤三喵军团

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值