当前位置:文档之家› 软件工程综合训练

软件工程综合训练

软件工程综合训练
软件工程综合训练

1、下列哪一项不属于保密级别()

A、普通

B、加密

C、保密

D、机密

正确答案B

2、在()菜单上点击工具栏菜单项,再选择“PERT分析”,将出现PERT分析工具栏。

A、视图

B、编辑

C、格式

D、插入

正确答案:A

3、对用例不需要在()处打对钩,其中打对钩用例的UUCW会自动计算得出

A.简单

B、普通

C、一般

D、复杂

正确答案:C

4、面向对象设计的步骤中,正确的顺序是()

A、系统结构设计、用例设计、类设计

B、系统构架设计、数据库设计和用户界面设计

C、类设计、用例设计、构架设计

D、用例设计、构架设计、类设计

正确答案:A

5、两个模块都访问一个全局简单变量而不是同意全局数据结构,则这两个模块属于()

A、数据耦合

B、外部耦合

C、公共耦合

D、内容耦合

正确答案B

6、下列哪个不是UML的视图()

A、逻辑视图

B、行为视图

C、组件视图

D.并发视图

正确答案B

7、属于某个类的一个具体对象称为该类的()。

A、实例

B、虚拟

C、继承

D、多态

正确答案:A

8、表示对象相互行为的模型是()模型

A、动态模型

B、功能模型

C、对象模型

D、状态模型

正确答案:A

9、对象实现了数据和操作的结合,使数据和操作()于对象的統一体中。

A、结合

B、隐藏

C、封装

D、抽象

正确答案:C

10、结构化程序设计思想的核心是要求程序只由顺序循环和()三种结构组成。

A、分支

B、单入口

C、单出囗

D、有规则GOTO

正确答案:A

11、要更改项目的工作时间,请点击()菜单下的“更改工作时”选项

A、文件

B、编辑

C、工具

D、选项

正确答案:C

12、下列()不是任务之间的相关性关系

A、FS

B. FD

C、SS

D、SF

正确答案:D

13、需求优先级:分为1-5个级别,()是最最级别,在项目开发过程中要最先实现

A、2

B、3

C、4

D、5

正确答案:D

14、在软件生存期的维护阶段,继续诊断和修正错误的过程称为()。

A、完善性维护

B、适应性维护

C、预防性维护

D、改正性维护

正确答案:D

15、不属于软件项目管理的是()。

A、开发机构能力评估

B、项目风险评估

C、质量监控

D、软件销售利润

正确答案:D

16、下列哪个选项不是软件工程的宗旨?()

A、开发满足用户需求的软件

B、研究算法

C、及时交付软件

D、生产无故障软件

正确答案:B

17、可行性研究实质上是在较高层次上、以较抽象的方式进行的()过程。

A、详细软件设计

B、系统分析和设计

C、深入的需求分析

D、测试设计

正确答案:B

18、需求规格说明书的作用不包括

A、软件验收的依据

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

C、软件可行性研究的依据

D、软件设计的依据

正确答案:C

19、进行需求分析有多种描述工具,单不包括()

A、数据视图

B、实体关系图

C、PAD图

D、数据字典

正确答案:C

20、反映模块独立性的指标是()。

A、模块的复杂性

B、模块的大小

C、模块的参数

D、内聚和耦合

正确答案:D

21、模板文件的后缀名是()

A、*.mpt

B、*.pro

C.*.dot

D、*.xls

正确答案:A

22、选中整列,正确的方法是()

A、把光标置于单元格内,单击鼠标左键

B、左键在标识号单元格单击

C、列标题行和标识号列的交点处单击

D、左键单击列标题

正确答案:D

23、删除任务的操作方法可按()键

A、Delete

B、Ctrl

C. Shift

D、Alt

正确答案:A

24、UML中,包图是一种()

A、集合

B、数据结构

C、分组机制

D、对系统的动态描述

正确答案:C

25、以下哪一项不属于面向对象的软件开发方法?()

A、coad方法

B、booch方法

C、jackson方法

D、omt方法

正确答案:C

26、面向对象分析的核心在于()

A、建立正确的模型

B、识别问题域对象

C、识别对象之间的关系

D.上面都有

正确答案:D

27、在面向对彖方法中,描述系统控制结构的模型是()模型

A、动态模型

B、功能模型

C、对象模型

D、静态模型

正确答案:A

28、每个子系统的接口上定义了若干(),提现了子系统的功能。

A、说明

B、操作

C、属性

D、关系

正确答案:B

29、一下哪种测试方法不属于白盒测试技术?()

A、语句覆盖测试

B、边界值分析测试

C、条件覆盖测试

D、判断覆盖测试

正确答案:B

30、软件测试的主要特点是()

A、软件测试的开销不大

B、软件测试要依靠工具

C、软件不能进行穷测试

D、软件测试要依靠人工

正确答案:C

31、下列哪一项不是项目组分配角色项()

A、项目组长

B、开发人员

C、测试人员

D、管理人员

正确答案:D

32、选中连续单元格可以先选择该区域的第一个单元格,然后按下()键之后选。

A、ALT

B. SHIFT

C. CTRL

D. BACKSPACE

正确答案:B

33、在项目计划中,“里程碑”的任务工期一般是()

A、0

B、1

C、2

D、3

正确答案:A

34、要查看项目的总体信息,可以使用()菜单下的“项目信息"命令

A、文件

B、项目

C、编辑

D、工具

正确答案:B

35、在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了()。

A、软件危机

B、软件工程

C、程序设计革命

D、结构化程序设计

正确答案:A

36、瀑布模型的关键不足在于()。

A、过于简单

B、不能适应需要的动态变更

C、过于灵活

D、各个阶段需要进行评审

正确答案:B

37、可行性研究的四大要素是()

A、经济、技术、法律和社会环境

B、经济、技术、开发组织能力和领导者水平

C、经济、技术、计算机硬件环境和网络带宽

D、经济、技术、软件开发工具和人员的稳定性

正确答案:A

38、需求分析过程中,分析员要从用户那里解决的最重要的问题时()。

A、要求软件做什么

B、要给软件提供哪些信息

C、要求软件工作效率如何

D、要求软件具有什么样的结构

正确答案:A

39、DFD中的每个加工至少需要0

A、一个输入流

B、一个输出流

C、一个输入或输出流

D、一个输入流和一个输出流

正确答案:D

40、PDL是描述处理过程()

A、做什么

B、为什么做

C、怎样做

D。、对谁做

正确答案:C

41、当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为()

A/数据耦合

B、公共耦合

C、标记耦合

D、内容耦合

正确答案:D

42、按照模块独立性,耦合程度由弱至强正确的顺序是()。

A、数据耦合、控制耦合、外部耦合、内容耦合

B、控制耦合、数据耦合、内容耦合、外部耦合

C、内容耦合、外部耦合、控制耦合、数据耦合

D、外部耦合、内容耦合、数据耦合、控制耦合

正确答案:A

43、(______)就是在产品描述、任务清单的基础上,找出项目任务之间的依赖关系和特殊领域的依赖关系、工作顺序。

正确答案:任务排序

44、在估算工期时要充分考虑任务清单、合理的(_____)、(_______)因素以及环境因素对项目工期的影响

正确答案:资源需求、人员的能力

45、需求来源内容可以通过选择方式输入,主要分为(______)、(______)工程、研发、(______)、(______)、其它等七种来源

正确答案:用户、市场、公司、高层

46、(______)根据对用户需求的收集,以自然语言方式来描述需求

正确答案:需求项内容

47在做软件评估时,我们通过(______)来制定详细的项目进度表。

正确答案:UCP方法

8、在制定项目计划的时候还应当注意(______)和(______)的结合,对于短期内的

正确答案:长期计划、短期计划

49、项目计划的第一步是项目范围定义,进而走义项目需要进行的

(______)、(______)、责任以及项目组的结构。

正确答案:活动、角色

50、文档人员根据系统实现及测试的进度,及时完成相关模块的产品支持文档,要求至少包含(______)、(______)。

正确答案:《用户操作手册》、《联机帮助》

51、常用的任务类视图有:“甘特图”视图、(______)、(______)、“任务分配状况”视图等

正确答案:“网络图”视图、“日历”视图

52、关于目标的确定,必须符合(______)原则,即目标必须明确、可行、具体和可以度量

正确答案: SMART

三、判断(6分)

53、0OA和OOD之间的界限是模糊的。()

正确答案:错误

54、一个模块的扇入是指该模块被其它模块调用的个数,扇入应尽可能的小。()

正确答案:错误

55、尽可能在软件生产过程中保证各阶段文件的正确性。()

正确答案:正确

56、一个模块扇入是指该模块被其它模块调用的个数,扇入应尽可能的小。()

正确答案:错误

57、盒图的主要优点之一是强制设计人员采用结构化设计方法。()

正确答案:正确

58、任何情况下,对象模型始终是最重要、最基本的。()

正确答案:正确

59、《项目开发计划书》中主要内容有哪些?

正确答案:

《项目开发计划书》中主要内容有

引言部分;

软件过程定义部分;

生命周期定义部分;

关键计算机资源部分;

度量目标部分;;

任务分解和进度安排部分;

60、软件工程的主要目标是什么?

正确答案:

软件工程旨在开发满足用户需求、及时交付、不超过预算和无故障的软件,其主要目标如下

实现预期的软件功能,达到较好的软件性能,满足用户的需求

增强软件过程的可见性和可控性,保证软件的质量;

提高所开发软件的可维护性,降低维护费用;

提高软件开发成本,及时交付使用;

合理预算开发成本,付出较低的开发费用;

61、软件需求可以分为业务需求、用户需求、功能需求和非功能需求,分析功能需求和非功能需求的区别?

正确答案:

(1)功能需求定义了软件开发人员必须实现的软件功能。用户从他们完成任务的角度对软件提出了用户需求,这些需求通常是凌乱的,非系统化的,有冗余的,开发人员不能据此编写程序。软件分析人员要充分理解用户需求,将用户需求整理成软件功能需求。开发人员梖据功能需求进行软件设计和编码。

(2)非功能需求是读功能需求的补充,可以分两类。一类对用户来说是最重要的属性,包括有效性、高效性、灵活性、完整性、互操作性、可靠性、健壮性、可用性。另一类对开发着来说是很重要的质量属性,包括维护性、可移植性、可重用性、可测试性。

62、—般IT企业产品研发过程中,项目类型可以分为哪几类?

正确答案:

合同定制类以双方签订的合同作为研发的主要内容及验收标准的项目

新产品研发类:是指需要研发的产品或其应用领域对企业来说是全新的,研发管理过程应当更加严格。

技术服务类:采用的开发过程相对比较简化,可以采用敏捷过程进行开发。

软件外包类:按软件开发阶段分阶段的部分工作外包完成。

63、测试人员和文档人员职责?

正确答案:

测试人员职责

(1)为项目制定测试计划,并按得到批准的计划开展活动。

(2)为项目编写集成测试及系统测试用例,并执行软件测试过程。

(3)测试的审查和验证。

(4)测试完后,编写测试报告。

文档人员职责

负责系统使用说明书或用户手册、系统联机帮助、安装程序的编写等。

64、等价分类法的基本思想是什么

正确答案:

根据程序的输入特性,将程序的定义域划分为有限个等价区段“等价类”,从等价类中选择岀的用例具有代表性,即测试某个等价类的代表值据等价于对这一类其他值得测试。若果某个等价类的一个输入数据测试中查出了错误,说明该类中其他测试用例也会有错误。

65、—个程序片段如下,请设计符合判定覆盖的测试用例

if(a>=5)&&(b<0)

{

c=a+b;

else

c=a-b;

if(c>5)| |(c<1)

printf("c不在计算区域\n")

else

printf("%d\n", c);

正确答案:

a>=5 b<=0

a>=5 b> b=0

c<1

1

符合判定覆盖的测试用例:a=5,b1,c=4;5,b=5,c=0

66、实训时采用的生命周期“瀑布模型”主要完成的内容?

正确答案:主要完成的内容

《项目立项》→《项目初步计划》→《需求分析》→《项目详细计划》→《系统设计》→《系统编码》→《集成测试》→《系统测试》→《产品发布》

→《项目总结》

67、软件工程为什么要强调规范化和文档化。

正确答案:

(1)软件工程强调规范化和文档化。规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。

(2)文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人眼借助于文档进行交流和沟通。另外,在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。在用户最终验收时可以通过对提交的文档进行技术审查和管理审查,保证软件的质量。

68、简述在项目开发时选择程序设计语言的主要考虑因素。

正确答案:

编程人员的水平和编程经历;

待开发的软件类型;

法和计算复杂度;

数据结构的复杂度;

软件的开发成本和时间要求;

软件可移植性要求;

可用的软件工具。

69、请使用PAD图和PDL语言描述在数组A(1)~A(10)中找最大数的算法。

正确答案:PDL语言

N=1

WHILE N<=10 DO

IF A(N)<=A(N+1) MAX =A (N+1);

ELSE MAX =A (N) ENDIF;

N=N+1;

ENDWHILE;

PAD图;

70、盈余分析的基础及涉及三个关键值?

正确答案:

(1)项目计划中规划的各个任务的计划工作量,即计划工作的计划工作量(BCWS)。BCWS是到选定状态日期为止的比较基准成本。计划工作量值存储在比较基准域中,或者如果保存了多个比较基准,应分别保存在“比较基准1”到“比较基准10”域中。

(2)到状态日期为止,完成所有任务或部分任务所需的实际成本,即已完成工作的实际工作量(ACWP)。

(3)在状态日期前完成的工时值(以货币进行度量),实际上就是已完成工时的盈余值,称为已完成工作的计划工作量(BCWP)。该值按单项任务进行计算,但在总体水平上进行分析。

71、衡量模块独立性的两个标准是什么?他们各表示什么含义?

正确答案:

(1)两个定性的度量标准往:耦合和内聚性。

(2)耦合性:也称块间联系。指软件系统结构中各模块间互相联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。

(3)内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。模块内元素联系越紧密,内聚性越高

72、活动图与状态图的区别?

正确答案:

(1)描述的重点不同:活动图描述的是从活动到活动的控制流;状态图描述的是对象的状态及状态之间的转移

(2)使用的场合不同;在分析用例、理解涉及多个用例的工作流、处理多线程应用等情况下,一般使用活动图;在显示一个对象在其生命周期内的行为时,一般使用状态图

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

软件危机与软件工程 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 ?缺乏好的开发方法和手段

软件工程实训心得体会3篇

软件工程实训心得体会3篇 软件工程实训心得体会一:软件工程实训心得体会 这次软件工程实训是从2010.12.26号开始的,截至2010.12.31号.实训内容是用java相关知识(主要是jsp)做一个物流配送系统.下面谈谈对这次实训的看法. 因为自己平时对java知识储备不足,特别是jsp这一块基本不了解怎么回事,所以一拿到这个项目,我心里都是没有底的,再加上我被分到的那个组,我知道就意味着是我一个人在战斗了.呵呵,26号,实训开始了,我们的老师是来自中软国际公司的程序员,一个是周褀,一个是朱映,都是一身朴素的着装,让我感觉做软件的也没什么两样.老师介绍了自己之后,就直接切入正题了,分析了下我们各个组的系统,即将用到的知识,然后就总体把觉得需要补充的知识(jsp和数据库连接等这几块)给我们实际操作了下,因为当时看到用jsp,还讲的那么认真,当时我就后悔了,平时要是多听点,现在老师这么认真的给我们讲,这是一个多么难得的机会啊.后悔也没用啊,开始还勉强能理解一点,后来就直接晕了.然后再给大家介绍了一些即将用到的工具,比如rationalrose,svn,myeclipse等等.接下来的几天就不再细讲了.下面谈谈通过这次实训的心得体会吧. 通过这次实训,让我了解到工程开发的过程,可行性分析——> 需求分析——> 概要设计——> 详细设计——> 代码编写——> 测试——> 验收.从技术方面上,我开始jsp基础基本上就是零的,在老师和syz2(另外一个物流小组,我一个人基本上是跟她们做的,或者说是

看着她们做的)的帮助下,对jsp有了一个大概的认识.其实实训开 始前,我还以为做个系统没什么大不了,可是当真正拿到一个项目,我却真的无从下手了,而且就是在知道需求分析和详细设计,在代码编 写时,一样寸步难行.通过这个实训,也让我了解到,团队协作是多么 的重要.一个人的精力是多么的有限.进一步理解到,企业为什么如此重视团队协作.同时借用老师的话就是团队协作固然重要,但是是建 立在个人素质的基础上,假设你个人素质不行,将会影响到整个团队,就别提对团队作更多贡献了.**老师说这几句话的时候,朝向了我,估计是有特殊意义的吧,所以,我将谨记老师的教导. 还有一个收获是从一个同学(小胖)那里得到的,他的那组成员跟我的这组大体一样,我倒是觉得没什么了,不过他倒是很重视这个 问题吧.然后他说出来,我也觉得这个问题确实其实是个大的问题.就是不管你会不会这门技术,会不会做这个东西,态度要正确才好,就算你不会做,你也应该认真的对待,将来出身到社会,就不是说像你现在,不会做就不做,跑去玩游戏了.小胖说出了这段话,也在我身上有了一个印证,虽然我jsp技术知识为0,但我也还是在认真的跟着他们一 起做,不会做,就多问,毕竟现在我们是学生,可以毫不顾忌的询问各 种问题,老师也会尽力为你回答.将来出身社会就不一样了.虽然,我 就算个打酱油的水平,但是这个酱油也要打得有涵量啊.不管怎么样,我能对自己有个交待,虽然我不会,但是这次实训我确实是认真对待了,六天的实训,除了晚上加班外,还花了2个通宵来完成不同阶段的任务,完成与否也不重要了,我至少我做了,这点,是这次我应该对自 己的一个肯定. 这次实训的心得基本上就是这些了,最后特别感谢中软国际带我们的那两个老师(周褀,朱映),这两个老师对待我们很平易近人,对我们提出的问题,总是不光解决了,还进行了扩展,晚上也跟我们一起加班加到很晚,印象尤其深刻就是朱映老师为了给小胖解决一个问题, 脸都变红了,还在继续努力,这点我并不会觉得老师知识储备不够,我想应该是这个问题的突发吧,一时没想到怎么处理.相反让我感觉更 多的就是老师很认真,很负责.还要感谢就是syz2小组的倾力支持, 辅导. 软件工程实训心得体会二:软件工程实践学习心得(2607字)

软件工程专业基础综合

《软件工程专业基础综合》考试大纲 第一部分数据结构与算法 考试题型:问答、分析、编程 总分:60分 一、栈(Stack)、队列(Queue)和向量(Vector) 内容: 单链表,双向链表,环形链表,带哨兵节点的链表; 栈的基本概念和性质,栈ADT及其顺序,链接实现;栈的应用;栈与递归; 队列的基本概念和性质,队列ADT及其顺序,链接实现; 队列的应用; 向量基本概念和性质;向量ADT及其数组、链接实现; 二、树 内容: 树的基本概念和术语;树的前序,中序,后序,层次序遍历; 二叉树及其性质;普通树与二叉树的转换; 树的存储结构,标准形式; 完全树(complete tree)的数组形式存储; 树的应用,Huffman树的定义与应用; 三、查找(search) 内容: 查找的基本概念;对线性关系结构的查找,顺序查找,二分查找; Hash查找法,常见的Hash函数(直接定址法,随机数法), hash冲突的概念, 解决冲突的方法(开散列方法/拉链法,闭散列方法/开址定址法),二次聚集现象; BST树定义,性质,ADT及其实现,BST树查找,插入,删除算法;

平衡树 (AVL) 的定义,性质,ADT及其实现,平衡树查找,插入算法,平衡因子的概念; 优先队列与堆,堆的定义,堆的生成,调整算法;范围查询; 四、排序 内容: 排序基本概念;插入排序,希尔排序,选择排序,快速排序,合并排序,基数排序等排序算法基本思想,算法代码及 基本的时间复杂度分析 五、图 内容:图的基本概念;图的存储结构,邻接矩阵,邻接表;图的遍历,广度度优先遍历和深度优先遍历;最小生成树基本概念, Prim算法,Kruskal算法;最短路径问题,广度优先遍历算法,Dijkstra算法,Floyd算法;拓扑排序 第二部分计算机系统基础 考试题型:问答、分析、编程 总分:40分 一、处理器体系结构 内容:CPU中的时序电路、单周期处理器的设计、流水线处理器的基本原理、Data Hazard的处理、流水线设计中的其他问题 二、优化程序性能 内容:优化程序性能、优化编译器的能力和局限性以及表示程序性能、特定体系结构或应用特性的性能优化、限制因素、确认和消除性能瓶颈 三、存储器结构及虚拟存储器 内容:局部性、存储器层级结构、计算机高速缓存器原理、高速缓存对性能的影响、地址空间、虚拟存储器、虚拟内存的管理、翻译和映射、TLB、动态存储器分配和垃圾收集 四、链接、进程及并发编程

软件工程课后作业

第1次作业 路松峰20140062 2018-07-29 10:32:40

软件产品的开发基本上是线性顺序进行的。 2、什么是模型? 模型是认识客观事物时,用文字、符号或者图表等进行简化问题描述的一种方式。 二、判断题 1、在软件开发中采用原型系统策略的主要困难是成本问题。 正确 2、软件过程改进也是软件工程的范畴。 正确 三、选择题 1、包含风险分析的软件工程模型是( D )。 A.喷泉模型 B.瀑布模型 C.增量模型 D.螺旋模型 2、软件过程是(C )。 A.特定的开发模型 B. —种软件求解的计算逻辑 C.软件开发活动的集合 D.软件生命周期模型 3、CMM模型将软件过程的成熟度分为5个等级。在(B )使用定量分析来不断地改进和管理软件过程。 A.管理级 B.优化级 C.定义级 D.可重复级 第3次作业 路松峰_20140062 2018-07-29 10:34:34 一、简答题 1、需求分析有哪三种方法? 面向功能分析、面向数据分析、面向对象分析 2、什么是面向数据结构方法? 面向数据结构方法是一类侧重从数据结构方面去分析和表达软件需求,进行软件设计的开发方法。该方法从数据结构入手,分析信息结构,并用数据结构图来表示,再在此基础上进行需求分析,进而导岀软件的结构。

二、判断题 1、需求评审人员主要由开发人员组成,一般不包括用户。 错误 2、非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的要求。正确 三、选择题 1、增量模型本质上是一种( C )。 A.线性顺序模型 B.整体开发模型 C.非整体开发模型 D.螺旋模型 2、需求工程的主要目的是( C )。 A.系统开发的具体方案 B.进一步确定用户的需求 C.解决系统是“做什么的问题” D.解决系统是“如何做的问题” 3、在E-R模型中,包含以下基本成分(D )。 A.数据、对象、实体 B.控制、关系、对象 C.实体、关系、控制 D.实体、属性、关系 第4次作业 路松峰_20140062 2018-07-29 10:35:04 一、简答题 1、面向对象分析模型的五个层次是什么? 五个层次:类与对象层,属性层,服务层,结构层,主题层 2、对象的五个特点是什么?

计算机公共基础

第一章数据结构与算法 1.1算法 算法:是指解题方案的准确而完整的描述。 算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。 算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括: (1)可行性; (2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性; (3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义; (4)拥有足够的情报。 算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。 指令系统:一个计算机系统能执行的所有指令的集合。 基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。 算法的控制结构:顺序结构、选择结构、循环结构。 算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。 算法复杂度:算法时间复杂度和算法空间复杂度。 算法时间复杂度是指执行算法所需要的计算工作量。 算法空间复杂度是指执行这个算法所需要的内存空间。 1.2数据结构的基本基本概念 数据结构研究的三个方面: (1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构; (2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; (3)对各种数据结构进行的运算。 数据结构是指相互有关联的数据元素的集合。 数据的逻辑结构包含: (1)表示数据元素的信息; (2)表示各数据元素之间的前后件关系。 数据的存储结构有顺序、链接、索引等。 线性结构条件: (1)有且只有一个根结点; (2)每一个结点最多有一个前件,也最多有一个后件。 非线性结构:不满足线性结构条件的数据结构。 1.3线性表及其顺序存储结构 线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。 在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。 非空线性表的结构特征: (1)且只有一个根结点a1,它无前件; (2)有且只有一个终端结点an,它无后件; (3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。结点个数n称为线性表的长度,当n=0时,称为空表。 线性表的顺序存储结构具有以下两个基本特点: (1)线性表中所有元素的所占的存储空间是连续的; (2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。 顺序表的运算:插入、删除。(详见14--16页) 1.4栈和队列 栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。 栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用。用top表示栈顶位置,用bottom表示栈底。 栈的基本运算:(1)插入元素称为入栈运算;(2)删除元素称为退栈运算;(3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。 队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。Rear指针指向队尾,front 指针指向队头。 队列是“先进行出”(FIFO)或“后进后出”(LILO)的线性表。 队列运算包括(1)入队运算:从队尾插入一个元素;(2)退队运算:从队头删除一个元素。 循环队列:s=0表示队列空,s=1且front=rear表示队列满

软件工程综合实训

软件工程综合实训 一. 学籍管理系统 软件效果图: 1 设计要求: (1)录入学生基本信息功能的界面。用户可以通过菜单选项让程序呈现“录入学生基本信息”功能的界面,通过该界面可以录入学生的学号、姓名、性别、出生日期、专业和照片等信息。 (2)修改学生基本信息功能的界面。用户可以通过菜单选项让程序呈现“修改学生基本信息”功能的界面,通过该界面可以对已录入的学生信息进行修改。 (3)查询与打印学生基本信息功能的界面。用户可以通过菜单选项让程序呈现“查询与打印学生基本信息功能的界面”,通过该界面可以对已录入的学生信息进行查询与打印。。 (4)删除学生基本信息功能的界面。用户可以通过菜单选项让程序呈现“删除学生基本信息”功能的界面,通过该界面可以删除已录入的学生信息。 2 总体设计: 在设计学籍管理系统时,需要编写7个Java源文件:ManagerWindow.java、InputStudent.java、Inquest.java、ModifySituation.java、Delete.java、Student.java 和StudentPicture.java。学籍管理系统除了需要编写的7个Java源文件给出的类外,还需要Java系统提供的一些重要的类,如JmenuItem、HashMap和File等

类。 (1)专业.txt 这个文本文件用来生成专业名称列表,以便灵活、有效地录入专业信息。要将该文件和应用程序存放到同一目录中。 (2)ManagerWindow.java(主类) 负责创建学籍管理系统的主窗口,该类含有main方法,程序从该类开始执行。其成员变量中有4种重要类型的对象:InputStudent、Inquest、ModifySituation、Delete对象。 (3)Student.java Student类所创建的对象是InputStudent类的成员之一,负责封装学生的基本信息。 (4)StudentPicture.java StudentPicture类所创建的对象是InputStudent、Inquest和ModifySituation类的成员之一,负责显示学生的照片。 (5)InputStudent.java InputStudent类所创建的对象是ManagerWindow.java类的成员之一,负责提供录入学生的基本信息的界面。 (6)Inquest.java Inquest类所创建的对象是ManagerWindow.java类的成员之一,负责封提供查询学生基本信息和打印基本信息的界面。 (7)ModifySituation.java ModifySituation类所创建的对象是ManagerWindow.java类的成员之一,负责提供修改学生的基本信息的界面。 (8)Delete.java Delete类所创建的对象是ManagerWindow.java类的成员之一,负责提供删除学生的基本信息的界面。 3 详细设计 1)ManagerWindow主类 (i)创建的窗口效果如图1所示: 图1

电子科技大学2018年《软件工程学科基础综合 》硕士研究生考研大纲_电子科技大学考研网

电子科技大学2018年《软件工程学科基础综合》硕士研究生考研大 纲 考试科目860软件工程学科基础综合考试形式笔试(闭卷) 考试时间180分钟考试总分150分 一、总体要求 《软件工程学科基础综合》包括《软件工程》和《网络技术》两门课程,其中《软件工程》要 求考生了解软件工程的基本知识和方法,熟悉软件工程的主要环节,掌握最基础的软件工程理论方法,并能应用到实际的软件项目开发中。《网络技术》要求学生掌握计算机网络的基本概念、基本原理和基本方法;掌握计算机网络的体系结构和典型网络协议,了解典型网络设备的组成和特点,理解典型网络设备的工作原理;能够运用计算机网络的基本概念、基本原理和基本方法进行网络系统的分析、设计和应用。两门课程各占总分的50%。 二、内容 《软件工程》考试内容如下: 1.基本概念 重点是软件的特性、软件工程学的研究范畴,以及学习软件工程的意义。掌握软件的概念、特 点和软件工程的基本特征;理解为什么学习软件工程、如何学习。主要知识点: 1)软件的概念和特点 2)软件危机的概念和产生的原因 3)软件工程的定义、三要素和发展过程 2.过程模型 重点是各种实用的软件过程模型,以及不同过程模型的特点比较。掌握几种典型模型的优缺点 和能依据项目特征选择使用不同的模型;理解为什么有不同的模型、不同模型的特征。主要知识点: 1)软件生命周期概念、软件过程概念、能力成熟度模型CMM概念 2)常见的几种软件过程模型:瀑布、增量、原型、螺旋、喷泉等,比较各自优缺点 3.需求分析 重点是需求分析的一般步骤、数据流图、用例图、活动图、需求规格说明文档的编制。掌握结 构化分析模型的导出、数据流图/用例图/活动图的基本画法和需求规格说明文档的编制;理解需求分析的过程、主要步骤。主要知识点: 1)需求分析的概念 2)需求分析的过程:需求确认与需求变更 3)需求确认的步骤:需求获取→需求提炼→需求描述→需求验证 4)需求分析三类建模:功能模型、数据模型、行为模型。面向过程和面向对象的需求分析过 程中,三类模型各包含哪些内容? 5)掌握数据流图和用例图作法。 4.系统设计 重点是面向数据流的设计方法、面向对象的设计方法、过程设计的常用工具。掌握软件设计的 主要技术、主要内容和主要方法,能根据具体项目进行模块划分和软件架构设计;理解软件设计和需求分析之间的相互关系。主要知识点: 1)系统设计分为概要设计和详细设计 2)与设计相关的8个概念:抽象、体系结构、设计模式、模块化、信息隐藏、功能独立、细 化、重构。其中,着重考察体系结构、模块化、信息隐藏、功能独立。

国家二级公共基础知识(程序设计基础、软件工程基础)-试卷1

国家二级公共基础知识(程序设计基础、软件工程基础)-试卷 1 (总分:72.00,做题时间:90分钟) 一、选择题(总题数:36,分数:72.00) 1.选择题下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。(分数: 2.00) __________________________________________________________________________________________ 解析: 2.下列叙述中正确的是( )。 (分数:2.00) A.程序执行的效率与数据的存储结构密切相关√ B.程序执行的效率只取决于程序的控制结构 C.程序执行的效率只取决于所处理的数据量 D.以上都不正确 解析:解析:影响程序执行效率的因素有很多,如数据的存储结构、程序处理的数据量、程序的算法等。顺序存储结构和链式存储结构在数据插入和删除操作上的效率就存在差别。其中,链式存储结构的效率要高一些。 3.下列描述中,不符合良好程序设计风格要求的是( )。 (分数:2.00) A.程序的效率第一,清晰第二√ B.程序的可读性好 C.程序中要有必要的注释 D.输入数据前要有提示信息 解析:解析:一般来讲,程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。程序设计风格总体而言应该强调简单和清晰,程序必须是可以理解的。著名的“清晰第一,效率第二”的论点已成为当今主导的程序设计风格。 4.结构化程序所要求的基本结构不包括( )。 (分数:2.00) A.顺序结构 B.GOTO跳转√ C.选择(分支)结构 D.重复(循环)结构 解析:解析:结构化程序的基本结构有:顺序结构、选择结构和循环结构,没有GOTO跳转结构。 5.下列选项中不属于结构化程序设计原则的是( )。 (分数:2.00) A.可封装√ B.自顶向下 C.模块化 D.逐步求精 解析:解析:结构化设计方法的主要原则可以概括为自顶向下、逐步求精、模块化、限制使用goto语句。 6.结构化程序设计的基本原则不包括( )。 (分数:2.00) A.多元性√ B.自顶向下 C.模块化

软件工程课后作业

路松峰_ 2018-07-29 10:32:40 一、简答题 1.什么是软件工程 软件工程是关于软件生产的各个方面的工程学科。 二、判断题 1、软件危机的主要表现是软件需求增加,软件价格上升。 / 正确 2、软件就是程序,编写软件就是编写程序。 错误 三、选择题 1、用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为( A )工具。 A. CASE C. CAM D. CAD 2、在下列选项中,( C )不是软件的特征。 A.系统性与复制性 B.可靠性与一致性 C.有形性与可控性 D.抽象性与智能性 ) 3、软件工程的三要素是( B ) A.技术、方法和工具 B.方法、工具和过程 C. 方法、对象和类 D.过程、模型和方法

第2次作业 路松峰_ 2018-07-29 10:33:32 一、简答题 … 1、快速原型模型的主要优点是什么 软件产品的开发基本上是线性顺序进行的。 2、什么是模型 模型是认识客观事物时,用文字、符号或者图表等进行简化问题描述的一种方式。 二、判断题 1、在软件开发中采用原型系统策略的主要困难是成本问题。 正确 2、软件过程改进也是软件工程的范畴。 · 正确 三、选择题 1、包含风险分析的软件工程模型是( D )。 A.喷泉模型 B.瀑布模型 C.增量模型 D.螺旋模型 2、软件过程是( C )。 A.特定的开发模型 B.一种软件求解的计算逻辑 C.软件开发活动的集合 D.软件生命周期模型 3、CMM模型将软件过程的成熟度分为5个等级。在(B )使用定量分析来不断地改进和管理软件过程。

… 第3次作业 路松峰_ 2018-07-29 10:34:34 一、简答题 1、需求分析有哪三种方法 面向功能分析、面向数据分析、面向对象分析 ) 2、什么是面向数据结构方法 面向数据结构方法是一类侧重从数据结构方面去分析和表达软件需求,进行软件设计的开发方法。该方法从数据结构入手,分析信息结构,并用数据结构图来表示,再在此基础上进行需求分析,进而导出软件的结构。 二、判断题 1、需求评审人员主要由开发人员组成,一般不包括用户。 错误 2、非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的要求。正确 三、选择题 ;

软件工程综合实践报告

专业资料 软件工程综合实践 报告 企业用电管理系统设计 专业 学生姓名 班 级 学号 指导教师 完成日期 信息工程学院

目录 1.项目名称:企业用电管理系统......................................... 错误!未定义书签。 1.1编写目的..................................................................... 错误!未定义书签。 1.2背景说明..................................................................... 错误!未定义书签。 1.3开发环境..................................................................... 错误!未定义书签。 2. 软件介绍.......................................................................... 错误!未定义书签。 2.1目标 ............................................................................ 错误!未定义书签。 2.2用户的特点 ................................................................. 错误!未定义书签。 2.3假定与约束 ................................................................. 错误!未定义书签。 3. 需求分析.......................................................................... 错误!未定义书签。 3.1对功能的规定.............................................................. 错误!未定义书签。 3.2对性能的规定.............................................................. 错误!未定义书签。 3.2.1精度 ......................................................................... 错误!未定义书签。 3.2.2时间特性要求........................................................... 错误!未定义书签。 3.2.3灵活性...................................................................... 错误!未定义书签。 4. 软件的基本结构............................................................... 错误!未定义书签。 4.1数据管理能力要求....................................................... 错误!未定义书签。5.详细设计......................................................................... 错误!未定义书签。 6.部分编码 ........................................................................... 错误!未定义书签。 6.1企业信息查询代码 ....................................................... 错误!未定义书签。 6.2企业用电信息查询代码: ............................................ 错误!未定义书签。 6.3删除企业用电信息代码: ............................................ 错误!未定义书签。 6.4删除用电企业信息代码: ............................................ 错误!未定义书签。 7. 软件核心技术,存在问题等 ............................................. 错误!未定义书签。

二级考试公共基础知识单元软件工程

二级考试公共基础知识单元:软件工程 A005:构成计算机软件的是() A、程序和文档 B、程序和数据 C、程序、数据及相关文档 D、源代码 参考答案:C A006:软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是()A、可行性研究B、测试C、设计D、实现 参考答案:A A007:下面不能作为结构化方法软件需求分析工具的是() A、数据字典(DD) B、判定表 C、数据流程图(DFD图) D、系统结构图 参考答案:D A052(图):软件详细设计产生的图如下: 该图是() A、E-R图 B、PAD图 C、程序流程图 D、N-S图 参考答案:C A056:软件设计中划分模块的一个准则是() A、低内聚低耦合 B、高内聚高耦合 C、低内聚高耦合 D、高内聚低耦合 参考答案:D A057:下列选项中不属于结构化程序设计原则的是() A、模块化 B、可封装 C、逐步求精 D、自顶向下 参考答案:B A097:下列不属于软件开发阶段任务的是() A、实现 B、设计 C、可行性研究 D、测试 参考答案:C A148:面向对象方法中,继承是指() A、各对象之间的共同性质 B、类之间共享属性和操作的机制 C、一个对象具有另一个对象的性质 D、一组对象所具有的相似性质 参考答案:B A149:软件生命周期是指()

A、软件的开发过程 B、软件的运行维护过程 C、软件产品从提出、实现、使用维护到停止使用退役的过程 D、软件从需求分析、设计、实现到测试完成的过程 参考答案:C A150:软件测试的目的是() A、评估软件可靠性 B、改正程序中的错误 C、发现程序中的错误 D、发现并改正程序中的错误参考答案:C A189:下列属于系统软件的是() A、财务管理系统 B、数据库管理系统 C、杀毒软件 D、编辑软件word 参考答案:B A190:程序测试的目的是() A、执行测试用例 B、诊断和改正程序中错误 C、发现并改正程序中错误 D、发现程序中的错误 参考答案:D A228:下面对软件特点描述正确的是() A、软件在使用中存在磨损,老化问题 B、软件是一种逻辑实体,具有抽象性 C、软件复制不涉及知识产权 D、软件具有明显的制作过程 参考答案:B A229:下面属于良好程序设计风格的是() A、随意使用无条件转移语句 B、程序效率第一 C、程序输入输出的随意性 D、源程序文档化 参考答案:D A230:下面对软件测试和软件调试叙述错误的是() A、正确的执行测试用例 B、严格执行测试计划,排除测试的随意性 C、软件测试不需考虑测试成本 D、软件调试的目的是改正软件错误 参考答案:C A268:下面属于软件设计阶段产生的文档是() A、详细设计规格说明书 B、数据流程图和数据字典 C、软件需求规格说明书 D、软件确认测试计划 参考答案:A A269:软件工程包括的要素是() A、算法和工具 B、技术和管理 C、算法和过程 D、方法、工具和过程 参考答案:D A308(图):某系统结构图如下图所示,该系统结构图中最大扇出数是()。

软件工程基础(复习题及答案)

复习题 一、判断题(每题2分,共30分) 1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析 活动。(对) 2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(错) 3.JAVA语言编译器是一个CASE工具。(对)。 4.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(错) 5.软件模块之间的耦合性越弱越好。(对) 6.数据库设计说明书是一个软件配置项(对) 7.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。(错) 8.过程描述语言可以用于描述软件的系统结构。(错) 9.如果通过软件测试没有发现错误,则说明软件是正确的。(错) 10.快速原型模型可以有效地适应用户需求的动态变化。(对) 11.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(对) 12.集成测试主要由用户来完成。(错) 13.确认测试计划应该在可行性研究阶段制定(错) 14.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(错) 15.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(对) 16.在可行性研究中最难决断和最关键的问题是经济可行性。(╳) 17.耦合是指一个模块内各个元素彼此结合的紧密程度。(╳) 18. 一笔交易、一个动作、甚至操作人员按一个按钮都可以看做是一次事物。(√)

19.概要设计阶段完成的主要文档是概要设计说明书。(√) 20.过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。(╳) 21.程序设计语言中应绝对禁止使用GOTO语句。(╳) 22.类是关于对象性质的描述,由方法和数据组成。(√) 23.随着软件技术的发展,人们逐渐认识到编码不仅要强调效率还要强调清晰。(√) 25.为保证程序的安全,必须做到程序中没有任何错误存在,即容错。(╳) 26.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。(√) 名词解释 1.数据词典——是描述数据信息的集合,它对数据流图中的各 个元素按规定格式进行详细的描述和确切的解释,是数据流图的补充工具。 2.数据流图——他以图形的方式反映系统的数据流程 3.白盒测试——按照程序内部的结构测试程序,检验程序中的 每条路径是否都能按预定要求正确工作。有两种测试法既逻辑覆盖测试法和路径测试法 4.黑盒测试——按照程序的功能测试程序,检验与程序功能有 关的输入、输出与程序执行是否正确。有四种方法既等价分类法、边界值分析法、错误猜测法和因果图法 5.完善性维护——为了适应用户业务和机构的发展变化而对软 件的功能、性能进行修改、扩充的过程称为完善性维护。因为各种用户的业务和机构在相当长的时期内不可能是一成不变的,所以功能、性能的增加是不可避免的,而且这种维护活动在整个维护工作中所占的比重很大 6.软件可靠性——指在给定的时间内,程序按照规定的条件成 功地运行的概率 7.软件配置——是一个软件在生存周期内,他的各种形式、各 种版本的文档与程序的总称

c语言公共基础课本

第1章数据结构与算法 1.1算法 1.算法的概念:是指解题方案的准确而完整的描述 2.算法的基本特征:可行性、确定性、有穷性(有限的时间)、拥有足够的情报 3.算法的复杂度:时间复杂度和空间复杂度(1)时间复杂度:算法所需要的计算工作量(算法所执行的基本运算次数) (2)空间复杂度:执行这个算法所需要的内存空间1.2数据结构的基本概念 1.数据结构研究的三个问题 (1)逻辑结构:指反应数据元素之间逻辑关系的数据结构 (2)存储结构(物理结构):数据的逻辑结构在计算机存储空间中的存放形式。

(3)对各种数据结构进行的运算 2.数据结构定义:是指带有结构的数据元素的集合。所谓结构就是指数据元素之间的前 后件关系。 在数据结构中,没有前件的结点称为根结点,没有后件的结点为终端结点(也叫叶子结点)。3.空的数据结构:一个元素都没有的数据结构。4.数据结构的种类:线性结构与非线性结构。 线性结构:有且只有一个根结点,每一个结点最多有一个前件,也最多有一个后件。 非线性结构:如果一个数据结构不是线性结构,则称之为非线性结构。 1.3线性表及其顺序存储 1.线性表是最简单、最常用的一种线性结构。2.非空线性表的结构特征: (1)有且只有一个根结点,无前件

(2)有且只有一个终端(叶子)结点,无后件 (3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。 在线性表中结点的个数n称为线性表的长度,当n=0时,称为空表。 3.线性表顺序存储结构的基本特点: (1)所有元素所占的存储空间是连续的 (2)各元素在存储空间中是按逻辑顺序依次存放的4.在长度为n的顺序存储的线性表中,当在任何位置上插入或删除一个元素概率都相等时, 插入或删除一个元素所需移动元素的平均 个数是为n/2。 1.4栈和队列 1.栈:限定在一端进行插入与删除的线性表。 2.栈的结构特点:先进后出或后进先出 3.栈的基本运算:入栈运算、退栈运算、读栈

软件工程作业第一章

1-1什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。 典型表现:软件总是超出预算、落后于进度表,而且产品质量不可靠、维护困难等。 危机原因: 1、软件受其自身特点的影响,生产过程不象硬件那样规范,受人的因素和外界影响很大,在软件生产的各阶段都会引入不同程度的错误,造成不能预期完成任务,致使成本上升,甚至导致软件失败。 2、主客观不相适应。 ●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等; ●主观上:传统的个体化开发观念和方法的影响,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。 1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? ?基本思想:是强调在软件开发过程中应用工程化原则,解决软件的整体质量较低、最后期限和费用没有保证等问题。 ?软件工程定义:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它. ?软件工程的根本在于提高软件的质量与生产率,最终实现软件的工业化生产。 本质特性:P6 消除软件危机:软件工程基本原理7条。 1-6 什么是软件过程?它与软件工程方法学有何关系? ?软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 ?过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。 关系:是软件工程方法学包含3个要素(方法、工具和过程)之一。 1-7 什么是软件生命周期模型?试比较瀑布模型、(快速)原型模型、增量模型和螺旋模型、喷泉模型的优缺点,说明每种模型的适用范围。 生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 瀑布模型:它将软件生命周期划分为需求分析、软件设计、程序编写、软件测试和运行维护等基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。优点:文档驱动。 强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。遵守瀑布模型的文档约束,将使软件维护变得比较容易一些。 缺点:系统可能不满足需求,用户仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品 适用范围:软件需求明确。 原型模型:在初步调查了解的基础上,提供快速的软件建造工具,开发出一个功能并不十分完善的可实际运行的系统,即原型。需求分析入手快速、表达直观、容易交流。重点解决瀑

软件工程实训题目(全)

1.图书管理系统 实现天津大学图书馆书籍数据库管理系统,要求系统具有如下功能: 1.图书分类管理(可能涉及多级分类); 2.图书入库管理; 3.图书网上查询; 4.借书、还书管理; 5.读者管理(读者分为不同类型读者:本科生、研究生、老师等,不同读者可 以借阅的书籍数量不同,不同读者可以借阅时间也不同); 6.读者可以在网上查询自己当前借了哪些书,这些书的归还日期; 2.铁路售票系统 实现一个铁路售票系统,要求具有如下功能: 1.站点信息维护; 2.车次信息维护; 3.普通网民可以完成网上订票; 4.取票:订票成功的网民,凭借订票号码到售票处,售票员输入订票码后,提取处网民的预 定信息,然后收款付款,发票; 3.选修课安排系统 完成如下的选修课系统: 1.管理员可以录入本校所有教室; 2.每个学期开学前,每个老师可以登记自己本学期计划开课课程名称、最多招收人数、每周 上课的时间(每周上1次课)、本课程是否需要多媒体授课; 3.同学可以随时查询自己选修课的情况 4.老师可以随时查询选修了自己课程的同学名单。 4.网上商品商城 实现一个网上商品销售系统,具体要求如下: 1.商品类别维护(类别可分多级); 2.商品信息维护; 3.仓库管理员维护进货信息; 4.可以在网上按照各种条件进行商品查询,查看商品,如果需要购买商品,则需要注册; 5.管理员看到订单后,进行处理,对应处理完毕的订单,系统自动标记为已经处理订单;

5.电影订票系统 1.系统中有多个电影院,系统管理员可以完成电影院的维护,系统管理员可以为每个电影院 指派1各电影院管理员; 2.电影院管理员定期维护本电影院即将上映的电影信息; 4.网民可以根据时间、电影名称、电影院名称进行查询,查询到自己中意的电影后,注册的 网民可以在网上完成订票,并进行网上支付; 5.系统能够对指定时间、电影院、电影名字进行统计分析,以便分析出受欢迎的电影片; 6.校医院门诊管理信息系统 完成如下挂号系统: 1.药品管理; 2.医生管理; 3.学生管理; 4.挂号管理; 5.看病:每个医生打开自己的电脑后,查看都哪些同学挂了自己的号,根据先到先看的原则 逐个给同学看病,开药; 6.取药:同学根据自己的挂号编号,到药房,付款、拿药; 7.统计:系统统计某个时间段内,每个医生的工作量;某个医生每天工作量;每个同学看病 次数,购买药品总金额等。 7.人才管理系统 建立人才管理系统,要求具有如下功能: 1.个人用户可以注册; 2.个人注册后可以发布自己的简历; 3.企业用户可以注册; 4.管理员对所有企业信息进行审核,审核通过后该企业成为正式会员; 5.成为正式会员的企业可以发布若干个岗位的招聘信息; 6.任何人都可以在本网上搜索人才信息; 7.任何人都可以在本网上搜索企业招聘信息; 8.网上租房系统 1.构建一个网上求租、出租发布系统,要求具有如下功能: 2.普通网民注册可以发布出租、求租信息; 3.中介机构需要填写必要信息进行注册; 4.管理员对中介机构进行审核认证; 5.中介机构经过审核认证后,可以发布出租、求租信息; 6.网民可以查询出租、求租信息; 7.管理员可以统计每个中介、每个网民某个时间段内发布下信息量。

相关主题
文本预览
相关文档 最新文档