软工重点A.docx
- 文档编号:3227969
- 上传时间:2022-11-20
- 格式:DOCX
- 页数:27
- 大小:2.25MB
软工重点A.docx
《软工重点A.docx》由会员分享,可在线阅读,更多相关《软工重点A.docx(27页珍藏版)》请在冰豆网上搜索。
软工重点A
1、什么是软件危机?
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题
2、什么是软件工程?
是把软件当做一种工业产品,要求“采用工程化的原理与方法对软件进行计划。
开发和维护。
”软件工程就是为了经济地获得可靠的且能在实际机器上高效运行的软件,而建立和使用的完善的工程原理。
软件工程是:
(1)把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件:
(2)研究
(1)中所提到的途径。
3、软件工程的基本原理
用分阶段的生命周期计算严格管理,坚持进行阶段评审,实行严格的产品控制,采用现代程序设计技术,结果应能清楚地审查,开发小组的人员应该少而精,承认不断改进软件工程实践的必要性。
4、什么是软件工程方法学?
把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学。
三个要素:
方法,工具和过程。
分类:
传统方法学,面向对象的方法学
方法:
完成软件开发的各项任务的技术方法,回答“怎样做”的问题;
工具:
为运用方法而提供的自动的或半自动的软件工程支撑环境;
过程:
为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
5、软件生命周期
软件定义,软件开发,运行维护
6、什么是软件过程?
软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
过程定义了运用方法的顺序,应该交付的文档资料,为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。
7、软件过程模型:
瀑布模型
快速原型模型
增量模型
螺旋模型
喷泉模型(面向对象模型)
XP
8、什么是可行性研究
目的:
用最小的代价在极可能短的时间内确定问题是否能够解决。
不是解决问题,而是确定问题是否值得去解决。
说明该软件开发项目的实现在技术上、经济上和社会条件上的可行性;评述为合理地达到开发目标可能选择的各种方案。
9、可行性研究的内容:
技术可行性、经济可行性、操作可行性、计划可行性、行为可行性
10、可行性研究的过程
复查系统规模和目标,研究目前正在使用的系统,导出新系统的高层逻辑模型,进一步定义问题,导出和评价供选择的解法,推荐行动方针,草拟开发计划,书写文档提交审查。
11、什么是数据流图
一种图形化技术,它描绘了信息流和数据从输入移动到输出过程中所经受的变换。
12、数据流图的组成元素及符号表示
13、订货系统例子
14、系统流程图
系统流程图是概括地描绘物理系统的传统工具。
它的基本思想是用图形符号以黑盒子的形式描绘系统的每个部件。
系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图符号形式相同,但是它却是物流数据流图而不是程序流程图。
15、计算机系统工程:
与构造计算机系统有关的过程、方法、技术
软件工程、硬件工程、数据库工程、人机工程。
16、主要系统的分析方法:
功能分解法=功能+子功能+功能接口
数据流分解法=数据流+数据变换+数据存储+终结点+加工说明+数据字典
信息造型法=对象+属性+联系+父类型/子类型+关联对象
面向对象法=对象(类)+结构+继承/委托+消息(通信)
17、系统模型及其特征
系统模型:
将现实系统进行抽象成比较简单的实体,这个实体比现实系统简单,又是从现实系统中抽象出来的,抽象出来的实体,称为模型。
这个实体仍然是一个模型,为了与现实系统相区别,称之为系统模型。
系统模型的特征:
(1)它是现实的抽象与模仿。
(2)它由哪些与分析现实系统有关的元素组成,(3)它表明这些元素之间的相互关系
18、系统建模原则
(1)模型要有一定的精度
(2)模型要足够简单(3)遵循科学规律和经济规律(4)尽量采用现成模型(5)模型必须反复修改完善
19、成本效益分析的目标
从经济角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决定。
20、成本效益的概念
成本:
指开发和(或)运行系统软件所支付的资金
效益:
指由于新系统的投入而增加的收入或减少的成本
21、货币的时间价值
通常用利率的形式表示货币的时间价值。
假设年利率为i,如果现在存入P元,则n年后可以得到的钱数:
这也就是说P元钱在n年后的价值。
反之,如果n年后能收入F元钱,那么这些钱的现在的价值就是
22、投资回收期,纯收入,投资回收率的概念
投资回收期:
就是使累计的经济效益(折合成现在值)等于最初投资所需要的时间。
投资回收期越短越快获得利润,因此这项工程越值得投资。
纯收入:
在整个生命周期之内系统的累计经济效益(折合成现在值)与投资之差
投资回收率:
用投资回收率衡量投资效益的大小,并且可以把它和年利率相比较,在衡量工程的经济效益是,最重要的参考数据。
P:
现在的投资额
:
第i年年底的效益(i=1,2,…,n)
:
系统的使用寿命
j:
投资回收率
23、需求分析的任务
需求分析是软件定义时期的最后一个阶段,它的基本任务不是确定系统怎样完成它的工作,而是确定系统必须完成哪些工作。
准确地回答:
“系统必须做什么?
”
需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题。
24、需求收集的方式:
访谈、问卷调查、场景使用、用户资料收集
25、需求分析的工具:
层次方框图
Warnier图
IPO图
改进的IPO图
26、需求管理
需求管理强调:
(1)控制对需求基线的变动
(2)保持项目计划与需求的一致(3)控制单个需求和需求文档的版本情况(4)管理需求和联系链,或者管理单个需求和其他项目可交付产品之间的依赖关系。
(5)跟踪基线中的需求状态
27、软件的度量:
代码行数度量法
Halstead方法
McCabe度量法
28、软件设计的基本原理:
抽象与求精:
抽取事务的本质的共同特性而暂时避开不必要的低层细节
模块化与信息隐蔽:
将软件分成具有一定结构的模块的过程称为模块化
模块独立性:
信息独立性是模块化、抽象和信息隐藏的直接产物
29、内聚、耦合的概念和分类
内聚度:
是指模块内部各成分联系紧密的程度,它是衡量模块独立性的一种很重要的标准,内聚度越高,模块的独立性就越强。
内聚分为:
1、偶然内聚2、逻辑内聚3、时间内聚4、过程内聚5、通信内聚6、信息内聚7、功能内聚
耦合度:
模块之间相互联系紧密的程度,它也是衡量模块独立性的一种重要的标准。
一般来说,模块的耦合度越低,模块的独立性越强。
耦合分类:
1、内容耦合2、公共耦合3、外部耦合4、控制耦合5、标记耦合6、数据耦合7、非直接耦合
30、详细设计工具:
程序流程图(P166-167)
N-S图
PAD图
PDL
31、软件设计的步骤
目标选择,提出设计方案,选择合理方案,推荐最佳方案,功能分解,设计软件结构,数据库设计,文档工作和复审
32、面向数据流的设计方法
33、交换流与交换分析,事务流与事务分析
变换分析:
幻灯片第六章112-125
事务分析:
幻灯片第六章126-130
34、面向数据结构的设计方法(Jackson方法)
幻灯片131-161
35、软件界面设计:
代码设计,输入设计,输出设计,人机界面设计
36、ISO提出的判别程序质量优劣的七条标准:
功能满足要求,可靠性应达到预定水平,用户界面应友好,在规定的条件下执行时间要短,资源消耗要少,可维护性要号,可移植性要高。
37、什么是软件测试
软件测试就是在软件投入运行之前,尽可能多地发现软件错误(缺陷),是对软件需求规格说明、设计规格说明和编码的最终复审。
38、软件测试的目标是什么?
用户和软件开发者不同的测试目标
软件测试的目的:
就是在软件投入生产性运行之前,尽可能多地发现软件中的错误(缺陷),并通过调试来排除这些错误,最终把一个高质量的软件系统提交给用户。
测试是为了发现程序中的错误而执行程序的过程。
用户:
通过测试暴露软件中的隐藏缺陷和错误,以考虑是否接受该产品
软件开发者:
通过测试表明软件产品中不存在错误,确立用户对软件质量的信心。
在测试阶段,测试人员应该代表用户,从用户的角度出发,选择有力的测试用例,充分暴露软件中的潜藏的缺陷,以提高软件质量。
39、软件测试的原则
1、所有的测试都应该能追溯到用户需求
2、应该远在测试之前就制定测试计划
3、把Pareto原理应用到软件测试中
4、从“小规模”测试开始,并逐步进行“大规模测试”
5、穷举测试是不可能的
6、由独立的第三方从事测试工作
7、严格执行测试计划,排除测试的随意性
8、对每一个测试结果作全面检查
9、妥善保存测试计划、测试用例、出错统计和最终分析报告
40、软件测试方法:
静态测试
无须执行被测代码,而是借助专用的软件测试工具评审软件文档或程序,度量程序静态复杂度,检查软件是否符合编程标准
动态测试
使被测代码在相对真实的环境下运行。
从多角度观察程序运行时体现的功能、逻辑、行为、结构等,以发现其中的错误
41、软件测试的几个步骤:
单元测试
单元测试的内容:
检测软件设计的最小单元—模块。
单元测试的和编码属于软件过程的同一个阶段。
单元测试的步骤:
用详细的描述作指南,对重要的执行通路进行测试,以便发现模块内部的错误。
单元测试的手段:
可以应用人工测试和计算机测试这样两种不同类型的测试方法,完成单元测试工作。
集成测试
集成测试是测试和组装软件的系统化技术。
在单元测试吼,按照设计要求,将模块组装起来的同时进行测试,发现模块在连接过程中的可能出现的问题。
集成测试的目标:
发现与接口有关的问题。
确认测试
也称为验收测试,目标是验证软件的有效性。
有效性:
软件的功能和性能如同用户所合理期待的那样确认(validation)&验证(verification)
验证指的是保证软件正确地实现了某个特定要求的一系列活动,保证软件符合用户实际需求的过程。
确认指的是为了保证软件确实满足了用户要求而进行的一系列活动,保证软件符合用户实际需求的过程。
软件测试的基础:
软件需求满足规格说明书。
42、什么是黑盒测试,白盒测试?
白盒测试技术(幻灯片第九章64-65)
黑盒测试:
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
(这个没找到,自己XX的,幻灯片上没定义,或者查书)
白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。
这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
(都是XX的——)
43、什么是集成测试?
集成测试
集成测试是测试和组装软件的系统化技术。
在单元测试吼,按照设计要求,将模块组装起来的同时进行测试,发现模块在连接过程中的可能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 重点
![提示](https://static.bdocx.com/images/bang_tan.gif)