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

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

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

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

软件工程叙述

软件的生命周期

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

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

软件过程

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

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

软件开发模型

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

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

这么多的模型,怎么记?

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

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

软件开发方法

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

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

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

这个懒得写了,因为我会

软件开发项目管理

一、成本估算

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

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

二、进度管理

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

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

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

三、风险管理

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

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

软件质量

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

就考这几个

总结一下考点:

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

目录
相关文章
|
SQL 安全 测试技术
Web应用程序安全测试
Web应用程序安全测试
555 0
|
存储 网络协议 小程序
软考中级网络工程师备考分享
分享我参与2022年下半年软考网工的心得体会
1797 0
软考中级网络工程师备考分享
|
安全 小程序 网络安全
https证书是什么?
https证书=SSL证书=数字证书 数字证书是一个经权威的CA (Certificate Authority) 证书授权中心发行的可以在互联网通讯中标志通讯各 方身份信息的一个数字认证,人们可以在网上用它来 识别对方的身份。数字证书采用公钥体制,即利用一 对互相匹配的密钥进行加密、解密。每个用户自己设 定一把特定的仅为本人所知的私有密钥(私钥),用 它进行解密和签名;同时设定一把公共密钥(公钥) 并由本人公开,为一组用户所共享,用于加密和验证 签名。
4525 0
|
架构师 安全 程序员
软考资料-分享
本文提供了计算机软考资源分享,包括高级、中级和初级三个层次的专业课程。高级课程如系统架构师、网络规划设计师等,中级课程如网络工程师、数据库系统工程师等,初级课程如网络管理员、程序员等,覆盖了多种专业方向,适合不同水平的学习者。
10113 1
|
机器学习/深度学习 数据采集 人工智能
Python实现深度神经网络RNN-LSTM分类模型(医学疾病诊断)
Python实现深度神经网络RNN-LSTM分类模型(医学疾病诊断)
Python实现深度神经网络RNN-LSTM分类模型(医学疾病诊断)
|
数据采集 人工智能 算法
Seer:上海 AI Lab 与北大联合开源端到端操作模型,结合视觉预测与动作执行信息,使机器人任务提升成功率43%
Seer是由上海AI实验室与北大等机构联合推出的端到端操作模型,结合视觉预测与动作执行,显著提升机器人任务成功率。
895 20
Seer:上海 AI Lab 与北大联合开源端到端操作模型,结合视觉预测与动作执行信息,使机器人任务提升成功率43%
QGS
|
SQL 弹性计算 Java
手搭手入门Spring boot+Mybatis+达梦数据库(国产数据库)
手搭手入门Spring boot+Mybatis+达梦数据库(国产数据库)
QGS
1953 0
|
机器学习/深度学习
YOLOv8改进 | 细节创新篇 | iAFF迭代注意力特征融合助力多目标细节涨点
YOLOv8改进 | 细节创新篇 | iAFF迭代注意力特征融合助力多目标细节涨点
1234 0
|
架构师 NoSQL 大数据
复习七天通过软考高级系统架构师经历
复习七天通过软考高级系统架构师经历
881 1
|
数据可视化 Python
Matplotlib 教程 之 Matplotlib 饼图 1
使用 Matplotlib 库中的 `pyplot` 模块 `pie()` 方法来绘制饼图,并详细解释了 `pie()` 方法的参数,包括数据输入 `x`、扇区间距 `explode`、标签 `labels`、颜色 `colors`、百分比格式 `autopct`、标签距离 `labeldistance`、阴影 `shadow`、半径 `radius`、起始角度 `startangle`、逆时针方向 `counterclock`、扇形属性 `wedgeprops`、文本标签属性 `textprops`、饼图中心位置 `center`
397 2