【信息系统项目管理师 - 备考宝典 - 05】考点汇总 - Chapter 02 - 软件工程基础知识

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiangsgyx/article/details/83104065

软件工程

开发、运行、维护和修复软件的系统方法。

软件需求

系统必须完成的事,以及必须具备的品质,包括功能需求、非功能需求和设计约束3方面内容。

业务需求(Business Requirement)

反映组织机构或客户对系统、产品高层次的目标要求。

用户需求(User Requirement)

描述用户使用产品必须要完成的任务和需求。

系统需求(System Requirement)

从系统角度来说明软件的需求。

需求工程

一个包括创建和维护系统需求文档所必需的一切活动的过程,通常包括需求开发(需求捕获、需求分析、编写规格说明书、需求验证)和需求管理(定义需求基线、处理需求变更、需求跟踪)。

工程文件:《软件需求规格说明书》

做好需求调查

What(确定要捕获的信息,与问题域相关的信息、与要求解决的问题相关的信息、用户对系统的特别期望与施加的任何约束信息);

Where(信息的来源);

How(需求捕获的技术和策略)。

真正成功的项目

满足客户的目标,为客户带来预想的价值增长。

问题定义的关键

清晰地界定出问题的内容、性质,以及系统的目标、规模等内容,并形成完整的书面报告。

可行性研究工作的任务

技术可行性、经济可行性、社会可行性。

可行性研究工作的步骤

1)核实问题定义与目标;

2)研究分析现有系统;

3)为新系统建模(系统上下文关系范围图、实体-关系图、用例模型、域模型、IPO表);

4)客户复核;

5)提出并评价解决方案;

6)确定最终推荐的解决方案(成本估价、效益分析);

7)草拟开发计划;

8)以书面的形式提交《可行性分析报告》并进行审查。

要想准确地估算出工作量,通常可以借助的工具是历史数据和经验模型。

分析

通过对问题域的研究,获得对该领域特性及存在于其中(需要解决)的问题特性的透彻理解,并用文档说明。

需求分析的工作

1)绘制系统上下文范围关系图;

2)创建用户接口原型;

3)分析需求的可行性;

4)确定需求的优先级;

5)为需求建立模型;

6)创建数据字典;

7)使用质量功能调配(QFD,其将需求分为三类:期望需求、普通需求、兴奋需求)。

设计测试用例通常有两种常用的测试方法

黑盒测试(在程序接口上进行测试,常用的测试用例设计方法包括等价类划分、边界值分析、错误推测法、因果图);

白盒测试(利用程序内部的逻辑结构和有关信息,设计或选择测试用例,测试程序的所有逻辑路径)。

软件测试步骤分为(自底向上)

单元测试、

集成测试(一次性组装方式和增殖式组装方式)、

确认测试、

系统测试。

软件测试

针对一个程序的行为,在有限测试用例集合上,动态验证是否达到预期的行为。

可分为:

功能测试、

可靠性测试(平均故障间隔时间MTBF和平均故障修复时间MTTR)、

强度测试、

性能测试(响应时间、吞吐量、辅助存储区)、

恢复测试、

启动/停止测试、

配置测试、

安全性测试、

可使用性测试、

安装测试、

过程测试、

容量测试、

文档测试、

兼容性测试(向下兼容和交错兼容)。

通常软件再生工程包括以下六类活动

筛选、文档重构、逆向工程、代码重构、数据重构、重新开发。

在开发时期的每个阶段,特别是设计阶段结束时都要进行严格的技术评审,尽量不让错误传播到下一个阶段,其目的是评价软件产品,以确定其对使用意图的适合性,表明产品是否满足要求。设计评审一般采用评审会议的形式来进行。

数据流图

一种图形化的系统模型,其在一张图中展示信息系统的主要需求,即输入、输出、处理(过程)、数据存储。

DFD中的基本元素包括:过程、外部实体、数据存储、数据流、实时连接。

软件帮助文档

评估软件的帮助系统和文档的有效性是对软件进行易学性度量。

测试划分

从是否关心软件内部结构和具体实现的角度划分为白盒测试、黑盒测试、灰盒测试。

从是否执行程序的角度划分为静态测试和动态测试。

冒烟测试

冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作,其执行者是版本编译人员。

MVC(模型-视图-控制器)

一个框架模式,其强制性地使应用程序的输入、处理和输出分开。

软件度量的3个维度

项目度量、产品度量和过程度量。

 

猜你喜欢

转载自blog.csdn.net/jiangsgyx/article/details/83104065