[0010]《软件工程》作业

合集下载

2015年秋西南大学(0010)《软件工程》大作业A标准答案

2015年秋西南大学(0010)《软件工程》大作业A标准答案
生产厂家=20{字符}20单价=5{数字} 5+”.”+2{数字} 2
入/出库日期=10{数字}10经手人=10{字符}10
问题5
由于流程图只有一个判断语句,且判断语句中的变量(ng)只有一个,而临界值是一个常数10,所以测试数据的选取只与ng有关。1、取ng=10,可对该程序进行边界值测试法,这属于黑盒测试,测试目的在于测试程序能不能处理商品数量刚好等于临界值的情况。2、取:ng =11,
ng=8
可对该程序进行语句覆盖或判定覆盖测试,属于白盒测试。语句覆盖的测试目的在于将程序的每条语句都执行到,以判断语句有无错误;判定覆盖测试目的在于通过测试将程序中判定的真假分支都执行一遍,以观察判定的每个分支有无错误产生。
西南大学网络与继续教育学院课程考试答题卷
学号:姓名:层次:
类别:专业:201年月
课程名称【编号】:软件工程【0010】A卷
题号


三四五总分 Nhomakorabea评卷人
得分
(横线以下为答题区)
问题2
商品入/出库信息={品名+编号+生产厂家+数量+单价+入/出库日期+经手人}品名=20{字符}20
编号=10{数字} 10数量=10{数字} 10

《软件工程》作业及参考答案1,4

《软件工程》作业及参考答案1,4

《软件工程》作业及参考答案——第一、二章中央电大理工部史红星(2004年09月15日)浏览人次4582一、填空题1. 软件工程学的内容可包括(理论)、结构、(方法)、(工具)、环境、管理、规范等。

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

3. 可行性研究的目的是(用最小的代价在尽可能短的时间内确定问题是否能够解决)。

4. 系统流程图是(描绘物理系统)的传统工具。

5. 在可行性研究中,(技术可行性)是系统开发过程中难度最大,最重要的一个环节。

二、判断题1. 软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。

(√ )2. 螺旋模型是利用笛卡尔坐标的四个象限上分别代表四个方面的活动来表示。

(√ )3. 原型模型适用于嵌入式软件。

(╳ )4. 面向对象技术是构件组装模型的基础。

(√ )5. 在可行性研究中最难决断和最关键的问题是经济可行性。

(╳ )6. 系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。

(╳ )7. 自底向上成本估计不是从整体开始,而是从任务单元开始。

(√ )三、单项选择题1. 下列哪个阶段不是软件生存期三个阶段中的内容( C )。

A.计划阶段B.开发阶段C.编码阶段D.维护阶段2. 下列关于瀑布模型的描述正确的是( C )。

A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。

B. 瀑布模型具有良好的灵活性。

C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。

D. 利用瀑布模型,如果发现问题修改的代价很低。

四、简答题1. 软件的定义与特点。

参考答案:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据结构及其相关文档的完整集合。

它包括三个方面的内容:⑴程序:在运行时,能提供所希望的功能和性能的指令集。

⑵数据结构:使程序能够正确运行的数据结构。

软件工程作业含答案解析

软件工程作业含答案解析

软件工程第一章作业 (1)1.1什么是计算机软件?软件的特点是什么? (1)1.2简述软件的分类,并举例说明。

(1)1.4什么是软件工程? (1)1.5简述软件工程的基本原则。

(1)1.6软件生存周期分哪几个阶段?分别简述各个阶段的任务。

11.9简述各类软件过程模型的特点。

(2)1.10敏捷软件开发的特点是什么? (2)1.12简述敏捷软件开发的原则。

(2)第2、3章 (3)2.1简述系统工程的任务。

(3)2.2基于计算机的系统由哪些元素组成? (3)2.3简述可行性分析的任务。

(3)3.1需求工程的重要性是什么?举出身边由于需求分析失败而造成整个项目失败的例子。

(3)3.2需求工程具体包括哪些步骤?每个步骤的具体任务是什么?33.3 一个系统分析员应该具备哪些思想素质和基础知识?请说明理由。

43.4列出在制定需求获取策略时的3种主要考虑因素。

(5)3.6举例说明一个系统的3个不同类型的非功能需求 (5)3.8软件需求分析的操作性原则和需求工程的指导性原则是什么? (5)3.9软件需求规约主要包括哪些内容?自己寻找一个实例,亲自写一个需求规约。

.53.10需求验证应该有哪些人参加?画出一个过程模型,说明需求评审应该如何组织。

5第4章 (5)4.1简述软件设计阶段的基本任务 (5)4.2软件设计与质量的关系是怎么样的? (6)4.4简述模块、模块化及模块化设计的概念。

(6)4.6耦合和软件可移植性的概念有何关系?举例说明自己的结论。

(6)4.7用自己的话描述信息隐蔽概念,并讨论信息隐藏与模块独立两概念之间的关系。

64.8什么是模块独立性?设计中为什么模块要独立?如何度量独立性?模块功能独立有何优点? (6)4.9软件设计规约主要包括哪些内容? (7)第5章结构化分析与设计 (7)5.1简述数据流图的主要思想,概述使用数据流图进行需求分析的过程。

75.2分别采用数据流方法中得哪些技术来完成用户需求的精确化、一致化和完全化的任务。

软件工程0010-2017答案

软件工程0010-2017答案
DFD图的第0层
DFD图的第1层
问题4:采用面向对象的方法,画出系统的用例图并识别出系统的主要类。
包括用户、账户、收支明细等
问题5:采用面型对象的方法,画一个UML时序图,描述一次通过网上查询余额的具体交互。
西南大学网络与继续教育学院课程考试试题卷
类别:网教专业:计算机科学与技术2017年12月
课程名称【编号】:软件工程【001来自】A卷大作业满分:100分
一、大作业题目
设计一个简化的网上个人银行查询系统,用户可以通过Internet查询自己账户的收支明细、余额和讯改密码。
问题1:画出E-R图。
问题2:画出DFD图的第0层和第1层。

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

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

软件工程作业(答案参考)软件工程第一次作业1)软件工程适用范围?答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。

它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。

在现代社会中,软件应用于多个方面。

典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。

同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。

这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。

2)软件工程如何控制系统开发的复杂性的?答:可理解性(understandability)。

系统具有清晰的结构,能直接反映问题的需求。

可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。

带来不必要的投入,软件是以人为本,方便用户工作,达到提高工作效率的目的。

若然日后此用户需要更多功能的时候,我们还是可以向其软件公司提供升级功能解决用户需求。

3)协同工作有什么重要性?答:日常工作中,80%的事项,都需要与同事协作完成、与其他部门协调资源、或者向领导进行请示汇报;80%的工作都处于开放的环境,如特殊请求、突发事件、临时汇报、项目协作、活动组织、意见征集、沟通协调等等,因此,通过柔性协作流程的使用,员工可以很便捷的实现与其他同事的头脑风暴、分工协作、资源整合,并且可以通过自建模板和自建流程的使用,使得很多处于随机和发散状态的工作实现有序化、可跟踪化、可追溯化,实现工作的敏捷性与有效性的统一,简单来说,就是实现员工的工作产生1+1>2的效果。

6 )只要是编程高手,即使是不懂软件工程,也能编出很好的软件。

答:不一定。

软件的开发是由需求调研分析、概要设计、详细设计、编码、测试及用户体验反馈等组成的。

所以只是懂得编码编程其中一部分不一定能编出很好的软件。

7 )只要拥有一套讲述如何开发软件的书籍,并了解了书中的标准与示例,就可以解决软件开发中遇到的任何问题。

《软件工程》标准答案

《软件工程》标准答案

2018年5月[0010]《软件工程》作业标准答案1、( )是用户和设计交换最频繁的方法。

原型化方法螺旋模型方法构件组装模型瀑布模型方法2、在人工智能领域,目前最广泛使用的高级语言是 ( )。

LISPAda FORTRANCOBOL3、模块内聚度越高,说明模块内各成分彼此结合的程度越( )相等 无法判断 紧密松散4、“软件危机”产生的主要原因是()。

没有维护好软件 开发方法不当开发人员编写程序能力差 软件日益庞大5、软件维护申请报告由( )填写。

维护负责人 用户专家维护程序员6、程序语言的编译系统和解释系统相比,从用户程序的运行效率来看 ( )。

两者大致相同 前者运行效率高后者运行效率高不能确定7、软件维护是软件得以正常运行的重要环节,按照软件工程方法的理解,一般软件维护应开始于()。

E. 查阅测试记录分析软件结构阅读设计文档理解程序代码8、软件设计中划分模块的一个准则是()。

低内聚高耦合高内聚低耦合低内聚低耦合高内聚高耦合9、维护阶段产生的文档包括( )。

开发进度报告软件问题报告维护申请报告软件修改报告10、从工程管理的角度来看,软件设计分两步完成()系统分析、模块设计总体设计、详细设计详细设计、总体设计模块设计、详细设计11、SA法的主要描述手段有()系统流程图和模块图DFD图、数据词典、加工说明功能结构图、加工说明软件结构图、加工说明12、采用甘特图表示软件项目进度安排,下列说法中正确的是()。

能够反映多个人物之间的复杂关系能够直观表示任务之间相互依赖的制约关系能够表示哪些任务是关键任务能够表示字人物之间的并行和串行关系13、画DFD图的主要目的()对系统的数据结构进行描述。

对目标系统的层次结构进行描述。

解决系统是“如何做的问题”。

作为需求分析阶段用户与开发者之间交流信息的工具。

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

A. 数据流条目、数据存储条目、数据源条目、加工条目数据说明条目、控制流条目、加工条目、数据存储条目数据源条目、数据流条目、数据处理条目、数据文件条目数据流条目、数据项条目、文件条目、加工条目15、在下列的基本成分中,哪个不是数据流程图的基本成分?()信息处理系统状态信息存储外部实体16、数据流图中,当数据流向或流自文件时()。

软件工程作业题(含答案)

软件工程作业题(含答案)

软件工程作业题简答题1、什么叫软件?软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因是什么?软件危机是指在计算机软件开发与维护过程中所遇到的一系列严重问题。

包括两点:(1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。

软件开发和维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。

具体表现如下:(1)软件是逻辑部件而不是物理部件。

(2)软件的规模越来越大,复杂性越来越大。

(3)轻视需求分析的重要性,轻视软件维护的错误观点和方法。

3、什么叫软件工程?1968年在第一届NATO会议上的早期定义:“建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。

1993年IEEE的定义:“①软件工程是:把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②进而研究①实现的途径”。

我们国家最近定义:软件工程是指导计算机软件开发和维护的工程学科。

它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

4、两种软件工程方法学开发软件时要建立哪些模型?软件工程方法学包括:传统方法学和面向对象方法学。

常用的开发模型有:瀑布模型(需求稳定,而且可以预先指定)原型模型(需求模糊或者随时间变化)增量模型(分析员先作出需求分析和概要设计,用户参与逐步完善)螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析)喷泉模型(使开发过程具有迭代性和无间隙性)5、软件过程模型有哪些?简述它们的特点。

过程模型分为五大类:1.管理过程模型。

2.瀑布模型(又称为生命周期模型)。

3.增量过程模型:包括增量模型,,RAD模型。

4.烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。

2020年春西南大学继续教育[0010]《软件工程》作业答案

2020年春西南大学继续教育[0010]《软件工程》作业答案

1、在人工智能领域,目前最广泛使用的高级语言是( )。

1.LISP2. Ada3. FORTRAN4. COBOL2、软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们()1. B. 前者属于动态测试,后者属于静态测试2.都属于静态测试3.都属于动态测试4.前者属于静态测试,后者属于动态测试3、软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是()。

1.引入新技术提高空间利用率2.硬软件结合使系统面向应用3.用较少的投资获得高质量的软件4.缩短研制周期扩大软件功能4、下列叙述中,()不属于数据字典的作用。

1.用户中系统的直接使用者2.用户和软件人员的中间人3.软件的编程人员4.用户和软件人员的领导5、软件设计中划分模块的一个准则是()。

1.低内聚高耦合2.高内聚低耦合3.低内聚低耦合4.高内聚高耦合6、提高程序可读性的有力手段是()。

1.给程序加注释2.选好一种程序设计语言3.显示说明一切变量4.使用三种标准控制语句7、SA法的主要描述手段有()1.系统流程图和模块图2. DFD图、数据词典、加工说明3.功能结构图、加工说明4.软件结构图、加工说明8、结构化分析,简称()1. SC2. CASE3. SA4. SD9、模块内聚度越高,说明模块内各成分彼此结合的程度越()。

1.无法判断2.松散3.紧密4.相等10、PDL是()语言。

1.高级程序设计语言2.中级程序设计语言3.伪码式4.低级程序设计语言11、采用甘特图表示软件项目进度安排,下列说法中正确的是()。

1.能够反映多个人物之间的复杂关系2.能够直观表示任务之间相互依赖的制约关系3.能够表示哪些任务是关键任务4.能够表示字人物之间的并行和串行关系12、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是()1.软件开发工具和软件开发的环境2.软件开发环境3.硬件环境4.开发人员的素质13、软件产品的生产主要()1.研制2.生产3.再生产4.开发14、数据字典是数据流图中所有元素的定义的集合,一般由以下4类条目组成()。

《软件工程》作业与参考答案

《软件工程》作业与参考答案

一、填空(15分)1、需求分析的任务:1)。

确定目标系统的综合要求A。

目标系统的功能要求B。

目标系统的性能要求C。

目标系统运行的环境要求D。

目标系统的扩展要求2)。

分析目标系统的数据要求A。

需要哪些数据?B。

数据之间有什么联系?C。

数据有什么属性及数据结构?D。

对数据的处理逻辑?3)。

导出目标系统的逻辑模型4)。

修正系统流程图5)。

修正系统开发计划6)。

开发原型系统2、模块设计准则1)、改进软件结构提高模块独立性(低耦合高内聚)2)、模块规模要适中3)、深度、宽度、扇入及扇出要适当4)、设计单入口单出口的模块5)、模块功能应该可以预测6)、降低接口的复杂性7)、模块的作用域应该在控制域之内3、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题,具体表现在哪些方面?1)、无法开发复杂程度高的软件2)、成本和进度估计不准3)、无统一科学的规范,软件不可维护4)、无质量保证,可靠性差5)、软件常不能满足用户的需求6)、无适当的文档资料7)、软件生产率太低4 、总体设计的任务1)、设计系统的物理实现方案2)、设计软件的整体结构,划分程序功能模块,决定模块间的接口关系和传递信息; 3)、设计系统全局的存贮数据结构4)、设计系统I/O的方式和格式;5)、设计系统安全性、出错处理及代码等6)、设计组装测试计划。

5、从下列关于结构化程序设计的叙述中选出5条正确的叙述。

①程序设计比较方便,但比较难以维护。

②便于由多个人分工编制大型程序。

③软件的功能便于扩充。

④程序易于理解,也便于排错。

⑤在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。

⑥模块之间的接口叫做数据文件。

⑦只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。

⑧模块间的单向调用关系叫做模块的层次结构。

⑨模块越小,模块化的优点越明显。

一般来说,模块的大小都在10行以下。

答:正确的叙述有②、③、④、⑦、⑧。

西南大学《软件工程》网上作业题及答案

西南大学《软件工程》网上作业题及答案

[0010]《软件工程》第一次作业[论述题](1) 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。

参考答案:目前使用得最广泛的软件工程方法学(2种):1.传统方法学:也称为生命周期方法学或结构化范型。

优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。

缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。

面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用[论述题]2软件生命周期划分成哪些阶段。

参考答案:软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。

1. 软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析2. 开发时期:总体设计、详细设计、编码和单元测试、综合测试。

3. 维护时期:主要任务是使软件持久地满足用户的需要。

[论述题](3) 什么是需求分析,需求分析阶段的基本任务是什么?参考答案:需求分析就是理解用户需求,分析软件用户的需求是什么。

需求分析的任务就是解决"做什么"的问题,在问题定义和可行性研究的基础上,全面地理解用户的各项要求,并准确地表达所接受的用户需求。

具体说来,就是把可行性研究阶段确定的系统功能进一步具体化,交出包括详细的数据流图、数据字典以及简要的算法描述在内的需求说明书。

[论述题](4) 可行性研究的任务参考答案:1.进一步分析和澄清问题;2.导出系统的逻辑模型;3.从逻辑模型出发,提出若干种系统实现方案4.研究每种实现方案的可行性;5.为每个可行的解决方案制定一个粗略的实现进度6.对以后的行动方针提出建议[论述题](5)什么叫软件测试,软件测试的方法有哪些?参考答案:软件测试:为了发现程序中的错误而执行程序的过程。

[0010]《软件工程》作业

[0010]《软件工程》作业

1、对象是00方法的核心,对象的类型有多种,但通常把如飞行,事故,演出,开会等称为(C)A,有形实体 B,作用 C,事件 D,性能说明2、软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们(D)1. A. 前者属于静态测试,后者属于动态测试2. B. 前者属于动态测试,后者属于静态测试3. C. 都属于静态测试4. D. 都属于动态测试3、数据流图是一种用来描述(A)的图形化工具1. A. 系统信息流和数据流2. B. 所有功能3. C. 系统控制流和数据流4. D. 系统物理组成4、需求分析阶段的主要任务是确定(A)1. A. 软件系统的功能2. B. 软件开发方法3. C. 软件开发工具4. D. 软件开发费5、汽车有一个发动机。

汽车和发动机之间的关系是(B)1. A. 继承关系2. B. 聚合关系3. C. 分类关系4. D. 主从关系6、(B)和数据流图共同构成系统的逻辑模型,没有它,数据流图就不完整1. A. E-R图2. B. 数据字典3. C. 层次方框图4. D. 数据流程图7、汽车有一种叫货车。

汽车和火车之间的关系是(A)1. A. 继承关系2. B. 聚合关系3. C. 分类关系4. D. 主从关系8、(A)是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息是对外界隐蔽的,外界只能通过有限的接口与对象发生联系1. A. 封装2. B. 消息3. C. 继承4. D. 多态性9、消息是对象间交互的手段,消息刺激接受对象产生某种行为,消息的构成有三部分:接受消息的对象,(B),若干变元。

1. A. 发出消息的对象2. B. 消息名3. C. 消息编号4. D. 发送时间10、数据字典是用来定义(B)中的各个成份的具体含义的1. A. 流程图2. B. 功能结构图3. C. 系统结构图4. D. 数据流图11、要将一个复杂的系统分析清楚,传统软件工程常用的方法是结构化分析方结构化分析方法就是(A)1. A. 面向数据流自顶向下,逐步求精的方法2. B. 由内向外进行分析的方法3. C. 先局部后整体的分析方法4. D. 使用IPO图形工具分析的方法12、一般来说,在软件生命周期中成本最高的阶段是(D)1. A. 详细设计2. B. 软件编码3. C. 软件测试4. D. 软件维护13、模块的内聚性最高的是(D)1. A. 逻辑内聚2. B. 时间内聚3. C. 过程内聚4. D. 功能内聚14、需求分析是要完整,准确,清晰,具体地确定系统所要完成的工作,其主要根据是前一阶段的文档(D)1. A. 用户手册和参考手册2. B. 开发计划3. C. 软件需求规格说明书4. D. 可行性研究报告15、数据流图(DFD)是(C)方法中用于表示系统的逻辑模型的一种工具1. A. SP2. B. SC3. C. SA4. D. SD16、使用实体-联系图(ER图)建立的概念性数据模型中包含3种互相关联的信息是(B)1. A. 数据对象,属性,方法2. B. 数据对象,属性,联系3. C. 数据表,属性,联系4. D. 数据表,实体,联系17、数据流图DFD中每个加工至少需要(B)1. A. 一个输入流2. B. 一个输出流和一个输入流3. C. 一个输入或输出流4. D. 一个输出流18、(C)是指用户只能见到对象界面上的信息,对象内部对用户是隐藏的1. A. 类2. B. 消息名3. C. 封装4. D. 对象19、提高程序可读性的最有力手段是(A)1. A. 使用三种标准控制结构2. B. 采用有实际意义的变量名3. C. 显示说明一切变量4. D. 给程序加注释20、面向对象分析是对系统进行(A)的一种方法1. A. 需求建模2. B. 程序设计3. C. 设计评审4. D. 测试验收21、尽可能利用硬件的特点以提高效率。

西南大学网络教育《软件工程》大作业0010期末考试复习题及答案

西南大学网络教育《软件工程》大作业0010期末考试复习题及答案

条件覆盖的含义是,不仅每个语句至少执行一次,而且使判定表达 式中的每个条件都取到各种可能的结果。 为达到判定覆盖,需要四组测试数据: (X=true,Y=true,W=true,Z=true) (X=true,Y= false,W=true,Z=true) (X=true,Y=true,W= false,Z=true) (X=true,Y=true,W= true,Z= false)

y←读者文件=1
否 查询借阅文件
X←借阅文件>5


Today()-BD←借阅文件 >40

否 办理借书事务,更新数据库
问题五: 测试方法一:黑盒测试(读者信息管理单元)
序号 测试内容 测试数据 期望结果 测试结果 测试结论
1
该读者记 00000000 王明
王明
正确
录中无止 00001 0借阅文件
问题三:
主模块
图书编码、借书
查询模块
输出查询结果
查 查查 询 询询 图 借读 书 阅者 文 文文
件 件件
所对 查借 图书 书证 是验 否证 可结
借果
借书事务处
提更 交新 书数 籍据 给库 借 书 人
问题四:
开始 输入图书编码、借书卡号
查询图书文件
Z←图书文件=1

借书失败
查询读者文件
的证件 的证件
号!” 号!”
测试方法二:白盒测试 因为程序中有四个判断,所以测试数据围绕这个四个判断展开,令 “Z←图书文件=1”为 X,“Z←图书文件=1”为 Y,“X←借阅文件>5” 为 W,“Today()-BD←借阅文件>40”为 Z。 为达到条件覆盖,需要 16 组测试数据: (X=true,Y=true,W=true,Z=true) (X=true,Y=true,W=true,Z=false) (X=true,Y=true,W= false,Z=true) (X=true,Y= false,W=true,Z=true) (X= false,Y=true,W=true,Z=true) (X= false,Y= false,W=true,Z=true) (X= false,Y=true,W= false,Z=true) (X= false,Y=true,W=true,Z= false) (X=true,Y= false,W= false,Z=true) (X=true,Y= false,W=true,Z= false) (X=true,Y=true,W= false,Z= false) (X= false,Y= false,W= false,Z=true) (X= false,Y=true,W= false,Z= false) (X= false,Y= false,W=true,Z= false) (X=true,Y= false,W= false,Z= false) (X= false,Y= false,W= false,Z= false)

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

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

软件工程第一次作业1)软件工程适用范围?答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。

它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。

在现代社会中,软件应用于多个方面。

典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。

同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。

这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。

2)软件工程如何控制系统开发的复杂性的?答:可理解性(understandability)。

系统具有清晰的结构,能直接反映问题的需求。

可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。

3)以你的经验,举例说明一个成熟的软件通常采用什么方法来适应现实世界的变化的?答:以猎豹游览器为例,开始软件投入市场公测,软件自带收集错误报告的程式,当遇到问题软件错误,会将相关信息反馈到接受错误信息的服务器,已方便程序员及时发现问题加以修复,修复完成后提供程序更新,循环此法提供软件运行稳定性,另外还有用户反馈的相关功能,对软件的建议也会收集到服务器,按实用性需求程序员可在原有程序上开发调整更适合用户使用的程序。

4)假设某软件公司,能为同一个用户开发两个不同层次的软件:一个层次的软件功能非常强大,在满足用户所有需求的基础上,还能提供大大超过用户需求的其他更多更强的功能;另一个层次的软件仅仅能满足用户需求,但没有提供其他额外的功能。

请问如果你是项目负责人,你会选择为客户开发那个层次的软件?答:我会选择仅仅满足用户需求的软件。

因为太多的功能,相对于非专业的人员,在用户体验上可能会造成困扰,太多的功能会导致难以操作。

而且功能强大的软件还会给用户费用上带来不必要的投入,软件是以人为本,方便用户工作,达到提高工作效率的目的。

若然日后此用户需要更多功能的时候,我们还是可以向其软件公司提供升级功能解决用户需求。

《软件工程》作业及答案

《软件工程》作业及答案

《软件工程》作业第一章1.什么是软件危机,它有哪些典型表现?答: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

软件危机典型表现:对软件开发成本和进度的估计常常很不准确。

用户对“已完成的”软件系统不满意的现象经常发生。

软件产品的质量往往靠不住。

软件常常是不可维护的。

软件通常没有适当的文档资料。

软件成本在计算机系统总成本中所占的比例逐年上升。

软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。

软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。

管理和控制软件开发过程相当困难。

软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。

目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。

2.简述产生软件危机的原因和解决的思路。

答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。

解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。

即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。

3.什么是软件工程?它有哪些本质特性?答: 软件工程是指导计算机软件开发和维护的一门工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。

软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。

《软件工程》作业及答案

《软件工程》作业及答案

《软件工程》作业及答案软件工程作业及答案软件工程是以工程化的原则和方法来开发、维护和管理软件的学科。

在软件工程的学习过程中,作业是一种重要的学习方式,能够巩固所学的知识,提高实践能力。

以下是一道软件工程作业题目及答案的介绍。

作业题目:设计一个简单的学生成绩管理系统,具有添加学生信息、录入学生成绩、计算总分和平均分、查询学生信息和成绩等功能。

作业答案:一、需求分析根据题目要求,我们需要设计一个学生成绩管理系统。

系统需要包含以下功能:1. 添加学生信息:输入学生的姓名、学号和班级等信息,将学生信息保存到数据库中。

2. 录入学生成绩:输入学生的学号和各科成绩,将成绩保存到数据库中。

3. 计算总分和平均分:根据学生的各科成绩,计算出总分和平均分,并将结果保存到数据库中。

4. 查询学生信息和成绩:根据学生的学号,查询并显示学生的基本信息和各科成绩。

二、系统设计1. 数据库设计:设计一个学生信息表和学生成绩表,学生信息表包含学号、姓名和班级等字段,学生成绩表包含学号、科目和成绩等字段。

2. 用户界面设计:设计一个简洁美观的用户界面,包括添加学生信息、录入学生成绩和查询学生信息和成绩等功能按钮。

3. 系统功能设计:根据需求,设计相应的函数和方法来实现添加学生信息、录入学生成绩、计算总分和平均分以及查询学生信息和成绩等功能。

三、系统实现1. 使用编程语言:选择适合的编程语言来实现系统,比如Java、Python等。

2. 编写代码:根据系统设计,编写代码实现各个功能。

3. 运行测试:对系统进行测试,确保各功能正常运行。

四、系统运行和使用1. 安装和配置:将系统部署到服务器或本地环境中,并完成必要的安装和配置工作。

2. 运行系统:启动系统,进入用户界面。

3. 使用系统:根据需要,点击相应的功能按钮进行学生信息的添加、成绩的录入和查询等操作。

五、总结与展望通过完成这个学生成绩管理系统的设计和实现,我们不仅巩固了软件工程的相关知识,还提高了实践能力。

软件工程作业含答案解析

软件工程作业含答案解析

软件工程第一章作业 (1)1.1什么是计算机软件?软件的特点是什么? (1)1.2 简述软件的分类,并举例说明。

(1)1.4 什么是软件工程? (1)1.5 简述软件工程的基本原则。

(1)1.6 软件生存周期分哪几个阶段?分别简述各个阶段的任务。

(1)1.9 简述各类软件过程模型的特点。

(2)1.10 敏捷软件开发的特点是什么? (2)1.12 简述敏捷软件开发的原则。

(2)第2、3章 (3)2.1简述系统工程的任务。

(3)2.2基于计算机的系统由哪些元素组成? (3)2.3简述可行性分析的任务。

(3)3.1需求工程的重要性是什么?举出身边由于需求分析失败而造成整个项目失败的例子。

(3)3.2需求工程具体包括哪些步骤?每个步骤的具体任务是什么? (3)3.3一个系统分析员应该具备哪些思想素质和基础知识?请说明理由。

(4)3.4列出在制定需求获取策略时的3种主要考虑因素。

(5)3.6举例说明一个系统的3个不同类型的非功能需求 (5)3.8软件需求分析的操作性原则和需求工程的指导性原则是什么? (5)3.9软件需求规约主要包括哪些内容?自己寻找一个实例,亲自写一个需求规约。

. 53.10需求验证应该有哪些人参加?画出一个过程模型,说明需求评审应该如何组织。

5 第4章 (5)4.1 简述软件设计阶段的基本任务 (5)4.2 软件设计与质量的关系是怎么样的? (6)4.4 简述模块、模块化及模块化设计的概念。

(6)4.6 耦合和软件可移植性的概念有何关系?举例说明自己的结论。

(6)4.7用自己的话描述信息隐蔽概念,并讨论信息隐藏与模块独立两概念之间的关系。

64.8什么是模块独立性?设计中为什么模块要独立?如何度量独立性?模块功能独立有何优点? (6)4.9软件设计规约主要包括哪些内容? (7)第5章结构化分析与设计 (7)5.1 简述数据流图的主要思想,概述使用数据流图进行需求分析的过程。

软件工程作业

软件工程作业

《软件工程》作业班级2000(春)计算机本科姓名罗国南学号001000490 成绩____________一、判断题1.可行性研究的最根本的任务是对以后的行动方针提出建议。

√2.PDL语言是详细设计的重要工具,可方便地实现程序的自动生成。

√3.模块的控制域应该在作用域之内。

4.面向对象方法把对象作为数据及可以施加在这些数据上的操作所构成的统一体。

√5.软件是一种逻辑实体,而不是具体的物理实体。

√6.软件测试时经常要输入无效的,不合理的数据进行测试。

√7.高级程序设计语言从应用的角度看,可以分为基础语言、结构化语言和专用语言三大类。

√8.软件维护的前提是不能失去原有软件的基本功能。

√9.Gantt图可以明确地表示出各子任务之间的依赖与制约关系。

×10.与其它开发的方法相比较,结构化方法的主要优点之一是对用户需求的变更响应迅速。

×11.适应性维护的目的是为了适应计算机软、硬件环境的变化。

√12.系统流程图可以描述系统的逻辑模型,它的基本思想是用图形符号以黑盒子形式描绘系统里的每个部件。

×13.工程网络图可以描绘各子任务作业的工作时间和可以机动(延长)时间。

√14.在面向对象方法中,对象是进行处理的主体。

√15.调试是在测试出错误之后,找到错误的位置并改正的过程。

√16.不允许使用GOTO语句是结构程序的特征。

×17.面向对象技术的最大优点是减少了软件的开发时间。

×18.用盒图和PAD图设计出来的算法必定是结构化的。

√19.逻辑输入数据流是离物理输入端最远,且沿同一输入路径输入的数据流。

√20.可行性研究的结果有可能将软件开发项目否定。

√21.在面向对象方法学中,使用“对象”不仅需要知道它向外界提供的接口形式,而且必须知道它的内部实现算法。

×22.传统的流程框图不能用来进行结构化程序设计。

×23.一个模块执行时,必须引用另一个模块的某些数据,则这个模块的独立性不强。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、对象是00方法的核心,对象的类型有多种,但通常把如飞行,事故,演出,开会等称为(C)A,有形实体 B,作用 C,事件 D,性能说明2、软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们(D)1. A. 前者属于静态测试,后者属于动态测试2. B. 前者属于动态测试,后者属于静态测试3. C. 都属于静态测试4. D. 都属于动态测试3、数据流图是一种用来描述(A)的图形化工具1. A. 系统信息流和数据流2. B. 所有功能3. C. 系统控制流和数据流4. D. 系统物理组成4、需求分析阶段的主要任务是确定(A)1. A. 软件系统的功能2. B. 软件开发方法3. C. 软件开发工具4. D. 软件开发费5、汽车有一个发动机。

汽车和发动机之间的关系是(B)1. A. 继承关系2. B. 聚合关系3. C. 分类关系4. D. 主从关系6、(B)和数据流图共同构成系统的逻辑模型,没有它,数据流图就不完整1. A. E-R图2. B. 数据字典3. C. 层次方框图4. D. 数据流程图7、汽车有一种叫货车。

汽车和火车之间的关系是(A)1. A. 继承关系2. B. 聚合关系3. C. 分类关系4. D. 主从关系8、(A)是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息是对外界隐蔽的,外界只能通过有限的接口与对象发生联系1. A. 封装2. B. 消息3. C. 继承4. D. 多态性9、消息是对象间交互的手段,消息刺激接受对象产生某种行为,消息的构成有三部分:接受消息的对象,(B),若干变元。

1. A. 发出消息的对象2. B. 消息名3. C. 消息编号4. D. 发送时间10、数据字典是用来定义(B)中的各个成份的具体含义的1. A. 流程图2. B. 功能结构图3. C. 系统结构图4. D. 数据流图11、要将一个复杂的系统分析清楚,传统软件工程常用的方法是结构化分析方法,结构化分析方法就是(A)1. A. 面向数据流自顶向下,逐步求精的方法2. B. 由内向外进行分析的方法3. C. 先局部后整体的分析方法4. D. 使用IPO图形工具分析的方法12、一般来说,在软件生命周期中成本最高的阶段是(D)1. A. 详细设计2. B. 软件编码3. C. 软件测试4. D. 软件维护13、模块的内聚性最高的是(D)1. A. 逻辑内聚2. B. 时间内聚3. C. 过程内聚4. D. 功能内聚14、需求分析是要完整,准确,清晰,具体地确定系统所要完成的工作,其主要根据是前一阶段的文档(D)1. A. 用户手册和参考手册2. B. 开发计划3. C. 软件需求规格说明书4. D. 可行性研究报告15、数据流图(DFD)是(C)方法中用于表示系统的逻辑模型的一种工具1. A. SP2. B. SC3. C. SA4. D. SD16、使用实体-联系图(ER图)建立的概念性数据模型中包含3种互相关联的信息是(B)1. A. 数据对象,属性,方法2. B. 数据对象,属性,联系3. C. 数据表,属性,联系4. D. 数据表,实体,联系17、数据流图DFD中每个加工至少需要(B)1. A. 一个输入流2. B. 一个输出流和一个输入流3. C. 一个输入或输出流4. D. 一个输出流18、(C)是指用户只能见到对象界面上的信息,对象内部对用户是隐藏的1. A. 类2. B. 消息名3. C. 封装4. D. 对象19、提高程序可读性的最有力手段是(A)1. A. 使用三种标准控制结构2. B. 采用有实际意义的变量名3. C. 显示说明一切变量4. D. 给程序加注释20、面向对象分析是对系统进行(A)的一种方法1. A. 需求建模2. B. 程序设计3. C. 设计评审4. D. 测试验收21、尽可能利用硬件的特点以提高效率。

B ()1. A.√2. B.×22、重构工程也称修复和改造工程,它是在逆向工程所…的基础上修改成重构已有的系统,产生系统的一个新版本。

(正确)23、制定软件项目进度表的途径之一是软件开发小组根据提供软件产品的最后期限从后往钱安排时间。

(正确)24、在进行需求分析时同时考虑维护问题。

(正确)25、进行概要设计时尽可能加强模块间的联系。

(错)26、只要实行严格的产品控制就不用担心用户随意改需求。

(错)27、瀑布模型在实际的项目中严格顺序执行就基本可以成功。

(错)28、制定软件项目进度表的途经之一是软件项目开发组织根据项目和资源情况制定项目开发的初步计划和交付软件产品的日期。

(正确)29、确认测试任务是根据软件需求规格说明书。

测试软件系统是否满足用户的需求。

(正确)30、确认测试任务是根据软件需求规格说明书,测试软件系统是否满足用户的需求。

(正确)31、软件=“完成特定功能的程序+数据结构+文档”。

(正确)32、选择时间效率和空间效率尽可能高的算法。

(错)33、使用维护工具或软件工程环境。

(正确)34、即使测试过程没有发现任何错误,也不能说明软件没有错误。

(正确)35、重视程序结构的设计,使程序具有较好的层次结构。

(正确)36、即使测试程序没有发现任何错误,也不能说明软件没有错误。

(正确)37、系统响应时间是指当用户执行了某个控制动作后(例如,按回车键,点鼠标键等),系统作出的反应时间。

(正确)38、采用信息隐藏原理指导模块设计可以支持模块的并行开发,减少软件测试和软件维护的工作量。

(正确)39、在模块原理中,模块的作用域应该在控制域内。

(正确)40、需求分析阶段所生成的文档主要是进度计划和可行性研究报告。

(正确)41、软件就是完成特定功能的程序集合。

(错)42、完成测试后,为缩短源程序长度而删去程序中的注释。

(错)43、编码时尽可能使用全局变量。

(错)44、原型是目标软件系统的一个可操作模型,它实现了目标软件系统的某些重要方面。

(正确)45、过程式程序设计语言的基本机制包括:消息传送,数据类型定义,多态,子程序,控制程序。

(错)46、提高程序可读性,尽可能使用高级语言编程。

(正确)47、模块的接口设计要简单,以便降低复杂程度。

(正确)48、尽可能在软件开发过程中保证各阶段文档的正确性。

(正确)49、面向对象分析有哪些启发性原则?①设计结果应该清晰易懂②一般-特殊结构的深度应适当③设计简单的类④使用简单的协议⑤使用简单的服务⑥把设计变动减至最小50、简述软件测试要经过哪几个步骤,每个步骤与什么文档有关?测试过程按 4 个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。

单元测试集中对用源代码实现的每一个程序单元进行测试,与其相关的文档是单元测试计划和详细设计说明书。

集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。

与其相关的文档是集成测试计划和软件需求说明书。

确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。

与其相关的文档是确认测试计划和软件需求说明书。

平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。

与其相关的文档:用户指南、使用手册等。

51、决定软件可维护性的因素有哪些?维护过程本质上是修改和压缩了的软件定义和开发过程,而且事实上远在提出一项维护要求之前,与软件维护有关的工作已经开始了。

首先必须建立一个维护组织,随后必须确定报告和评价的过程,而且必须为每个维护要求规定一个标准化的事件序列。

此外,还应该建立一个适用于维护活动的记录保管过程,并且规定复审标准。

(①维护组织②维护报告③维护的事件流④保存维护记录⑤评价维护活动)52、提高可维护性的方法有哪些?在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审. 在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明.在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面. 在软件设计的复审中,因从便于修改,模块化和功能独立的目标出发,评价软件的结构和过程。

还应对将来可能修改的部分预先做准备. 在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素. 在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示. 在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审. 为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件,同时也在大力发展软件重用技术53、软件维护的过程是什么?①可理解性②可测试性③可修改性④可移植性⑤可重用性54、软件重用的效益是什么?答:1、软件重用可以显著地改善软件的质量和可靠性。

2、软件重用可以极大地提高软件开发的效率。

3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。

55、画出下列伪码程序的程序流程图STARTIF p THENWHILE q DOfENDDOELSEBLOCKgnENDBLOCKENDIFSTOP56、请用语句覆盖和条件组合覆盖两种测试方法设计出两套测试数据,用于测试问题1中你设计的程序。

答:语句覆盖X=95,Y=80经化简后的条件组合覆盖测试用例:1)x=95,y=95;2)x=95,y=70;3)x=70,y=95;4)x=70,y=70;语句覆盖是指设计足够的测试用例,使被测程序中每个语句至少执行一次.条件组合覆盖是比较强的覆盖标准,它是指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次. 57、请用语句覆盖和判定覆盖两种测试方法设计出两套测试数据,用于测试问题14中的程序。

语句覆盖:A=3,B=0判定覆盖:1)A=1,B=0;2)A=2,B任意1.语句覆盖是指设计足够的测试用例,使被测程序中每个语句至少执行一次.2.判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次”真”和”假”值,从而使程序的每一个分支至少都通过一次58、设计下列伪码程序的语句覆盖测试用例:STARTINPUT(A,B,C)//判定表达式1 IFA>5THENX=10ELSEX=1ENDIF//判定表达式2 IFB>10THENY=20ELSEY=2ENDIF//判定表达式3 IFC>15THENZ=30ELSEZ=3ENDIFPRINT(X,Y,Z)STOP59、假设系统中有一个模块的代码如下,请将该代码转换画出程序流程图。

PROCEDUREEX(A,B:REAL;VAR X:REAL);BEGINIF(A=3)OR(B>1)THEN X:=A×BIF(A>2)AND(B=0)THEN X:=A-3END60、假设机票预定系统中有一个模块的程序代码如下,请画出该模块的程序流程图。

相关文档
最新文档