软件工程概论期末知识点总结

本文总结了软件工程的各个重要方面,包括软件工程概述、软件过程的四大活动、常见软件过程模型及其优缺点、敏捷开发的原则和敏捷方法如XP与Scrum的区别。此外,还涵盖了需求工程、系统建模、设计模式分类以及软件测试的阶段和粒度级别。内容基于Ian Sommerville的《软件工程》第九版。
摘要由CSDN通过智能技术生成

软件工程知识点

PS:本文所对应教材为 Ian Sommerville 所著机械工业出版社出版的软件工程原书第九版。

一、软件工程概述

  1. 什么是软件工程?

    软件工程是指一门指导软件开发与维护的工程科学,它把经过时间证明的有效管理技术和当前最好的软件开发技术方法结合起来,强调采用工程的概念、原理、技术和方法来开发与维护软件。

  2. 软件产品分为哪两类?

    1. 通用软件产品
    2. 定制软件产品
  3. 软件产品应该具有哪四个重要属性?

    可维护性、可依赖和安全性、有效性、可用性。

  4. 软件工程方法学三要素:方法、工具和过程。

二、软件过程

  1. 软件过程有哪四个基本活动?请列举并给出解释。

    1. 软件描述 – 必须定义软件的功能以及软件操作上的约束。
    2. 软件设计和实现 – 必须生产符合描述的软件。
    3. 软件有效性验证 – 软件必须得到有效性验证。
    4. 软件进化 – 软件必须进化以满足不断变化的客户需要。
  2. 指出3种常见的软件过程模型,并说明应用场景,优缺点。

    1. 瀑布模型:在开发时间内需求不变化或变化较少的项目;分析设计人员对应用领域较熟悉的项目;低风险的项目;用户使用环境相对稳定的项目。优点:开发阶段清晰。 缺点:不可逆或很难可逆
    2. 增量式开发:在整个开发过程中,需求都可能发生变化,客户接受分阶段交付产品的项目;分析设计人员对应用领域不熟悉的项目;中高等风险项目;用户可参与到整个开发过程中的项目;使用面向对象语言或第四代语言开发的项目;大型软件系统。开发周期较长(超过1年);分批投资的项目。 优点:降低适应用户需求变更的成本;更好的与用户对接完成用户需求;更早使用软件并创造商业价值。缺点:程序与迭代,敏捷过程不匹配。
    3. 面向复用的软件工程:该方法是基于已存在的大量可复用的组件。系统开发过程着重于集成这些组件到新系统中,而非从头开发。优点:减少需要开发的软件数量,降低了成本,风险。 缺点:组件更新不可控,对系统进化的控制失效。
  3. 增量模型的优点?

    1. 项目可以分解为多个子系统,子系统之间边界清楚;
    2. 任务或功能模块驱动,可分阶段提交产品;
    3. 系统本身具有良好的模块化特征,模块内部高内聚,模块之间低耦合,模块本身信息隐蔽;
  4. 增量模型的缺点?

    1. 不适合各部分联系紧密的项目;
    2. 系统整体
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

梦入_凡尘

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

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

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

打赏作者

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

抵扣说明:

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

余额充值