软件工程大作业(2)(答案)

软件工程大作业(2)(答案)
软件工程大作业(2)(答案)

软件工程作业第二部分

一、填空

1.结构化分析方法的分析策略是___自顶向下逐步求精_______。

2.衡量模块独立性的两个定性标准是_耦合性与内聚性________。

3.软件集成测试的方法主要有两种,它们是___渐增式与非渐增式测试_______。

4.继承性是子类自动共享其父类的__数据结构和方法 ____________机制。

5.在面向对象方法中,人们常用状态图描述类中对象的___动态行为________。

6.规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为____容错_____软件。

7.可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目_是否值得开发_。

8.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是__功能需求_。

9.软件生存周期中时间最长、花费的精力和费用最多的一个阶段是__维护_____阶段。

10.对象之间进行通信叫做__消息_____。

11.计算机辅助软件工程这一术语的英文缩写为_CASE_______。

12.McCall提出的软件质量模型包括______11________个软件质量特性。

13.为了便于对照检查,测试用例应由输入数据和预期的___输出结果____两部分组成。

14.软件结构是以____模块__________为基础而组成的一种控制层次结构。

15.结构化语言(PDL)是介于自然语言和____形式语言____之间的一种半形式语言。

16.软件概要设计的主要任务就是__软件结构的设计______。

17.结构化程序设计方法是使用___三种基本控制结构____构造程序。

18.软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个__自底向上或相反顺序 _____集成的过程。

19.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和__数据存储对象_____。

二、选择

1.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( C )

A、基于瀑布模型的结构化方法

B、基于需求动态定义的原型化方法

C、基于对象的面向对象的方法

D、基于数据的数据流开发方法

2.面向对象的开发方法中,(B)将是面向对象技术领域内占主导地位的标准建模语言。

A、Booch方法

B、UML语言

C、OMT方法

D、Coad方法

3、功能模型中所有的(A)往往形成一个层次结构。在这个层次结构中一个数据流图的过程可以由下一层的数据流图作进一步的说明。

A、数据流图

B、概念模型图

C、状态迁移图

D、事件追踪图

4、(A)应当在应用分析之前进行,因为我们在了解问题之前应当对问题敞开思想考虑,不应加以限制。

A、问题域分析

B、高层分析

C、实例的建立

D、类的开发

5、通过执行对象的操作改变对象的属性,但它必须通过(b)的传递。

A、接口

B、消息

C、信息

D、操作

6、所有的对象可以成为各种对象类,每个对象类都定义了一组(b)

A、说明

B、方法

C、过程

D、类型

7、一个面向对象系统的体系结构通过它的对象和对象间的关系确定,与传统的面向数据流的结构化开发方法相比,它具有的优点是( A)

A、设计稳定

B、变换分析

C、事务分析

D、模块独立性

8、每个对象可用它自己的一组属性和它可以执行的一组(C )来表征。

A、行为

B、功能

C、操作

D、数据

9、面向对象的主要特征除对象唯一性、封装、继承外,还有(A)

A、多态性

B、完整性

C、可移植性

D、兼容

10、在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有(B)

A、 隐藏复杂性

B、 信息隐藏

C、 即存类的重用

D、 类的开发

11、应用执行对象的操作可以改变该对象的(A)

A、属性

B、功能

C、行为

D、数据

12、面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以由父亲,下层可以有子类,这种层次结构系统的一个重要性质是(B),一个类获得其父亲的全部描述(数据和操作)。

A、传递性

B、继承性

C、复用性

D、并行性

13、在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是(B)

A、数据流图

B、状态图

C、系统结构图

D、时序图

14、人们常用的评价软件质量的4个因素是( B )

A.可维护性、可靠性、健壮性、效率

B.可维护性、可靠性、可理解性、效率

C.可维护性、可靠性、完整性、效率

D.可维护性、可靠性、移植性、效率

15、软件可移植性是用来衡量软件的( C )重要尺度之一。

A.通用性

B.效率

C.质量

D.人机界面

16、为了提高软件的可移植性,应注意提高软件的( D )

A.使用的方便性

B.简洁性

C.可靠性

D.设备独立性

17.软件系统的可靠性,主要表现在( C)

A.能够安装多次

B.能在不同类型的计算机系统上安装、使用

C.软件的正确性和健壮性

D.能有效抑止盗版

18.在软件工程中,当前用于保证软件质量的主要技术手段还是( B)

A.正确性证明

B.测试

C.自动程序设计

D.符号证明

19.在软件工程中,高质量的文档标准是完整性、一致性和( C)

A.统一性

B.安全性

C.无二义性

D.组合性

20.在软件质量因素中,软件在异常条件下仍能运行的能力称之为软件的( B )

A.可靠性

B.健壮性

C.可用性

D.安全性

21.在软件设计中,设计复审是和软件设计本身一样重要的环节,其主要的目的和作用是为了能够( B)

A.减少测试工作量

B.避免后期付出高代价

C.保证软件质量

D.缩短软件开发周期

22.在软件危机中表现出来的软件质量差的问题,其原因是( B)

A.用户经常干预软件系统的研发工作

B.没有软件质量标准

C.软件研发人员不愿意遵守软件质量标准

D.软件研发人员素质太差

23.软件工程管理是( D)一切活动的管理。

A.需求分析

B.软件设计过程

C.模块设计

D.软件生命期

24.软件管理的主要职能包括(D )

A.人员管理、计划管理

B.标准化管理、配置管理

C.成本管理、进度管理

D.(A)和(B)

25.需求规格说明书的作用不应该包括(D )。

A、软件设计的依据

B、用户与开发人员对软件要做什么的共同理解

C、软件验收的依据

D、软件可行性研究

26.结构化设计方法在软件开发中用于(A )。

A、概要设计

B、详细设计

C、程序设计

D、测试用例设计

27.软件结构化设计使用的图形工具,一般采用(C )图。

A、DFD

B、PAD

C、SC

D、ER

28.软件测试中,白盒法是通过分析程序的(B )来设计测试用例的。

A、应用范围

B、内部逻辑

C、功能

D、输入数据

29.软件维护费用高的主要原因是(C )。

A、人员少

B、人员多

C、生产率低

D、生产率高

30.软件质量必须在(D )加以保证。

A、开发之前

B、开发之后

C、可行性研究过程中

D、设计与实现过程中

31.确认测试主要涉及的文档是(A )。

A、需求规格说明书

B、概要设计说明书

C、详细设计说明书

D、源程序

32.详细设计与概要设计衔接的图形工具是( B )。

A、DFD图

B、SC图

C、PAD图

D、程序流程图

33.为了适应软硬件环境变化而修改软件的过程是( C )。

A、校正性维护

B、完善性维护

C、适应性维护

D、预防性维护

34.用于描述对象模型的工具是( D )。

A、数据流图

B、结构图

C、状态图

D、对象图

35.软件质量保证应在( A )阶段开始。

A.需求分析

B.设计

C.编码

D.投入使用

36.在McCall软件质量度量模型中,(C )属于面向软件产品修改。 A.可靠性 B.可重用性 C.适应性 D.可移植性

37.对象实现了数据和操作的结合,使数据和操作(C )于对象的统一体中。 A.结合 B.隐藏 C.封装 D.抽象

38.软件调试技术包括(B ) A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试

39.瀑布模型的存在问题是(B ) A.用户容易参与开发

B.缺乏灵活性

C.用户与开发者易沟通

D.适用可变需求

40.软件测试方法中的静态测试方法之一为(A ) A.计算机辅助静态分析

B.黑盒法

C.路径覆盖

D.边界值分析

41.程序的三种基本控制结构是(B )

A.过程、子程序和分程序

B.顺序、选择和重复

C.递归、堆栈和队列

D.调用、返回和转移

42.在详细设计阶段,经常采用的工具有( A)

A.PAD B.SA C.SC D.DFD

43.详细设计的结果基本决定了最终程序的(C )

A.代码的规模 B.运行速度 C.质量 D.可维护性

44.结构化程序设计主要强调的是( D)

A. 程序的规模

B. 程序的效率

C. 程序设计语言的先进性

D. 程序易读性

45.经济可行性研究的范围包括(C )

A.资源有效性 B.管理制度 C.效益分析 D.开发风险

46.黑盒测试在设计测试用例时,主要研究 ( A )

A.需求规格说明与概要设计说明

B.详细设计说明

C.项目开发计划

D.概要设计说明与详细设计说明

47.若有一个计算类型的程序,它的输入量只有一个,其范围是从输入的角度考虑一组测试用例, 设计这组测试用例的方法是(C )

A.条件覆盖法

B.等价分类法

C.边界值分析法

D.错误推测法

48.下列属于维护阶段的文档是( C )

A.软件规格说明

B.用户操作手册

C.软件问题报告

D.软件测试分析报告

49.快速原型模型的主要特点之一是(D )

A.开发完毕才见到产品

B.及早提供全部完整的软件产品

C.开发完毕后才见到工作软件

D.及早提供工作软件

50.软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为 ( B )

A.可用性

B.可靠性

C.正确性

D.完整性

51.采用图表示软件项目进度安排,下列说法中正确的是( D )

A.能够反映多个任务之间的复杂关系

B.能够直观表示任务之间相互依赖制约关系

C.能够表示哪些任务是关键任务

D.能够表示子任务之间的并行和串行关系

52.下列模型属于成本估算方法的有( A)

A.COCOMO模型

B.McCall模型

C.McCabe度量法

D.时间估算法

53.能力成熟度模型可以( A )

A、使软件组织建立一个有规律的成熟的软件过程

B、使用软件没有错误

C、使软件开发人员掌握更多的技术

D、避免开发人员跳槽 54.用来描述处理器、硬件设备和软件构件在运行时的架构的是( C )

A、用例图

B、结构图

C、配置图

D、构件图

55.数据字典是对数据定义信息的集合,它所定义的对象都包含于(A )

A.数据流图 B.程序框图

C. 软件结构 D.方框图

56.需求分析阶段的任务是确定 ( D )。

A.软件开发方法 B.软件开发工具

C.软件开发费 D.软件系统的功能

57.关联是建立( A )之间关系的一种手段。

A.类 B.操作

C.角色 D.属性

58.软件详细设计的主要任务是确定每个模块的 A 。

A.算法和使用的数据结构 B.外部接口

C.功能 D.编程

59.程序的三种基本控制结构是( B )。

A.过程、子程序积分程序 B.顺序、选择和重复

C.递归、堆栈和队列 D.调用、返回和转移

60.软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要

用于测试(B )。

A.结构合理性 B.软件外部功能

C.程序正确性 D.程序内部逻辑

61.在软件开发和维护的过程中,为了定量地评价软件质量,必须对软件特性进行 (B) A.测试 B.度量

C.评审 D.维护

62.在软件工程学中,我们把一组具有相同数据结构和相同操作的对象的集合定义为

( A ) ,此定义包括一组数据属性和在数据上的一组合法操作。

A.类 B.属性

C.对象 D.消息

63.汽车有一个发动机。汽车和发动机之间的关系是( C )关系。

A.继承关系 B.依赖关系

C.普通聚集 D.构成关系

64.对象是OO方法的核心,对象的类型有多种,通常把例如飞行、事故、演出、开会等等,称之为( C )

A.有形实体 B.作用

C.事件 D.性能说明

65.在面向对象软件开发方法中,类与类之间主要有以下结构关系(A)

A.继承和聚集 B继承和一般 C 聚集和消息传递 D继承和方法调用

66.以下哪一项不是软件危机的表现形式(C)

A成本高 B生产率低 C技术发展快 D质量得不到保证

67.以下哪一项不是面向对象的特征(D)

A)多态性B)继承性C封装性D过程调用

68.面向对象模型主要由以下哪些模型组成(A)

A对象模型、动态模型、功能模型B对象模型、数据模型、功能模型

C数据模型、动态模型、功能模型D对象模型、动态模型、数据模型

69.软件项目计划一般不包括以下哪项内容(D)

A培训计划 B 人员安排 C 进度安排 D软件开发标准的选择和制定

三、简答

1.简述软件工程方法学所包含的内容。

软件工程方法学包括三个要素,这就是方法、工具和过程。其中,方法是完成软件开发的各项任务的技术方法,回答“如何做”的问题;工具是为方法的运用提供自动的或半自动的软件支撑一霎过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

2.什么是软件过程?它与软件工程方法学有何关系?

?软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

?软件过程是软件工程方法学的3个重要组成部分之一。

?软件工程方法学包含三个要素:方法、工具和过程。

3.分析软件危机产生的主要原因有哪些?

答:导致软件危机的主要原因有:

(1)软件日益复杂和庞大(2)软件开发管理困难和复杂(3)软件开发技术落后(4)生产方式落后(5)开发工具落后(6)软件开发费用不断增加

4.说明结构化程序设计的主要思想是什么?

答:(1)自顶向下、逐步求精的程序设计方法(2)使用3种基本控制结构、单入口、单出口来构造程序。

5软件测试包括哪些步骤?说明这些步骤的测试对象是什么?

答:(1)单元测试,测试对象对单元模块(2)集成测试,测试对象为组装后的程序模块(2分)(3)确认测试,测试对象为可运行的目标软件系统(4)系统测试:测试对象为计算机系统的各组成部分

6.需求分析与软件设计二个阶段任务的主要区别是什么?

答:需求分析定义软件的用户需求,即定义待开发软件能做什么

软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。

7说明软件测试和调试的目的有何区别?

答:测试的目的是判断和发现软件是否有错误调试的目的是定位软件错误并纠正错误。

四、综合应用

1.建立以下有关“微机”的对象模型。

一台微机有一个显示器,一个主机,一个键盘,一个鼠标,汉王笔可有可无。主机包括一个机箱,一个主板,一个电源及储存器等部件。储存器又分为固定储存器和活动存储器两种,固定存储器为内存和硬盘,活动存储器为软盘和光盘。

2.某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。请用等价类划分法设计测试用例。答: 1.划分等价类: 输入条件 合理等价类 不合理等价类 职称

①教授 ②副教授 ③ 讲师

⑤四种职称之外任

意一种

职称兼工龄

④助教兼工龄大于2年 ⑥助教兼工龄等于

两年

⑦助教兼工龄小于

年 两 设计测试用例: 输入数据 预期结果

覆盖范围教授 输入有效,进行调整工资处理① 副教授 输入有效,进行调整工资处理② 讲师

输入有效,进行调整工资处理

助教 3 输入有效,进行调整工资处理

⑤ 助教 2 输入有效,不调整工资处理 ⑥ 助教 1 输入有效,不调整工资处理

⑦ 工程师

输入无效

3.某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:

(1)报社发行多种刊物,每种刊物通过订单来征订,订单中有代码,名称,订期,单价,份数等项目,订户通过填写订单来订阅报刊。

(2)报社下属多个发行站,每个站负责收集登陆订单、打印收款凭证等事务。 (3)报社负责分类并统计各个发行站送来的报刊订阅信息。 请就此需求建立对象模型。

4.根据下列条件使用等价划分法设计测试用例。

某一8位微机,其十六进制常数定义为:以0x 或0X 开头的数是十六进制整数,其值的范围是-7f~7f(表示十六进制的大小写字母不加区别),如0X13,0X6A,-0X3c。 ① 划分等价类并编号,如下表所示。 十六进制整型常量输入条件的等价类表

输入数据

合理等价类 不合理等价类

十六进制整数

1. 0x 或0X 开头1~2位数

字串 2. 以-0x 打头的1~2位

数字串

3. 非0x 或非-打头的串 4. 含有非数字且

(a,b,c,d,e,f)以外字符

5. 多于5个字符

6. -后跟非0的多位串

7. -0后跟数字串

8. -后多于3个数字

10.小于-7f 十六进制数范围 9.在-7f~7f之间

11.大于7f

② 为合理等价类设计测试用例,表中有三个合理等价类,设计两个例子

测试数据 期望结果 覆盖范围

0×23 显示有效输入 1,9

-0×15 显示有效输入 2,9

③为每个不合理等价类至少设计一个测试用例

测试数据 期望结果 覆盖范围

2 显示无效输入 3

G12 显示无效输入 4

123311 显示无效输入 5

-1012 显示无效输入 6

-011 显示无效输入 7

-0134 显示无效输入 8

-0x777 显示无效输入 10

0x87 显示无效输入 11

5.求一组数组中的最大数, 数组表示为A(n) ,n=1,2……n的自然数。

1)画出程序流程图(5分)

2)画出该算法的N-S图(5分)

答案:程序流程图

N-S图

6.银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存款存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。

请用数据流图描绘出本系统的功能,并用实体-联系图描绘系统中的数据对象。并用和用软件结构图描绘其总体设计。

答:

软件结构图

E-R 图:

7.某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工。20岁至40岁之间,中学文化程度,男性当钳工,女性当车工,大学文化程度都当技术员。年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用PDL﹑判定树描述上述问题的加工逻辑。 PDL: CASE 年龄<20

CASE 文化程度 初中 分配工种 脱产学习

CASE 文化程度 高中

分配工种电工ENDCASE

CASE 年龄<=40.AND.>=20

CASE 文化程度 初中.OR.高中 CASE 性别 男

分配工种 钳工

CASE 性别 女

分配工种 车工

ENDCASE

ENDCASE

CASE 文化程度 大学

分配工种 技术员

ENDCASE

ENDCASE

CASE 年龄>40

CASE 文化程度 初中.OR.高中

分配工种 材料员

CASE 文化程度 大学

分配工种 技术员

ENDCASE

ENDCASE

8.画出下面用PDL写出的程序的PAD图。

WHILE P DO

IF A >O THEN A1 ELSE A2 ENDIF;

S1;

IF B>0 THEN B1;

WHILE C DO S2;S3 ENDWHILE;

ELSE B2

ENDIF;

B3

ENDWHILE;

9.根据以下描述画出相应的状态转换图:

到ATM机前插入磁卡后输入密码,如果密码不正确则系统会要求再次输入密码,如三次输入不正确则退出服务;密码正确后,系统会提示选择服务类型,如选择存款则进行存款操作,存款完毕后可选择继续服务,也可以选择退出服务;如选择取款则进行存款操作,取款完毕后可选择继续服务,也可以选择退出服务

10.请将图中的DFD转换为软件结构图。(注:图中⊕表示或者)

解:我们可以看出主图是变换型DFD,而子图是事务型DFD。根据结构设计的方法,得到的结构图如下:

11..高考录取统分子系统有如下功能:

1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;

2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。

试根据要求画出该系统的数据流程图,并将其转换为软件结构图。

①原始分。

②标准分。

③招生计划。

④录取线分。

12.UML关系包括关联、聚集、构成、继承、依赖等5种类型,请将合适的关系填写在下列描述的()中。

1). 在学校中,一个导师可以指导多个研究生,一个研究生可以由多个导师指导,那么导师和研究生之间是( )关系。

2). 交通工具与卡车之间是( )关系。

3). 公司与部门之间是( )关系。

4). 图形与矩形之间是( )关系。

5). 油画和国画之间是( )关系

6).windows窗口与其上的菜单之间是( )关系

答案

1). 关联 2). 继承3). 聚集4). 继承5). 关联 6)构成

13.某公司的电话服务如下:(6分)

可以拨分机号和外线号码。分机号是从6201至6299。外线号码先拨7,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,552中任意一个号码。分局号是任意长度为4的数字串。

要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。

答:电话号码=分机号|外线号码

分机号=6201 (6299)

外线号码=7+[市话号码|长话号码]

长话号码=区号+市话号码

区号=100 (300)

市话号码=局号+分局号

局号=[455|466|888|552]

软件工程作业及参考答案(版)

软件危机与软件工程 3. 软件工程方法学的研究内容包含软件开发技术和软件工程管理两部分, 其期望达到的最终目标是 ()。 A ?消除软件危机 B ?软件开发工程化 C ?程序设计自动化 D ?实现软件重用 4?软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的( )。 A .工程管理 B .成本核算 C .人员培训 D .工具开发 5?软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是( )。 A ?设计人员和用户 B ?分析人员和用户 C .分析人员和设计人员 D .编码人员和用户 6 .软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的 逻辑模型形成 于( )。 A .开发阶段 B .计划阶段 C .分析阶段 D .设计阶段 7 .在软件工程中,软件生存期可分为计划、开发以及维护三个阶段,每个时期又分为若干更小的阶段。 通常,计划时期包括问题定义、可行性研究和 ①,开发时期包括 ②、详细设计、编码以及 ③。 ① A . 需求分析 B . 可行性研究 C . 经费预算 D . 质量保证 ② A . 需求分析 B . 可行性研究 C 总体设计 D 模块化设计 ③ A . 文档编制 B . 运行维护 C . 测试 D . 验收 &软件开发中常采用的生命周期方法,由于其特征而一般称其为() A .层次模型 B .瀑布模型 C .螺旋模型 D .对象模型 9.描述软件生存周期的瀑布模型包括计划、 (A ) 、设计、编码、测试、维护等阶段。其中,设计阶段又可 以分成(B )和(C )两个步骤。 A :①需求分析 ②可行性研究 ③需求调查 ④问题定义 B, C :①方案设计 ②代码设计 ③概要(总体)设计 ④数据设计 ⑤详细设计 10.什么是软件危机?软件危机产生的原因? ".生命周期阶段的划分?每个阶段的任务? 可行性研究 软件工程 1软件危机是指在开发和( A .运行 B .设计 2 ?造成软件危机的原因是: A. 用户使用不当 C .硬件不可靠 )过程中所遇到的一系列严重问题。 B .对软件的错误认识 D ?缺乏好的开发方法和手段

完整word版软件工程概论期末大作业

软件工程概论期末大作业火车票订票管理信息系统 专业年级:学号: 名:姓 成绩: 1

目录 一、项目概述 (3) 二、可行性研究 (3) 三、需求分析 (4) 3.1系统IPO图 (8) 3.2系统的数据流图 (9) 四、概要设计 (10) 五、详细设计 (10) 5.1系统主要功能模块界面图 (11) 5.2画出系统某一模块的程序流程图 (15) 六、UML模型 (16) 6.1 画出系统的用例图 (17) 6.2系统客户(功能)的时序图 (18) 七、总结 (20) 八、附录 (21)

2 一、项目概述 1.1项目简介 火车票售票系统是一款针对全国各大乘客集散地,方便工作人员和乘客顺利抵达目的地的便捷操作软件,乘客集散地只需安装本系统,配备专业的操作人员,即可安全、有序地完成人员输送任务。 1.2项目功能 火车票售票系统可登记全国各地的客运专线、包括发车时间、到达时间、经过各中转站时间、在各中转站等待时间及发车时间、各站点间距离、票价、各列车车厢容量、座位分布、列车类型、列车车号、车票信息、预定信息、乘客身份信息、乘客携带物品限定信息、车票代售点信息、网络购票、货运信息、网络购票常见问题解决方式、铁路常识等。 1.3功能模块介绍 车票票面信息:包含乘车区间(始发站、终点站)、发车时间、发车日期、乘客身份信息(身份证号、姓名)、乘客所乘列车座位信息(列车车厢号、座位号)、乘客乘车须知、票价、座位类型(硬座、硬卧、软座、软卧)。 网络购票信息:查询列车信息(列车时刻表、列车车次)、余票信息、票价信息、退票信息、列车正晚点信息、车票代售点信息、预订信息、货运运费、货运业务咨询。 列车信息:列车车次、列车所属类型(普快、动车、空调特快等)、列车始发站、终点站、中转站、始发时间、到达时间、各站点停靠时间、乘车区间及价格、列车运行时长、已运行时长。 候车室信息:列车车次、列车运行时间(发车时间、到达时间)、对应车次所在候车区域、对应区域所要发车车次。 二、可行性研究 2.1可行性研究过程 本系统是针对全国各地的旅客,因此这一问题的解决,这一项目的实现,将更简化整个操作流程,减少人工操作以及由人工操作所引起的人为失误,大大降低了对数据的操作量。本系统所需的是项目人员的研究及整个操作过程所需的步骤及对所出现的问题的正确操作。 2.2可行性研究要解决的问题 项目研究人员:对于项目研究人员所需的操作即为界面功能实现的后台代码,这不仅仅是最需要解决的问题,项目人员最需要的是对整个系统所要实现的功能的整合,针对某一问题所需要的操作,所对应的模块,所调用的数据,这些都需要借助于日常出现问题的总结,因此项目开发人员是要对列车整个运行过程十分了解,并熟知所面对问题的解决方法。 系统操作人员:对于系统操作人员,需要了解整个系统所能实现的功能以及对应的处理,如何操作,怎么操作这是需要解决的问题。 2.3对于项目的技术支撑 面对当今社会技术的飞速发展、计算机科学技术已经发展的相当成熟。C语言、

软件工程试题及答案

4. 面向对象的分析方法主要是建立三类模型,即( D )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性 D) 实体、属性、操作 9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[, ],现从输入的角度考虑一组测试用例:, , , . 设计这组测试用例的方法是( c ) A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法 10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法 11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a ) A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流 14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间 15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试 16.需求分析的产品是( D ) A.数据流程图案 B.数据字典 C.判定表D.需求规格说明书 17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C ) A.数据库设计 B.数据通信 C.数据定义 D.数据维护 18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A.增量模型 B.喷泉模型 C.原型模型D.螺旋模型 (×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。 (×)4、软件需求分析的任务是建立软件模块结构图。 (√)5、尽可能使用高级语言编写程序(×)6、以结构化分析方法建立的系统模型就是数据流图。 (×)7、进行总体设计时加强模块间的联系。(×)8、编码时尽量多用全局变量. (√)9、用CASE环境或程序自动生成工具来自动生成一部分程序.(×)10、软件测试是要发现软件中的所有错误。 1. 软件生命期各阶段的任务是什么答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么?

软件工程复习题及答案

一、画出实际的瀑布模型p16 三、画出增量模型p18 五、可行性研究的工作过程及内容p36 答:1).复查系统规模和目标; 2).研究目前正在使用的系统; 3).导出新系统的高层逻辑模型; 4).进一步定义问题; 5).导出和评价供选择的解法; 6).推荐行动方针;7).草拟开发计划;8.书写文档提交审查。 六、可行性研究的目的是什么?要如何进行?p35 答:目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。 首先,需要进一步分析和澄清问题定义。之后,分析员应该导出系统的逻辑模型。从系统逻辑模型出发,探索若干可供选择的主要解决方法(即系统实现方案)。对每种解法都应该仔细研究它的可行性,一般来说,至少应该从下述三方面研究每种解法的可行性:(1)技术可行性;(2)经济可行性;(3)操作可行性。必要时还应该从法律、社会效益等更广泛的方面研究每种解法的可行性。 二、画出快速原型模型p17 四、画出简化的螺旋模型p20 软件工程考试复习题

七、需求分析的任务是什么?进行需求分析时要重点考虑哪些方面的问题?p56 答:1、确定对系统的综合要求:1).功能需求——指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所有功能。2).性能需求——性能需求指定系统必须满足的定时约束或容量约束,如速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等。3).可靠性和可用性需求——可靠性是指确保各应用及其相关的所有交易的完整性和一致性的能力;可用性是指一个系统应确保一项服务或者资源永远都可以被访问到。4).出错处理需求——说明系统对环境错误应该怎样响应。5).接口需求——描述应用系统与它的环境通信格式。6).约束——在设计或实现应用系统时应遵守的限制条件。常见的约束有:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。7).逆向需求——说明软件系统不应该做什么。8).将来可能提出的要求——应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。 2、分析系统的数据要求。 3、导出系统的逻辑模型。 4、修正系统开发计划。 八、典型的总体设计过程包括哪些步骤?p92 答:典型的总体设计过程包括九个步骤: 1)、设想供选择的方案;2)、选取合理的方案;3)、推荐最佳方案;4)、功能分解;5)、设计软件结构;6)、设计数据库;7)、制定测试计划;8)、书写文档;9)审查和复查。 九、总体设计的主要任务是什么?总体设计的主要过程有哪些?p91 答:主要任务: 总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素—程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计。总体设计的另一项重要的任务是设计软件的结构,也就是要确定系统中每个程序是由哪个模块组成,以及这些模块相互间的关系。 主要过程: ①寻找实现目标系统的各种不同的方案。②从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素。③进行成本/效益分析,并且制定实现这个方案的进度计划。从中选出一个最佳方案。④进一步为这个最佳方案设计软件结构。⑤进行必要的数据库设计,确定测试要求并且制定测试计划。 十、何谓耦合?有哪些类型?软件设计应该取哪种类型?p97 答:耦合是对一个软件结构内不同模块之间互连程度的度量。 类型:数据藕合、控制藕合、公共环境藕合、内容耦合 设计原则:尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。 十一、何谓内聚?有哪些类型?软件设计应该取哪种类型?p98 答:内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。 低内聚有如下几类:偶然内聚、逻辑内聚、时间内聚。中内聚主要有两类:过程内聚、通信内聚。高内聚也有两类:顺序内聚、功能内聚。 设计时应该力求做到高内聚,通常中等程度的内聚也是可以采用的,而且效果和高内聚相差不多;但是,低内聚很坏,不要使用。

软件工程作业(答案参考)

软件工程第一次作业 1)软件工程适用范围? 答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。 2)软件工程如何控制系统开发的复杂性的? 答:可理解性(understandability)。系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。 3)以你的经验,举例说明一个成熟的软件通常采用什么方法来适应现实世界的变化的?答:以猎豹游览器为例,开始软件投入市场公测,软件自带收集错误报告的程式,当遇到问题软件错误,会将相关信息反馈到接受错误信息的服务器,已方便程序员及时发现问题加以修复,修复完成后提供程序更新,循环此法提供软件运行稳定性,另外还有用户反馈的相关功能,对软件的建议也会收集到服务器,按实用性需求程序员可在原有程序上开发调整更适合用户使用的程序。 4)假设某软件公司,能为同一个用户开发两个不同层次的软件:一个层次的软件功能非常强大,在满足用户所有需求的基础上,还能提供大大超过用户需求的其他更多更强的功能;另一个层次的软件仅仅能满足用户需求,但没有提供其他额外的功能。请问如果你是项目负责人,你会选择为客户开发那个层次的软件? 答:我会选择仅仅满足用户需求的软件。因为太多的功能,相对于非专业的人员,在用户体验上可能会造成困扰,太多的功能会导致难以操作。而且功能强大的软件还会给用户费用上带来不必要的投入,软件是以人为本,方便用户工作,达到提高工作效率的目的。若然日后此用户需要更多功能的时候,我们还是可以向其软件公司提供升级功能解决用户需求。

软件工程-期末大作业要求10-29

《软件工程》 大作业内容与要求 任课教师:马楠一、软件工程导论考核目的: 使学生更好地理解该课程介绍的概念和主要原理等内容。 加深对软件开发过程中所涉及的各种建模工具的认识和理解。 初步感受软件系统分析设计的过程、如何利用现有的计算机辅助工具(VISIO 2003)进行阶段成果的描述以及功能模块的开发。 二、具体完成内容及要求 作业一:进行系统需求分析,提交需求说明书。要求用数据流程图描述系统的基本逻辑功能。(至少画到第2层。)(包括DFD、数据字典等内容) 作业二:用面向数据流的方法设计,提交系统结构化设计与实现说明书(概要设计和详细设计放在一个文件中,但分开说明)。要求用结构图描述系统的物理功能。 作业三:用面向对象的观点和UML的方法进行系统分析与设计,提交面向对象设计说明书,分析系统中包含的类-&-对象,建立系统的对象模型构建对象模型、用例图、状态图。 (可行性报告是否放入不做要求,自愿原则) 三、使用工具 使用Visio软件绘制相关图形,包括:数据流图、系统结构图、对象模型图、用例图、状态图等。 使用WORD文档撰写各报告内容。 四、提交内容 1、以上作业以WORD文档形式提交,两人或者三人为一组,建立一个文件夹,名 字为“姓名学号姓名学号_课题名称”,三个文档分别题目为“姓名姓名_课题名称_作业1”、“姓名姓名_课题名称_作业2”、“姓名姓名_课题名称_作业3”。 2、提交报告时间为第9周周五中午12:30。 五、成绩分配: 1.系统需求分析:30分 2.系统设计说明书: 25分 3.面向对象设计说明书:25分

4.增加一个学习总结,要手写版,20分,对主要知识点进行总结, 六、课题参考内容 注意:可以在此基础之上进行功能扩展,要在可行性报告中进行说明。 题目一学校教材订购系统 1.系统简介 本系统可细化为二个子系统:销售系统和采购系统 销售系统的主要工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师和学生即可去书库领书。 采购系统的主要工作过程为:若有脱销教材。则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书通知给教材发行人员。 以上系统的功能要求在计算机上实现。 2.技术要求及限定条件 (1)当书库中的各种书籍数量发生变化(包括领书或进书)时,都应修改相关的书库记录,如库存表或进/出库表。 (2)在实现上述销售和采购的工作过程时,需考虑有关单据的合法性验证(如:购书单、领书单等的有效性)。 (3)系统的外部项(Termiantor)至少包含3个:教师、学生和教材工作人员。 (4)系统的相关数据存储项(Data store)至少包含6个:购书表、库存表、缺书登记表、待购教材表、进/出库表。 题目二飞机票预购系统 1.系统简介 2.技术要求及限定条件 (1)在分析系统功能时,应考虑有关证件的合法性验证(如:身份证、取票通知、交款发票等。) (2)对于本系统还应补充以下功能 ○1旅客延误了取票时间的处理 ○2班机取消后的处理 ○3旅客临时更改机票板材 (3)系统的外部项(Termiantor)至少包含3个:旅客、旅行社和航空公

软件工程在线作业及答案

1.第1题 在软件可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的成本/效益分析的是()。 A.经济可性性 B.技术可行性 C.操作可行性 D.法律可行性 您的答案:A 题目分数:2.5 此题得分:2.5 2.第2题 为了提高模块的独立性,模块内部最好是()。 A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 您的答案:C 题目分数:2.5 此题得分:2.5 3.第3题 Jackson方法是一种面向()的方法。 A.对象 B.数据结构 C.数据流 D.控制流 您的答案:B 题目分数:2.5 此题得分:2.5 4.第4题 需求分析阶段研究的对象是软件项目的()。 A.用户需求 B.合理要求 C.模糊要求 D.工程要求 您的答案:A 题目分数:2.5 此题得分:2.5

5.第5题 面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。 A.系统设计 B.详细设计 C.软件设计 D.编码 您的答案:B 题目分数:2.5 此题得分:2.5 6.第6题 程序控制的三种基本结构中,()结构可提供多条路径选择。 A.反序 B.顺序 C.循环 D.分支 您的答案:D 题目分数:2.5 此题得分:2.5 7.第7题 下列属于黑盒测试的是()。 A.基本路径测试 B.条件测试 C.循环测试 D.等价划分 您的答案:D 题目分数:2.5 此题得分:2.5 8.第8题 软件设计一般分为总体设计和详细设计,它们之间的关系是()。 A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构 您的答案:A 题目分数:2.5 此题得分:2.5

9.第9题 好的软件结构应该是()。 A.高耦合,高内聚 B.低耦合,高内聚 C.高耦合,低内聚 D.低耦合,低内聚 您的答案:B 题目分数:2.5 此题得分:2.5 10.第15题 面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是(),一个类获得其父类的全部描述(数据和操作)。 A.传递性 B.继承性 C.复用性 D.并行性 您的答案:B 题目分数:2.5 此题得分:2.5 11.第16题 软件项目管理是()一切活动的管理。 A.需求分析 B.软件设计过程 C.模块控制 D.软件生命周期 您的答案:D 题目分数:2.5 此题得分:2.5 12.第17题 一个模块把开关量作为参数传递给另一模型,这两个模块之间的耦合是()。 A.外部耦合 B.数据耦合 C.控制耦合 D.内容耦合 您的答案:C

最新版2016软件工程基础离线作业满分答案

浙江大学远程教育学院 《软件工程基础》课程作业 ————————————————————————————— 第一章概述 1.什么是软件危机,它有哪些典型表现? 答:所谓“软件危机”就是,在计算机软件的开发和维护过程中所遇到的一系列严重的问题,概括起来归纳为:如何开发软件,以满足日益增长、日趋复杂的需要;如何维护数量不断膨胀的已有软件。 软件危机的典型表现主要有: 1. 开发成本和进度不能准确估计 2. 开发出来的软件不能满足用户的要求 3. 软件的可维护性差 4. 软件质量不可靠 5. 软件成本在系统中的比重逐年上升 6. 软件开发生产率的提高速度不够 2.简述产生软件危机的原因和解决的思路。 答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。 解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。

3.什么是软件工程?它有哪些本质特性? 答:软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法进行软件开发和维护的学科。 其实质就是用工程的概念、原理、技术和方法,结合有效的管理方法和先进的开发技术,开发与维护软件,以解决软件危机。 4.软件工程是如何用来消除软件危机的? 答:软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。 5.假设你是某软件开发企业的CEO,当你把教材P.4的图1.1给手下的软件工程师们看,同时告诉他们应及早发现并改正错误的重要性时,有人不以为然,认为要求在错误进入软件前就发现并清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么又如何能够在设计阶段就发现并清除呢?”那你应该如何说服? 答:首先要对错误造成工作的延误或一些问题表示歉意。错误是难免,关键是要虚心接受,在以后工作中要更加认真,避免错误机率降到最低。在编码过程中要,首先要在头脑清醒,要保持工作前有足够的睡眠。这样错误机会也会降小。在编程结束后,首先要验证,是否能正常运行或工作。再以后的工作更要虚心,认真,保证这种机会降到最低。

软件工程大作业.

《软件工程》大作业 学期:2015秋季学期 班号: 学号: 姓名: 成绩: 子与信息工程学院 2015年10月

目录 第1章系统概述 (2) 1.1系统介绍 (2) 1.2开发的目的与意义 (2) 第2章可行性分析 (3) 2.1经济可行性 (3) 2.2 技术可行性 (3) 2.3 系统业务分析 (3) 第3章需求分析 (5) 3.1 结构化需求分析 (5) 3.2 系统需求说明 (5) 3.3 系统数据流图和数据字典 (6) 第4章系统设计 (9) 4.1 系统ER图 (9) 4.2 系统功能结构图 (11) 第5章系统实现 (12) 5.1用户模块 (12) 5.2用户注册功能 (13) 第6章系统测试 (14)

第1章系统概述 随着计算机网络技术和信息技术的不断发展,人类信息资源实现高度共享,从根本上改变了人类生活的方式,网上购物作为一种新型的购物方式,以其快捷方便的特点成为了人们购物的主要选择。网上支付的不断完善,加上物流业的配套建设,使得用户能够足不出户就能挑选商品,节省了时间和金钱,这种网上购物方式越来越受到人们的青睐。 1.1系统介绍 网上商城系统是一个可以方便各类人群所需,省时省力全方位的大型购物网上商城,可以让所需人群足不出户不分地域时间的购买所需用品。网上商城系统共分为两个部分:前台用户部分和后台管理部分。在前台系统中有用户注册登陆,浏览商品,选购商品,订购商品。后台系统中有系统管理,会员管理,订单管理,商品管理。在用户注册模块中,分别加强了用户注册信息验证的严格性;在商品或商家信息浏览和查询模块中,用户可以对商品进行浏览检索,查看商品的详细信息;非注册会员可以选定商品加入购物车,但只有注册成会员的用户才能对商品进行购买。在后台系统中,系统管理员可以对已注册的用户进行审查,可以对现有的商品进行管理;并对提交的订单进行处理与邮寄。 1.2开发的目的与意义 在线购物系统,从结构上讲,可以划分为前台和后台两个部分,主要涉及到前、后台的网页设计,以及与数据库相关的操作。在网络应用中,数据库的应用是一个很关键的环节。特别地,随着Internet的普及和人们对于互联网的依赖性,许多基于互联网的应用也不断的涌现出来。基于B/S(浏览器、服务器)构架开发网站和系统已成为一种主流趋势,人们对其的需求也越来越大。 现在已经进入网络时代,很多电子产品的生产企业也开始意识到了网络的重要性,开始在电子产品中加入对网络服务的支持。比如在智能手机中增加了对移动互联网应用的支持,这在提升了电子产品的竞争力的同时,也扩展了电子商务的应用范围。 总体上看,电子商务的发展,具有十分良好的发展前景。

《软件工程》试题及参考答案(第6套)

第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A 软件过程 B 软件工具 C 质量保证 D 软件工程 2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 A 业务需求 B 功能要求 C 非功能需求 D 用户需求 3、软件测试计划开始于需求分析阶段,完成于()阶段。 A 需求分析 B 软件设计 C 软件实现 D 软件测试 4.下面关于面向对象方法中消息的叙述,不正确的是( )。 A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。 A.工作无序,项目进行过程中经常放弃当初的计划 B.建立了项目级的管理制度 C.建立了企业级的管理制度 D.软件过程中活动的生产率和质量是可度量的 6.在McCall软件质量度量模型中,()属于面向软件产品修改。 A.可靠性B.可重用性C.适应性 D.可移植性 7.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测 试 D.软件维护 8.需求分析阶段的任务是确定() A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能

软件工程课后习题(含答案)

第一章练习题 一、填空题 1、软件工程三要素是:方法、工具、过程。 2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。 二、名词(术语)解释: 1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。可靠性是衡量软件质量的一个重要目标。 2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。 三、问答题 1、面向对象方法的优点是什么? 答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。 (2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。 2、可视化开发方法的优点有哪些? 答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。 (2)软件开发简单,易学、易上手。 (3)专业或非专业人员都能参与软件开发活动。 第二章练习题 一、填空题: 1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工 程活动。 2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。 3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。 4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。 二、简答题: 1、瀑布模型的优点有哪些? 答:1、强迫开发人员采用规范的技术方法; 2、严格地规定了每个阶段必须提交的文档; 3、每个阶段结束前必须正式进行严格的技术审查和管理复审。 2、瀑布模型的缺点是什么? 答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。 2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。 3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很 难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

人机交互软件工程方法期末考试大作业申请及试卷

《人机交互软件工程方法》期末考试大作业申请 根据《人机交互软件工程方法》课程特点和教学基本要求,本课程希望学生能够较全面地学习有人机交互的基本理论和实用技术,掌握各种交互设备及其工作原理,人机交互技术,人机界面设计方法及其表示模型和实现方法。着重培养学生应用所学知识分析解决实际问题的动手能力、实践能力与创新能力。因此申请2018-2019(2)学期课程《人机交互软件工程方法》期末考试采取大作业项目设计的形式。 考试班级:16计科软件班 考试课程:人机交互软件工程方法 申请人:肖锋 2019.5.6

课程成绩说明 本课程最终成绩由平时成绩及期末大作业成绩组成,具体评分标准如下:1.平时成绩由实验成绩、平时作业及考勤成绩综合给出。其中: 实验成绩:需按照实验要求完成实验内容并提交实验报告,实验一共8次,每次5分,满分40分; 平时作业:根据平时作业提交及完成情况给出,满分20分。 考勤成绩:根据平时考勤记录给出,满分40分。 2.期末大作业成绩采取百分制,根据学生提交大作业的内容的完成情况进行评 分。 3.课程最终成绩采取百分制,60分及格,由平时成绩与大作业成绩加权计算得 出,平时成绩与大作业成绩各占总成绩的30%和70%。 课程大作业 大作业内容共四道题,要求见大作业试卷。 大作业要求:提交项目设计方案及程序代码,设计方案需条理清晰,格式齐整,程序代码需完整可运行。 提交时间及方式:提交设计方案电子档及程序源代码,第18周周四提交,由班干部收齐后统一提交。

学院数学与计算机科学出卷教师肖锋系主任签名 制卷份数专业计算机班级编号 江汉大学2018 ——2019 学年第2 学期 考试试卷 课程编号: 410802046 课程名称:《人机交互软件工程方法》试卷类型:项目设计考试形式:大作业考试时间:十八周周四提交一、考试说明 根据课程特点,考试采取大作业形式。为了考试学生的对课程基本理论、基本知识点的考察,要求学生完成项目设计的基本要求;同时,为了充分发挥学生的自我能动性、积极性、创造性,要求学生在满足基本要求的前提下,可以根据个人的能力充分发挥。 二、考核内容及评分标准 1.窗体程序界面设计 要求设计一个窗体程序界面,完成一个简单的计算器功能(实现加减乘除运算)。编程语言及编译环境任选(建议使用VS平台及C#),提交详细的项目设计文档及程序工程文件。 设计要求: 项目设计文档需调理清晰,格式齐整。完整地说明窗体设计的模型、窗体设计时考虑的人机交互原则,以及程序模块的具体设计关键代码的说明。 其中重点需要给出如下内容: ●画出任务设计的用例图及程序中各个界面视图的关联关系。 ●需利用GOMS划分设计程序的任务分解图,并利用LOTOS描述认为之 间的约束关系。 评分标准: ?程序界面正常运行:(5分)。 ?项目设计文档需调理清晰,格式齐整(5分)。 ?凸显方案的核心技术、步骤、以及人机交互界面的设计遵循的原则

软件工程试题及答案

综合练习一答案 一.选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末 B.60年代初C.60年代末 D.70年代初 A.运筹学B.工程学 C.软件学 D.软件学 E.数字 2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用 5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护 B.测试 C.详细设计 D.概要设计 E.编码 F.需求分析6.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。 A.详细设计B.可行性分析C.运行及维护D.测试与排错7.划分软件生存周期的阶段时所应遵循的基本原则是_____。 A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对独立 8.一个软件项目是否进行开发的结论是在______文档中作出的。 A、软件开发计划 B、可行性报告 C、需求分析说明书 D、测试报告 9.分析员是____。 A.用户中系统的直接使用者B.用户和软件人员的中间人 C.软件的编程人员 D。用户和软件人员的领导 10.下列叙述中,_______不属于数据字典的作用。 A、作为编码阶段的描述工具 B、为用户与开发人员之间统一认识 C、作为概要设计的依据 D、为需求分析阶段定义各类条目 11.使用结构化分析方法时,采用的基本手段是____。 A.分解和抽象 B.分解和综合C.归纳与推导D.试探与回溯12.结构化系统分析主要是通过____进行分析的。 A.算法分解B.控制结构分解 C.数据结构分解D.处理功能分解13.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的____。 总貌B.细节C.抽象D.软件的作者 13.变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于____。 A.变换型 B 事务型 14.需求分析说明书不能作为______。

-软件工程习题答案参考

软件工程 绪论 1.什么是软件危机?为什么会产生软件危机? 答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。 (2).软件生产技术进步缓慢 2.什么是软件生产工程化?工程化生产方法与早期的程序设计方法 主要差别在哪里? 答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。 3.分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管 理的相互关系。 答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。新方法在推行初期,总有人不愿接受和采用。若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。所以对于一

个理想的软件工程环境,应该同时具备技术和管理两个方面。 4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。 答:用C++开发一个软件,是校园一卡通的模块。首先,要在编辑程序支持下在计算机中输入源程序。然后编译程序,把源程序翻译成目标程序。如果发现错误,就重新调入编辑程序对源程序进行修改。编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。 5.什么是软件工程环境?谈谈你对环境重要性的认识。答:方法与工具相结合,再加上配套的软、硬件支持就形成环境。例如在批处理时代,用户开发的程序是分批送入计算机中心的计算机的,有了错误,就得下机修改。程序员对自己写的程序只能继续地跟踪,思路经常被迫中断,效率难于提高。分时系统的使用,使开发人员从此能在自己的终端上跟踪程序的开发,仅此一点,就明显提高了开发的效率。 6. 何谓面向对象软件工程?简述它与传统软件工程在各型软件开发中的作用。 答:以面向对象程序设计为基础。 7. 软件按规模大小可分成哪几类?简述软件工程中各型软件开发中的作用。 答:按规模分为极小、小、中、大、甚大、极大。(1)中小型软件:

软件工程作业答案

新版形考作业答案第一次!! 09软件工程作业1答案 一、选择题: 1. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。 A.软件工程 B.软件周期 C.软件危机 D.软件产生 2. 瀑布模型本质上是一种(A )模型。 A.线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 3. 瀑布模型存在的问题是(B )。 A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求 4. 螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。 A.增量模型B.专家系统C.喷泉模型D.变换模型 5. 原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。 A.需求不确定性高的B.需求确定的C.管理信息D.实时 6. 下列有关软件工程的标准,属于国际标准的是(D) A.GB B.DIN C.ISO D.IEEE 7. 结构化方法是一种基于(D)的方法。 A.数据结构 B.程序结构 C.算法 D.数据流 8. 软件可行性研究实质上是要进行一次(A)需求分析、设计过程。 A、简化、压缩的 B、详细的 C、彻底的 D、深入的 9. 可行性研究的目的是(D) A、分析开发系统的必要性 B、确定系统建设的方案 C、分析系统风险 D、确定是否值得开发系统 10. 设年利率为i,现存入p元,不计复利,n年后可得钱数为(C)。 A、P×(1+i*n) B、P×(i+1)*n C、p×(1+i)n D、p×(i+n) 11. 可行性研究是在(A)之前 A、系统开发 B、测试 C、试运行 D、集成测试 12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的(C)。 A、1% B、20% C、8% D、50% 13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。 A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》 C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》 14. 效率是一个性能要求,因此应当在以下(B)阶段规定 A、可行性分析 B、需求分析 C、概要设计 D、详细设计 15. 需求规格说明书的作用不包括(D) A、软件验收的依据 B、用户与开发人员对软件要做什么的共同理解 C、软件可行性研究的依据 D、软件设计的依据 16. 数据字典是用来定义(D)中的各个成份的具体含义的。 A、程序流程图 B、功能结构图 C、系统结构图 D、数据流程图 17. 数据流程图是(A)方法中用于表示系统逻辑模型的一种图形工具。 A、SA B、SD C、SP D、SC 18. DFD中的每个加工至少有(A)。 A、一个输入流或一个输出流

软件工程大作业

《软件工程》大作业 学期: 2015秋季学期 班号: 学号: 姓名: 成绩: 子与信息工程学院 2015年10月

电子与信息工程学院大作业 目录 第1章系统概述 (2) 1.1系统介绍 (2) 1.2开发的目的与意义 (2) 第2章可行性分析 (3) 2.1经济可行性 (3) 2.2 技术可行性 (3) 2.3 系统业务分析 (3) 第3章需求分析 (5) 3.1 结构化需求分析 (5) 3.2 系统需求说明 (5) 3.3 系统数据流图和数据字典 (6) 第4章系统设计 (9) 4.1 系统ER图 (9) 4.2 系统功能结构图 (11) 第5章系统实现 (11) 5.1用户模块 (11) 5.2用户注册功能 (12) 第6章系统测试 (13) 1

第1章系统概述 随着计算机网络技术和信息技术的不断发展,人类信息资源实现高度共享,从根本上改变了人类生活的方式,网上购物作为一种新型的购物方式,以其快捷方便的特点成为了人们购物的主要选择。网上支付的不断完善,加上物流业的配套建设,使得用户能够足不出户就能挑选商品,节省了时间和金钱,这种网上购物方式越来越受到人们的青睐。 1.1系统介绍 网上商城系统是一个可以方便各类人群所需,省时省力全方位的大型购物网上商城,可以让所需人群足不出户不分地域时间的购买所需用品。网上商城系统共分为两个部分:前台用户部分和后台管理部分。在前台系统中有用户注册登陆,浏览商品,选购商品,订购商品。后台系统中有系统管理,会员管理,订单管理,商品管理。在用户注册模块中,分别加强了用户注册信息验证的严格性;在商品或商家信息浏览和查询模块中,用户可以对商品进行浏览检索,查看商品的详细信息;非注册会员可以选定商品加入购物车,但只有注册成会员的用户才能对商品进行购买。在后台系统中,系统管理员可以对已注册的用户进行审查,可以对现有的商品进行管理;并对提交的订单进行处理与邮寄。 1.2开发的目的与意义 在线购物系统,从结构上讲,可以划分为前台和后台两个部分,主要涉及到前、后台的网页设计,以及与数据库相关的操作。在网络应用中,数据库的应用是一个很关键的环节。特别地,随着Internet的普及和人们对于互联网的依赖性,许多基于互联网的应用也不断的涌现出来。基于B/S(浏览器、服务器)构架开发网站和系统已成为一种主流趋势,人们对其的需求也越来越大。 现在已经进入网络时代,很多电子产品的生产企业也开始意识到了网络的重要性,开始在电子产品中加入对网络服务的支持。比如在智能手机中增加了对移动互联网应用的支持,这在提升了电子产品的竞争力的同时,也扩展了电子商务的应用范围。 总体上看,电子商务的发展,具有十分良好的发展前景。

(完整版)《软件工程》作业及答案

t h e i 《软件工程》作业及答案 1-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。软件危机典型表现:对软件开发成本和进度的估计常常很不准确。用户对“已完成的”软件系统不满意的现象经常发生。软件产品的质量往往靠不住。软件常常是不可维护的。软件通常没有适当的文档资料。软件成本在计算机系统总成本中所占的比例逐年上升。软件开发生产 率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。软件不同于硬件,它是计算机系 统中的逻辑部件而不是物理部件。管理和控制软件开发过程相当困难。 软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上 升。目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念, 在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。1-2 假设你是一家软件公司的总工程师,当你把图1.1给手下的软件 工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能 在设计阶段清除它呢?”你怎么反驳他? 1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? 答: 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。 软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具 有另一种文化背景的人创造产品。 消除软件危机的途径:为了消除软件危机,首先应该对计算机软件有一个正确的认识。必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。应该推广使用在实践中总结出来的开发软件的成功 的技术和方法,并且研究探索更好更有效的技术和方法,尽快消除在 计算机系统早期发展阶段形成的一些错误概念和做法。应该开发和使用更好的软件工具。为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。1-6 什么是软件过程?它与软件工程方法学有何关系? 答: 软件过程是为了获得高质量软件所需要完成的一系列任务的框架, 它规定了完成各项任务的工作步骤。软件工程方法学包含软件过程。1-7 什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增 量模型和螺旋模型的优缺点,说明每种模型的适用范围。 答: 生命周期模型简洁地描述软件过程,规定了把生命周期划分成哪些阶段及各个阶段执行顺序。 瀑布模型历史悠久、广为人知,它的优势在于它是规范的、文档驱动的方法;这种模型的问题是,最终开发出的软件产品可能并不是用户 真正需要的。 快速原型模型正是为了克服瀑布模型的缺点而提出来的。它通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用 户反馈意见的办法,获取用户的真实需求。 增量模型具有可在软件开发的早期阶段使投资获得明显回报和较易维护的优点,但是,要求软件具有开放的结构是使用这种模型时固有的困难。 风险驱动的螺旋模型适用于内部开发的大型软件项目,但是,只有在开发人员具有风 险分析和排除风险的经验及专门知识时,使用这种模型才会获得成功。 快速原型模型:适合小型软件; 螺旋模型:适合内部开发的大规模软件项目。2-1 在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面 研究目标系统的可行性? 答: 可行性研究的目的,就是用最小的代价在尽可能短的时间内确定 问题是否能够解决。至少应该从下述三方面研究每种解法的可行性:(1)技术可行性;(2)经济可行性;(3)操作可行性。 2-5 北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。请用2.5.2小节讲述的定义数据的方法,定义上述的电话号码。答: 电话号码=[校内电话|本市电话|外地电话] 非零数字字符=[1|2|3|4|5|6|7|8|9] 校内电话=非零数字字符+3{数字}3本市电话=0+非零数字字符+7{数字}7外地电话=0+区码+非零数字字符+7{数字}73-1 为什么要进行需求分析?通常对软件系统有哪些需求?答: 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。确定对系统的综合要求:1、功能需求;2、性能需求;3、可靠性和可用性需求;4、出错处理需求;5、接口需求;6、约束;7、逆向需求;8、将来可以提出的要求,分析系统的数据要求。3-2 怎样与用户有效地沟通以获取用户的真实需求? 答: 与用户沟通获取需求的方法:访谈;面向数据流自顶向下求精;简易的应用规格说明技术;快速建立软件原型 4-2 在什么情况下应该使用形式化说明技术?使用形式化说明技术时应 遵守哪些准则? 答: 在开发大型软件系统的过程中应该使用形式化说明技术。应用形式化方法的准则:(1)应该选用适当的表示方法。(2)应该形 式化,但不要过分形式化。 (3)应该估算成本。(4)应该有形式化方法顾问随时提供咨询。 (5)不应该放弃传统的开发方法。(6)应该建立详尽的文档。(7)不应该放弃质量标准。(8)不应该盲目依赖形式化方法。(9)应该测试、测试再测试。(10)应该重用 7-8 对一个包含10000条机器指令的程序进行一个月集成测试后,总 共改正了15个错误,此时MTTF=10h;经过两个月测试后,总共改正了 25个错误(第二个月改正了10个错误),MTTF=15h 。要求:(1) 根据上述数据确定MTTF 与测试时间之间的函数关系,画出 MTTF 与测试时间τ的关系曲线。在画这条曲线时做了什么假设?(2) 为做到MTTF=100h ,必须进行多长时间的集成测试?当集成测试结束时总共改正了多少个错误,还有多少个错误潜伏在程序中? 答: (1)所做假设:1)单位长度里的错误数近似为常数;2)失效率正比于软件中剩余的错误数,而平均无故障时间与剩余的错误数成反比. 3)发现的每一个错误都立即正确地改正了.(2)由Shooman 公式:MTTF=I T /(K*(E T -E C (T))) 其中,I T =104,MTTF 1=10,n 1=15,MTTF 2=15,n 2=25。得:MTTF 1=I T /(K*(E T -E C (T 1)))10=10000/(K*(E T -15))MTTF 2=I T /(K*(E T -E C (T 2)))15=10000/(K*(E T -25)) (1)解得程序中固有的错误总数E T =45,此外K=100/3。(2)设MTTF=100,有 100=10000/((100/3)*(45-x))

相关文档
最新文档