当前位置: 首页 > news >正文

《软件工程原理与实践》复习总结与习题——软件工程

软件生命周期

软件生命周期分为三个时期、八个阶段

软件定义时期: 

1)问题定义阶段:要解决什么问题

2)可行性研究阶段:确定软件开发可行

3)需求分析阶段:系统做什么

软件开发时期:

1)概要设计阶段:如何实现系统

2)详细设计阶段:如何具体实现系统

3)编程阶段:编写程序源代码

4)软件测试阶段:黑盒白盒测试

 软件维护时期:

软件维护阶段:漫长的运行和维护期

软件过程模型

瀑布模型

优点:有利于用大型软件开发中人员的组织和管理,提高了大型软件开发的效率和质量

缺点:强调活动顺序化、文档化、过于理想化。且不可逆。

快速原型模型

优点:需求分析优于瀑布模型,更为准确,减少后期返工,用户参与性强,适合需求模糊或者随时间变化的系统

缺点:不考虑软件的整体质量和长期的可维护性,可能会选择不合适的操作系统和算法,达不到质量可能被抛弃 

增量开发模型

瀑布模型的改进模型。

改进了什么?一次性全部功能按阶段推进比较困难,将需求分解成一系列增量产品,一次完成一个增量

优点:1)人员分配灵活,开发初期不需要大量人力

            2)核心产品受欢迎可以增加人力实现下一构件

            3)可以先发布功能给客户

缺点:可能出现不能集成的风险,必须要有开放式体系结构

螺旋模型

可以将螺旋模型理解为是在每个阶段前都增加了风险分析的快速原型模型,融合了三种模型

优点:灵活设计,可以在项目各阶段变更

            以小分段构建大型系统,使得成本计算简单容易

缺点:过多的迭代次数会增加开发成本,延迟提交时间

喷泉模型

优点:用户需求驱动模型,开发人员可在各阶段同步进行节省时间,支持迭代式开发

缺点:各个阶段重叠导致需要大量人力 

统一过程模型(RUP)

初始:类似问题定义

细化:类似需求设计

构建:类似编码运行

移交:类似维护

敏捷过程模型

特点:各阶段都有具体测试 


习题

对比瀑布模型、快速原型模型、增量模型、螺旋模型

瀑布模型:过于理想化;

快速原型模型:比瀑布模型更好需求分析;

增量模型:解决了一次性全部功能按阶段推进比较困难;

螺旋模型:融合了上述三种模型,但是对开发人员要求高

http://www.lryc.cn/news/248459.html

相关文章:

  • 软工2021上下午第六题(组合模式)
  • 在Spring Boot中使用不同的日志
  • 运维知识点-openResty
  • 微服务中配置Nacos热更新
  • ABAP2XLSX 的安装和demo
  • 记一篇Centos7安装innodb_ruby
  • VMware虚拟机安装和使用教程(附最新安装包+以ubuntu为例子讲解)
  • c语言 / 指针错误的几种情况
  • Stable-Diffusion——Windows部署教程
  • Day60.算法训练
  • 深入了解Java8新特性-日期时间API之TemporalQuery、TemporalQueries
  • 记录一次现网问题排查(分享查域名是否封禁小程序)
  • linux下实现Qt程序实现开机自启动
  • TCP 基本认识
  • 智慧城市包括哪些内容?有哪些智慧城市物联网方案?
  • Arkts@Watch装饰器与内置组件双向同步深度讲解与实战应用【鸿蒙专栏-14】
  • iMazing是什么软件?2024最新版本如何下载
  • LeetCode(40)同构字符串【哈希表】【简单】
  • 【代码随想录算法训练营-第一天】【数组】704. 二分查找、27. 移除元素
  • [教程] 一文进阶Redis
  • 通用plantuml模板头
  • 网站公安备案流程
  • 关于使用若依,并不会自动分页的解决方式
  • 在PyCharm中配置PyQt5环境
  • SIFI 极值点拟合的详细推导过程
  • Kontakt v7.7.2(音频采样器)
  • Drawer抽屉(antd-design组件库)简单用法
  • Android控件全解手册 - 多语言切换完美解决方案(兼容7.0以上版本)
  • Android-P CameraSerivce
  • 21.Oracle的程序包(Package)