北交大远程教育-软件工程作业

北交大远程教育-软件工程作业
北交大远程教育-软件工程作业

北交大远程教育-软件工程作业

请于10月12日前提交作业,严禁抄袭

软件工程第一次作业

(教材第1、2、3章)

(注意:答案请用蓝色字 )

一(填空题

1( 软件是计算机系统中的程序、数据及其相关文档的总和。(教材第1章,1.1.2) 2( 软件工程方法学包含的三个要素: 方法、工具和过程。 (教材第1章,1.2.3) 3( 目前使用最广泛的软件工程方法学是: 传统方法学和面向对象方法学。(教材第1章,

) 1.2.3

4( 构成软件项目的最终产品: 应用程序、系统程序、面向用户的文档资料和面向开发者

的文档资料。(课件,1.1)

5( 软件生命周期的三个时期: 软件定义、软件开发和运行维护。(教材第1章,1.3) 6( 可行性研究的目的: 确定问题是否值得去解决。(教材第2章,2.1) 7( 一个软件项目要至少要从技术可行性、经济可行性和操作可行性 3个方面研究

其可行性。(教材第2章,2.1)

( 成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权8

衡。(教材第2章,2.6)

二(选择题

1、随着开发小组人数的( A ),因交流开发进展情况和讨论遇到的问题而造成的通信开销也急剧增加。

A. 增加

B. 降低

C. 稳定

D. 不稳定

2、软件需求分析阶段的工作,可以分为4个方面:对问题的识别、分析与综合、编写需求分析文档以及( B )。

A. 软件的总结

B. 需求分析评审

C. 阶段性报告

D. 以上答案都不正确

3、进行需求分析可使用多种工具,但(C)是不适用的。

A数据流图 B.判定表 C.PAD图 D.数据字典

4、在需求分析之前有必要进行(B)工作

A.程序设计

B.可行性分析

C.ER分析

D.3NF分析

5、软件需求分析阶段建立原型的主要目的是(C )

A.确定系统的性能要求

B.确定系统的运行要求

C.确定系统是否满足用户需要

D.确定系统是否满足开发人员需要

1

三(简答题

1( 什么是软件生命周期模型,试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的适用范围。(教材第1章,1.3,1.4) 答: 软件生命周期模型是描述软件开发过程中各种活动如何执行的模型

1,瀑布模型

优点:

1)可强迫开发人员采用规范的方法(例如:结构化技术);

2)严格地规定了每个阶段必须提交的文档;

3)要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。缺点:

“瀑布模型是由文档驱动的”在可运行的软件产品交付给用户之前,用户只能通过文档来了解产品是什么样子的。但是通过写在纸上静态的规格说明,很难全面正确的认识动态的软件产品。适用范围:

需求明确,小规模软件开发。

2,快速原型模型

优点:

软件产品的开发基本上是线性的

缺点:

必须迅速地构建原型然后根据用户意见循序的修改原型

适用范围:

用户需求不明确,需要通过构建原型来清楚的了解用户的真实需求。

3,增量模型

优点:

1),能够在较短的时间内向用户提交可完成部分工作的产品;

2),逐步增加产品功能可以使用户有较充裕的时间学习适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。

缺点:

1),较难把每个新的增量构件集成到现有的软件体系结构中,而又不破坏原来已经开发出的产品。

2),增量模型本身是自相矛盾的,它一方面要求开发人员把软件当做一个整体,另一个方面又要求开发人员把软件构件序列,每个构件本质上都独立于另一个构件,除非开发人员有足够的技术能力协调好这一明显的矛盾,否则增量模型开发出来的产品可能并不能令人满意。适用范围:

软件开发周期较长的软件,有持续的合作。

4,螺旋模型

优点:

1),对可选方案和约束条件的强调有利于已有软件的重用,也有利于把软件质量作为软件开发的一个重要目标;

2),减少了过多测试(浪费资金)或者不足(产品故障多)所带来的风险;

2

3),在螺旋中维护的只是模型的另一个周期,在维护和开发之间没有本质的区别;

缺点:

除非软件开发人员具有丰富的风险评估经验和这方面的专门知识,否则将出现真正的风险,当项目实际上正在走向灾难时,开发人员可能还认为一切正常。

使用范围:

内部软件开发的大规模软件项目。

5,喷泉模型

优点:

1),对生命周期各阶段的区分变得不重要,不明显了;

2),分析阶段得到的对象模型也适用设计阶段和实现阶段;

3),提高软件项目开发效率,节省开发时间

缺点:

1),开发过程过分无序;

2),面向对象范型本身要求经常对开发活动进行迭代或求精;

3),在开发过程中需要大量的开发人员,因此不利于项目的管理。

适用范围:

面向对象的软件开发过程

2( 举例说明敏捷过程的适用范围。(教材第1章,1.4.7)

答: 敏捷过程的适用范围软件需求经常变化或者需求变化比较大; 项目团队与用户之间进行沟通

项目的开发风险比较高; 规模比较小,一般项目组成员在50 人之内; 项目团队的成员比较容易;

能力比较强,而且具有责任感; 项目的可测试性比较好。

3( 请画表格说明以下文档分别产生于软件生命周期的哪个阶段,程序规格说明书、项目计划任务书、

系统目标与范围说明书、程序清单、软件产品、需求规格说明书、概要设计说明书、改进的软件产

品。(课件,1.1)

问题定义可行性研究需求分析总体设计详细设计编码和单元测试综合阶段软件维护

项目计划任程序规格概要设计

务书说明书说明书

项目计划程序清单改进的软件

任务书产品

系统目标需求规格软件产品与范围说说明书

明书

4( 系统流程图和数据流图的区别,(课件,3.2;PPT教案JiaoAn(48,10-

12).ppt)

答: (1)数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。在结构化开发方法中,数据流图是需求分析阶段产生的结果。

(2) 数据流程图(Data Flow Diagram,DFD/Data Flow Chart),是描述系统数据流程的工具,它将数据独立抽象出来,通过图形方式描述信息的来龙去脉和实际流程。

3

它是一种能全面地描述信息系统逻辑模型的主要工具。它可以利用少数几种符号综合的反映出信息在系统中的流动、处理和存储的情况。数据流程图具有抽象性和概括性。

数据流程图是以图形的方式表达在问题中信息的变换和传递过程。它把系统看成是由数据流联系的各种概念的组合,用分解及抽象手段来控制需求分析的复杂性,采用分层的数据流程图来表示一个复杂的系统

5( 需求分析的描述工具有哪些? (教材第3章)

答: 数据流图DFD, 实体-联系图, 状态转换图, 层次方框图,Warnier图, IPO 图等;

三(应用题

1、阅读教材第42页2.4.2的例子,参看表2.1,试写出“订货报表”的数据字典卡。源点/终点处理

采购员产生报表

仓库管理员处理事务

数据流数据存储

订货报表订货信息

零件编号库存清单*

零件名称零件编号*

订货数量库存量

目前价格库存量临界值

主要供应者

次要供应者

事务

零件编号*

事务类型

数量*

2、修改一个已有的库存系统,使它能每天送给采购员一份订货报表,为此需要编写一段程序,估计需要开发成本5万元,该程序寿命为3年。未来3年的每年收益预计为22000元、24000元、26620元。银行年利率为10%。试对此项目进行成本效益分析,以决定其经济可行性。(教材第2章,2.6.2)

(1)货币时间价值

将来的收入折算成现在值

年将来值(元) (1+i)^n 现在值(元) 累计的现在值(元)

1 22000 1.1 20000 2000

2 24000 1.21 19834.71 39834.71

3 26620 1.33 20015.0

4 .59849.75

(2)投资回收期:

a) 两年后节省50000-39834.71 = 10165.29元

4

b) 第三年以后在节省20015.04 元

c) 10165.29 / 20015.04 = 0.51

因此投资回收期为2.51年

(3)纯收入: .59849.75 - 50000 = 9849.75 (4)投资回报率: 51% ~ 61% 5

相关主题
相关文档
最新文档