软考--软件设计师(软件工程总结1)

目录

1.定义

2.软件生存周期

3.软件过程(即软件开发中遵循的一系列可预测的步骤)

​编辑4.软件开发模型

5.需求分析(软件需求分析,系统需求分析或需求分析工程)

[6. 需求工程](#6. 需求工程)

7.系统设计

8.系统测试


1.定义

软件工程:指的是应用计算机科学,数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程。

目的是:提高软件生产率,提高软件质量,降低软件成本。

计算机软件:指的是计算机系统中的程序及其文档。

2.软件生存周期

软件生存周期包括以下七个方面:

1.可行性分析与项目开发计划:确定软件的开发目标及其可行性。产生的文档有:可行性分析报告,项目开发计划。

2.需求分析:确定软件系统要做什么,功能,性能,数据和界面等要求。产生文档:软件需求说明书

3.概要设计:设计软件的结构,明确软件由哪些模块组成。产生文档:概要设计说明书

4.详细设计:对每一模块的功能进一步详细,具体的描述。产生文档:详细设计文档。

5.编码:程序代码

6.测试:另一个部门的软件设计师或系统设计师进行测试。产生文档:软件测试计划,测试用例,测试报告。

7.维护:是生存周期中时间最长的阶段。

3.软件过程(即软件开发中遵循的一系列可预测的步骤)

1.软件过程中能力成熟度模型:

CMM(能力成熟度模型):初始级,可重复级,已定义级,已管理级,优化级。

CMMI(能力成熟度模型集成):初始级,已管理级,已定义级,定量管理级,优化级。

连续式模型:未完成的,已执行的,已管理的,已定义级的,定量管理级的,优化的。

4.软件开发模型

1.瀑布模型:结构化方法的模型

适用场合:需求明确或二次开发

优点:容易理解,成本低,强调开发的阶段性早期计划及需求调查和产品测试

缺点:客户必须能完整,正确和清晰的表达需求

2.演化模型:适用于软件需求不够明确的情况

(1)快速原型模型:

在开发初期构造一个简易系统(可为界面,可为初步的系统),以比较低的成本来获取比较全面的用户需求。

适用场合:用户需求不明确,需求经常变化且系统规模不太大,不太复杂的软件项目。

(2)螺旋模型:

将瀑布模型和原型模型结合起来,并强调风险分析。

与瀑布模型相比,支持用户希求的动态变化。

适用场合:用于庞大,复杂且具有高风险的系统。

3.增量模型:

先做一块核心模块,之后交给用户体验,之后再做另一块核心模型...(风险小

4.喷泉模型:

适用于面向对象的开发方法。

5.基于构件的开发模型:利用预先包装的构件来构造应用系统。

构件:面向软件系统体系架构的可复用软件模块。

具有许多螺旋模型的特点。本质上是演化模型,需要以迭代的方式构建软件。

  1. 统一过程(UP):

典型代表:RUP

7.敏捷开发方法:尽可能早的,持续的对有价值的软件进行交付

5.需求分析(软件需求分析,系统需求分析或需求分析工程)

准确理解用户和项目的功能,性能,可靠性等具体要求。

6. 需求工程

是一个不断反复的需求定义,文档记录,需求演进的过程,并最终在验证的基础上冻结需求。

可以细分为6个阶段:

7.系统设计

1,概要设计

2.详细设计

8.系统测试

1.传统软件的测试策略

软件测试分为4步:单元测试,集成测试,确认测试和系统测试

单元测试:也叫模块测试。侧重于模块中的内部处理逻辑和数据结构

在每个模块进行测试时,需要开发两种模块:

2.集成测试

3.确认测试

4.系统测试

相关推荐
杨小扩23 分钟前
AI驱动的软件工程(下):AI辅助的质检与交付
人工智能·软件工程
workflower1 天前
ISO-IEC-IEEE 42010架构规范
开发语言·架构·软件工程·软件需求·敏捷流程
杨小扩1 天前
AI驱动的软件工程(中):文档驱动的编码与执行
大数据·人工智能·软件工程
rongqing20191 天前
《Google 软件工程》:如何写好文档?
软件工程
张较瘦_1 天前
[论文阅读] 人工智能 + 软件工程 | 用大语言模型+排名机制,让代码评论自动更新更靠谱
论文阅读·人工智能·软件工程
张较瘦_3 天前
[论文阅读] 人工智能 + 软件工程 | AI助力软件可解释性:从用户评论到自动生成需求与解释
论文阅读·人工智能·软件工程
张较瘦_4 天前
[论文阅读] 人工智能 + 软件工程 | LLM辅助软件开发:需求如何转化为代码?
论文阅读·人工智能·软件工程
爱思德学术4 天前
CCF发布《计算领域高质量科技期刊分级目录(2025年版)》
大数据·网络安全·自动化·软件工程
workflower5 天前
MDSE和敏捷开发相互矛盾之处:方法论本质的冲突
数据库·软件工程·敏捷流程·极限编程
~尼卡~5 天前
软考(软件设计师)软件工程-软件质量,软件测试,McCabe圈复杂度
软件工程·软件设计师-软考