当前位置:文档之家› 软件工程作业答案

软件工程作业答案

软件工程作业答案
软件工程作业答案

软件工程网上作业题

第1章软件工程学概述

一、选择题

1.软件危机具有下列表现()

I、对软件开发成本估计不准确

II、软件产品的质量往往不可靠

III、软件常常不可维护

IV、软件成本逐年上升

A.I、II和III B.I、III和IV

C.II、III和IV D.以上都正确

答案:D

2. 产生软件危机的原因可能有()

I、用户需求描述不精确、不准确

II、对大型软件项目的开发缺乏有力的组织与管理

III、缺乏有力的方法学和工具的支持

IV、软件产品的特殊性和人类智力的局限性

A.I和II B.I、II和IV

C.II、III和IV D.以上都正确

答案:D

3. ()分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。

A.增量模型B.喷泉模型C.原型模型 D.螺旋模型

答案:A

4. 为了克服软件危机,人们提出了用( ) 的原理来设计软件,这就是软件工程诞生的基础。

A. 数学

B. 软件学

C. 运筹学

D. 工程学

答案:D

4、TURBO PASCAL是()软件。

A.系统软件

B.人工智能

C.事务软件

D.应用软件

答案:D

6.具有风险分析的软件生存周期模型是()

A.瀑布模型

B.喷泉模型

C.螺旋模型

D.增量模型

答案:C

7. 瀑布模型的关键不足在于()

A.过于简单B.不能适应需求的动态变更

C.过于灵活D.各个阶段需要进行评审

B

答案:

8.软件危机是指()。

A.软件遭到破坏

B.软件开发和维护过程中遇到的问题

C.软件维护出现困难

D.软件不能正常运行系列问题

答案:B

9. 软件的复杂性是(),它引起人员通信困难、开发费用超支、开发时间超时等问题。

A.固有的

B.人为的

C.可消除的

D.不可降低的

答案:A

10. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。

A. 软件过程

B. 软件测试C .软件生存周期D .软件工程

答案:D

11.软件的主要特性是( )。

A.高性能

B.高成本

C.包括程序和文档

D.可独立构成计算机系统

答案:B

12.软件开发方法的主要工作模型有( )

A.螺旋模型

B.循环模型

C.瀑布模型

D.专家模型

13.软件工程三要素是( )。

A.高技术人员、方法和工具

B.方法、工具和过程

C.方法、对象和类

D.过程、模型、方法

答案:B

14.软件工程的目标有( )。

A.易于维护

B.低的开发成本

C.高性能

D.短的开发期

答案:B

15.软件工程学的目的和意义是( )。

A.应用科学的方法和工程化的规范管理来指导软件开发

B.克服软件危机

C.做好软件开发的培训工作

D.以较低的成本开发出高质量的软件

答案:D

16. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )

A. 软件工程

B. 软件周期

C. 软件危机

D. 软件产生

答案:C

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

A. 开发完毕才见到产品

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

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

D. 及早提供工作软件

答案:D

18.瀑布模型的存在问题是()

A.用户容易参与开发B.缺乏灵活性

C.用户与开发者易沟通D.适用可变需求

答案:B

19、软件生存周期模型不包括:()

A.瀑布模型

B.对象模型

C.增量模型

D.喷泉模型

B

答案:

20. 下列哪个不属于软件工程的内涵之一( )

A.应用完善的科学与工程原理

B.经济地开发软件

C.高薪聘请软件高手

D.开发既可靠又能有效运行的软件

答案:C

21.在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于()。

A.维护时期

B.计划时期

C.运行时期

D.开发时期

答案:B

22. 下列哪个办法不属于解决软件危机的途径之一( )

A. 研制新一代智能计算机

B. 大力扶持软件企业

C. 采用软件工程的解决途径

D. 采用面向对象的软件设计方法

答案:B

23.下面哪一项不属于快速原型模型的优点。

A.可及早为用户提供有用的产品。

B.可保证在开发后期,全面发现错误给以纠正。

C.减少技术应用风险,缩短开发时间,减少费用、提高生产率。

D.促使用户主动参与开发活动,促进各类人员的协调,适应需求变化。

答案:B

24.下列哪个不属于瀑布模型与传统的程序设计的不同之处()。

A.传统的程序设计开发人员只开发程序,不写文档.

B.传统的程序设计重点在问题求解和算法,并只有自己才能读懂.

C.瀑布模型的各阶段要第三方介入审察

D.传统的程序设计规定各阶段必须写文档.

答案:D

25.下面哪个模式不属于软件工程的开发模式

A.基于瀑布模型的开发模式

B.基于原型模型的开发模式

C.基于人机对话的开发模式

D.基于关系数据库的开发模式

答案:C

二、填空题

1. 软件工程学的内容可包括()、结构、()、()、环境、管理、规范等。

答案:理论方法工具

2. 软件生存周期一般可分为问题定义、()、()、设计、()、测试、运行与维护阶段。

答案:可行性研究需求分析编码

3.软件=()+()。

程序文档答案:4.软件危机的事实使人们意识到:计算机要推广使用,其关键在于()技术的革新。

答:软件开发

5.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作()。

答:软件危机

的原理来设计软件,这是____,为了解决软件危机,人们提出了用____.软件危机出现于6.软件工程诞生的基础。

答:60年代末工程学

7.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。

答:运行及维护

三、判断改错题

1. 螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。()

2.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。( )

×文档驱动

3.结构化方法的工作模型是使用螺旋模型进行开发。( )

×两者无关

4.软件危机的主要表现是软件的需求量迅速增加,软件价格上升。( )

×软件危机的主要表现:一方面是无法满足日益增长的对软件的需求;另一方面是难以满足对已有的软件系统维护的需要。

5.RCP法与RSP法的主要区别是,前者采用循环渐进的开发方式,原型将成为最终的产品,而后者将被废弃。( )

四、简答题

1. 当沿着螺旋模型的过程流路径向外移时,你认为正在开发或维护的软件发生了什么变化?答:

在使用螺旋模型开发软件的过程中,从核心开始,螺旋的第一圈可能产生软件的规格说明,接下来的螺旋可能用于开发一个原型,随后是软件的更完善的版本。经过计划区域的每一圈是为了调整项目计划,基于从用户评估得到的反馈,调整费用和进度。沿螺旋线自内向外每旋转一圈,便开发出一个更为完善的、新的软件版本。

2. 快速原型模型有几种?各有何特点?

答:

根据原型的不同作用,有三类原型模型:⑴探索型原型。这种类型的原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发着对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求。⑵实验型原型。这种原型主要用于设计阶段,考核实现方案是否合适,能否实现,对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计方案的正确性。⑶演化型原型。这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包含系统的框或者包含系统的主要功能。在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统,它将原型的思路扩展到软件开发的全过程。

3.试说明软件生存周期的概念。

答:

软件生存周期是指软件产品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程,一般包括计划、分析、设计、实现、测试、集成、交付、维护等阶段。

(1)计划阶段:确定待开发系统的总体目标和范围,研究系统的可行性和可能的解决方案,对资源、成本及进度进行合理的估算。软件计划的主要内容包括所采用的软件生命周期模型、开发人员的组织、系统解决方案、管理的目标与级别、所用的技术与工具,以及开发的进度、预

算和资源分配。

(2)分析阶段:分析、整理和提炼所收集到的用户需求,建立完整的分析模型,将其编写成软件需求规格说明和初步的用户手册。通过评审需求规格说明,确保对用户需求达到共同的理解与认识。需求规格说明明确地描述了软件的功能,列出软件必须满足的所有约束条件,并定义软件的输入和输出接口。

(3)设计阶段:设计阶段的目标是决定软件怎么做,设计人员依据软件需求规格说明文档,确定软件的体系结构,进而确定每个模块的实现算法、数据结构和接口等,编写设计说明书,并组织进行设计评审。

(4)实现阶段:实现阶段是将所设计的各个模块编写成计算机可接受的程序代码,与实现相关的文档就是源程序以及合适的注释。

(5)测试阶段:在设计测试用例的基础上,测试软件的各个组成模块。然后,将各个模块集成起来,测试整个产品的功能和性能是否满足已有的规格说明。

(6)维护阶段:一旦产品已交付运行之后,对产品所做的任何修改就是维护。维护是软件过程的一个组成部分,应当在软件的设计和实现阶段充分考虑软件的可维护性。维护阶段需要测试是否正确地实现了所要求的修改,并保证在产品的修改过程中,没有做其他无关的改动。5.软件产品的特性是什么?

答:

a.软件产品是一种逻辑产品。

b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。

c.软件产品不会用坏,不存在磨损、消耗问题。

d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是定做的。

e.软件费用不断增加,成本相当昂贵。

6. 什么是软件危机?其产生的原因是什么?

答:

软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。

在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现在以下几个方面:

a.经费预算经常突破,完成时间一再拖延。

b.开发的软件不通满足用户要求。

c.开发的软件可维护性差。

d. 开发的软件可靠性差。

软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:

a.软件的规模越来越大,结构越来越复杂。

b.软件开发管理困难而复杂。

软件开发费用不断增加。c.

d.软件开发技术落后。

e.生产方式落后。

f.开发工具落后,生产率提高缓慢。

7. 什么是软件工程?它的目标和内容是什么?

答:

软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。

软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:

a.付出较低的开发成本;

b.面到要求的软件功能;

c.取得较好的软件性能;

d.开发的软件易于移植;

e.需要较低的维护费用;

f.能按时完成开发任务,及时交付使用;

g.开发的软件可靠性高;

软件工程的内容:

1)软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。

2)软件开发管理:软件管理学、软件经济学、软件心理学。

8. 软件工程面临的问题是什么?

答:

软件工程面临的问题:

a.软件费用。

b.软件可靠性。

c.软件维护。

d.软件生产率。

e.软件重用。

9. 什么是软件生存周期?它有哪几个活动?

答:

软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。

软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等.

10. 什么是软件生存周期模型?有哪些主要模型?

答:

软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。)

软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等

五、问答题

无.

第2章可行性研究

一、选择题

1. 系统定义明确之后,应对系统的可行性进行研究。可行性研究应包括()。

A.软件环境可行性、技术可行性、经济可行性、社会可行性

B.经济可行性、技术可行性、操作可行性

C.经济可行性、社会可行性、系统可行性

D.经济可行性、实用性、社会可行性

答案:B

2. 研究开发所需要的成本和资源是属于可行性研究中的( ) 研究的一方面。

A. 技术可行性

B. 经济可行性

C. 社会可行性

D. 法律可行性

答案:B

3. 设年利率为i ,若不计复利,n 年后可得钱数为F ,则这些钱现在的价值是()

A. F (1+in )

B. (1+ni )/F

C. F/ (1+ni )

D. F/ (1+n/ i )

答案:C

4. 在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于()。

A.维护时期

B.计划时期

C.运行时期

D.开发时期

答案:B

5.数据字典是数据流图中所有元素的定义的集合,一般由以下四类条目组成( )。

A.数据说明条目、控制流条目、加工条目、数据存储条目

B.数据流条目、数据项条目、数据存储条目、加工条目

C.数据源条目、数据流条目、数据处理条目、数据文件条目

D.数据流条目、数据文件条目、数据池条目、加工条目

答案:B

6. DFD 图不反映出系统( )

A. 系统做什么

B. 系统功能如何实现

C. 系统由谁来做

D. 系统实现的约束条件

答案:B

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

A.COCOMO 模型

B.McCall 模型

C.McCabe 度量法

D. 时间估算法

答案:A

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

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

答案:D

9. 可行性研究的目标是( ) 。

A. 开发项目

B. 项目值得开发否

C. 规划项目

D. 维护项目

答案:B

10. 分层DFD 图是一种比较严格又易于理解的描绘方式,它的顶层图的作用在于( ) 。

A. 描绘了系统的实现细节

B. 表明了被开发系统的范围以及它和周围环境的数据交换关系

描绘了系统的抽象C.

D. 描绘了软件实现的作者和绘制的时间

答案:B

11. DFD主要用来描述( ) 。

A. 系统的信息及其联系

B. 系统做什么

C. 系统模拟的动态模型

D. 系统功能如何实现答案:B

12. 对软件复杂性进行度量时,采用代码行度量法,下列说法不正确的是( ) 。

A. 每行代码的出错率与源程序行数之间不存在简单的线性关系

B. 对于少于100 行语句的小程序,源代码行数与出错率是线性相关的

C. 代码行度量法只是一简单的,估计的很粗糙的方法

D. 随着程序的增大,出错率以线性方式增长

答案:D

软件工程学习心得作业

软件工程作业

软件工程心得体会 通过这半学期我对软件工程的学习,老师在课堂上从软件工程的基础到用户的需求分析,最后到黑盒白盒测试通过自身做过的一些案例,生动形象的讲解了软件工程这门本身枯燥乏味的课程,这不仅增强了学生学习的积极性,也通过让我们自己去做一些需求分析,我们从中学到了许多知识。 老师不仅仅在课堂上对我们悉心的知道,在课外还让我们多看一些有关软件工程方面最前沿的理论,通过这段时间我读了《软件工程——实践者的研究方法》、《件工程案例》这两本书,通过自己的读书学习,我有以下心得体会。 众所周知软件对于一个公司,一个企业乃至一个国家都是十分重要的,因此一个软件的维护也十分重要,下面我就讲一些关于软件维护的知识。 维护阶段是软件生存期中时间最长的一个阶段,也是花费的精力和费用最多的一个阶段。由于操作系统软件和基础软件版本升级或应用管理系统软件的不断开发、完善,需要对软件进行维护。但当运行环境改变或者系统功能、性能需求发生变化,使原软件不能通过维护的手段满足用户需求时,则需要进行软件更新。 1.软件维护的类型: 软件的开发过程对软件的维护有较大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工这是一种结构化的维护。非结构化维护活动只能从阅读、理解和分析源程序开始,这样做难以弄清系统功能、软件结构、数据结构等问题,常常造成误解。同时由于没有测试文档,也不可能进行回归测试很难保证程序的正确性。这种软件维护

方法仅在软件工程时代之前采用。在进行结构化维护活动时,需从评价需求说明开始,弄清楚软件功能、性能上的改变;对设计说明文档进行评价,并进行修改和复查;根据设计的修改,进行程序的变动;根据测试文档中的测试用例进行回归测试;最后,把修改后的软件再次交付使用。这对于减少精力、减少花费和提高软件维护效率有很大的作用。 2.软件维护的困难: 软件维护的困难主要是由于软件需求分析和开发方法的缺陷造成的。软件生存周期中的开发阶段没有严格而科学的管理和规划,就会引起软件运行时的维护困难。这种困难表现在如下几个方面。 (1)读懂别人的程序是困难的。 (2)文档的不一致性。这种不一致性表现在各种文档之间的不一致以及文档与程序之的不一致。 (3)软件开发和软件维护在人员和时间上存在差异。 (4)软件维护不是一项吸引人的工作。 3. 软件维护的费用: 软件维护的费用在总费用中的比重是不断增加的,它在1970 年占35%~40%,1980 年上升到40%~60%,1990 年上升到70%~80%。软件维护费用不断上升,这只是软件维护有形的代价,另外还有无形的代价,即要占用更多的资源。由于大量软件的维护活动要使用较多的硬件、软件和软件人员等资源,这样一来,投入新的软件开发的资源就因不足而受到影响。由于维护时的改动,在软件中引入了潜在的故障,从而降低了软件的质量。 4.软件维护的分类

软件工程专业实习目的与任务

软件工程专业实习目的与任务 软件工程专业实习的目的和任务的了解能使实习生们在实习的过程中避免迷失方向,下面软件工程专业实习的目的和任务是想跟大家分享的,欢迎大家浏览。 第一篇:软件工程专业实习的目的和任务 本次实习的目的在于通过理论与实际的结合、个人与社会的沟通,进一步培养自己的业务水平、与人相处的技巧、团队协作精神、待人处事的能力等,尤其是观察、分析和解决问题的实际工作能力,以便提高自己的实践能力和综合素质,希望能帮助自己以后更加顺利地融入社会,投入到自己的工作中。 一般来说,学校的生活环境和社会的工作环境存在很大的差距,学校主要专注于培养学生的学习能力和专业技能,社会主要专注于员工的专业知识和业务能力。要适应社会的生存要求,除了要加强课堂上的理论知识外,还必须要亲自接触社会参加工作实践,通过对社会工作的了解指导课堂学习。实际体会一般公司职员的基本素质要求,以培养自己的适应能力、组织能力、协调能力和分析解决实际问题的工作能力。 实习在帮助学优从校园走向社会起到了非常重要的作用,因此要给予高度的重视软件工程专业实习的目的

和任务软件工程专业实习的目的和任务。通过实习,让自己找出自身状况与社会实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理适应期。 第二篇:软件工程专业实习的目的和任务 根据所学课程的理论知识,结合企业的运营实际,掌握软件开发的一般过程,软件的生命周期和作为一个开发人员应该具备的基本能力,并撰写实习报告。使学生进一步巩固所学理论知识,同时提高观察问题、分析问题、解决问题的能力。 第三篇:软件工程专业实习的目的和任务 根据所学课程的理论知识,结合企业的运营实际,选定企业管理中的某一具体问题进行调查研究,并撰写调查报告,反映问题的具体表现,其中包含的企业管理理论,以及对问题的解决方案建议软件工程专业实习的目的和任务文章软件工程专业实习的目的和任务使学生进一步熟悉企业运作实践和调查报告写作方法,同时提高观察问题、分析问题、解决问题的能力。 第四篇:软件工程专业实习的目的和任务 目的:大学生社会实践作为高等院校实践教育的重要组成部分,目的在于弥补学校教育教学工作的不足,

软件工程导论基础试题

一、填空 1、计算机软件不仅仅是程序,还应该有一整套(文档资料). 2、软件定义时期的最后一个工作阶段是(需求分析)阶段。 3、(快速原型)模型的基本特性是“快速”和“容易修改”。 4、信息流的类型主要包括(事务流)和(变换流)。 5、(判定表)适用于表示多重嵌套的条件选择。 6、我们通常采用的调试途径包括(蛮干法,回溯法和原因消除法)。 7、程序流程图中的箭头代表(控制流) 8、内聚程度较低的是(偶然)内聚。 9、软件工程方法学三要素(方法,工具,过程). 10、可行性分析至少应从(经济,技术,操作)三方面研究每种解法的可行性。 11、(可行性研究)的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否 能够开发,是否值得开发。

12、在大型数据处理系统的功能分析与设计中,同时进行数据分析和数据设计。数据 库的“概念设计”与“逻辑设计”分别对应于系统开发中的(总体设计)和(需求分析 )阶段,而数据库的物理与模块的(详细设计)相对应。 13、模块之间联系越紧密,其耦合性就越(高),模块的独立性就越(低) 。 14、要把数据流图转换成软件结构,必须首先研究数据流图的类型,一般可分为事务 流和变换流两类。 15、动态测试方法中,根据测试用例设计方法的不同,分为(白盒测试和黑盒测试)。 16、软件产品在交付使用前一般要经过以下四步测试:(单元测试,集成测试,确认测 试和系统测试).对一些关系重大的系统,交付后并不立即投入生产性运行,还要经过 (平行运行)阶段

17、驱动模块的作用是用来模拟被测试模块的(上级调用模块),它只完成接收测试数 据,并把这些测试数据传送给被测试的模块,并且接收测试模块的(结果) 并输出。 18、桩(存根)模块用来代替被测试模块(所调用的模块),它的作用是返回被测试模 块所需信息。 19、软件结构是以(模块)为基础而组成的一种控制层次结构。 20.软件维护的内容包括(改正性维护,适应性维护,完善性维护和预防性维护). 二、选择 1.需求规格说明书的作用不应该包括(D )。 A、软件设计的依据 B、用户与开发人员对软件要做什么的共同理解 C、软件验收的依据 D、软件可行性研究的依据 2.软件测试方法中的静态测试方法之一为(A )A.计算机辅助静态分析B.黑盒法C.路径覆盖D.边界值分析

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

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

软件工程实习报告推荐

软件工程实习报告推荐 时间过的很快,转眼间已经实习将近5个月。 最先在内部系统组参与内部管理系统开发 (struts+mysql+spring+hibernate),之后是去做网络交换机软件的脚本测试。现在又回归内部系统,虽然在脚本组期间,编码能力被别人甩在后头,但至少具有了一些测试经验。 至少自己做的东西,是真正交付到了客户手上,到也稍微有些成就感。 1浅谈测试 一直以来,我都认为测试是脱离了软件工程范围的工作,不以为屑。但在实际情况中,测试是既重要且难以精湛的.其真正的压力,在于找不到bug,责任在你,而不在于编码人员。一般的测试人员不懂编码,他们靠的是日以累计的经验总结和想象力。而要做到高级测试工程师,则一定要懂编码,因为这是你完全掌握整个系统的方方面面具体运作的前提。但占主导地位的,还是大型系统的集成测试经验。实际项目中,编码时间一般只占30%左右,真正耗费时间的是IT阶段的找bug与对应bug,此阶段基本评定了coder的编码质量。 2程序员的困惑 有些人,以为教学视频和代码看多,自己就懂的多,实际做起来,却不知从何下手,问题在那?如何定位?如何解决?通通跟一样能力有关,debug追踪能力,也称调试。在项目组工作不愁源码资源,但问题是蛋糕摆在面前,你如何去消化?

有位同事告诉我:代码看几遍都没用,要去抄,例如一个查询模块,在此基础上去做具体记录的历史记录查询模块,你可能会觉得很简单,但实际情况却往往报一堆异常,配置问题涉及到方方面面,以及数据库字段,传值问题等等,一大堆对于新人来说很郁闷的问题。但不用怕,只要学会调试,一个个问题去追踪,一个个去解决,自然而然,那段“源码”才真正属于你。 3如何调试追踪? 如果你能在短短的时间内就看到问题点在那,放下断点去追踪,出去找工作,绝对没问题。出现问题的时候,不要光看代码,要用实际行动去追踪运行期间的具体值,那是最好途径。eclipse是个很爽的ide,这点做的很好。例如页面内容显示不是自己想要的数据,我们要先从数据库查询语句去下手,设置断点,一步一步stepover,让sql字段(存取最终sql语句的字符串)运行到有值,inspect进去看,如果还看不出来,就点击它,copy后在sql客户端去实际运行,看看实际查询出来的表是什么,如果是对的,有可能就是页面调用的错误或者action逻辑的传值问题。 页面错误的调试,基本方法是用右键点击实际网页查看源代码,copy到editplus,就能看到具体错误发生在那几行。通常有几种常见的错误,例如:缺少对象这种很多时候是有些被你调用的字段有可能为空的情况出现的,可以加if(=null)语句加保护。追踪的方法基本就是用alert语句,放在有可能出错的地方。 4一些习惯

软件工程导论课后习题答案95829882

《软件工程导论》课后习题答案 第一章软件工程概论 1.什么是软件危机?它们有哪些典型表现?为什么会出现软件危机? “软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。 “软件危机”包含两方面的问题: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 它们有以下表现: (1)对软件开发成本和进度的估计常常很不准确; (2)用户对“已完成的”软件系统不满意的现象经常发生; (3)软件产品的质量往往靠不住; (4)软件常常是不可维护的; (5)软件通常没有适当的文档资料; (6)软件成本在计算机系统总成本中所占的比例逐年上升; (7)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。 出现软件危机的原因 (1)开发人员与客户认识之间的矛盾 (2)开发人员能力与开发目标之间的矛盾 (3)预估与实际工作量之间的矛盾 (4)客户认识的提高与软件维护之间的矛盾 (5)遗产系统与实施软件之间的矛盾 2.假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他? 答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改, 不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成” 是在引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是 整体构架的错误。 3.什么是软件工程?它有哪些本质特征?怎么用软件工程消除软件危机? 软件工程是知道计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够

实用软件工程第3版课后习题答案_IT168文库

《实用软件工程》第3版 习题参考答案 习题 1 1.1 开发文档都有哪些?用图示表示它们之间的关系。 开发文档包括目标程序、源程序、详细设计说明书、概要设计说明书、需求规格说明书、用户需求报告、软件合同,它们之间的关系如下图所示。 1.2 简述软件工程研究的内容。 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。 其中软件开发方法的内容又涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级。 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型。 软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer和Rational Rose。 软件管理过程主要有CMMI、ISO9000、微软企业文化和敏捷文化现象。 1.3 详细解释软件的定义、程序的定义及软件工程的定义。 软件的定义:软件=程序+数据+文档。这里的程序是指程序系统。这里的数据不仅包括初始化数据、测试数据,而且包括研发数据、运行数据、维护数据,也包括软件企业积累的项目工程数据和项目管理数据中的大量决策原始记录数据。这里的文档指的是软件开发过程中的分析、设计、实现、测试、维护文档、管理文档。 现在有一种新提法正在引起关注,这种提法是:软件=知识+程序+数据+文档。 程序是计算机为完成特定任务而执行的指令的有序集合。从应用的角度可理解为: 面向过程的程序=算法+数据结构 面向对象的程序=对象+信息 面向构件的程序=构件+构架 软件工程是研究软件开发和软件管理的一门工程学科。 1.4 软件工程的7+1条基本原理有什么现实意义? 软件工程的7条基本原理是在面向过程的程序设计时代(结构化时代)提出来的,但在

软件工程第一次作业

1-2. 软件与其他工程学科所产生的制品有什么更本区别? 1.软件是复杂的。 2.软件是不可见的。 3.软件是不断变化的。 1-3.软件工程包括那些基本要素,及作用? 软件工程三要素,过程、方法、和工具。 软件工程的方法为软件开发提供了“如何做”的技术,通常包括某种语言或图形的模型表示方法、良好的设计实践以及质量保证标准等,其中使用最广泛的两种方法是传统的软件开发方法和当前流行的面向对象方法。 软件工程的过程是管理和控制产品质量的关键。它定义了技术方法的采用,工程产品的产生。里程碑的建立、质量的保证和变更的管理。从而将人员,技术,组织,与管理有机的结合在一起,实现在规定的实践和预算内开发高质量软件的目标。 软件工具为软件工程方法提供了自动的或半自动的软件支持环境,辅助软件开发任务的完成,现有的软件工具覆盖了需求分析,系统建模,代码生成,程序调试,和软件测试,等多个方面形成了集成化的软件工程开发环境,CASE。以便提高开发效率和软件质量,降低开发成本。 1-8.请简要描述SWEBOK所包含的10个知识域。 1.软件需求:需求时解决现实问题所必需展示的特性,具体分为需求工程过程,需求获 取,需求分析,需求规格说明,需求验证,需求管理。 2.软件设计:分析软件需求,生成有关系统内部结构与组成的描述,并以此作为软件构造 的基础。 3.软件构造:其任务是通过编码,验证,和单元测试,构造出有意义的可工作的软件。 4.软件测试:从无限执行域中挑选有限测试用集,对照预定行为验证程序实际行为的过程。 5.软件维护:纠正软件运行时出现的错误。改进软件系统以便适应环境的变化,和满足用 户新的要求。 6.软件配置管理:在明确的时间上确定系统的配置。保证整个系统生命周期中系统地配置 的变化并维护配置的完整性和跟踪行。 7.软件工程管理:包括组织管理,过程项目管理,软件工程度量。 8.软件工程过程:分为基本概念,过程基础设施,过程度量,过程定义,定性分析,以及 过程实施与变更。 9.软件工程工具与方法:包括开发环境和开发方法。 10.软件质量:包括软件质量概念,软件质量保证与验证和确认的目的和计划,SQA 与V&V 的活动及其度量。

软件工程导论部分课后习题答案

第一章 1-1 什么是软件危机? 是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 1-3 什么是软件工程? 是指导计算机软件开发和维护的一门工程学科。 1-4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。 目前使用得最广泛的软件工程方法学(2 种): 1. 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。 1-6 什么是软件过程?它与软件工程方法学有何关系? z 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤z 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型 1-7 什么是软件生命周期模型,试比较瀑布模型,快速原型模型,增量模型,和螺旋模型的优缺点,说明每种模型的适用范围。 软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 瀑布模型的优点:1.可强迫开发人员采用规范的方法;2.严格规定了每个阶段必须提交的文档;3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 瀑布模型的缺点:1.在软件开发初期,指明用户全部需求是困难的;2.需求确定后,经过一段时间才得到软件最初版本;3.完全依赖规格说明,导致不能满足用户需求。适用中小型项目。 快速原型模型的优点:1满足用户需求程度高;2用户的参与面广;3返工现象少快速原型模型的优点:不适用大型软件的开发适用于小型项目。 增量模型的优点:1短期内可以交付满足部分用户需求的功能产品;2逐步增加功能可以让用户去适应新产品;3开放式的软件可维护性比较好;4开始第一构件前,已经完成需求说明。 增量模型的缺点:1对现有产品功能造成破坏;2意义上的矛盾适用于中型软件的开发 螺旋模型的优点:1集成了瀑布模型、快速原型模型、增量模型的优点;2支持用户需求动态变化;3需求分析与软件实现紧密联系相互依赖;4原型作为刑式的可执行的需求规格说明,即利用用户和开发人员共同理解,又可作为后续开发的基础;5为用户参与决策提供方便;6提高目标软件的适应能力;7降低风险;8在大型软件开发过程中充分发挥优势。螺旋模型的缺点:1迭代次数影响开发成本,延迟提价时间;2找不到关键改进点,人才、物力、财力时间引起无谓消耗;3成于风险分析,败于风险分析。适用于内部开发的大规模软件项目。 1-8:为什么说喷泉模型叫好的体现了面向对象软件开发过程无缝和迭代的特性?

软件工程导论期末考试题

一、单项选择题 1.适合于面向对象方法学的软件生存周期模型是( B ) A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型 2.从实用角度看,数据规范化程度在大多数场合选用第( C )范式。 A. 1 B.2 C.3 D.5 3. 可行性分析研究的目的是( A )。 A.项目值得开发否 B.争取项目 C.开发项目 D.规划项目 4. 模块的内聚性最高的是 ( D ) A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 5.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做 ( B ) A. 软件工程 B. 软件危机 C. 软件周期 D. 软件产生 6. 需求分析阶段的任务是确定( D ) A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能 7. 完整的软件结构通常用( B )图来表示。 A. IPO 图 B. HIPO 图 C.PAD 图 D.DFD 图 8. 在白盒法技术测试用例的设计中( A )是最弱的覆盖标准。 A.语句 B.路径 C.条件组合 D.判定 9?对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。 A.结合 B.隐藏 C.封装 D.抽象 10. 在数据流图中,圆代表( C )。 A.源点 B.终点 C.加工 D.模块 11. 模块内聚度越高,说明模块内各成分彼此结合的程度越( B )。 A.松散 B.紧密 C.无法判断 D.相等 12. 软件测试方法中,黑盒、白盒测试法是常用的方法,其中黑盒测试主要用于测试( B )。 A.结构合理性 B.软件外部功能 C.程序正确性 D.程序内部逻辑 13. 面向对象开发方法中, ( C )是占主导地位的标准建模语言。 A.Booch 方法 B.Coad 方法 C.UML 语言 D.OMT 方法 14. 软件需求分析的主要任务是准确地定义出要开发的软件系统是( C ) A.如何做 B.怎么做 C.做什么 D.对谁做 15. 结构化程序设计的一种基本方法是( C ) A.筛选法 B.迭代法 C.逐步求精法 D.递归法 二、填空题 1. 目前使用最广泛的软件工 程学方法分别是传统方法学和(面向对象方法学 ) )和事务流。 文档 ) 。 ( 重复 )三种结构。 自顶向下 的集成测试方法,对软件结构中下层使 6. 软件维护包括 ( 改正性维护 )、适应性维护、完善性维护、预防性维护。 7. 面向对象方法学建模得到的三个基本子模型是 (对象建模 ) .动态模型、功能模型。 8. 复杂大型问题的对象模型通常由主题 2. 数据流图中信息流的类型有(变换流 3. 软件的定义是:软件 =程序+数据+ 4. 经典结构程序设计包括顺序、选择和 5. 集成测试时对软件结构中上层使用 用 ( 自底向上 ) 的集成测试方法。

软件工程大作业

版本号 日期 <软件工程——大作业> “超市管理系统” 软件设计说明书 姓名:XXX 班级:XXX 学号:XXXXXX 完成日期:XXXX 指导老师:XXX 中南大学信息科学与工程学院

目录 1引言 (1) 1.1 编写目的 (1) 1.2 范围 (1) 1.3 定义 (1) 1.4 参考资料 (1) 2 项目概述 (2) 2.1 产品描述 (2) 2.2 产品功能 (3) 2.3 用户特点 (4) 2.4 一般约束 (5) 3 具体需求 (6) 3.1 功能需求 (6) 3.1.1 数据字典 (10) 3.2 行为需求 (10) 3.3 数据需求 (11) 3.4 外部接口需求 (12) 3.4.1硬件接口 (12) 3.5设计约束 (13) 3.5.1 硬件的限制 (13) 3.6安全性 (13) 3.7可维护性 (13) 3.8可扩展性 (14) 4 总体设计 (14) 4.1运行环境 (14) 4.1.1 软件环境 (14) 4.2基本设计概念和处理流程 (14) 4.2.1基本设计原则 (14) 4.3系统结构 (15) 4.3.1 系统功能模块设计 (15) 4.3.2 系统层次结构图 (17) 4.3.3 系统网络结构 (17) 5 详细设计 (18) 5.1系统数据结构设计 (18)

5.1.1逻辑结构设计要点 (18) 5.2模块设计说明 (22) 5.2.1模块描述 (23) 5.2.2功能 (23) 5.2.3设计方法(算法) (24)

1引言 1.1 编写目的 随着我国经济的不断发展,许多零售企业在发展过程中面临着业务不断增长,而管理水平相对滞后的困境。尤其是许多企业在逐年经营过程中,积累了大量历史数据,但是信息比较分散、相互独立。在信息技术迅猛发展的今天,处于竞争性行业的中小型零售企业如何在未来的市场竞争中借助信息化实时掌握营销动态,不断提升服务水平,提高资源配置水平和核心竞争力,成为他们不得不面对的问题。 在零售企业中引入超市信息管理系统,利用收银机将超市中各种商品的进货、退货、销售等信息输入电脑,使得经营管理者能够及时掌控经营信息,作出合适的各种采购及货物库存决策。 超市信息管理系统,可完成商品采购订货、销售、盘点库存、财务分析等管理功能,并对商品的购销存状态实时跟踪记录。本论文主要介绍超市信息管理系统中的系统登录、商品录入、库存管理、商品销售等部分内容,以展现设计一个完整信息管理系统的思路和步骤。 1.2 范围 a.软件名称:超市信息管理系统。 b.软件功能:该软件用来对超市商品采购订货、销售、库存、财务分析,以及工作员工和超市会员信息的管理。 1.3 定义 列出本文件中用到的专门术语的定义和缩写词的原词组。 1.4 参考资料 [1] 薛华成.管理信息系统[M].北京:清华大学出版社,1993. [2] 张珍宝,刘升.超市管理系统的分析与设计[J].高等函授学报(自然科版), 2002,15(3):49-51. [3] 萨师煊,王珊.数据库系统概论[M].北京:高校教育出版社,1985. [4] 袁作为.小型超市管理系统分析[J].时代经贸(中旬刊).2008,6:243. [5] 张鼎武.小型超市管理信息系统[J].财经界(中旬刊).2007,12:244—

软件工程实践报告范本(完整版)

报告编号:YT-FS-4424-18 软件工程实践报告范本 (完整版) After Completing The T ask According To The Original Plan, A Report Will Be Formed T o Reflect The Basic Situation Encountered, Reveal The Existing Problems And Put Forward Future Ideas. 互惠互利共同繁荣 Mutual Benefit And Common Prosperity

软件工程实践报告范本(完整版) 备注:该报告书文本主要按照原定计划完成任务后形成报告,并反映遇到的基本情况、实际取得的成功和过程中取得的经验教训、揭露存在的问题以及提出今后设想。文档可根据实际情况进行修改和使用。 实践单位:山西西太行信息有限公司 实践时间:xx年7月1日-----xx年7月31日 共31天 一、实践目的:综合利用所学的专业知识,培养 软件开发的技能;掌握android操作系统的编程技巧, 体会企业软件开发与学习过程中编写软件的不同;提 高自身的创新意识与创新能力,促进团队之间的沟通 协作,为早日踏上工作岗位打下坚实基础。 二、实践内容及感悟: a) 实践前准备:自xx年清明节前后,我和我的 组员就开始接受山西西太行信息有限公司的公开课的 培训,当时经电子与计算机技术学院于一老师介绍由 陈川老师主要带领我们重新温习了一遍关于java语

言的基本知识,在这将近一个月的学习过程中我们逐渐重新拾起了即将被遗忘的java 知识,走出了以前认识上的误区,使我在java这一块又有了一定的的优势,为以后我们用java语言做开发打下了很好的基础。 自xx年5月1日,我们开始了真正的基于android 操作系统的软件开发,虽然我们是利用课余时间进行学习,但是学习的效果真的很好,我们基本上晚上都会学到很晚才回宿舍。刚开始的时候我感到很不适应,感到学习的java语言不能够充分的的到利用,只能够用一些和系统相关的东西,但是随着学习的深入,我发现android操作系统也是一个很强大的手机操作系统,它有着很好的发展前景。并且移动互联网在在中国有着大的市场,所以我对我正在从事的android手机软件开发给予了很大的希望。这一个月的培训我们主要学习了android操作系统的五大系统组件:activity、service、sqlite、content Provider、intent、broadcastRecever,同时我也学到了一些课

软件工程导论第五章课后答案

软件工程导论第五章课后 答案 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

第五章习题答案 1、为每种类型的模块耦合举一个具体例子。 答:耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问某一模块的点,以及通过接口的数据,一般模块之间可能的连接方式有7种,构成耦合的7种类型,它们之间的关系为: 下面举例说明以上各种耦合: a.非直接耦合(Nondirect Coupling)在这种情况下,两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。例如在实数的运算中,有两个模块分别完成几个实数的求和,求乘积功能,这两个模块之间没有直接联系,只有在主模块调用中有执行的前后顺序而已,这个例子即属于非直接耦合。 b.数据耦合(Data Coupling)即一个模块访问另一个模块时,彼此之间是通过数据参数来交换输入,输出信息的,这种耦合为数据输入,输出信息的这种耦合为数据耦合。如有两个模块,其中A完成两个烽的比较,求出其中最大的并返回该值,模块B是完成了个数的比较,求出其中最大的并返回该最大值,为完成四个数的比较,模块B调用模块A即可完成,在这种调用关系中,模块A的运算结

果作为一个参烽参加B的运算,这两个模块之间即发生数据耦合。数据耦合是松散的耦合,模块间的独立性比较强。 c.标记耦合(Stamp Coupling),即一组模块通过参数传递记录信息,这就是标记耦合。事实上,这组模块共享了这个记录,它是某一数据结构的子结构,而不是简单变量。 d.控制耦合(Control Coupling)即一个模块通过开关标志,名字等控制住处明显的控制,选择另一模块的功能,这就是控制耦合,如下图所示,这一种耦合实质是在单一接口上实现选择多功能模块中的某项功能,如程序设计中用到多路选择结构即是最好的例子。e.外部耦合(External Coupling)即一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递全局数据结构,而且不是通过参数表传递全局变量的信息。如C语言中都访问被说明为extern类型的外部变量的各个模块之间即发生外部耦合。外部耦合引起的问题类似于下面要介绍的公共耦合,区别在于外部耦合中不存在依赖于一个数据结构内部各项的物理安排。f.公共耦合(Common Coupling)若一组模块都访问同一个公共数据环境,则它们之间的耦合就是公共耦合。公共的数据环境可以是全局的数据结构,共享的通信区,内存的公共覆盖区等。如几个模块对同一个数据库的查询就属于这种耦合。公共耦合可以分为松散的公共耦合和紧密的公共耦合,其中松散的公共耦合是单向操作,如两个或多个模块对同一个文件的读操作;而紧密的公共耦合是双

软件工程导论复习试题库完整

a(1)在软件工程中,白盒测试法可用于测试程序的内部结构。此方法将程序看作是 A) 路径的集合 B)循环的集合C)目标的集合D)地址的集合 c(2)在下述哪一种测试中,测试程序的设计者必须接触到源程序 I.功能测试Ⅱ. 结构测试 A)均不须B)只有ⅠC)只有ⅡD)Ⅰ和Ⅱ a(3)检查软件产品是否符合需求定义的过程称为 A)确认测试B)集成测试C)验证测试D)验收测试 c(4)下述陈述中,哪一个不是软件健壮性的度量指标? A)失败后重新启动所需的时间B)引起失败的时间所占的百分比 D)失败前的平均工作时间D)在一次失败中数据恶化的概率 b(5)对软件是否能达到用户所期望的要求的测试称为 A) 集成测试B) 有效性测试C) 系统测试D) 验收测试 a(6)在面向数据流的软件设计方法中,一般将信息流分为 A)变换流和事务流B)变换流和控制流 C)事务流和控制流D)数据流和控制流 d(7)软件需求说明书是软件需求分析阶段的重要文件,下述哪个(些)是其应包含的内容 I.数据描述Ⅲ. 模块描述 II.功能描述Ⅳ. 性能描述 A)ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅱ和ⅢD)Ⅰ、Ⅱ和Ⅳ (8)软件测试一般分为三类,即 I.静态测试Ⅱ. 动态测试Ⅲ. 正确性测试 设计测试用例对程序进行测试,应属于 A)ⅠB)ⅡC)Ⅰ和ⅡD)Ⅲ (9)模块独立性是由内聚性和耦合性来度量的,其中内聚性是度量____,耦合性是度量____。 A)模块间联系程度B)模块的功能强度 C)信息隐蔽程度D)模块的复杂程度 (10)软件设计中一般将用到图形工具,下述哪种(些)工具可用作设计的图形工具 I.结构图Ⅱ. 实体关系图Ⅲ. IPO图 II.Ⅳ. 流程图Ⅴ. N-S图 A)Ⅰ和ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅲ、Ⅳ和ⅤD)全部 A (2)C (3)A (4)C (5) B (6)A (7)D (8)B (10)C (11)试判断下列论述中哪个(些)是正确的 I.软件系统中所有的信息流都可以认为是变换流 II.软件系统中所有的信息流都可以认为是事务流 III.事务分析和变换分析的设计步骤基本类似 A)ⅠB)ⅡC)ⅢD)Ⅰ和Ⅲ (12)软件的有效性测试是验证软件的运行是否达到用户的期望,用户的期望应体现于A)详细设计报告B)软件需求说明书 C)总体设计报告D)有效性测试要求 (13)软件设计中的软件过程其主要描述的是 A)模块间关系B)模块操作细节 C)模块控制方法D)模块类型 (14)软件测试是软件件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?

殷人昆《实用软件工程》复习资料

1.软件工程 目标:正确性、可用性、适合销售 活动:需求、设计、实现、V&V(验证与确认)、支持 原则:开发泛型、设计方法、支持工具、工程管理WW 软件工程是开发,运行,维护和修复软件的系统方法,将系统化的,规范的,可度量的方法应用与软件的开发,运行维护的过程。即将工程化应用于软件中。 2.软件过程中的基本活动(pdca) 1.软件规格说明plan 2.软件开发do 3.软件确认check 4.软件演进action 3.瀑布模型:需求-》系统设计-》实现单元测试-》集成与系统测试-》运营维护。他的显著特点是顺序性 和依赖性。 4.演化模型:软件通过不断的演化才能完成和完善,其显著特点是迭代。适合于业务和需求不断变更的 开发过程,交付部分功能给客户,确认需求,逐步完善。 5.螺旋模型:将瀑布模型和演化模型结合起来,加入了风险分析。 6.增量模型:是将软件分解成一系列的增量的构件,在增量开发迭代中逐步加入,也叫极限程序设计。 7.软件工程原则: a)抽象自顶向下,逐层细化 b)模块化的开发方法 c)信息隐蔽和数据封装。 d)局部化 e)一致性 f)完备性 g)可验证性 8.软件工程基本原理: a)按软件生存期分阶段制定计划并认真实施 b)坚持进行阶段评审 c)坚持严格的产品控制 d)使用现代程序设计技术 e)明确责任 f)用人少而精 g)不断改进开发的过程 9.识别用户要求,必须考虑的问题: a)功能和性能 b)可靠性和质量 c)总的系统目标 d)成本与进度的把控 e)制造需求 f)市场竞争情况 g)有效的技术 h)将来可能的扩展 10.可行性研究 a)问题识别 b)市场调查 c)分析准备

软件工程实习报告范文4篇

软件工程实习报告范文4篇 一、关于实习公司 我所实习的南京xx软件有限公司简称xx公司,公司成立于XX 年,主营软件开发和信息系统集成,专门从事工程建设项目管理信息系统开发和实施,具有自主知识产权的项目管理软件产品xx项目管理系列软件(包括xx投资控制合同管理软件、xx进度控制计划管理软件、xx质量控制安全管理软件、xx项目管理门户、xx城建项目管理平台等),并已经在全世界第一大桥苏通长江大桥、国内最大的开发区苏州工业园区以及南水北调工程实施和应用,目前正与南京城建集团合作,开发城建项目管理平台。 二、实习的内容 今年xx月xx日开始,我正式走进xx开始了实习工作,并被调到了江苏省建筑质量检测中心,参加正在进行的一个检测项目。由于我才大三,本身对企业的经营方式等都很陌生,公司让我们的王工带我学习,以师傅带徒弟的方式,指导我的日常实习。在王工的热心指导下,我依次对此次项目的业务流程和大概框架进行了了解,并积极参与相关工作,注意把书本上学到的理论知识对照实际工作,用理论知识加深对实际工作的认识,用实践验证大学所学确实有用。以双重身份完成了学习与工作两重任务。跟公司同事一样上下班,协助同事完成部门工作;又以学生身份虚心学习,努力汲取实践知识。我心里明白我要以良好的工作态度以及较强的工作能力和勤奋好学来适应公司的工作,完成公司的任务。

三、实习的提高与收获 实习收获,主要有四个方面: 一是通过直接参与企业的运作过程,学到了实践知识,同时进一步加深了对理论知识的理解,使理论与实践知识都有所提高,圆满地完成了本科教学的实践任务。 二是提高了实际工作能力,为就业和将来的工作取得了一些宝贵的实践经验。 三是一些学生在实习单位受到认可并促成就业。 四是为毕业后的正式工作做好了准备。 四、结语 到公司实习并没有我想象中的难以融入,通过慢慢的学习,发现在公司用的到得知识在我们的学校学习中都会遇到。至暑期结束,从不懂到渐渐的做了几个检测项目。学到不少的东西。实习生活还没结束,开学了我还是会继续留在公司我的学习和探索。 光阴荏苒,时光飞逝,转眼间到了实习结束的日子。从进公司实习到现在,我已经到公司近6个月了,感受颇多,收获颇多。期间,通过公司领导的关心和帮助,同事的指导,使我能够很快地了解公司的管理与运作程序,我了解了公司的发展概况,熟悉了公司的流程和行业的基础知识,使我逐步学会如何从一个刚出校门不久的实习生转变成一个职员。以下是我这一阶段的工作总结。 学习无止境,职业生涯只是学生生涯的一种延续。对于一个实习的学生,初踏入职场,进入专业的软件公司,对开发软件没有一点

软件工程导论作业答案

学号_31009210** 姓名_朱某某班级_软件10* 作业一 1.什么是软件危机?它有哪些典型表现?为什么会出现软件危机? “软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。这些问题不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。 “软件危机”包含两方面的问题: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 它们有以下表现: (1)对软件开发成本和进度的估计常常很不准确; (2)用户对“已完成的”软件系统不满意的现象经常发生; (3)软件产品的质量往往靠不住; (4)软件常常是不可维护的; (5)软件通常没有适当的文档资料; (6)软件成本在计算机系统总成本中所占的比例逐年上升; (7)软件开发生产速率提高的速度,远远跟不上计算机应用普及深入的趋势。 出现软件危机的原因 (1)开发人员与客户认识之间的矛盾 (2)开发人员能力与开发目标之间的矛盾 (3)预估与实际工作量之间的矛盾 (4)客户认识的提高与软件维护之间的矛盾 (5)遗产系统与实施软件之间的矛盾 2.假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他? 在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面比较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价俱增。在软件“已经完成”时再引入变动,当然付出的代价更高。一个故障时代码错误造成的,有时这种错误时不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。 3.什么是软件工程?他有哪些本质特征?怎样用软件工程消除软件危机? 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,以经济地开发出高质量的软件并有效的维护它,这就是软件工程。 本质特征: 软件工程关注于大型软件的构造 软件工程的中心课题是控制复杂性 软件经常变化 开发软件的效率非常重要 和谐地合作是开发软件的关键 软件必须有效支持它用户

软件工程实践报告范文3篇精选

软件工程实践报告范文3篇精选 软件工程实践作为软件工程专业本科生企业实习前的综合实践课程在培养体系中占有重要地位,*是小编为大家整理的软件工程的实践报告范文,仅供参考。 软件工程实践报告范文篇一 实践单位:山西西太行信息有限公司 实践时间:xx年7月1日-----xx年7月31日共31天 一、实践目的:综合利用所学的专业知识,培养软件开发的技能;掌握android操作系统的编程技巧,体会企业软件开发与学习过程中编写软件的不同;提高自身的创新意识与创新能力,促进团队之间的沟通协作,为早日踏上工作岗位打下坚实基础。 二、实践内容及感悟: a) 实践前准备:自xx年清明节前后,我和我的组员就开始接受山西西太行信息有限公司的公开课的培训,当时经电子与计算机技术学院于一老师介绍由陈川老师主要带领我们重新温习了一遍关于java语言的基本知识,在这将近一个月的学习过程中我们逐渐重新拾起了即将被遗忘的java 知识,走出了以前认识

上的误区,使我在java这一块又有了一定的的优势,为以后我们用java语言做开发打下了很好的基础。 自xx年5月1日,我们开始了真正的基于android操作系统的软件开发,虽然我们是利用课余时间进行学习,但是学习的效果真的很好,我们基本上晚上都会学到很晚才回宿舍。刚开始的时候我感到很不适应,感到学习的java语言不能够充分的的到利用,只能够用一些和系统相关的东西,但是随着学习的深入,我发现android操作系统也是一个很强大的手机操作系统,它有着很好的发展前景。并且移动互联网在在中国有着大的市场,所以我对我正在从事的android手机软件开发给予了很大的希望。这一个月的培训我们主要学习了android操作系统的五大系统组件:activity、service、sqlite、content Provider、intent、broadcastRecever,同时我也学到了一些课堂上学不到得东西,对外面的市场的情况也有了更深刻的了解。 b) 实践过程:xx年7月1日到xx年7月31日是我正式暑假实践的时间段, 我们一行十六个人,大三的十一人大二的六人。我们被分了两个小组,每个小组八个人,上课时间一般是下午两点到五点半或者下午五点半到晚上八点半,其余的时间是我们自己写代码的时间。每天的任务量都有所不同,有时候把自己的任务做完了剩下的时间就自由支配。这一个月我们的主要任务是做一个腾讯微

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