本篇知识来自:软件设计师考试同步辅导 ---考点。。。。。,钟彩华 博伟玉 清华出版社,那本书。仅供学习。以下理解都是本人自己认为的。仅供参考。
本书的第132页,第五章知识。
软件工程叙述
软件的生命周期
生命周期包括可行性分析、项目开发计划、需求分析、设计(概要设计和详细设计)、编码、测试、维护等活动。
如何理解:开发人员开发一个产品,第一步先是判断是否可行,第二步则是开发计划、需求分析、设计、最后才是编码、测试和维护,很好理解的一个概念。(虽然这句话可能是废话,但是我认为理解万岁)。
软件过程
软件过程的5个成熟度级别:初始级、可重复级、已定义级、已管理级和优化级。成熟度由低到高。
如何理解:软考的东西很杂乱广,要是都死记硬背肯定很难受,你想想,都是先初始化,可重复,重复完了之后就要单独定义一个常量类,来定义这种重复,定义完自然要管理,最后就是优化级。自己单独搞工具类包的时候就会理解了。
软件开发模型
这个是软考选择题的重点,按照以往人们的想法,就是记住每个模型的优缺点,然后根据题目的有缺点来选相应的答案。
模型有:瀑布模型、增量模型、演化模型、螺旋模型、喷泉模型、基于构件的开发模型、变更控制、形式化方法模型。书上是这几种模型,可能是因为我的书是第三版,我觉得还少了点V模型、快速原型模型、极限编程模型、水平模型、综合模型、大爆炸模型、敏捷模型、DevOps、RUP、IPD、边做边改模型、智能模型、混合模型
这么多的模型,怎么记?
我建议记住瀑布模型、增量模型、演化模型、螺旋模型、喷泉模型、V模型就差不多了。
建议视频:软考中级软件设计师-.08 敏捷开发方法-网易公开课 (163.com)
软件开发方法
结构化方法、Jackson方法、原型化方法、面向对象开发方法、敏捷方法。
按照以往软考的方向,一般会问到,敏捷方法的极限编程、水晶法、并列争球法、自适应软件开发。Jackson方法是什么方法,记住结构就行了。
软件测试也是最主要的一个考点
这个懒得写了,因为我会
软件开发项目管理
一、成本估算
成本估算是预测完成软件项目所需总成本的过程。它包括直接成本(如人力、设备、材料)和间接成本(如管理费用、租金)。成本估算通常涉及以下步骤:
- 收集需求:明确项目的范围和目标。
- 估算工作量:基于需求分析,估算完成项目所需的工作量。
- 估算资源成本:确定所需资源的成本,包括人员、设备和其他资源。
- 考虑质量因素:确保估算成本时考虑到质量保证和测试的需求。
- 制定预算:基于以上信息,制定详细的项目预算。
二、进度管理
进度管理涉及规划、调度、监控和控制项目的时间表。甘特图是一种常用的工具,用于可视化项目进度。以下是甘特图的一些关键点:
- 活动列表:列出项目中所有需要完成的活动。
- 持续时间:每个活动的预计完成时间。
- 依赖关系:活动之间的先后顺序关系。
- 里程碑:关键的项目节点,通常表示重要的交付成果。
- 资源分配:指定给每个活动的资源。
- 进度跟踪:记录实际进度并与计划进行比较。
主要考甘特图:各个任务之间的并行性,不能反映依赖,难以确定整个项目的关键、PERT图:与甘特图相反
三、风险管理
风险管理是识别、分析和应对项目风险的过程。有效的风险管理可以减少不确定性和潜在问题对项目的影响。风险管理的关键步骤包括:
- 风险识别:通过大脑风暴、专家访谈等方法识别潜在风险。
- 风险分析:评估风险的可能性和影响,对风险进行排序。
- 风险应对策略:根据风险的性质制定应对措施,如避免、转移、减轻或接受。
- 风险监控:持续监控风险并在必要时调整应对策略。
软件质量
功能性、可靠性、易使用性、效率、可维护性、可移植性性。
就考这几个
总结一下考点:
风险管理、进度管理、软件质量、软件开发方法、软件开发模型就这几个考点,估计占比5到10分。