软件工程基础知识
3 软件测试
软件测试是为了发现错误而执行程序的过程,是根 据程序开发阶段的规格说明及程序内部结构而精心 设计的一批测试用例,并利用这些测试用例去运行 程序,以发现程序错误的过程。
3 软件测试
测试用例设计 测试用例是为特定目标开发的测试输入、执行条件 和预期结果的集合。设计测试用例通常有两种常用 的测试方法:黑盒测试和白盒测试 软件测试是由一系列不同的测试所组成,这些软件 测试步骤分为:单元测试、集成测试、确认测试和 系统测试。
1. 软件需求分析与定义
需求调查必须清楚了解三个问题 1、 应该搜集什么信息 2、 从什么地方搜集这些信息 3、 用什么机制或者技术搜集这些信息 需求捕获的策略:在整个需求过程中,需求捕获、需 求分析、需求规格化、需求验证四个阶段不是瀑布式 发展,而是迭代式的演化过程。
可行性研究
流程图
以特定的图形符号加上说明,表示算法的图,称为 流程图或框图。 流程图有时也称作输入-输出图。该图直观地描述一 个工作过程的具体步骤。流程图对准确了解事情是 如何进行的,以及决定应如何改进过程极有帮助。
ቤተ መጻሕፍቲ ባይዱ
用例图
用例图定义:由参与者(Actor)、用例(Use Case)以 及它们之间的关系构成的用于描述系统功能的静态视图 称为用例图。 用例图(User Case)是被称为参与者的外部用户所能观 察到的系统功能的模型图,呈现了一些参与者和一些用 例,以及它们之间的关系,主要用于对系统、子系统或 类的功能行为进行建模。 用例图展示了用例之间以及同用例参与者之间是怎样相 互联系的。用例图用于对系统、子系统或类的行为进行 可视化,使用户能够理解如何使用这些元素,并使开发 者能够实现这些元素。
4 软件维护
软件维护的目的是保证软件在运营时期能够正常运 行。 软件具有可维护性由以下三个因素决定: 可理解性 可测试性 可修改性
软件维护的分类
纠错型维护 适应型维护 完善型维护 预防型维护 纠错型维护、适应维护、完善型维护是由用户驱动 的、预防型维护是由开发商驱动的。 总体上完善性维护约占50%以上,适应性维护约占 25%,纠错型维护约占20%,预防型维护约占5%。
5 软件过程管理
CMM:软件过程能力成熟度模型 CMM分级标准 1、 初始级:软件过程定义无章法和无步骤可循的状态, 成功往往依赖个别人或机遇 2、 可重复级:建立了基本的项目管理过程,对类似的 项目,能重复以往所取得的成功 3、 已定义级:定义了组织级的标准软件过程 4、 已管理级:是量化的管理,所有过程都建立了相应 的度量方式 5、 优化级:通过各种定量分析,能够不断地、持续地 进行过程改进。
5 软件过程管理
CMM/TSP/PSP三者的结合 CMM/TSP/PSP为软件产业提供了一个集成化的、三 维的软件过程改进框架。CMM是过程改善的第一步, 它提供了评价组织能力的方式,并为TSP提供了指导 原则。PSP为TSP的实施提供了软件工程师的个人技 能。TSP结合了CMM的管理方法和PSP的工程技能。
可行性研究工作的基础 可行性研究的内容 1、 技术可行性 2、 经济可行性 3、 运行环境可行性 4、 其他方面的可行性分析
可行性研究工作步骤
1、 2、 3、 4、 5、 6、 7、
确定项目规模和目标 研究正在运行的系统 建立新系统的逻辑模型 导出和评价各种方案 推荐可行性方案 编写可行性研究报告 递交可行性研究报告
软件工程基础知识
1. 软件需求分析与定义
软件需求包括功能需求、非功能需求和设计约束。 业务需求 用户需求 系统需求 三者之间的关系:业务需求生成范围文档、用户需 求生成用例文档、系统需求和用户需求生成功能需 求,三者结合加上质量属性、非功能需求、设计约 束成为软件需求规格说明书(SRS)。
类图
类图(Class diagram)由许多(静态)说明性的模型元 素(例如类、包和它们之间的关系,这些元素和它 们的内容互相连接)组成。类图可以组织在(并且 属于)包中,仅显示特定包中的相关内容。 类图(Class diagram)是最常用的UML图,显示出类、 接口以及它们之间的静态结构和关系;它用于描述 系统的结构化设计。
2 软件设计
软件设计基本原则: 1、 信息隐蔽:每个模块的实现细节对于其他模块 来说是隐蔽的,模块中所包含的信息不允许其他模 块使用。信息隐蔽技术提高了软件的可维护性,改 善了软件的可靠性。 2、 模块独立性:是指软件系统中每个模块只涉及 软件要求的具体子功能,和其他的模块接口是简单 的,一般采用两个准则度量模块独立性:模块间耦 合和模块内聚。
5 软件过程管理
个体软件过程(PSP) 个体软件过程是一种可用于控制、管理和改进个人工作 方式的自我持续改进过程。是一个包括软件开发表格、 指南和规程的结构化框架。PSP与具体的技术相对独立, 其原则能够应用到几乎软件工程任务之中。 群组软件过程(TSP) TSP对群组软件过程的定义、度量和改革提出了一套原则、 策略和方法,描述了如何创建高效且具有自我管理能力 的工程小组。