软考之软件工程

本文总结了软件工程中的开发模型、开发方法、项目管理和质量管理等核心内容。涵盖了瀑布模型、原型模型、螺旋模型等,并讨论了成本估算、风险分析等项目管理知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       考试结束了,虽然平时有总结,但是总还是没有那么系统的写篇博客,现在后悔还来得及不?..显然来不及了,不过不管怎么样总要再对自己的总结做一个总结,不能错过了考试又错过了学习的过程.

        今天从软件工程说起,开始的时候对这里并没有太在意,因为都是概念性的东西,在自己的内心里总觉得那些计算题要比概念简单的多,所以首先要攻下计算题,虽然在平时复习时也有一种感觉:越到后面的题,概念性的题考的越来越多.不过也没太在意,总觉得概念性的东西一时半刻也记不住,所以总是在做题时发现考到哪一部分才仔细去看,从而造成了常考的会了,不常考的还是只知道那么一点儿皮毛,总是模棱两可的状态,就像考试的时候那样,总能排除两个答案,然后剩下的两个就不知道该如何是好了! 这也算是这次软考的一个教训吧!好吧这些感受在软考总结里在细说,这里还是总结软件工程的知识!


下面对个别的分支进行详细的介绍:

一、开发模型

1、瀑布模型

瀑布模型是以文档作为驱动、适合于软件需求很明确的软件项目模型;但是瀑布模型是一种理想的线性开发模型,缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题。

如图所示是瀑布模型的线性结构


2、原型模型

原型模型的特点是动态的定义需求,所以特点就是适合需求不明确的开发

3、喷泉模型

特点是面向对象的开发过程,最核心的是迭代,没有明显边界,允许各种活动交叉进行。


4、螺旋模型

结合了螺旋模型和瀑布模型的的特点,加入了两个模型都忽略了的风险分析,弥补了这两个模型的不足。


5、统一过程(UP

一种“用例和风险驱动,以架构为中心,迭代并增量”的开发过程;并定义了4个技术阶段,分别为:起始阶段--生命周期目标;精华阶段--生命周期架构;构建阶段--初始运作功能;移交阶段--产品发布。

6、敏捷开发

敏捷开发的有很多种方法,常用的有:

1)极限编程:包括4大价值观,5个原则,12个最佳实践

2)水晶法:它认为每一个不同的项目都需要一套不同的策略、约定和方法论。

3)并列争求法:使用迭代的方法

二、开发方法

1、结构化方法

       面向数据流的开发方法,由结构化分析,结构化设计,结构化程序设计构成。结构化方法总的指导思想是自顶向下,逐层分解,它的基本原则是功能的分解与抽象;适合数据处理领域的问题,但是不适合解决大规模的、特别复杂的项目,且难以适应需求的变化。

2、面向对象方法

         面向对象的方法正是以对象作为最基本的元素,也是分析问题、解决问题的核心。面向对象的方法主要有:Booth方法、Coad方法、OMT方法。

三、项目管理

1、成本估算

1)成本估算的方法


2)模型

Puttnam模型,动态多变量模型

基本COCOMO模型,静态单变量模型;对整个系统软件进行评估。

中级COCOMO模型,静态多变量模型;将系统分为系统和部件两个层次。

详细COCOMO模型,将软件系统分为系统,子系统和模块三个层次。

2、风险分析

1)风险识别

          最常用的一种方法是建立风险条目检查表

2)风险预测

          又称风向估算,从两个方面评估一个风险,风险发生的可能性或概率;以及如果风险发生了,所产生的后果。

3)风险评估

          一种很有用的技术就是定义风险参照水准,成本、进度和性能就是三中典型的风险参照水准。

4)风险控制

         目的是辅助项目组建立处理风险的策略,需要考虑的三个问题:风险避免,风险监控,风险管理及意外事件计划。其中避免永远是最好的策略。

3、进度管理

1Gantt

能清晰的描述每个任务从何时开始,到何时结束,任务的进展情况以及各个任务之间的并行性,但是他不能清晰的反应出各个任务之间的依赖关系,难以确定整个项目的关键所在,也不能反应计划中有潜力的部分。

2PERT

不仅给出了每个任务的开始时间、结束时间和完成该任务所需的时间,还给出了任务之间的关系,即哪些任务完成后才能开始另外一些任务,以及如期完成整个工程的关键路劲。

四、质量管理

1、软件质量特性

1ISO/IEC9126软件质量模型


2Mc Call软件质量模型


 

2、软件容错方法

1)结构冗余

           静态冗余

           动态冗余

           混合冗余

2)信息冗余

           为检测或纠正信息在运算或传输中的错误须外加一部分信息。

3)时间冗余

           重复执行指令或程序来消除瞬时错误带来的影响

4)冗余附加技术

           a屏蔽硬件错误:

                 关键程序和数据的冗余存储及调用

                 检测、表决、切换、重构、纠错和复算的实现

           b屏蔽软件错误

                冗余备份程序的存储及调用

                实现错误检测和错误恢复的程序

                实现容错软件所需的固化程序


写的似乎有些长了,剩下的部分下回分解。

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值