您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页软件工程习题附答案

软件工程习题附答案

来源:华佗小知识
第一章 概述

1.软件产品具有哪些特性?

答:软件是一种逻辑案件,而不是具体的物理实体,具有抽象性

软件是通过人的智力活动,将知识和技能转化成为信息的一种产品,是在研制,开发中被创造出来的

a.软件产品是一种逻辑产品. b.软件产品的生产主是研制,软件产品的本钱主要表达在软件的... c.开发的软件可维护性差. d. 开发的软件可靠性差 ⑴是一种逻辑产品,与物质产品有很大的区别.

⑵软件产品的生产主要是研制,本钱主要在开发和研制,开发完成后,通过复制就产生了大量软件产品.

⑶软件产品不会用坏,不存在磨损,消耗.

⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大局部产品是\"定做\"的 ⑸开发软件的费用不断增加,致使生产本钱相当昂贵. (6)其质量往往靠不住,缺乏可见性 2.简述什么是软件工程?

答: 软件工程软件工程是开发、运行、维护和修复软件的系统方法,其中“软件〞的定义为计算机程序、方法、规那么、相关的文档资料以及计算机上运行时所必须的数据;软件工程是一门科学,其目的是生产无故障的、软件,且交付及时,不超过预算,并满足用户要求;

3.软件生命周期可分为哪三个时期?GB 8567中规定可分为哪几个阶段?

答:定义时期:问题的定义〔客户需求〕、可行性研究〔为什么做〕;

开发时期:需求分析〔做什么〕、总体设计〔怎么做—抽象〕、详细设计〔怎么实现

—具体〕、编码〔程序设计语实现〕测试.。

运行时期:软件维护。

4.依以下表达确定软件生命周期模型。

M公司的软件产品以开发实验型的新软件为主。用瀑布模型进展软件开发已经有近十年了,并取得了一些成功。假设你作为一名管理员刚参加M公司,你认为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告简要说明你的理由。 答:瀑布模型的缺点在于只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果。另外瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要,它已不适宜开发实验型的软件。 根据快速原型法的特点,原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求,因此,在开发过程的后续阶段不会因为发现了规格说明文档的错误而进展较大的返工。开发人员通过建立原型系统已经学到了许多东西,因此,在设计和编码阶段发生错误的可能性也比拟小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。说明它特别适合于开发探索型、实验型的软件。

5.依以下表达确定软件生命周期模型。

假设要求你开发一个软件,该软件的功能是

把读入的浮点数开平方,所得到的结果应该准确到小数点后4位。一旦实现并测试完之后,该产品将被抛弃。你打算使用哪种软件生命周期模型?请说明你作出选择的理由。

答:对这个软件的需求很明确,实现开平方功能的算法也很熟悉,因此,既无需通过原型来分析需求也无需用原型来验证设计方案。此外,一旦实现并测试完之后,该产品将被抛弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来年开发该软件。综上所述,为了开发这个简单的软件,使用大多数人熟悉的瀑布模型就可以了。

第二章 可行性研究

1.可行性分析的任务是什么?

答:可行性分析的任务是对一下三方面的可行性进展研究。1.技术上可行性:研究现有技术、资源及能否支持和实现系统的功能、性能,主要是技术风险问题。2.经济上的可行性:进展本钱估算及效益评估,确定工程是否值得开发。3.操作上的可行性:系统的操作方式在这个用户组织内是否行得通。4.社会上的可行性:主要指系统开发后能否运行,是否存在合同、责任、侵权、用户组合管理等方面的问题。从法律,社会效益研究可行性。

2.简述如何检查数据流图的正确性和提高它的易理解性?

答:可从以下几个角度来检查数据流图的正确性:数据守恒、文件的使用:父图和子图的平衡等;提高数据流图的易理解性可从以下几个方面进展:简化加工间的联系、注意分解的均匀、适当的命名等。

3.请依描述绘制DFD图。

画出银行取款过程的DFD图。问题描述为:储户用存折取款,首先填写取款单,根据“账卡〞中的信息检验取款单与存折,如有问题,将问题反应给储户,否那么,登录“储户存款数据库〞,修改相应数据,并更新“账卡〞,同时发出付款通知,出纳向储户付款。

4.请依描述绘制

DFD图并写出数据词典中的数据流条目。〔第二章 可行性研究〕

自学考试报名过程中有个“记录报名单〞的处理。该处理主要是根据报名表(姓名、性别、身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、

填写、输出准考证给报名者,同时记录到

考生名册中(准考证号、姓名、课程)。

第五章 总体设计

1.衡量模块性的两个标准是什么?它们各表示什么含义?

答:两个定性的度量标准:耦合与内聚性。耦合性:也称块间联系。指软件系统中各模

块间相互联系严密程度的一种度量。模块间联系越严密,其耦合性就是越强,模块的性那么越差。内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的严密程度的度量,模块内元素联系越严密,内聚性越高。

2、问题描述如下:

我们已经开场进入“智能〞产品时代。在这类产品中把软件做在只读存储器中,成为设备的一局部,从而使设备具有某些“智能〞。因此,这类产品的设计都包含软件开发的任务。作为面向数据流的设计方法中变换分析的例子,考虑汽车数字仪表板的设计。

假设的仪表板将完成下述功能:

(1) 通过模数转换实现传感器和微处理机接口; (2) 在发光二极管面板上显示数据:

1) 指示每小时英里数(mph), 2) 行驶的里程,

3) 每加仑油行驶的英里数(mpg)等等; 4) 指示加速或减速

5) 超速警告:如果车速超过55英里/小时,那么发出超速警告铃声。 1. 画出精化的数据流图。

2.利用变换分析画出第一级分解的软件的层次图。 3. 用层次图表示软件的最终构造图。

第六章详细设计

1.详细设计的根本任务是什么?有哪几种描述方法?

答:设计模块的数据构造、设计数据库的物理构造、设计模块的详细算法、其他〔代码设计、输入|输出格式设计、人机对话设计〕、编写详细设计说明书、评审。程序流程图、PAD图、PDL。

2.请依描述绘制判定表.

假设某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重局部每公斤收费4元,对其他舱的国内乘客超重局部每公斤收费6元,对外国乘客超重局部每公斤收费比国内乘客多一倍,对残疾乘客超重局部每公斤收费比正常乘客少一半。

3.画出以下伪码程序的程序流程图和盒图。

START 答: IF p THEN

WHILE q DO

f END DO ELSE

BLOCK g n

END BLOCK END IF STOP

F p g n 开场 T F

p

g

q

T WHILE f Q循环 n f

停顿 4. 如下图的程序流程代表一个非构造化的程序,请解答以下问题。为什么说它是非构造化的?设计一个与它等价的构造化程序〔画出盒图〕 盒图如下: g T 开场 F p T g

F q (NOT p)OR (NOT q)

F

p

T

如下图程序的循环控制构造有两个出口,不符合狭义的构造程序定义〔单入口单出口〕,因此是非构造化的程序;

5、问题描述如下:

有两个输入文件:考生根本情况文件(简称考生情况文件)和考生高考成绩文件(简称考分文件)如下:

考生情况文件 考分文件

准考证号 考分 准考证号 姓名 通讯地址 产生输出文件: 考生新文件 准考证号 姓名 通讯地址 考分 试用Jackson方法完成以下工作 1.用Jackson图表示输入与输出构造,找出它们之间的对应单元; 2.描绘程序构造的Jackson图,并列出列出所有操作和条件。 3. 用Jackson伪代码写出与程序构造图对应的过程性表示。

第七章 测试

1. 什么是编码风格?为什么要强调编码风格?

答:编码风格又称程序设计风格或变成风格。编码的目标从强调效率转变为强调清晰。良好的编码风格能在一定程度上弥补语言存在的缺陷,而如果不在注意风格就很难写出高质量的程序,尤其当多个程序员合作编写一个很大的程序时,需要强调良好而一直的编码风格,一边相互通讯,减少因不协调而引起的问题。总之,两哈的编码风格有助于编写出科考而又容易维护的程序编码的风格在很大程度上决定着程序的质量

2.简述软件测试的两种根本的测试方法。

答:第一种方法是黑盒测试,第二种是白盒测试。黑盒测试时完全不考虑程序内部构造和处理过程、只按规格说明书的规定来检查程序是否符合它的功能要求。黑盒测试时在程序接口进展的测试,又称为功能测试。白盒测试是将程序看作是一个透明的盒子,也就是说测试人员完全了解程序的内部构造和处理过程。所以测试时按照程序内部的逻辑测试程序、检验程序中的每条通路是否都能按预定的要求正确工作。白盒测试又称为构造测试。

3.为什么软件测试不应该由程序的编写人员来做?

答:软件测试的目的是为了发现程序中的错误而执行程序的过程。正确认识测试的目标十分重要。测试目标决定了测试方案的设计。如果为了说明程序是正确的而进展测试,就会设计一些不易暴露错误的测试方案;相反,如果测试是为了发现程序中的错误,就会力求设计出最能暴露错误的测试方案。

由于测试的目标是暴漏程序中的错误,从心理学角度看,由程序的编写者自己进展

测试是不恰当。

4.请设计以下伪码程序的判定覆盖测试用例。

START INPUT〔A,B,C,D〕 IF〔A>0〕AND〔B>0〕 答:此题共需两组测试用例: THEN X=A+B

1〕使3个判定表达式之值全为假 ELSE X=A-B

输入:A=1,B=1,C=1 END

预期的输出:X=1,Y=2,Z=3 IF〔C>A〕OR〔DTHEN Y=C-D 2〕使3个判定表达式之值全为真 ELSE Y= C+D

输入:A=20,B=40,C=60 END

预期的输出:X=10,Y=20,Z=30 PRINT(X,Y)

STOP

5.请设计以下伪码程序的语句覆盖测试用例。

START INPUT〔A,B,C〕 IF A>5 THEN X=10 ELSE X=1 END IF

IF B>10 THEN Y=20 ELSE Y=2

IF C>15 THEN Z=30 ELSE Z=3 END IF

PRINT(X,Y,Z) STOP

第八章 维护

1. 什么是BROOKS定律?

Brooks法那么是指一种实践,应用全面、严密的方法来描述组织之流程、信息系统、人员和组织子单元的当前或未来构造,以便其与组织的核心目标和战略方向保持一致。 为推迟的软件增加人力将使得软件时间发布更晚。 这是因为后来者需要加快速度,同时还要与前任进展沟通,从而使得开发团队增加了更多的开发时间,这个时间超过了新增程序员所做的奉献。从理论上说,软件开展陷入僵局是可能的,此时开发团队极其庞大,以致所有时间都来互相沟通和重新决定,这样工程永远也不会完成。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务