《软件工程》打印大题作业

合集下载

软件工程作业含答案解析

软件工程作业含答案解析

软件工程第一章作业 (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分别采用数据流方法中得哪些技术来完成用户需求的精确化、一致化和完全化的任务。

软件工程080901第1套试题打印

软件工程080901第1套试题打印

北华大学计算机科学技术学院2008-2009学年第 1 学期《软件工程》课程期末考试试卷( 1 )一、填空(每题1分,共10分)1.软件是指与计算机系统操作有关的程序、数据以及任何与之有关的。

2.是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。

3.McCall等人提出的软件质量度量模型分为三个层次,、评价准则和定量度量。

4.为了克服困难,获取初步需求,可以采用的技术有:访谈与会议、、分析人员和用户组成联合小组等。

5.对于复杂问题的数据处理过程,要用分层的数据流图来表达,它的顶层图描述了系统的。

6.DSSD需求分析方法的主要步骤有:标识与应用问题有关的实体;创建一种类似于数据流图的;创建Warnier-Orr原型图。

7.在面向对象的系统中,系统体系结构可以用五个视图来描述,即、设计视、过程视、实现视、部署视。

8.结构化程序设计采用自顶向下逐步求精的设计方法和的控制构件。

9.以为输入,将其用某种程序设计语言翻译成计算机可理解并运行的代码的过程,称为编码。

10.动态测试中,测试方法主要检查程序是否满足功能需求。

二、单项选择(每题1分,共20分)1.在软件生存周期中,()阶段必须要回答的问题是“要解决的问题是什么?”。

A)需求分析B)可行性分析和项目开发计划C)概要设计D)测试2.()是对系统、部件或过程的某一特性所具有的程度进行的量化测量。

A)测量B)度量C)估算D)指标3.()的目的就是用最小的代价在尽可能短的时间内确定一个软件项目是否能够开发,是否值得去开发。

A)软件可行性研究B)项目开发计划C)软件需求分析D)软件概要设计4.进行()研究的一方面是研究开发资源的有效性。

A)操作的可行性B)技术可行性C)经济可行性D)社会可行性5.需求分析阶段,分析人员要确定对问题的综合需求,其中主要的是()需求。

A)功能B)性能C)可靠性D)可维护性6.数据流图反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是(),整个图中不反映加工的执行顺序。

《软件工程练习题及参考答案》

《软件工程练习题及参考答案》

《软件工程练习题及参考答案》一、单向选择题(四选一、每小题3分,共18分)1、面向对象(Object Oriented)方法是将现实世界的事物以对象的方式(B )到计算机世界的方法。

对应映射反映反射2、盒图也称为(D)或Chapin图。

这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。

流程图框图判定表N-S图3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。

程序数据逻辑物理4、人机界面的风格大致经过了(B)代的演变。

三四五六5、以下不属于白盒测试技术的是(D)逻辑覆盖基本路径测试循环覆盖测试等价类划分6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。

纠错性维护适应性维护改善性维护预防性维护二、填空题(每空2分,共18分)1.文档—一种数据媒体和其上所记录的(数据)。

2.机器语言、汇编语言:依赖于机器,面向(机器)3.软件有效性,指软件系统的时间和(空间)效率。

4.软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。

5.软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。

6.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。

04027.一个软件的深度是指其控制的(层数)。

8.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。

9.软件维护是软件生命周期的(最后)一个阶段。

三、判断题(每小题2分,共24分,错误打X、正确打√)1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。

(√)2.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。

(X)3.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。

(√)4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。

软件工程练习题目及答案

软件工程练习题目及答案

软件工程练习题目及答案[正文]软件工程练习题目及答案一、软件需求工程1、题目:解释什么是软件需求工程?列出软件需求工程的主要活动。

答案:软件需求工程是一门软件工程学科,旨在定义和管理软件系统的需求。

它包括以下主要活动:1.1 需求获取:确定和收集用户和其他相关利益相关者的需求。

1.2 需求分析:对需求进行分析、组织和分类,以确保其完整性和一致性。

1.3 需求规格说明:将需求转化为规范化的文档,包括功能需求、非功能需求等。

1.4 需求验证:与用户和其他利益相关者确认需求的准确性和完整性。

1.5 需求管理:跟踪和控制需求的变化,确保其能够适应项目的变化。

2、题目:什么是需求?请将需求分类并解释每类需求。

答案:需求是指对软件系统的功能、性能、约束和限制等方面的描述。

需求可以分为如下几类:2.1 功能需求:描述系统应该具备的功能和行为,例如用户登录、数据查询等。

2.2 非功能需求:描述系统的性能要求、可靠性、安全性等方面的要求,例如响应时间、可用性等。

2.3 设计约束:描述对系统设计的限制,如使用特定的编程语言或框架。

2.4 约束条件:描述系统操作的限制和前提条件,如系统的运行环境和操作系统等。

二、软件设计和建模1、题目:什么是软件设计?软件设计的目标是什么?答案:软件设计是指定义软件系统的结构、组件和交互的过程。

软件设计的目标是实现软件需求,并确保软件的可靠性、可扩展性和可维护性。

2、题目:简述面向对象分析和设计方法。

答案:面向对象分析和设计是一种用来分析和设计软件系统的方法。

其核心思想是将系统分解为对象,通过对象之间的交互来实现系统功能。

2.1 面向对象分析(OOA):分析系统需求并识别出系统中的对象、对象的行为和它们之间的关系。

2.2 面向对象设计(OOD):基于面向对象分析的结果,设计系统的具体实现方式,定义对象的属性、方法和接口等。

三、软件测试1、题目:什么是软件测试?常见的软件测试方法。

答案:软件测试是指通过运行软件系统来评估其质量和功能的过程。

2019年《软件工程》11套考试复习练习题、作业题(附答案)

2019年《软件工程》11套考试复习练习题、作业题(附答案)

作业1:1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。

其中,( A )是按事先设计的功能和性能要求执行的指令序列。

( B )是使程序能够正确操纵信息的数据结构。

( C )是与程序开发、维护和使用有关的图文材料。

供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。

软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。

供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。

有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。

第二阶段(1950年代末~1960年代末)称为“基本软件期”。

出现了( A ),并逐渐普及。

随着( B )的发展,编译技术也有较大的发展。

第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。

这一时期,与硬件费用下降相反,软件开发费急剧上升。

人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。

第四阶段(1970年代中期~现在)称为“软件工程时期”。

软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、(G )及其整体有关的各种管理技术。

供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理4. 软件工程过程有哪几个基本过程活动?试说明之。

(word版)软件工程考试题(含答案)

(word版)软件工程考试题(含答案)

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

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

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

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

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

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

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

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

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

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

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

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

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

2.瀑布模型〔又称为生命周期模型〕。

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

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

《软件工程导论》课程大作业-题目及要求

《软件工程导论》课程大作业-题目及要求

《软件工程专业导论与职业生涯规划》具体要求一、大作业题目(注:每个小组完成一个题目)1、计算机系统软件是什么?具体的系统软件有哪些?它们的特点、作用、地位是什么?就其中的2~3个具体的系统软件进行较为详细的阐述。

2、计算机应用软件是什么?具体的应用软件有哪些?它们的特点、作用、地位是什么?就其中的2~3个具体的应用软件进行较为详细的阐述。

3、阐述计算机软件的发展历程,对比分析各阶段的特征、理论体系、优势与不足。

4、软件危机是什么?列举2~3个具体的软件危机案例。

导致软件危机爆发的原因有哪些?简单阐述现阶段软件危机的具体表现。

5、陈述“软件工程”概念提出的历史背景,包括发生的时间、地点、人物、事件等。

“软件工程”的定义自提出以来,有多种说法。

请尽可能罗列各种说法,并对其中的2~3个说法进行评述。

软件工程的七条基本原理是哪些?分别对每条原理进行较为详细的阐述。

6、软件工程的目标是什么?十个性能是哪些?分别对每个性能进行较为详细的阐述。

7、软件工程研究的主要内容包括哪两个方面?分别对每个方面进行较为详细的阐述。

8、软件开发过程必须遵循的软件工程原则有哪些?分别对每个原则进行较为详细的阐述。

9、软件工程的过程包括哪些?分别对每个过程进行较为详细的阐述。

10、软件生命周期的概念是什么?软件生命周期的划分有哪些阶段?分别对每个阶段进行较为详细的阐述。

11、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的瀑布模型和原型模型进行较为详细的阐述及对比分析,并各举例说明。

12、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的演化模型和喷泉进行较为详细的阐述及对比分析,并各举例说明。

13、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的基于知识的模型和基于构件的模型进行较为详细的阐述及对比分析,并各举例说明。

14、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的变换模型和双赢螺旋模型进行较为详细的阐述及对比分析,并各举例说明。

(完整版)软件工程习题+答案(可编辑修改word版)

(完整版)软件工程习题+答案(可编辑修改word版)

一、选择题1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B)A)可行性研究,问题定义,需求分析。

B)问题定义,可行性研究,需求分析。

C)可行性研究,需求分析,问题定义。

D)以上顺序都不对。

(软件开发时期:概要设计、详细设计、软件实现、软件测试)2.可行性研究主要从以下几个方面进行研究:(A)A)技术可行性,经济可行性,操作可行性。

B)技术可行性,经济可行性,系统可行性。

C)经济可行性,系统可行性,操作可行性。

D)经济可行性,系统可行性,时间可行性。

3.耦合是对软件不同模块之间互连程度的度量。

各种耦合按从强到弱排列如下:(C)A)内容耦合,控制耦合,数据耦合,公共环境耦合。

B)内容耦合,控制耦合,公共环境耦合,数据耦合。

C)内容耦合,公共环境耦合,控制耦合,数据耦合。

(内容耦合、公共耦合、外部耦合、控制耦合、特征耦合、数据耦合)D)控制耦合,内容耦合,数据耦合,公共环境耦合。

4.在详细设计阶段所使用到的设计工具是:(C )A)程序流程图,PAD 图,N-S 图,HIPO 图,判定表,判定树.B)数据流程图,Yourdon 图,程序流程图,PAD 图,N-S 图,HIPO 图。

C)判定表,判定树,PDL,程序流程图,PAD 图,N-S 图。

D)判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。

详细设计阶段工具:判定表、判定树、数据流程图、系统流程图、程序流程图、PAD 图、N-S 图、PDL在软件详细设计阶段,常用的图形描述工具有程序流程图,盒图(NS 图)和问题分析图(PAD) .常用的语言描述工具为 PDL(程序设计语言) ,常用的表格描述工具有判定表和判定树.DFD 数据流图:总体设计阶段5.按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A)A)模块的作用域应在模块的控制域之内。

B)模块的控制域应在模块的作用域之内。

C)模块的控制域与模块的作用域互相独立。

D)以上说法都不对。

(完整word版)软件工程习题集+答案

(完整word版)软件工程习题集+答案

《软件工程》习题集目录一软件与软件工程 (1)二软件项目管理 (4)三需求分析 (7)四面向对象的需求分析 (10)五软件设计 (15)六程序设计语言和编码 (18)七软件测试 (20)八软件维护 (23)综合试卷一 (25)综合试卷二 (28)综合试卷三 (31)附参考答案: (34)一软件与软件工程参考答案 (34)二软件工程管理参考答案 (37)三需求分析参考答案 (39)四面向对象的需求分析参考答案 (43)五软件设计参考答案 (52)六程序设计语言和编码参考答案 (55)七软件测试参考答案 (59)八软件维护参考答案 (62)综合试卷一参考答案及评分标准 (65)综合试卷二参考答案及评分标准 (68)综合试卷三参考答案及评分标准 (71)一软件与软件工程一、选择题1.软件的主要特性是()A、无形性B、高成本C、包括程序和文档D、可独立构成计算机系统2.软件工程三要素是()A、技术、方法和工具B、方法、工具和过程C、方法、对象和类D、过程、模型、方法3.包含风险分析的软件工程模型是()A、螺旋模型B、瀑布模型C、增量模型D、喷泉模型4.软件工程的主要目标是()A、软件需求B、软件设计C、风险分析D、软件实现5.下列属于面向对象开发方法的是()A、BoochB、UMLC、CoadD、OMT6.软件危机的主要表现是()A、软件成本太高B、软件产品的质量低劣C、软件开发人员明显不足D、软件生产率低下7.软件开发方法的主要工作模型有()A、螺旋模型B、循环模型C、瀑布模型D、专家模型8.软件工程的目标有()A、易于维护B、低的开发成本C、高性能D、短的开发期9.软件工程学的目的和意义是()A、应用科学的方法和工程化的规范管理来指导软件开发。

B、克服软件危机。

C、作好软件开发的培训工作。

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

二、判断题1.软件就是程序,编写软件就是编写程序。

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

《软件工程》作业及答案

《软件工程》作业及答案

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

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

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

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

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

软件常常是不可维护的。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

软件工程大作业题目

软件工程大作业题目

2xxxxxx班1、小区物业管理系统小区物业管理系统完成对小区公共财产等信息的管理。

功能需求可大致分为以下模块:①小区信息及财产管理②小区公告管理③小区收费管理2、超市管理系统超市管理系统主要完成对超市产品,库存等信息管理。

功能需求可大致分为以下模块:①超市员工信息管理②超市物品管理③超市库存管理④超市物品销售统计3、软件客户服务系统客户服务系统为软件购买客户及游客提供一个了解本公司信息的网络平台,客户可了解公司的开发团队及开发软件相关信息。

功能需求可大致分为以下模块:①软件及团队信息介绍②软件新闻及公告管理③软件常见疑难问题解答④软件开发工具及升级包下载4、学生学籍管理系统学生管理系统是对学生信息进行有效的管理功能需求可大致分为以下模块:①学生基本信息管理②学生成绩管理③学生奖罚管理5、教学设备管理系统教学设备管理主要完成对教学设备信息,设备采购库存信息管理。

功能需求可大致分为以下模块:①教学设备信息管理②教学设备库存管理③教学设备采购管理④教学设备报修及报废管理6、食堂管理系统食堂管理系统主要完成对食堂员工,菜类采购及相关事宜的管理。

功能需求可大致分为以下模块:①食堂员工及财产信息管理②食堂食物采购及库存管理③食堂每日菜价公告管理④食堂菜类统计7、飞机定票系统飞机定票系统主要完成对飞机航班信息及定票信息的管理。

功能需求可大致分为以下模块:①飞机航班信息管理②飞机订票管理③飞机退票管理8、班级网站班级网站主要是向外界充分展示班级风貌,向外界提供一个了解班级,参与班级活动的途径,本网站为班级成员提供了一个学习、交流、互动的一个平台。

功能需求可大致分为以下模块:①班级成员管理②论坛功能③聊天室④学习资料上传,下载管理9、网上购物系统顾客可以在网上选择他要购买的物品类型,顾客可通过汇款和邮寄方式进行商品交易。

功能需求可大致分为以下模块:①顾客信息管理②物品信息管理③顾客订购商品管理10、学生公寓管理系统学生公寓管理系统是院校的学生宿舍进行统一管理。

软件工程期末大作业《软件工程》(二)2024

软件工程期末大作业《软件工程》(二)2024

软件工程期末大作业《软件工程》(二)引言概述:为了完成软件工程期末大作业《软件工程》(二),本文将围绕软件工程的相关内容展开讨论。

软件工程是一门关于软件开发和维护的学科,涉及到多方面的知识和技术。

本文将从需求分析、系统设计、编码、测试和软件维护这五个方面分阐述软件工程的主要内容。

需求分析:1. 确定用户需求: 通过与用户沟通和调研,明确用户对软件的需求和使用场景。

2. 分析需求: 将用户需求进行逐一分解,理解每个需求的重要性和优先级。

3. 编写需求文档: 将需求转化为文档,明确需求的功能、性能和界面要求。

4. 确定需求变更处理方法: 需求变更是常见的情况,需要制定相应的变更管理流程。

系统设计:1. 架构设计: 根据需求分析的结果,设计系统的整体结构和模块间的关系。

2. 数据库设计: 设计系统需要使用的数据库结构和数据流程。

3. 界面设计: 设计系统的用户界面,保证用户友好性和易用性。

4. 安全设计: 考虑系统的安全性和防护措施,保护用户数据和系统的完整性。

5. 性能设计: 针对系统的性能要求,进行合理的资源和算法设计。

编码:1. 选择编程语言和开发平台: 根据系统需求和团队的技术经验,选择适合的编程语言和开发平台。

2. 划分模块: 将系统功能划分为多个模块,分别进行编码和测试。

3. 编码规范: 遵循编码规范,保证代码的可读性和可维护性。

4. 使用工具和框架: 利用现有的工具和框架,提高开发效率和质量。

5. 版本控制: 使用版本控制工具,管理和追踪代码的变更和版本发布。

测试:1. 单元测试: 针对每个独立的模块进行单元测试,确保其功能的正确性。

2. 集成测试: 将各个模块整合在一起进行测试,验证模块间的协同工作。

3. 系统测试: 对整个系统进行全面的测试,验证系统的功能和性能。

4. Bug修复: 在测试过程中发现的问题需要及时修复,并进行相应的再测试。

5. 用户验收测试: 邀请用户进行最终的测试,反馈系统的问题和建议。

《软件工程》题库及参考答案

《软件工程》题库及参考答案

《软件工程》练习测试题库一、单项选择题1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()A.软件工程B.软件周期C.软件危机D.软件产生2.研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。

A.技术可行性B.经济可行性C.社会可行性D.法律可行性3.IDEF0图不反映出系统()A.系统做什么B.系统功能如何实现C.系统由谁来做D.系统实现的约束条件4.模块的内聚性最高的是()A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.在SD方法中全面指导模块划分的最重要的原则是()A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性6.软件详细设计主要采用的方法是()A.模块设计B.结构化设计C.PDL语言D.结构化程序设计7.下列关于JSP方法不正确的说法是()A.JSP方法主要用于规模不大的数据处理系统B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。

因此它只适用于详细设计阶段8.不适合作为科学工程计算的语言是()A. PascalB. CC. FortranD. Prolog9.黑盒测试在设计测试用例时,主要需要研究()A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明10.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。

设计这组测试用例的方法是()A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法11.下列属于维护阶段的文档是()A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告12.快速原型模型的主要特点之一是()A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件13.因计算机硬件和软件环境的变化而做出的修改软件的过程称为()A.较正性维护B.适应性维护C.完善性维护D.预防性维护14.类库这种机制是()级别的信息共享。

软件工程(打印版)

软件工程(打印版)

一、单选题1.可行性分析研究的目的是()A.争取项目B.项目值得开发否C.开发项目D.规划项目2.具有风险分析的软件生存周期模型是()A.瀑布模型B.喷泉模型C.螺旋模型D.增量模型3.需求分析阶段的任务是确定()A.软件开发方法 B.软件开发工具 C.软件开发D.软件系统的功能4.数据字典是用来定义()中的各个成份的具体含义的。

A.流程图 B.功能结构图 C.系统结构图D.数据流图5.程序的三种基本控制结构的共同特点是()A.只能用来描述简单程序 B.不能嵌套使用C.单入口,单出口 D.仅用于自动控制系统6.软件设计的方法有多种,()方法不属于面向数据流的设计方法。

A.基于Jackson图的设计 B.基于IDEF0图的设计-结构化方法-数据流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.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以()的编制是很重要的。

A、需求说明B、概要说明C、软件文档D、测试计划14.软件部件的内部实现与外部可访问性的分离,是指软件的()。

A、继承性B、共享性C、封装性D、抽象性15.单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现()的错误。

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

根据下面程序代码,画出程序流程图,然后设计满足条件组合覆盖的测试用例。

BEGINT:=0IF ( X>=80 AND Y>=80 )THENT:=1ELSE IF ( X>=90 AND Y>=75 ) THENT:=2ENDIFEND.答案:经化简后的测试用例:x=95 y=95;x=95,y=70;x=70,y=95;x=70,y=70;一、应用题2一个城市的公共事业部决定开发一个“计算机化的”坑洼跟踪和修理系统。

市民通过本系统报告有坑洼时,要说明街道地址、大小、影响程度,还要记录报告者的姓名和电话,存储在坑洼报告信息中,被送到公共事业部,工作人员根据坑洼的地点和大小,修理队标识号,修理队的人数,被分配的装备,制定一份工单,送到维修队。

维修队修理后,将坑洼修理信息上报公共事业部的工作人员,包括:修理坑洼状况,使用填料的数量和修理的开销(时间、人数、使用的材料、装备)。

请画出数据流程图,并写出工单的数据字典。

工单数据字典附加题:1、对下列子程序进行调试:procedure example(y,z: real; var x: real)beginif (y>1) and (z=0) then x:=x/y;if (y=2) or (x=l) then x:=x+l;end.该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。

答题要求:(1)画出流程图。

(2)用白盒法设计测试用例,并写出它所满足的是何种覆盖标准、预期结果以及路径。

答:(1)流程图(2)用白盒法中条件组合覆盖设计测试用例:① y=2, z=0, x=4;② y=2, z=1, x=1;③ y=1, z=0, x=2;④ y=1, z=1, x=1.3、对以下程序进行测试:PROCEDURE EX(A,B:REAL;VAR X:REAL);BEGINIF(A=3)OR(B> 1)THEN X:=A×BIF(A>2)AND(B=0)THEN X:=A-3END先画出程序流程图。

再按不同逻辑覆盖法设计一种(写出名称)测试数据。

答:语句覆盖A=3 B=04、程序功能说明书指出,某程序的输入条件为:每个学生可以选修1至3门课程,试用黑盒法设计测试用例。

(1)按等价分类法设计测试用例(要求列出设计过程)(2)按边缘值分析法设计测试用例。

答:1)合理等价类选修1门选修2门选修3门不合理等价类没选课选3门以上测试用例选修=2选修=0选修>32) 边缘值法0,1,3,45、设被测试的程序段为:begins1 ;if (x=0) and (y>2)then s2;if (x<1) or (y=1)then s3 ;s4 ;end可供选择的测试数据组为:x yⅠ 0 3Ⅱ 1 2Ⅲ -1 2Ⅳ 3 1找出实现(1)语句覆盖;(2)条件覆盖;(3)判定覆盖至少要选择的数据组。

答:(1)Ⅰ (2)Ⅰ,Ⅳ (3) Ⅰ,Ⅱ3、已知有一抽象的DFD图如下所示,请用SD方法画出相应的结构图。

答:4、高考录取统分子系统有如下功能:(1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;(2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。

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

答:(1) 数据流图:(2) 软件结构图:①原始分②5、图书馆的预定图书子系统有如下功能:(1) 由供书部门提供书目给订购组。

(2) 订书组从各单位取得要订的书目。

(3) 根据供书目录和订书书目产生订书文档留底。

(4) 将订书信息(包括数目,数量等)反馈给供书单位。

(5) 将未订书目通知订书者。

(6) 对于重复订购的书目由系统自动检查,并把结果反馈给订书者。

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

答:(1) 数据流图:(2) 软件结构图:6、在结构化设计过程中,要将数据流图(DFD)映射成系统结构图(SC),分别画出变换型数据流和事物型数据流的映射方式。

答:变换型事务型附加题:1、自学考试报名过程中有个“记录报名单”的加工。

该加工主要是根据报名表(姓名、性别、身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、填写、输出准考证给报名者,同时记录到考生名册中(准考证号、姓名、课程)。

请绘制该加工的DFD图,并写出数据词典中的数据流条目。

答:数据流词典数据流条目:报名单 = 姓名 + 性别 + 身份证号 + 课程名开考课程 = 课程名 + 开考时间考生名册 = 准考证号 + 姓名 + 课程2、“决定比赛名单”这个加工,根据“运动员名单”和“比赛项目”产生“项目参加者”,如下图所示,运动员名单要包括所在队名,运动员编号号,运动员姓名,及参加的所有项目。

请写出这三个数据流条目。

答:运动员名单=队名+运动员号+姓名+{项目}项目=项目名项目参加者=项目名+{运动员号}3、某旅馆的电话服务如下:可以拨分机号和外线号码。

分机号是从7201至7299。

外线号码先拨9,然后是市话号码或长话号码。

长话号码是以区号和市话号码组成。

区号是从100到300中任意的数字串。

市话号码是以局号和分局号组成。

局号可以是455,466,888,552中任意一个号码。

分局号是任意长度为4的数字串。

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

答:电话号码=分机号|外线号码分机号=7201 (7299)外线号码=9+[市话号码|长话号码]长话号码=区号+市话号码区号=100 (300)市话号码=局号+分局号局号=[455|466|888|552]分局号=4{数字}41、下图是某项目的PERT图:1-2是建立计划,2-4是编程,4-8是测试代码,8-10是测试系统,1-3是购买硬件,3-5是安装,5-7是撰写手册,5-6是转化,7-9是培训,9-10是用户测试。

(1) 画出完整的PERT图(标出EET,LET,和每个作业的机动时间);(2) 找出关键路径及完成该项目的最短时间;答:(1)(2)关键路径如上图粗黑线,该项目最短完成时间为70《软件工程》应用题四、应用题(每小题10分*3=30)1.某培训中心要研制一个计算机管理系统。

它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。

(1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。

(2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。

(3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。

要求:(1)对以上问题画出数据流程图。

(2)画出该培训管理的软件结构图。

解答:(1)数据流图(2)软件体系结构2.建立窗口系统的对象模型,问题陈述如下:“窗口分为对话窗、图形窗、滚动窗三种。

对话窗中有若干对话项,由唯一的项名字来确定;对话项分为按钮、选择项和正文项三种,选择项中有若干选择项入口。

图形窗中有若干形状元素,形状元素分为一维形状和二维形状。

一维形状又分为直线、圆弧、折线;二维形状分为圆、椭圆、矩形、多边形,其中折线与多边形由若干有序顶点组成。

正文窗是滚动窗的一种,而图形滚动窗既是图形窗又是滚动窗。

”解答:(泛化关系)3.假设某航空公司规定,乘客可以免费托运行李的重量不超过30公斤。

当行李的重量超出30公斤时,对一般舱的国内乘客超重部分每公斤收费4元,对头等舱的国内乘客超重部分每公斤收费6元。

对国外乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。

试画出相应判定表。

4.下图描述了某个子程序的处理流程,根据判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖等五种覆盖标准,从供选择的答案中分别找出满足相应标准的最小的测试数据组。

(1)a=5 b=1(2) a=5 b=-1(3)a=5 b=1(4) a=5 b=1a=-5 b=-1a=0 b=-1 (5)a=5 b=-1(6) a=5 b=1a=-5 b=1a=0 b=0 a=-5 b=-1a=-5 b=-1(7)a=5 b=1(8) a=5 b=1a=0 b=1a=0 b=-1 a=0 b=-1a=-5 b=1a=-5 b=1a=-5 b=-1流程图如下:解答:达到判定覆盖为(4);达到条件覆盖为(3);达到判定/条件覆盖为(6);达到条件组合覆盖为(8);达到路径覆盖为(7)。

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

请用数据流图描绘本系统的功能,并画出系统的E-R图。

解答:DFD图:ER图:8.请对下列子程序进行测试:该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。

要求:(1)画出程序流程图。

(2)依据条件组合覆盖标准设计测试用例。

(1)程序流程图(2)条件组合覆盖设计测试用例① y=2, z=0, x=4;② y=2, z=1, x=1;③ y=1, z=0, x=2;④ y=1, z=1, x=1.9.自学考试报名过程中有个“记录报名单”的加工。

该加工主要是根据报名表(姓名、性别、身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、填写、输出准考证给报名者,同时记录到考生名册中(准考证号、姓名、课程)。

请绘制该加工的DFD图,并写出数据词典中的数据流条目。

解答:(1)DFD图:(2)数据流词典报名单 = 姓名 + 性别 + 身份证号 + 课程名开考课程 = 课程名 + 开考时间考生名册 = 准考证号 + 姓名 + 课程12.某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。

请用等价类划分法设计测试用例。

解答;划分等价类:计测试用例:17.某校制定了教师的讲课课时津贴标准。

对于各种性质的讲座,无论教师是什么职称,每课时津贴一律是50元;而对于一般的授课,则根据教师的职称来决定每课时津贴费:教授30元,副教授25元,讲师20元,助教15元。

请用判定表描述上述问题。

解答:判定表:。

相关文档
最新文档