软件工程基础知识,软考选择题的重点

简介: 本文总结了软件工程的基础知识要点,包括软件生命周期、过程成熟度级别、开发模型、开发方法、软件测试、项目管理(成本估算、进度管理、风险管理)以及软件质量特性,旨在为软考选择题提供复习重点。

本篇知识来自:软件设计师考试同步辅导 ---考点。。。。。,钟彩华 博伟玉 清华出版社,那本书。仅供学习。以下理解都是本人自己认为的。仅供参考。

本书的第132页,第五章知识。

软件工程叙述

软件的生命周期

生命周期包括可行性分析、项目开发计划、需求分析、设计(概要设计和详细设计)、编码、测试、维护等活动。

如何理解:开发人员开发一个产品,第一步先是判断是否可行,第二步则是开发计划、需求分析、设计、最后才是编码、测试和维护,很好理解的一个概念。(虽然这句话可能是废话,但是我认为理解万岁)。

软件过程

软件过程的5个成熟度级别:初始级、可重复级、已定义级、已管理级和优化级。成熟度由低到高。

如何理解:软考的东西很杂乱广,要是都死记硬背肯定很难受,你想想,都是先初始化,可重复,重复完了之后就要单独定义一个常量类,来定义这种重复,定义完自然要管理,最后就是优化级。自己单独搞工具类包的时候就会理解了。

软件开发模型

这个是软考选择题的重点,按照以往人们的想法,就是记住每个模型的优缺点,然后根据题目的有缺点来选相应的答案。

模型有:瀑布模型、增量模型、演化模型、螺旋模型、喷泉模型、基于构件的开发模型、变更控制、形式化方法模型。书上是这几种模型,可能是因为我的书是第三版,我觉得还少了点V模型、快速原型模型、极限编程模型、水平模型、综合模型、大爆炸模型、敏捷模型、DevOps、RUP、IPD、边做边改模型、智能模型、混合模型

这么多的模型,怎么记?

我建议记住瀑布模型、增量模型、演化模型、螺旋模型、喷泉模型、V模型就差不多了。

建议视频:软考中级软件设计师-.08 敏捷开发方法-网易公开课 (163.com)

软件开发方法

结构化方法、Jackson方法、原型化方法、面向对象开发方法、敏捷方法。

按照以往软考的方向,一般会问到,敏捷方法的极限编程、水晶法、并列争球法、自适应软件开发。Jackson方法是什么方法,记住结构就行了。

软件测试也是最主要的一个考点

这个懒得写了,因为我会

软件开发项目管理

一、成本估算

成本估算是预测完成软件项目所需总成本的过程。它包括直接成本(如人力、设备、材料)和间接成本(如管理费用、租金)。成本估算通常涉及以下步骤:

  1. 收集需求:明确项目的范围和目标。
  2. 估算工作量:基于需求分析,估算完成项目所需的工作量。
  3. 估算资源成本:确定所需资源的成本,包括人员、设备和其他资源。
  4. 考虑质量因素:确保估算成本时考虑到质量保证和测试的需求。
  5. 制定预算:基于以上信息,制定详细的项目预算。

二、进度管理

进度管理涉及规划、调度、监控和控制项目的时间表。甘特图是一种常用的工具,用于可视化项目进度。以下是甘特图的一些关键点:

  • 活动列表:列出项目中所有需要完成的活动。
  • 持续时间:每个活动的预计完成时间。
  • 依赖关系:活动之间的先后顺序关系。
  • 里程碑:关键的项目节点,通常表示重要的交付成果。
  • 资源分配:指定给每个活动的资源。
  • 进度跟踪:记录实际进度并与计划进行比较。

主要考甘特图:各个任务之间的并行性,不能反映依赖,难以确定整个项目的关键、PERT图:与甘特图相反

三、风险管理

风险管理是识别、分析和应对项目风险的过程。有效的风险管理可以减少不确定性和潜在问题对项目的影响。风险管理的关键步骤包括:

  1. 风险识别:通过大脑风暴、专家访谈等方法识别潜在风险。
  2. 风险分析:评估风险的可能性和影响,对风险进行排序。
  3. 风险应对策略:根据风险的性质制定应对措施,如避免、转移、减轻或接受。
  4. 风险监控:持续监控风险并在必要时调整应对策略。

软件质量

功能性、可靠性、易使用性、效率、可维护性、可移植性性。

就考这几个

总结一下考点:

风险管理、进度管理、软件质量、软件开发方法、软件开发模型就这几个考点,估计占比5到10分。

目录
相关文章
|
11月前
|
程序员 项目管理 监控
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)(3)
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)
70 0
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)(3)
|
11月前
|
敏捷开发 中间件 数据处理
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)(1)
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)(1)
101 0
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)(1)
|
算法 程序员 Go
[软件工程导论(第六版)]第6章 详细设计(复习笔记)
[软件工程导论(第六版)]第6章 详细设计(复习笔记)
|
测试技术 项目管理
软件测试基础理论选择题(含答案)(4)
软件测试基础理论选择题(含答案)(4)
1752 0
|
1天前
|
架构师 NoSQL 大数据
复习七天通过软考高级系统架构师经历
复习七天通过软考高级系统架构师经历
|
11月前
|
自然语言处理 编译器 C语言
【软件设计师-从小白到大牛】上午题基础篇:第七章 程序设计语言与语言处理程序基础(1)
语法分析阶段可以发现程序中的所有语法错误;编译正确的程序必然不包含语法错误;“除数为0”为动态语义错误,动态语义错误只有运行时才能发现。
135 0
【软件设计师-从小白到大牛】上午题基础篇:第七章 程序设计语言与语言处理程序基础(1)
|
11月前
|
测试技术 Java 数据库
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)(2)
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)
45 0
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)(2)
|
11月前
【软件设计师-从小白到大牛】上午题基础篇:第七章 程序设计语言与语言处理程序基础(2)
【软件设计师-从小白到大牛】上午题基础篇:第七章 程序设计语言与语言处理程序基础
40 0
【软件设计师-从小白到大牛】上午题基础篇:第七章 程序设计语言与语言处理程序基础(2)
|
算法 数据挖掘 数据库
[软件工程导论(第六版)]第5章 总体设计(复习笔记)
[软件工程导论(第六版)]第5章 总体设计(复习笔记)
|
算法 数据库 开发者
[软件工程导论(第六版)]第3章 需求分析(复习笔记)
[软件工程导论(第六版)]第3章 需求分析(复习笔记)