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

ops/2024/10/18 12:19:49/

软件生命周期

一般问题的解决过程:

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

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

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

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

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

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

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

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

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

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

软件定义时期:

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

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

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

软件开发时期:

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

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

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

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

通常的4种维护活动:

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

软件开发中的各种角色:

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


http://www.ppmy.cn/ops/42021.html

相关文章

数字孪生的数据采集与处理技巧

数字孪生是指将实际物理系统的数学模型与实时数据相结合,构建出虚拟的数字副本。这种模型可以帮助我们更好地理解、管理和优化真实世界的复杂系统。然而,在构建高效的数字孪生模型之前,我们需要解决数据采集和处理的关键问题。 首先&#xf…

HTML静态网页成品作业(HTML+CSS+JS)——华为商城网页(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,使用Javacsript代码实现首页图片切换轮播效果,共有1个页面…

2025秋招Java还是c++?

一、我的编程经 说说我的编程经历,在C和Java之间我经历了几个阶段: 大学期间,我浅尝辄止地学习了一段时间的Java,但后来放弃了,开始学习C/C。本科毕业后,我选择攻读硕士学位,并一直专注于C的学…

机器人计算力矩控制

反馈线性化: 反馈线性化是一种控制系统设计方法,其目标是通过状态空间的坐标变换和控制变换,使得非线性系统的输入-状态映射或输入-输出映射反馈等价于线性系统。这样,就可以应用线性系统的控制理论来实现非线性系统的控制。在机…

SpringBoot @AllArgsConstructor和final 代替 @Autowired

Springboot官方建议使用final来修饰成员变量,然后通过构造方法来进行注入原因:final修饰的成员变量是不能够被修改的,反射那就没办法了。 spring代替 Autowired(lombok相关注解) NoArgsConstructor后会 生成无参的构造方法RequiredArgsConst…

linux系统(ubuntu)调用科大讯飞SDK实现语音识别

1. 科大讯飞官网 登录注册实名制 2. 点击控制台,创建应用 点击左侧的语音听写,右边下滑选择Linux,点击下载 选择Linux平台,普通版本,语音听写,SDK下载 此时将得到一个压缩包,选择的功能不…

zblog中用户中心-邀请码注册插件的导出功能补充

自己加了一个导出未使用的邀请码功能,可惜我不是入驻作者,没有权限发布,之前被一条大河拒了,他说我抄他代码,不给我过审还冷嘲热讽,我一气之下,就没继续申请了,话说我是专业搞java开…

wsl2安装rancher并导入和创建k8s集群

环境准备 安装wsl2点击此文]ubuntu20.04安装docker 点击此文,安装完成后docker镜像仓库改成阿里云镜像加速地址.如果不熟请点击此文 docker 安装rancher 启动wsl,根据官方文档以root身份执行 sudo docker run -d --restartunless-stopped -p 80:80 -p 443:443 --privileged …