软件工程课后答案前三章.docx
- 文档编号:10285255
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:18
- 大小:588.67KB
软件工程课后答案前三章.docx
《软件工程课后答案前三章.docx》由会员分享,可在线阅读,更多相关《软件工程课后答案前三章.docx(18页珍藏版)》请在冰点文库上搜索。
软件工程课后答案前三章
第一章
1.计算机软件的共同特点?
和硬件的主要区别。
软件的特点:
1软件是一种逻辑实体,它具有抽象性。
2软件是由开发或工程化而形成的,它没有明显的制造过程。
3软件不存在磨损和老化问题。
然而,它存在退化问题,设计人员必须多次维护软件。
(和硬件的主要区别)
4软件的开发和运行往往受到计算机系统的限制,对计算机系统有着不同程度的依赖性。
5软件的开发尚未完全摆脱手工艺的方式。
6软件本身是复杂的:
实际问题/逻辑结构。
7软件的成本相当昂贵:
脑力劳动代价高。
8涉及到社会因素:
机构设置、体制运作及管理方式等问题,人们的观念和心理等。
9完整的软件,而不能作为构件再组装成新的程序VS支持“软件复用”的软件和中间件。
2.软件生命周期:
计算机软件,从决定进行开发到最终退役所经历的一系列步骤与过程称为软件生命周期。
通常将软件生命周期划分为需求分析、规格说明、设计、实现、集成、测试、维护和退役。
传统软件工程中,使用最为普遍的模型之一是“瀑布模型”。
3.软件工程过程:
为了获得软件产品,在软件工具的支持下由软件开发人员完成的一系列软件工程活动。
1.P(Plan)软件计划及规格说明过程。
规定软件的功能及其运行时的限制。
2.D(Do)软件开发过程。
产生满足规格说明的软件。
3.C(Check)软件确认过程。
确认软件能满足客户提出的要求。
4.A(Action)软件演进过程。
为满足客户的变更要求,软件必须在使用的过程中演进。
4.软件生存周期:
一个软件从提出开发要求开始直到该软件报废为止的整个时期。
软件生存周期包括:
可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等。
定义阶段:
集中于“做什么”:
系统或信息工程,软件项目计划和需求分析。
开发阶段:
集中于“如何做”:
软件设计,代码生成和软件测试。
维护阶段:
集中于“改变”:
纠错、适应、增强、预防:
5.什么是软件危机?
其产生的原因是什么?
软件危机:
软件发展第二阶段的末期,由于计算机硬件技术的进步。
一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。
在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。
主要表现在以下几个方面:
a.经费预算经常突破,完成时间一再拖延。
b.开发的软件不通满足用户要求。
c.开发的软件可维护性差。
d.开发的软件可靠性差。
软件危机产生的原因:
软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:
a.软件的规模越来越大,结构越来越复杂。
b.软件开发管理困难而复杂。
c.软件开发费用不断增加。
d.软件开发技术落后。
e.生产方式落后。
f.开发工具落后,生产率提高缓慢。
6.软件工程学:
软件工程学的主要内容是软件开发技术和软件工程管理。
软件开发技术包含软件工程方法学、软件工具和软件开发环境;软件工程管理学包含软件工程经济学和软件管理学。
7.软件工程项目的主要的目标:
付出较低的开发成本
达到预期的软件功能
取得较好的软件性能
使开发的软件易于移植
需要较低的维护费用
能按时完成开发工作,及时交付使用
原则:
抽象:
分层次抽象,自顶向下、逐层细化
信息隐蔽:
黑箱,使用与实现分离
模块化:
逻辑上相对自主的成分,模块化有助于信息隐蔽和抽象,有助于表示复杂的系统
局部化:
在一个物理模块内集中逻辑上相互关联的计算机资源,保证松耦合,高内聚
确定性:
所有概念的表达应是确定的、无歧义的、规范的。
一致性:
概念、符号、术语和接口应保持一致;系统规格说明与系统行为的一致性;公理系统一致性。
完备性:
软件系统不丢失任何重要成分,可以完全实现系统所要求的功能。
可验证性:
系统自顶向下、逐层分解,应遵循使系统易于检查、测试、评审的原则。
9.从图1-3和图1-4中得到启示
越早发现错误和问题并尽早解决,造成的损失越小,所需要的工作量越少。
改进规格说明和设计技术非常重要,这不仅仅是为了能尽早地发现故障,也因为规格说明故障和设计所占所有故障的比重特别大(60%-70%)。
第二章
1.软件生存周期:
软件产品或系统一系列相关活动的全周期。
从形成概念开始,经过研制,交付使用,在使用中不断增补修订,直到最后被淘汰,让位于新的软件产品的过程。
对软件生存周期的不同划分,形成了不同的软件生命周期过程模型。
2.瀑布模型:
将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
特点:
1)结构简单明了;
2)历史较长、应用面广泛、为广大软件工作者所熟悉;
3)已有与之配套的一组十分成熟的开发方法和丰富的支撑工具;
4)确定了需求分析的绝对重要性,但是在实践中要想获得完善的需求说明是非常困难的。
3.原型化瀑布模型:
特点:
1)设计原型化有助于开发人员评估备选的设计方案,并判断对特定问题来说哪一种方案是最好的。
2)产品的开发基本上是线性的,从具有原型化的瀑布模型到交付的产品,其间没有也不需要瀑布模型中的反馈环。
3)将快速原型作为瀑布模型的先导,可在最小的风险下评估一种新技术。
与瀑布的不同之处:
原型化模型减少了瀑布模型中因为软件需求不明确而给开发工作带来的风险。
因为在原型基础上的沟通更为直观,也为需求分析和定义,提供了新的方法。
原型化模型的应用意义很广,瀑布和V模型将原型化模型的思想用于需求分析环节,来解决因为需求不明确而导致产品出现严重后果的缺陷。
4.比较各种常用的软件开发模型的优缺点并说明其适用的范围?
瀑布模型的优点:
l提供软件开发的基本框架。
l有利于大型软件开发过程中人员的组织和管理。
瀑布模型的缺点:
l在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
l缺乏灵活性,因为有固定的顺序。
l是一个线性模型,若开始用户的需求不明确,可能最终不是用户所要的产品。
瀑布模型的适用范围
瀑布模型一般适用于功能明确、完整、无重大变化的软件系统的开发,例如:
操作系统、数据库管理系统等系统软件的开发,其应用有一定的局限性。
原型模型的优点:
l原型模型比瀑布模型更符合人们认识事物的规律,是一种较实用的开发框架。
l使用户能够感受到实际的系统,使开发者能够快速地构造出系统的框架。
原型模型的缺点:
产品的先天性不足,因为开发者常常需要做实现上的折中,可能采用不合适的程序设计语言,以使原型能够尽快工作。
原型模型的适用范围
原型模型适合于那些不能确切定义需求的软件系统的开发。
螺旋模型的优点:
l强调严格的全过程风险管理。
l强调各开发阶段的质量。
l强调原型的可扩充性和可修改性,原型的进化贯穿整个软件生存周期。
l为项目管理人员及时调整管理决策提供了方便,进而可降低开发风险。
螺旋模型的缺点:
l如果每次迭代的效率不高,致使迭代次数过多,将会增加成本并推迟提交时间。
l使用该模型需要有相当丰富的风险评估经验和专门知识,要求开发队伍水平较高。
螺旋模型的适用范围
螺旋模型适合于大型软件的开发。
增量模型的优点:
增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。
增量型模型的缺点:
在开发过程中,需求的变化是不可避免的。
增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和原型模型,但也很容易退化为边做边改模型,从而使得软件过程的控制失去整体性。
增量模型的适用范围
增量模型适用于软件需求不明确,有一定技术风险的项目。
第三章
1.数据流图是一种描述软件系统逻辑模型的图形符号,图中描述了数据(信息)在系统中的流动变化情况。
结构化需求分析方法是一种面向数据流的自顶向下逐步求精的分析方法。
需求分析:
需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。
数据词典就是用来定义数据流图中的各个成分的具体含义的。
对数据流图中出现的每一个数据流、文件、加工给出详细定义。
数据字典主要有四类条目:
数据流、数据项、数据储存、基本加工。
数据项是组成数据流和数据存储的最小元素。
作用:
1)为系统的分析\设计及维护提供了有关元素的一致的定义和详细的描述.
2)为分析人员查找数据流图中有关名字的详细定义而服务的.
3)它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分.
条目:
数据流、数据项、数据存储、基本加工。
2.需求分析的任务:
就是完全弄清用户(顾客)对软件系统的确切要求,用规范的格式表达出来。
给出将要用软件来解决的一个问题的初始定义。
3.某企业销售管理系统的功能为:
(1)接受顾客的订单,检验订单,若库存有货,进行供货处理,即修改库存,给仓库开备货单,并且将订单留底;若库存量不足,将缺货订单登入缺货记录。
(2)根据缺货记录进行缺货统计,将缺货通知单发给采购部门,以便采购。
(3)根据采购部门发来的进货通知单处理进货,即修改库存,并从缺货记录中取出缺货订单进行供货处理。
(4)根据留底的订单进行销售统计,打印统计表给经理。
试用SA方法对以上系统功能进行分析,画出系统的分层DFD图
0层图:
“缺货记录”与“3处理进货单”之间应该是双向的。
图2:
“缺货记录”应为“订单记录”
4.某银行的计算机储蓄系统功能是:
将储户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户;如果是取款,系统计算清单给储户。
试用SA方法对上述系统功能进行分析,画出系统的分层DFD图。
数据流名称:
取款单、存款单
别名:
无
简述:
顾客存/取款时填写的单据
来源:
顾客
去向:
核查
数据流量:
200份/天
组成:
日期+[取|存款金额]+姓名+地址+[存/取款类型]+密码+{账号}
数据流名称:
存款凭证
别名:
无
简述:
顾客存款后得到的凭据
来源:
银行存款系统
去向:
顾客
数据流量:
200份/天
组成:
日期+存款金额+储户姓名+储户地址+存款类型+账号+利率+操作员
数据流名称:
结算单
别名:
无
简述:
顾客取款时得到的利率清单
来源:
银行储蓄系统
去向:
顾客
数据流量:
200份/天
组成:
取款日期+取款金额+储户姓名+储户地址+存款类型+利息+总金额+操作员
数据流名称:
存/取款信息
别名:
无
简述:
系统检查确认后得到的存/取信息
来源:
银行储蓄系统
去向:
登录
数据流量:
200份/天
组成:
日期+[存|取款金额]+储户姓名+储户地址+存款类型+账号+利率+密码+操作员
数据流名称:
付款信息
别名:
无
简述:
存储系统处理的取款信息
来源:
银行储蓄系统
去向:
付款处理
数据流量:
200份/天
组成:
日期+取款金额+储户姓名+储户地址+存款类型+账号+利息+总金额+操作员
数据存储名称:
账卡
别名:
无
简述:
存放用户信息及存取款情况
组成:
储户姓名+储户地址+账号+|日期|+[存/取款金额]+存款类型+利率+密码+操作员
组织方式:
数据文件,以储户姓名或账号为关键字进行索引
查询要求:
要求能立即查询并修改
数据项名称:
存款类型
别名:
无
简述:
国家规定的几类存款方式
类型:
字符串
长度:
2位
取值范围及含义:
00:
定期; 01:
零存整取;10:
活期;11:
定/活两便
加工名:
核查
编号:
激发条件:
接受存款单或取款单
输入:
存款单或取款单
输出:
认定的合格的村/取款信息
加工逻辑:
根据账卡及用户存/取款单据
if 单据=存款单 then
存款单据是否填写规范,是否与现金一致
else
审核是否为有效取款单,取款金额不得超出存款金额,密码是否正确
5.一个飞机机票预订系统
旅行社把预订机票的旅客信息(姓名、年龄、单位、身份证号码、旅行时间、目的地等)输入机票预订系统。
系统为旅客安排航班,打印出取票通知单(附有应交的账款)。
旅客在飞机起飞的前一天凭取票通知单交款取票,系统检验无误,输出机票给旅客。
6.某图书管理系统工程有以下功能:
(1)借书:
输入读者借书证。
系统首先检查借书证是否有效,对于第一次借书的读者,在借书文件建立档案。
否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10本,拒借,未达10本,办理借书(检查库存、修改库存目录并将读者借书情况登入借书文件).
(2)还书:
从借书文件中读出与读者有关的记录,查阅所借日期,如果超期(3个月)作罚款处理。
否则,修改库存目录与借书文件。
(3)查询:
可通过借书文件、库存目录文件查询读者情况、图书借阅情况及库存情况,打印各种统计表。
请就以上系统功能画出分层的DFD图,并建立重要条目的数据字典。
数据字典
数据流名称:
借书
别名:
借书单
简述:
读者借书时填写的单据
来源:
读者
去向:
审核借书
数据流量:
250份/天
组成:
借书证编号+借阅日期+书名+借阅方式+密码+借阅人
数据流名称:
还书
别名:
无
简述:
读者还书时附带的数据
来源:
读者
去向:
审核还书
数据流量:
250份/天
组成:
借书证编号+借阅日期+书名+借阅方式
数据存储名称:
借书文件
别名:
无
简述:
借书证编号+借阅日期+书名+借阅方式+密码+借阅人+操作员
查询要求:
要求能立即查询并修改
数据存储名称:
库存文件
别名:
无
简述:
存放图书出/入库信息
组成:
书名+出版社+作者+出版日期+入库数据+总数量+(内容简介)+当前库存量
组织方式:
数据文件,以书名为关键字进行索引
查询要求:
要求能立即查询并修改
加工名:
审核借书证
编号:
1.1
激发条件:
接受到借书证
输入:
借书证
输出:
认定合格的借书证
加工逻辑:
根据借书文件及读者借书证
if借书证编号在借书文件存在and未过期and密码正确then
借书证有效
else借书证无效
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课后 答案 前三章