软件工程习题 (1)1

合集下载

软件工程习题及解答1

软件工程习题及解答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:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理二、简答题1、美国一家公司在1982年计划用FORTRAN语言开发一个在VAX750计算机上运行的应用程序,估计这个程序的长度为10000条FORTRAN指令。

软件工程习题(1)

软件工程习题(1)

简单好学
逆转性差
可 以 分 阶 段 提 有时用户不同意 交 需求可变 开发速度快 需求可变 提高开发效率 风险大 不利于创新 建设周期长 不利于项目的管理
瀑布模型的特点: 过程逆转性很差或者说不可逆转, 因为根据上游的错误会在下游进行发散 性传播的原理,所以逆转将会延误工期,增加成本,造成重大损失。 选择瀑布模型必须满足下列条件: (1) 在开发时间内需求没有或很少变化。 (2) 分析设计人员对应用领域很熟悉。 (3) 低风险项目(对目标、环境很熟悉) 。 (4) 用户使用环境很稳定。 (5) 用户除提出需求以外,很少参与开发工作。 瀑布模型适合于功能和性能明确、完整、无重大变化的软件开发
5、根据下列条件使用等价类划分法设计测试用例。(书 P118 例) 某一 8 位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的 范围是-177~177,如 05,0127,-065 (1)划分等价类并编号,如下表示:
(2)为合理等价类设计测试用例,表中有两个合理等价类,设计两个例子
(3)为不合理等价类测试用例,至少设计一个测试用例
6、将下面给出的伪码转换为 N-S 图。 (8 分) void root ( float root1, float root2 ) { i = 1; j = 0; while ( i <= 10 ) { 输入一元二次方程的系数 a, b, c; p = b*b – 4*a*c; if ( p < 0 ) 输出“方程 i 无实数根”; else if ( p > 0 ) 求出根并输出; if ( p == 0 ) { 求出重根并输出; j = j + 1; } i = i +1; } 输出重根的方程的个数 j; }
8、使用 PAD 图描述在数组 A(1)~A(10)中找最大数的算法

软件工程练习题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. 结构化方法的基本原则是()。

软件工程选择题[1]1

软件工程选择题[1]1

软件工程选择题题号题目内容选项A选项B选项C选项D参考答案1在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是()概要设计详细设计需求分析可行性分析A2下面不是软件工程的3个要素的是()过程方法环境工具C3下面不属于软件的组成的是()程序记录文档数据B 4在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于()维护时期运行时期计划时期开发时期C5在瀑布模型中,下面()是其突出的缺点。

不适应平台的变动不适应算法的变动不适应用户需求的变动不适应程序语言的变动C6软件工程过程通常包含4种基本活动,下面不属于4种活动之一的是()。

软件规格说明软件开发软件测试软件演进C7下面不属于软件的特点的是()。

软件是一种软件产品软件产品不会用坏,不存在磨损、消耗问题软件产品的生产主要是研制软件产品非常便宜D8文档是描述程序、数据和系统开发以及使用的各种图文资料。

下面不是文档的作用的是()。

记录提供源程序维护软件软件产品介绍B 9软件开发工具是协助开发人员进行软件开发活动所使用的软件或环境。

下面不是软件开发工具的是()。

维护工具编码工具测试工具需求分析工具A 10下列叙述中不属于软件生命周期模型的是()。

原型模型瀑布模型螺旋模型快速组装模型D11软件设计中,用抽象和分解的目的是()。

提高易读性降低复杂性增加内聚性降低耦合性B12软件由3部分组成,它们是()。

程序、数据和文档程序、数据和界面数据、文档和界面程序、界面和文档A13软件生命周期中所花费用最多的阶段是()。

详细设计软件编码概要设计软件测试和维护D14开发软件时对提高开发人员工作效率至关重要的是()。

操作系统的资源管理功能先进的软件开发工具和环境程序人员的数量计算机的并行处理能力B15开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作()。

软件投机软件危机软件工程软件产生B16软件开发的结构化生命周期方法将软件生命周期划分成()。

软件工程第一章习题答案

软件工程第一章习题答案

第一章习题1.1什么是计算机软件?软件的特点是什么?答:计算机软件(Computer Software,也称软件,软体)是指计算机系统中的程序及其文档,程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。

程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。

软件的特点:1.软件是一种逻辑实体而不是有形的系统元件,其开发成本和进度难以准确的估算。

2.软件是被开发的或设计的,没有明显的制作工程,一旦开发成功,只需复制即可,但其维护的工作量大。

3.软件的使用没有硬件那样的机械磨损和老化问题。

1.2简述软件的分类,并举例说明。

答:软件分为系统软件,支撑软件和应用软件3类。

系统软件居于计算机系统中最靠近硬件的一层其他软件一般都通过系统软件发挥作用。

例如:编译程序,操作系统等。

支撑软件是支撑软件的开发和维护的软件。

例如:数据库管理系统,网络软件,软件工具,软件开发环境等。

应用软件是特定应用领域专用软件。

例如:工程/科学计算软件,嵌入式软件,产品线软件,Web应用软件,人工智能软件等。

1.3简述软件语言的分类,并举例说明。

答:软件语言是用于书写计算机软件的语言主要包括:需求定义语言,功能性语言,设计性语言,实现性语言和文档语言。

需求定义语言用以书写软件需求定义,软件需求定义是软件功能需求和非功能需求的定义性描述。

软件功能需求刻画“做什么”,软件非功能需求刻画诸如功能性限制、设计限制、环境描述、数据预通信规程以及项目管理等。

功能性语言用以书写软件功能规约,软件功能规约是软件功能的严格而完整的陈述。

软件功能规约通常只刻画软件系统“做什么”的外部功能,而不涉及系统“如何做”的内部算法,因此,功能性语言通常又称为功能规约语言。

设计性语言用以书写软件设计规约。

软件设计规约是软件设计的严格而完整的陈述。

一方面,它是软件功能规约的算法性细化,刻画了软件“如何做”的内部算法;另一方面,它又是软件实现的依据从。

软件工程习题附答案

软件工程习题附答案

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

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

一、选择题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、面向对象的三大特性是()、()和()。

软件工程习题(附答案)

软件工程习题(附答案)

软件工程习题(附答案)软件工程习题 (附答案)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

软件工程习题与答案1

(1)软件危机的产生,一方面是与软件本身的特点有关,另一方面是由于软件开发和维护的方法不规范、不正确造成的,其根本原因,是与如下几个根本原因有着密切的关系。

(1)忽视了软件开发前期的需求分析。

(2)开发过程没有统一、规范的方法论的指导,文档资料不齐全,忽视了人与人之间的交流。

(3)忽视测试阶段的工作,提交给用户的软件质量差。

事实上,对于软件来讲,不论(4)轻视软件的维护。

在一个软件漫长的维护期中,必须改正软件使用中发现的每一处存在的错误,给用户一个满意的回答。

软件维护工作是极其复杂艰巨的,需要花费很大的总之,通过以上分析,从技术和管理两个方面入手,引入“软件工程”的概念是必不或缺的。

可行性分析是在明确了问题定义的基础上,对软件项目从技术、经济等方面进行研究和分析,得出项目是否具有可行性结论的过程。

可行性研究的任务不是具体解决系统中的问题,而是以最小的代价在尽可能短的时间内确定问题是否值得解决、是否能够解决。

一般来说,可行性研究主要包括经济可行性、技术可行性、法律可行性和运行可行性等几个方面。

(1)经济可行性(2)技术可行性:技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。

(3)时机可行性:目前,学院的校园网络覆盖了教学区和学生区的主要建筑物及部分家属宿舍,从而满足院校内各学系,各职能部门,各直属单位上网需求,学校良好的网络设施为学院建设“信息化校园”提供了坚实的基础。

(4)管理上的可行性:主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。

规章制度和管理方法为系统的建设提供了制度保障。

(5)法律可行性:分析在系统开发的全部过程中可能出现和涉及的法律问题,如合同、责任、知识产权和专利等问题。

要确保新系统的开发不会引起侵权和其他责任问题。

(6)运行可行性:判断新系统的运行方式是否可行。

综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。

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

已知如下N-S图, 请画出对应的PAD图
某用电记费系统可以采用固定价格收费和浮 动价格收费两种方式。若采用固定价格收费 对每月用电100度以下的用户只征收最低标准 费,超过100度的用户按价格表A收费;若采 用浮动价格方式收费,则每月用电100度以下 的用户按价格表A收费,超过100度的用户按 价格表B收费。请给出该问题的判定表描述。
测试题
• • • • • 某城市的电话号码由3部分组成 地区码:空白或3位数字 前缀:不许以‘0’或‘1’开头的3位数 后缀:4位数字 试用黑盒测试划分等价类方法设计其测试 用例
设计下列伪码程序的判定覆盖和条件组合覆盖的测试用例: 1: START INPUT(A,B,C,D) 2: IF(A>0) 3: AND(B>0) 4: THEN X=A+B 5: ELSE X=A-B 6: END 7: IF(C>A) 8: OR(D<B) 9: THEN Y=C-D 10: ELSE Y=C+D 11: END 12: PRINT(X,Y) STOP
• 考虑一个修改磁带上主文件的系统,文件 管理员把修改信息穿孔在卡片上,系统读 穿孔卡片的信息并按照记录号把修改信息 排序好,然后系统逐个读入主文件的记录, 根据记录上的校验码核对每个读入的记录。 丢掉出错的记录,按照修改信息修改余下 的记录,产生新文件存储在磁盘上。最后 系统输出一份修改报告供文件管理员参阅。 • 请大家给出数据流图
习题: 请用jackson图描绘下述一列火车的组成: 一列火车最多可以有两个火车头。只有一 个火车头时则位于列车的最前面,若还有 第二个火车头时,则第二个火车头位于列 车最后。火车头既可能是内燃机车也可能 是电气机车。车厢分为硬座车厢,硬卧车 厢和软卧车厢3种。硬座车厢在所有车厢的 前面部分,软卧车厢在所有车厢的后面部 分。此外在硬卧车厢和软卧车厢之间还有 一节餐车。
பைடு நூலகம்
相关文档
最新文档