软件工程复习提纲1Word格式.docx
《软件工程复习提纲1Word格式.docx》由会员分享,可在线阅读,更多相关《软件工程复习提纲1Word格式.docx(15页珍藏版)》请在冰点文库上搜索。
=21)C类保险且额外收费
ElseA类保险
2、根据问题描述,进行功能建模。
---即:
用DFD图描绘功能需求。
样例1:
以去银行取款为例,画出取款过程中数据加工过程各项活动的数据流图。
数据源点(终点):
储户、计时器等
数据流:
取款单。
付款通知等
加工:
核查、登录、付款
数据存储:
帐户、存折
画出DFD描述功能需求。
样例2:
旅行社把预定机票的旅客信息输入到机票预定系统(姓名、年龄、单位、ID号、时间、目的地等)。
系统为旅客安排航班,打印出取票通知单(附有应交的款项)。
旅客在飞机起飞的前一天凭取票通知单交款取票,系统检验无误,输出机票给旅客。
3、度量效益的计算方法
度量效益的计算方法
(效益=增长收入+节省消耗)
•
(1)货币的时间价值
•设年利率为i,现存入P元,n年后可得钱数为F元。
不计复利F=P*(1+n*i)
P=F/(1+n*i)
计复利F=P*(1+i)n
P=F/(1+i)n
•
(2)投资回收期
累计的经济效益等于最初投资费用所需的时间。
(一般不超过3年)
•(3)纯收入
生存期内累计的经济效益与投资之差
(若纯收入≤0,则不值得开发
某系统取代了大部分人工设计,每年预期可节省9.6万元,假设软件使用周期为5年,开发这个系统共投入各项成本20万元,问成本/效益?
投资回收期?
设i=5%
•年份将来值(1+i)n现值累计现值
19.61.059.14299.1429
29.61.10258.707517.8504
39.61.15768.292826.1432
49.61.21557.897934.0411
59.61.27637.521941.5630
投资回收期:
20-17.8504/26.1432—17.8504=
2.15/8.29=0.2592+0.259=2.259年
纯收入:
41.5630-20=21.563万
实例分析
库房MIS系统能每天产生一份订货报告,假定开发该系统需5000元,系统建成后及时订货,消除货品短缺,估计每年能节约2500元,试计算投资回收期和效益。
设i=5%不计复利
•1、利用计算货币现在价值的公式,计算系统建成后,5年内每年预计节省的费用的现在价值。
•2、计算投资回收期为几年?
•3、若项目生存周期为5年,则该项目纯收入为多少?
•年份将来值(1+i*n)现值累计现值
•125001.0523812381
•225001.122734654
•325001.1521746828
•425001.220838911
•525001.25200010911
•投资回收期:
5000-4654/6828-4654=
•346/2174=0.162+0.16=2.16年
•纯收入:
10911-5000=5911
1.软件工程研究的目标
生产具有正确性可用性以及开销合宜的产品
2.软件工程面临的主要问题
1、对产品的需求不明确造成开发出来的产品不能让人们所满意。
2、软件产品的质量往往没有办法保证。
3、软件产品缺乏必要的文档资料。
4、软件技术跟不上计算机的发展速度。
5.软件开发规模成本进度估算不足。
6、随着用户的需求进行维护很有难度。
3.软件工程遵循的原则P11
用分阶段的生命周期计划严格管理。
坚持进行阶段评审实行严格的产品控制采用现代常年供需设计技术结果应能清楚的审查开发小组的人员应该少而精承认不断改进软件工程实践的必要性。
4.数据流图DFD、数据字典DD的定义及设计步骤
描述数据处理过程的工具从数据传递和加工的以图形的方式来描述输入和输出。
成分数据流加工存储外部实体画法:
自外向内自顶向下逐步细化基本步骤
数据字典:
用来定义数据流图中各个部分的具体含义以一种标准的无二义性的说明方式为系统的分析设计维护提供有关元素一致的详细的描述。
5.软件生存周期的阶段7个阶段问题定义可行性分析需求分析设计阶段包括概要和详细设计编码测试阶段先单元测试在整体测试运行和维护阶段划分及每个时期的目标和主要任务看书。
每个阶段产生的文档型的资料可行性分析报告需求分析报告软件详细设计
软件生存周期定义:
从定义开发维护到废弃的组合
6.软件的定义,组成,软件发展的三个阶段。
软件定义:
能够完成预定功能和性能的可执行的指令(计算机程序)使程序能够适当地操作信息的数据结构三描述程序的操作和使用的文档。
组成:
程序与之相关的文档和配置数据发展的三个阶段:
1程序设计2程序系统3软件工程时代工程化和自动化
程序系统的生产方式卓方式小集团
7.软件工程中用来进行费用估算、制定进度和用于建立软件开发中的各种模型和算法分属于哪一学科。
工程科和数学类
8.软件生存周期的概念从何而来。
生活中的工程类产品和生存周期得来的。
9.软件生存周期的主要模型的特点、区别。
P29
软件开发过程中各种活动如何执行的模型。
(螺旋增量瀑布)
10.抽象的作用。
通过抽象,可以实现的功能。
P182
11.软件开发中发现错误的结果与发现错误的时间关系。
越早越好
12.软件维护的主要工作内容。
13.软件测试的种类及分析方法。
14.软件测试的步骤。
测试步骤:
单元测试集成测试整体的确认测试系统测试
15.软件结构图中几个重要组成部分的作用。
数据流外部实体加工存储
16.模块划分遵循的原则。
P185
高内聚松耦合内聚模块独立性的标准之一模块强度的度量模块内部的结合程度。
耦合模块与模块之间关联。
17.可行性研究的分类及作用。
经济操作技术可行性分析
21:
编码风格:
源程序文档化数据说明的方法语句的结构输入输出方法的选择
程序编码的时候三种结够:
顺序选择循环
介于自然语言和形式之间的半形式话的语言。
用来加工描述。
•没有严格的语法
•加工规约分为若干个段落,每个段落可分为内外两层:
–外层有严格的语法来描述它的控制结构
•如结构化英语中可使用if_then_else、while_do、repeat_until、for_do、case等结构
–内层可以用自然语言来描述
•允许使用嵌套结构
程序设计语言心里特性的表现:
1、软件是否简洁2,顺序性局部性。
传统性可移植性歧义性达到一定的正确性
共同特性心里特性工程特性技术特性
软件结构图:
描述一个软件系统由哪些模块组成,以及模块之间的调用关系
可维护性的度量:
是否容易测试稳定性在利用可靠性
怎么样修改可以降低损害编码的程度:
大量的配置工具。
黒盒证明功能具备不白盒测试路径测试
●深度:
程序结构图中控制的层数,例如图中所示的结构图的深度是5
●宽度:
程序结构图中同一层次上模块总数的最大值,例如图中所示的结构图的宽度为7
●扇出(fanout):
该模块直接调用的模块数目。
例如,例如图中模块M的扇出是3,模块A的是2,模块B的扇出是1
●扇入(fanin):
能直接调用该模块的模块数目。
例如图中模块G的扇入是1,模块I的扇入是2,模块R的扇入是4
一个程序的重用率:
扇入
●深度和宽度在一定程序上反映了程序的规模和复杂程度
¡
相对而言,如果程序结构图的深度和宽度较大,则说明程序的规模和复杂程度都较大。
模块的扇入扇出会影响结构图的深度和宽度,例如减少模块的扇出,可能导致宽度变小而深度增加
●一个模块的扇出过大通常意味着该模块比较复杂,然而扇出太少,可能导致深度的增加
一般情况,一个模块的扇出以3~9为宜
●一个模块的扇入表示有多少模块可直接调用它,它反映了该模块的复用(reuse)程度,因此模块的扇入越大越好
上层调用下层
软件危机:
高要求高成本跟产品的低质量产生的尖锐矛盾。
详细设计的。
。
忘记了
只能达到运行不出错误仅仅证明可用
可行性定义:
可行性分析达到的结论:
能用还是不能用
度量软件好不好标准:
软件需求
达到用户的需求达到正确性。
有错误但可以运行具备了容错能力。
可用性不出故障并且可以运行。
测试用例试着输入几个值没有达到规定的字符或例子输入不允许的值
输入的数据和预期的值是达到一致的结果输入的数据和预期的输出结果。
•判定表的组成元素
–条件桩(ConditionStub):
列出各种条件的对象,如发货单金额,赊欠天数等,每行写一个条件对象
–条件条目(Conditienentry):
列出各条件对象的取值,条件条目的每一列表示了一个可能的条件组合
–动作桩(actionstub):
列出所有可能采取的动作,如发出发货单等,每行写一个动作
–动作条目(actioneutry):
列出各种条件组合下应采取的动作
发货单金额
>500
≤500
赊欠天数
>60
≤60
发不批准通知
√
发出批准书
发出发货单
发出赊欠报告
判定表的其它形式
-
赊欠天数
“审批发货单”加工的简化判定表
发货单金额≤500
1
发货单金额>500
赊欠天数≤60
赊欠天数>60
发出批准单
“审批发货单”加工的另一种判定表
判定树
•本质上与判定表是相同的,只是表示形式不同
•例如“审批发货单”加工逻辑的判定树描述入下:
数据字典
●数据字典由字典条目组成,每个条目描述DFD中的一个元素
●数据字典条目包括:
数据流、文件、数据项(组成数据流和文件的数据)、加工、源或宿
所有的变量都初始化。
总体设计的目的是确定系统的功能和模块结构。
软件的维护的内容是什么该怎么去维护。
1、维护报告2、记录维护数据3、不能改需求分析4、重写代码。
使代码更优化。
软件测试白盒和黑盒静态和动态
什么是抽象?
通过抽象确定软件的过程实体。
抓主要矛盾
过程实体类
在结构化分析方法中
描述用数据流图
数据字典判定表判定树都是用来描述加工的描述处理流程的数据字典。
软件是逻辑产品。
功能和性能体现在运行执行
需求分析的主要任务确定软件系统必须做什么动作
可行性分析具体解决做什么能不能做
模型特点:
SC
使用程序的控制结构到出的测试用例是白盒测试
结构化设计的步骤
建立初始结构图
对结构图进行改进
书写设计文档
设计评审