软件工程随堂练习(习题)

合集下载

软件工程随堂练习(习题)

软件工程随堂练习(习题)

软件工程随堂练习(习题)软件工程随堂练习一、选择题1.软件工程是()。

A、是结构化程序设计的指导方法B、是软件开发技术和软件工程管理学为内容的学科C、是指导计算机软件开发和维护的工程学科D、是指导软件开发的工程方法。

2.软件工程中的各种方法是完成软件工程项目的技术手段,它们支持软件工程的()阶段。

A.各个B. 前期C.中期D.后期3.原型方法是用户和设计者之间的一种交互过程,选用于()系统。

A. 需求确定的B. 需求不确定性较高的C. 管理信息D. 决策支持4.要将一个复杂的系统分析清楚,常用方法是结构化分析方法,结构化分析方法就是()。

A、面向数据流自顶向下逐步求精的方法B、由内向外进行分析的方法C、先局部后整体的分析方法D、使用IPO图形工具分析的方法5.概要设计过程是()A. 先确定系统的实现方案,然后在结构设计阶段中确定软件的模块结构B. 确定软件的模块结构,再设计出系统的所有程序和数据文件C. 设计出系统的HIPO 图并对所有模块进行描述D. 规划出系统的后期设计总体结构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.一个软件产品开发完成投入使用后,常常由于各种原因需要对它做适当的变更,通常把软件交付使用后所做的变更称为( )。

软件工程课堂练习与参考答案

软件工程课堂练习与参考答案

软件工程课堂练习与参考答案课堂练习一、填空题1、软件的生存期包括:问题的定义、()、需要分析三个阶段。

2、可行性分析的内容包括:()、经济可行性、操作可行性和法律可行性。

3、模块独立性设计的标准是:模块化、抽象、()、和信息隐藏。

4、主程序员组由主程序员、()、后备程序员、编程秘书组成。

5、成本/效益分析目的是从()评价开发一个新的软件项目是否可行。

6、模块是由边界元素限定的()(例如,数据说明、可执行的语句等)的序列。

7、模块化就是把程序划分成()且可独立访问的模块。

8、人类在认识复杂现象的过程中使用的最强有力的思维工具是()。

9、人机界面的设计质量,直接影响用户对软件产品的评价,从而影响软件产品的竞争力和寿命,因此,必须对人机界面设计给以()。

10、质量保证是为保证产品和服务充分满足消费者要求的质量而进行的有计划、()的活动。

二、问答题1.简述需求分析的基本步骤。

2.有哪些常用的需求收集方法和技术?试选择某一系统并根据方法进行需求收集。

3.数据流图与数据词典之间有什么关系?4.试考察某一学生档案管理系统,用实体联系图描述该系统的主要数据。

5.试考察某一学生成绩管理系统,对其进行尽可能详细的功能建模和数据建模。

6.举例说明“做什么”与“怎么做”之间的差别。

7.某学校计算机教材购销系统有以下功能:学生买书,首先填写购书单,计算机根据各班学生用书表及售书登记表审查有效性。

若有效,计算机根据教材库存表进一步判断书库是否有书;若有书,计算机把领书单返回给学生,学生凭领书单到书库领书。

对脱销的教材,系统用缺书单的形式通知书库,新书购进库后,也由书库将进书通知返回给系统。

请就以上系统功能画出分层的DFD图(第三层只需画出销售子系统的DFD 图)。

参考答案一、填空题1、可行性分析2、技术可行性3、逐步求精4、程序员5、经济角度6、程序元素7、独立命名8、抽象9、足够重视 10、有组织二、问答题1.需求分析的基本步骤:1)获取用户需求2)分析用户需求3)编写需求文档4)评审需求文档5)管理需求2.需求收集方法和技术:1)跟班作业通过亲身参加业务工作来了解业务活动的情况。

软件工程练习题1-3习题(附答案)

软件工程练习题1-3习题(附答案)

软件工程练习题1-3习题(附答案).软件工程练习题(1-3章)一、单项选择题1. 软件危机具有下列表现()。

I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住III. 软件常常不可维护IV. 软件成本逐年上升A. I、II和IIIB. I、III和IVC. II、III和IVD. 以上都正确2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是()。

A. 运行和维护阶段B. 设计阶段C. 代码实现阶段D. 测试阶段3. 下列属于软件的特点的是()。

A. 软件是一种逻辑实体,具有抽象性B. 软件在使用过程中没有磨损、老化的问题C. 软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高D. 以上都正确4. 软件工程的出现是由于()。

A. 软件危机的出现B. 计算机硬件技术的发展C. 软件社会化的需要D. 计算机软件技术的发展5. 软件开发技术不包含()。

A. 软件开发方法学B. 软件工程环境C. 软件工具D. 软件质量度度量6 下列属于应用软件的是()。

I. 计算机辅助教学软件II. 软件测试工具III. 办公自动化软件IV. 工程与科学计算软件A. I、II和IIIB. I、III和IVC. II、III和IVD. 以上都正确7. 需求分析阶段最重要的技术文档是()。

A. 设计说明书B. 需求规格说明书C. 可行性分析报告D. 用户手册8. 以下关于数据流图的说法错误的是()。

A. 数据流图舍去了具体的物质,只剩下数据的流动、加工处理和存储B. 数据流图是用作结构化分析的一种工具C. 传统的数据流图中主要由加工、数据源点/终点、数据流、控制流、数据存储组成D. 数据流图的绘制采用自上向下、逐层分解的方法19. 数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是()。

A. 数据库设计B. 数据通信C. 数据定义D. 数据维护求10. 结构化方法的基本原则是()。

软件工程分题型练习-高职升本复习资料-软件工程随堂练习(习题)2

软件工程分题型练习-高职升本复习资料-软件工程随堂练习(习题)2

软件工程随堂练习一、选择题1.软件工程是()。

A、是结构化程序设计的指导方法B、是软件开发技术和软件工程管理学为内容的学科C、是指导计算机软件开发和维护的工程学科D、是指导软件开发的工程方法。

2.软件工程中的各种方法是完成软件工程项目的技术手段,它们支持软件工程的()阶段。

A.各个B. 前期C.中期D.后期3.原型方法是用户和设计者之间的一种交互过程,选用于()系统。

A. 需求确定的B. 需求不确定性较高的C. 管理信息D. 决策支持4.要将一个复杂的系统分析清楚,常用方法是结构化分析方法,结构化分析方法就是()。

A、面向数据流自顶向下逐步求精的方法B、由内向外进行分析的方法C、先局部后整体的分析方法D、使用IPO图形工具分析的方法5.概要设计过程是()A. 先确定系统的实现方案,然后在结构设计阶段中确定软件的模块结构B. 确定软件的模块结构,再设计出系统的所有程序和数据文件C. 设计出系统的HIPO 图并对所有模块进行描述D. 规划出系统的后期设计总体结构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.一个软件产品开发完成投入使用后,常常由于各种原因需要对它做适当的变更,通常把软件交付使用后所做的变更称为( )。

软件工程习题附答案

软件工程习题附答案

软件工程习题附答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。

以下是一些与软件工程相关的习题及答案,希望能帮助您更好地理解这门学科。

一、选择题1、软件生存周期中,解决软件“做什么”的阶段是()A 需求分析B 软件设计C 软件实现D 软件测试答案:A解析:需求分析阶段主要是确定软件系统需要完成的功能和性能,解决软件“做什么”的问题。

2、下面不属于软件设计原则的是()A 抽象B 模块化C 自底向上D 信息隐藏答案:C解析:软件设计的原则通常包括抽象、模块化、信息隐藏等,自底向上一般不是软件设计的原则,常见的是自顶向下的设计方法。

3、软件测试的目的是()A 证明软件没有错误B 发现软件中的错误C 改正软件中的错误D 优化软件的性能答案:B解析:软件测试的目的是为了发现软件中存在的错误,而不是证明软件没有错误或直接改正错误、优化性能。

4、下列模型中,不属于软件生命周期模型的是()A 瀑布模型B 快速原型模型C 增量模型D 螺旋模型E 喷泉模型答案:E解析:瀑布模型、快速原型模型、增量模型和螺旋模型都属于常见的软件生命周期模型,喷泉模型则主要强调软件对象之间的无缝迭代。

5、软件维护中,因修改软件而导致出现新错误的维护属于()A 改正性维护B 适应性维护C 完善性维护D 预防性维护答案:A解析:改正性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。

在这种维护中,可能会因为修改软件而引入新的错误。

二、填空题1、软件工程包括()、()和()三个要素。

答案:方法、工具、过程2、软件需求分析阶段的工作,可以分为四个方面:()、()、()和()。

答案:需求获取、需求分析、编写需求规格说明书、需求评审3、软件测试的步骤主要包括()、()、()和()。

答案:单元测试、集成测试、系统测试、验收测试4、面向对象的三大特性是()、()和()。

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

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

《软件工程练习题及参考答案》一、单向选择题(四选一、每小题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、软件工程三要素是:方法、工具、过程。

2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。

二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。

可靠性是衡量软件质量的一个重要目标。

2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。

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

三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。

(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。

2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。

(2)软件开发简单,易学、易上手。

(3)专业或非专业人员都能参与软件开发活动。

第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。

2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。

3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。

4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。

二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。

2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。

2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。

3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

软件工程习题(附答案)

软件工程习题(附答案)

软件工程习题(附答案)软件工程习题 (附答案)1、软件需求工程1.1 问题描述给定一个学生管理系统,要求实现以下功能:添加学生信息、查询学生信息、修改学生信息、删除学生信息。

1.2 解决方案通过用户界面收集学生信息,使用数据库存储学生信息,编写相应的查询、修改和删除功能实现。

1.3 测试与验证编写测试用例,包括正常情况和异常情况的输入,测试系统是否正确执行学生信息的增删改查操作,并验证结果是否正确。

2、软件设计2.1 模块划分将学生管理系统划分为以下模块:用户界面模块、数据存储模块、查询模块、修改模块、删除模块。

2.2 模块接口设计用户界面模块接收用户输入的学生信息,数据存储模块负责将学生信息存储到数据库中,查询、修改和删除模块通过调用数据库接口实现相应功能。

2.3 系统架构采用三层架构,将用户界面、业务逻辑和数据存储分离,提高代码的可维护性和可扩展性。

3、软件实现3.1 开发工具选择选择合适的开发工具,如Java编程语言、Eclipse开发环境和MySQL数据库。

3.2 编码规范遵循公司制定的编码规范,保证代码的可读性和一致性。

3.3 数据库设计设计学生信息表,包括学生ID、姓名、性别、年龄等字段,并建立适当的索引以提高查询性能。

4、软件测试4.1 单元测试针对每个模块编写相应的单元测试,确保模块的各个功能都能正常工作。

4.2 集成测试将各个模块按照设计要求进行集成测试,验证系统的功能完整性和正确性。

4.3 系统测试对整个学生管理系统进行全面的系统测试,包括正常场景和异常场景的测试,确保系统能够满足需求并稳定可靠。

5、软件部署5.1 环境准备部署系统所需的软件和硬件环境,包括操作系统、数据库等。

5.2 安装部署将开发完成的系统安装到目标机器上,配置必要的参数,确保系统能够正常运行。

5.3 系统发布将系统发布到生产环境,对外提供服务。

6、软件维护6.1 问题定位与修复对用户反馈的问题进行定位和修复,确保系统的稳定性和可用性。

软件工程_随堂练习

软件工程_随堂练习

软件工程_随堂练习软件工程,对于许多人来说,可能是一个既熟悉又陌生的概念。

熟悉,是因为在当今数字化的时代,软件无处不在,我们每天都在与各种软件打交道;陌生,则是因为对于软件是如何被开发、维护和管理的,大多数人可能并不清楚。

在这堂软件工程的随堂练习中,我们将一起深入探讨这个充满挑战与机遇的领域。

首先,让我们来理解一下软件工程到底是什么。

简单来说,软件工程就是一门研究如何以系统性、规范化、可量化的方法来开发、运行和维护软件的学科。

它不仅仅涉及到编写代码,还涵盖了从需求分析、设计、实现、测试到维护的整个软件生命周期。

在需求分析阶段,开发者需要与用户进行充分的沟通,了解他们的需求和期望。

这可不是一件简单的事情,因为用户往往并不清楚自己真正想要的是什么,或者无法准确地表达出来。

所以,开发者需要具备良好的沟通技巧和敏锐的洞察力,从用户模糊的描述中挖掘出真正的需求,并将其转化为清晰、明确的文档。

设计阶段则像是为软件构建一个蓝图。

这里要考虑软件的架构、模块划分、数据结构和算法等。

一个好的设计能够提高软件的可扩展性、可维护性和性能。

比如,如果一开始没有设计好软件的架构,后期可能会发现很难添加新的功能,或者修改现有功能时会牵一发而动全身,导致出现大量的错误。

实现阶段就是把设计转化为实际的代码。

这要求开发者熟练掌握编程语言和开发工具,遵循编程规范,写出高质量的代码。

同时,还要注意代码的可读性和可理解性,以便后续的维护和修改。

测试是软件开发中不可或缺的环节。

通过各种测试方法,如单元测试、集成测试、系统测试和用户验收测试等,来发现软件中的缺陷和错误。

测试人员就像是软件的“质检员”,他们要确保软件的质量,让用户能够放心使用。

维护阶段则是在软件交付使用后,对其进行修改、优化和升级。

随着时间的推移,用户的需求可能会发生变化,软件运行的环境也可能会更新,这都需要对软件进行相应的维护。

在软件工程中,团队协作也是至关重要的。

一个软件项目往往不是一个人能够完成的,需要不同角色的人员,如项目经理、需求分析师、设计师、开发人员、测试人员和维护人员等,共同合作。

软件工程 随堂练习

软件工程 随堂练习

软件工程_随堂练习标题:软件工程随堂练习在软件工程的学习过程中,随堂练习是一种非常有效的方法,可以帮助我们加深对理论知识的理解,提高实际操作能力。

本文将介绍一些适合作为软件工程随堂练习的题目。

1、设计一个简单的登录页面要求:设计一个包含用户名和密码输入框的登录页面,当用户输入正确的用户名和密码后,页面跳转到另一个页面。

2、编写一个程序,实现冒泡排序算法要求:使用Java或Python编写一个程序,实现冒泡排序算法,对一个整数数组进行排序。

3、实现一个简单的ORM(对象关系映射)框架要求:实现一个简单的ORM框架,能够将数据库表映射为Java类,实现基本的增删改查操作。

4、设计一个简单的权限管理系统要求:设计一个包含用户、角色和权限三个模型的权限管理系统,实现用户和角色的关联,角色和权限的关联,以及用户的登录和权限验证功能。

5、实现一个简单的聊天室要求:使用WebSocket实现一个简单的聊天室,用户可以在浏览器端输入消息并发送到服务器端,服务器端将消息广播给所有在线用户。

以上题目只是作为参考,实际随堂练习的题目应该根据课程进度和学生的实际情况进行选择。

在练习过程中,学生应该注重代码规范和注释,同时注意测试和调试代码,确保程序的正确性和稳定性。

教师也应该给予及时的指导和反馈,帮助学生更好地掌握知识和提高技能。

计算机随堂练习答案随着计算机技术的迅速发展,计算机教育已经成为了当今社会的一项重要任务。

为了更好地掌握计算机知识,许多人都选择了参加计算机培训课程。

而在这些课程中,随堂练习是非常重要的一部分。

本文将介绍计算机随堂练习的重要性以及如何利用答案来提高学习效率。

一、计算机随堂练习的重要性1、加深理解计算机随堂练习是帮助学生加深对所学知识理解的重要途径。

通过练习,学生可以更好地掌握所学知识,并且能够更好地运用这些知识解决实际问题。

2、提高技能通过随堂练习,学生可以不断提高自己的计算机技能。

在练习中,学生可以发现自己的不足之处,并且通过参考答案来改进自己的技能。

软件工程专升本-软件工程随堂练习(习题) 2

软件工程专升本-软件工程随堂练习(习题) 2

软件工程随堂练习一、选择题1.软件工程是()。

A、是结构化程序设计的指导方法B、是软件开发技术和软件工程管理学为内容的学科C、是指导计算机软件开发和维护的工程学科D、是指导软件开发的工程方法。

2.软件工程中的各种方法是完成软件工程项目的技术手段,它们支持软件工程的()阶段。

A.各个B. 前期C.中期D.后期3.原型方法是用户和设计者之间的一种交互过程,选用于()系统。

A. 需求确定的B. 需求不确定性较高的C. 管理信息D. 决策支持4.要将一个复杂的系统分析清楚,常用方法是结构化分析方法,结构化分析方法就是()。

A、面向数据流自顶向下逐步求精的方法B、由内向外进行分析的方法C、先局部后整体的分析方法D、使用IPO图形工具分析的方法5.概要设计过程是()A. 先确定系统的实现方案,然后在结构设计阶段中确定软件的模块结构B. 确定软件的模块结构,再设计出系统的所有程序和数据文件C. 设计出系统的HIPO 图并对所有模块进行描述D. 规划出系统的后期设计总体结构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.一个软件产品开发完成投入使用后,常常由于各种原因需要对它做适当的变更,通常把软件交付使用后所做的变更称为( )。

软件工程习题及答案

软件工程习题及答案

软件工程习题及答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。

以下是一些软件工程相关的习题及答案,希望能帮助您更好地理解这门学科。

一、选择题1、软件生存周期中,解决软件“做什么”的阶段是()A 需求分析B 软件设计C 软件实现D 软件测试答案:A解释:需求分析阶段的主要任务是确定软件系统的功能和性能要求,解决软件“做什么”的问题。

2、下面不属于软件设计阶段任务的是()A 软件总体结构设计B 算法设计C 制定测试计划D 数据库设计答案:C解释:制定测试计划属于软件测试阶段的任务,软件设计阶段主要包括总体结构设计、详细设计(如算法设计、数据库设计等)。

3、软件工程中,白盒测试法可用于测试程序的内部结构。

此方法将程序看作是()A 循环的集合B 地址的集合C 路径的集合D 目标的集合答案:C解释:白盒测试是把程序看成装在一个透明的白盒子里,也就是清楚了解程序的结构和处理过程,测试用例要覆盖程序中的所有可能路径。

4、软件维护工作中,大部分工作属于()A 改正性维护B 适应性维护C 完善性维护D 预防性维护答案:C解释:在软件维护工作中,完善性维护占了大部分,因为随着用户需求的变化和使用过程中的新发现,需要对软件功能进行扩充和增强。

二、填空题1、软件危机产生的主要原因是软件产品的_________和软件生产的_________之间的矛盾。

答案:复杂性;规模性解释:软件产品的复杂性不断增加,而软件生产的规模性又使得管理和控制变得困难,这两者之间的矛盾导致了软件危机。

2、结构化分析方法使用的主要工具是_________和_________。

答案:数据流图;数据字典解释:数据流图用于描述系统中数据的流动和处理过程,数据字典则对数据流图中的元素进行详细的定义和说明。

3、软件测试的步骤包括单元测试、_________、_________和系统测试。

软件工程习题附答案

软件工程习题附答案

软件工程习题附答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。

以下是一些软件工程的习题及答案,希望能帮助您更好地理解这门学科。

一、选择题1、软件生命周期中所花费用最多的阶段是()A 详细设计B 软件编码C 软件测试D 软件维护答案:D解析:软件维护阶段需要对软件进行修改、优化和修复,由于软件在使用过程中可能会遇到各种问题和需求变更,所以维护阶段通常会花费大量的时间和资源。

2、下面不属于软件工程的 3 个要素的是()A 工具B 过程C 方法D 环境答案:D解析:软件工程的三要素是方法、工具和过程。

方法为软件开发提供了“如何做”的技术;工具为方法的运用提供了自动的或半自动的软件支撑环境;过程是将方法和工具结合起来,以达到合理、及时地进行软件开发的目的。

3、软件可行性研究实质上是要进行一次()需求分析和设计过程。

A 简化、压缩的B 详细的C 彻底的D 深入的答案:A解析:可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决,其实质是进行一次简化、压缩的需求分析和设计过程。

4、软件测试的目的是()A 证明软件的正确性B 找出软件中的所有错误C 尽可能多地发现软件中的错误D 调试程序答案:C解析:软件测试的目的是尽可能多地发现软件中的错误,而不是证明软件的正确性,也不可能找出软件中的所有错误。

5、下面描述中,不符合结构化程序设计风格的是()A 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B 自顶向下C 注重提高程序的执行效率D 限制使用 goto 语句答案:C解析:结构化程序设计强调清晰的结构和良好的可读性,注重程序的可理解性和可维护性,而不是过于追求执行效率。

二、填空题1、软件生存周期一般可分为问题定义、可行性研究、()、设计、()、测试、运行与维护阶段。

软件工程习题含答案

软件工程习题含答案

软件工程习题含答案一、单选题(共56题,每题1分,共56分)1.会话侦听与劫持技术属于()技术A、密码分析还原B、协议漏洞渗透C、应用漏洞分析与渗透D、DOS攻击正确答案:B2.若一棵二叉树具有8个度为2的结点,5个度为1的结点,则度为0的结点个数是?A、不确定B、6C、11D、9正确答案:D3.A、B、C、D、E、F依次入栈,其出栈顺序为B、D、C、F、E、A,则该栈最小容量为A、6B、5C、4D、3正确答案:D4.进程由执行状态到阻塞状态的原因可能是()。

A、请求某种资源B、处于执行状态的进程的时间片结束C、释放某种资源正确答案:A5.下列哪一项不是激活函数A、batch normalizationB、reluC、tanhD、sigmoid正确答案:A6.网络安全法规定,网络运营者应当制定(),及时处置系统漏洞、计算机病毒、网络攻击、网络侵入等安全风险。

A、网络安全事件应急演练方案B、网络安全事件应急预案C、网络安全事件补救措施D、网络安全规章制度正确答案:B7.下列哪种算法更适合做时间序列建模A、CNNB、决策树C、LSTMD、贝叶斯算法正确答案:C8.下面()不是数据字典的内容。

A、外部实体B、程序C、数据结构D、处理逻辑正确答案:B9.通过网页上的钓鱼攻击来获取密码的方式,实质上是一种()。

A、旁路攻击B、社会工程学攻击C、暴力破解攻击D、密码分析学正确答案:B10.已知 10*12的二维数组 A ,以行序为主序进行存储,每个元素占1个存储单元,已知A[1][1]的存储地址为 420 ,则 A[5][5] 的存储地址为A、470B、471C、472D、473正确答案:C11.不属于进程关键要素的是________。

A、进程控制块B、数据和栈C、原语D、程序正确答案:C12.下列哪一项不是卷积神经网络的典型代表A、ALEXNETB、LSTMC、VGGD、RCNN正确答案:B13.关闭系统多余的服务有什么安全方面的好处?A、使黑客选择攻击的余地更小B、没有任何好处C、使系统进程信息简单,易于管理D、关闭多余的服务以节省系统资源正确答案:A14.为了简化管理,通常对访问者(),以避免访问控制表过于庞大。

软件工程随堂练习

软件工程随堂练习

软件工程随堂练习在当今数字化的时代,软件工程已经成为了一门至关重要的学科。

它不仅仅关乎着软件的开发和维护,更是影响着我们生活的方方面面,从日常使用的手机应用到复杂的企业管理系统,无一不是软件工程的成果。

软件工程是一门综合性的学科,它融合了计算机科学、数学、管理学以及工程学等多个领域的知识和技术。

其目标是开发出高质量、可靠、易于维护和可扩展的软件产品。

为了达到这个目标,软件工程涵盖了一系列的过程和方法,包括需求分析、设计、编码、测试、维护等。

在软件工程的需求分析阶段,开发人员需要与用户进行充分的沟通,了解他们的需求和期望。

这可不是一件简单的事情,因为用户往往并不清楚自己真正想要的是什么,或者无法准确地表达出来。

这就需要开发人员具备良好的沟通技巧和敏锐的洞察力,能够从用户的描述中挖掘出潜在的需求,并将其转化为清晰、明确的软件需求规格说明。

接下来是设计阶段。

在这个阶段,开发人员要根据需求分析的结果,设计出软件的架构和模块结构。

这就像是在建造一座大楼之前,先设计好它的框架和布局。

好的设计能够提高软件的可维护性、可扩展性和性能,而糟糕的设计则可能导致软件在后期的开发和维护中遇到重重困难。

编码是将设计转化为实际代码的过程。

在这个过程中,开发人员需要选择合适的编程语言和开发工具,并遵循一定的编程规范和最佳实践。

代码的质量直接影响着软件的质量和可维护性,因此开发人员需要具备扎实的编程技能和良好的代码风格。

测试是软件工程中不可或缺的环节。

通过测试,可以发现软件中的缺陷和错误,并及时进行修复。

测试包括单元测试、集成测试、系统测试和验收测试等多个阶段,每个阶段都有其特定的目标和方法。

只有经过充分测试的软件,才能交付给用户使用。

维护是软件生命周期中的最后一个阶段,但也是非常重要的一个阶段。

软件在使用过程中,可能会因为用户需求的变化、环境的改变或者发现的新问题而需要进行修改和完善。

维护工作包括纠错性维护、适应性维护和完善性维护等。

华工2017《软件工程》随堂作业答案

华工2017《软件工程》随堂作业答案

1.(单选题) 把一组具有相同数据结构和相同操作的对象的集合定义为类,此定义包括一组数据属性和在( )上的一组合法操作。

A.数据B.属性C.对象D.消息答题: A. B. C. D. (已提交)参考答案:A问题解析:2.(单选题) 面向对象技术特别强调的是( )的数据结构。

A.数据库B.数据C.抽象类型D.对象答题: A. B. C. D. (已提交)参考答案:D问题解析:3.(单选题) 在软件交付使用后,由于软件开发过程产生的错误没有完全彻底在测试阶段发现,必然有一部分隐含错误带到( )阶段。

A. 需求B. 开发C. 编码D. 维护答题: A. B. C. D. (已提交)参考答案:D问题解析:4.(单选题) 软件维护的工作流程为用户提出( )、维护组织审查申请报告并安排维护工作、进行维护并做详细的维护记录和复审。

A. 维护报告B. 维护申请C. 维护文档D. 维护说明答题: A. B. C. D. (已提交)参考答案:B问题解析:5.(单选题) 在需求( )中,开发人员要从用户那里解决的最重要的问题是软件应当做什么。

A. 设计B. 代码C. 分析D. 结构答题: A. B. C. D. (已提交)参考答案:C问题解析:6.(单选题) 在统一过程中是采用用例驱动和架构优先的策略,并采用迭代增量建造方法,使()“逐渐”被开发出来。

A.硬件B.功能C.软件D.模型答题: A. B. C. D. (已提交)参考答案:C问题解析:7.(单选题) 软件工程学的一个重要目标是()。

A.提高程序的执行效率B.降低程序对存储空间的要求C.提高软件的可理解性D.提高软件的可维护性答题: A. B. C. D. (已提交)参考答案:D问题解析:8.(单选题) 软件工程的过程是将软件工程()综合起来以达到合理、及时地进行计算机软件开发的目的。

A.方法B.工具C.方法和工具D.过程答题: A. B. C. D. (已提交)参考答案:C问题解析:9.(单选题) ( )是以提高软件质量为目的的技术活动。

软件工程练习题及答案

软件工程练习题及答案

《软件工程》练习题一一、单项选择题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.模块数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.从事物的属性侧面来描述事物的方式确实是()的方式。

A.面向对象B.面向进程C.面向数据D.面向属性14.Jackson方式在需求分析时期的要紧步骤不包括()。

A.了解实体行为B.标识实体与行为C.生成实体结构图D.创建软件系统模型15.原型化方式是用户和设计者之间执行的一种交互组成,适用于()系统。

A.需求不确信性高的B.需求确信的C.治理信息D.实时16.原型化方式是一种()型的设计进程。

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

软件工程随堂练习一、选择题1.软件工程是()。

A、是结构化程序设计的指导方法B、是软件开发技术和软件工程管理学为内容的学科C、是指导计算机软件开发和维护的工程学科D、是指导软件开发的工程方法。

2.软件工程中的各种方法是完成软件工程项目的技术手段,它们支持软件工程的()阶段。

A.各个B. 前期C.中期D.后期3.原型方法是用户和设计者之间的一种交互过程,选用于()系统。

A. 需求确定的B. 需求不确定性较高的C. 管理信息D. 决策支持4.要将一个复杂的系统分析清楚,常用方法是结构化分析方法,结构化分析方法就是()。

A、面向数据流自顶向下逐步求精的方法B、由内向外进行分析的方法C、先局部后整体的分析方法D、使用IPO图形工具分析的方法5.概要设计过程是()A. 先确定系统的实现方案,然后在结构设计阶段中确定软件的模块结构B. 确定软件的模块结构,再设计出系统的所有程序和数据文件C. 设计出系统的HIPO 图并对所有模块进行描述D. 规划出系统的后期设计总体结构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.制定规范文档C13.需求分析的任务不包括()。

A. 问题分析B.系统设计C.需求描述D.需求评审。

14.方法是在实践中不断发展着的方法,而早期的软件工程方法是指( )15.A.原型化方法 B.结构化方法C.面向对象方法D.功能分解法16.对软件进行分解,是为了( )A、降低模块的复杂程度B、降低模块间接口的复杂程度C、降低模块的复杂程度,并降低模块间接口的复杂程度D、降低模块的复杂程度,并提高模块间接口的复杂程度17.面向对象分析的独到之处是()。

A、将数据和处理结合在一起而不是分离B、数据和处理分别独立考虑C、仅考虑数据结构D、仅考虑处理过程18.通常所说的结构化设计即SD是属于基于()的设计方法。

A、数据结构B、数据流C、对象D、以上均可19.技术可行性是可行性研究的关键,其主要内容一般不包括()。

A.风险分析B.资源分析C.人员分析D.技术分析20.结构化程序设计主要强调的是()A.程序的规模 B.程序的效率 C.程序设计语言的先进性 D.程序易读性21.在详细设计阶段,经常采用的工具有()A.程序流程图 B.SA C.SC D.DFD22.统计表明,软件测试工作往往占软件开发总工作量的()%以上。

A. 20B. 40C. 60D. 8023.单元测试的测试对象是()。

A. 系统B.程序模块C. 模块接口D. 系统功能24.软件生存周期的( )工作和软件可维护性有密切的关系。

A.编码阶段 B.设计阶段C.测试阶段 D.每个阶段25.以下不属于白盒测试技术的是()A. 逻辑覆盖B. 基本路径测试C. 循环覆盖测试D.等价类划分26.使用黑盒测试时,测试用例应根据()。

A、程序的内部逻辑B、程序的复杂程度C、使用说明书D、程序的功能27.软件总体设计是指软件总体结构设计和数据设计,该阶段的主要任务不包括()。

A. 设计软件的模块结构B. 定义接口并建立数据结构C. 生成概要设计规格说明和组装测试计划D. 模块设计28.耦合是对软件不同模块之间互连程度的度量。

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

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

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

D. 控制耦合,内容耦合,数据耦合,公共环境耦合。

29.维护的副作用可分三类,不包括()。

A. 代码副作用B. 数据副作用C. 文档副作用D.人员副作用30.按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:( )A. 模块的作用域应在模块的控制域之内。

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

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

D. 以上说法都不对。

31.在整个软件维护阶段所花费的全部工作中,( )所占的比例最大。

A.校正性维护 B.适应性维护C.完善性维护 D.预防性维护32.软件维护是保证软件正常、有效的重要手段,软件的下述特性中,( )有利软件的维护。

①可测试性②可理解性③可修改性④可移植性⑤可重用性A.只有① B.②和③C.①、②和③ D.都有利33.软件可移植性是用来衡量软件的()的重要尺度之一。

A、通用性B、效率C、质量D、人机关系34.软件工程的主要目标是提高( ),降低维护的代价。

A.软件的生产率 B.软件的可靠性C.软件的可维护性 D.维护的效率35.在软件维护的实施过程中,为了正确、有效地修改,需要经历以下三个步骤:分析和理解程序、修改程序和重新验证程序。

( )是决定维护成败和质量好坏的关键。

A.分析和理解程序 B.重新验证程序C.修改程序 D.验收程序36.人们称在软件运行/维护阶段对软件产品所进行的修改就是维护。

( )是由于开发时测试的不彻底、不完全造成的。

A.校正性维护 B.适应性维护C.完善性维护 D.预防性维护36. 消息是对象间交互的手段,消息刺激接收对象产生某种行为。

消息的构成有三部分:(),消息名,若干变元。

A.发出消息的对象 B.接收消息的对象 C.消息编号 D.时间二、填空题1.需求分析阶段产生的文档是(1),它的主要组成部分是(2)。

2.测试的关键是设计出(3)的测试用例,测试用例应由(4)和(5)两部分组成。

3.描绘物理系统的传统工具是(6)4.软件工程由(7)、(8)和(9)三部分组成,称为软件工程的三要素。

5.总在面向对象的软件中,(10)是对具有相同数据和相同操作的一组相似对象的定义;(11)是由某个特定的类所描述的一个具体对象。

6.软件测试的目的是(12),通常把测试方法分为(13)和(14)两大类。

7.一个软件的宽度是指其控制的(15),而软件的深度是指其控制的(16)。

8.软件有效性,指软件系统的 (17) 和 (18) 效率。

9.可行性研究的任务是从(19)、(20)、(21)等3个方面研究。

1.软件工程使用的软件工具能够自动或半自动地支持软件的开发、管理和文档的生成。

2.验收的依据是需求说明书。

3.需求规格说明书是在计划时期可行性研究阶段产生的文档。

4.需求分析阶段的成果主要是需求规格说明,但该成果与软件设计、编码、测试直至维护关系不大。

5.软件开发人员对用户需求的理解有偏差,这将导致软件产品与用户的需求不一致,是产生软件危机的唯一原因。

6.软件生命周期中,测试的工作量最大。

7.编码时应尽可能使用全局变量。

8.程序的可靠性、可维护性和效率通常由程序设计语言、源代码的质量和语言的实现机制决定的。

9.一个模块的扇入是指该模块被其它模块调用的个数,扇入应尽可能的小。

10.概要设计也称总体设计,其过程由确定设计方案和结构设计两个阶段组成。

11.系统测试是把软件、硬件和环境连在一起的全面测试。

12.尽可能在软件生产过程中保证各阶段文件的正确性。

13.完成测试作业后,为了缩短源程序的长度应删去源程序中的注释。

14.如果测试过程没有发现任何错误,则说明软件没有错误。

15.结构化程序设计SP强调模块采用自上而下逐步求精设计方法,单入口、单出口16.内聚度标志一个模块内部各成分彼此结合的紧密程度,按其高低程度可分为七级,内聚度越低越好。

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

18.文档记录软件开发活动和阶段成果,具有永久性,可供人或机器阅读。

19.面向对象方法中的对象就是结构化方法中的模块。

20.黑盒测试法可有效的检查模块的内部逻辑结构的正确性。

21.软件需求是指用户对目标软件系统在功能、性能、行为、设计约束等方面的期望。

22.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。

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

23.一个好的开发人员应具备的素质和能力包括善于分析和综合问题,具有严密的逻辑思维能力。

四、名词解释:软件工程、软件危机、黑盒法、白盒法、结构程序设计、维护、内聚、耦合、类、对象、实例、消息、方法、属性、继承1.在可行性研究阶段的任务是什么?2.简述软件工程的基本原理。

3.简述瀑布模型及其特点4.简述快速原型模型及其特点5.简述需求分析的任务6.E-R图7.简述总体设计过程中应该遵循的基本原理。

8.用流程图描述结构程序设计中3种基本控制结构。

相关文档
最新文档