软考--软件设计师(软件工程总结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.系统测试

相关推荐
联系QQ 1808095111 小时前
Mitsubishi FX5U伺服机器人程序:包括三菱PLC程序、威纶通触摸屏程序、IO表、材...
软件工程
蒟蒻的贤11 小时前
软件工程简答题
软件工程
蒟蒻的贤19 小时前
软件工程实验课画图题sdau
软件工程
lpfasd12320 小时前
如何设计一款好的软件
软件工程
阿桂天山20 小时前
阿桂的数据资产灵动实战 (一) 开发框架
大数据·python·软件工程
好大哥呀1 天前
ANSYS Electronics 2024 R2 电子设计的智能飞跃 下载安装教程
软件工程
αSIM0V2 天前
数据库期末重点
数据库·软件工程
RNA123452 天前
团队 Daily Scrum:2025 年 12 月 9 日(Beta Day 4)
软件工程
数字时代全景窗2 天前
学习Palantir,对传统产业加速AI+有什么启示?(1)智能系统的“铁三角”
人工智能·学习·云计算·软件工程
聊天QQ:688238862 天前
探索八索并联绳索机器人的Matlab仿真模型
软件工程