好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

软件工程试题(20220117221656).pdf

14页
  • 卖家[上传人]:T****m
  • 文档编号:253033510
  • 上传时间:2022-02-11
  • 文档格式:PDF
  • 文档大小:460.69KB
  • / 14 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 专业资料1. 假设要求你开发一个软件,该软件的功能是把读入的浮点数开平,所得到的结果应该精确到小数点后4 位一旦发现并测试完之后,该产品将被抛弃你打算选用哪种软件生命期模型?请说明你做出选择的理由答:对这个软件的 需求很明确 ,实现开平功能的算法也很成熟,因此,既无须通过原模型来分析需求也无须用原型来验证设计案此外,一旦实现并测试完之后,该产品将被抛弃, 因此也 无须使用有助于提高软件可 维护性 的增量模型或螺旋模型来开发该软件综上所述,为了开发这个简单的软件,使用大多数人所熟悉的瀑布模型就可以了2.假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已 被广泛应用 的字处理软件的 新版本 开发由于市场竞争激烈, 公司规定了格的 完成期限并且已对公布你打算采用哪种软件生命期模型?为什么?答:对这个项目的一个重要要, 格按照已对外公布了的日期完成产品开发工作,因此,选择生命期模型时应该着重考虑哪种模型有助于加快产品开发的进度 使用增量模型开发软件时可以并行完成开发工作,因此能够加快开发进度这个项目是开发该公司已被广泛应用的字处理软件的新版本,从上述事实至少可以得到 3 点结论:第一,旧版本相当于一个原型, 通过收集用户对旧版本的反映,较容易确定对新版本的需求, 没必要再专门建立一个原型系统来分析用户的需求;第二,该公司的软件工程师对字处理软件很熟悉,有开发字处理软件的丰富经验, 具有采用增量模型开发新版字处理软件所需要的技术水平;第三,该软件受到广大用户的喜爱, 今后很可能还要开发更新的版本,因此,应该把该软件的体系结构设计成开发式的,以利于今后的改进和扩充。

      专业资料综上所述,采用增量模型来完成这个项目比较恰当开发模型特点适用场合传统软件过程瀑布模型线性模型需求明确中小型快速原型模型用户介入早需求模糊小型软件软件演化模型(易于维护 )增量模型迭代,开发螺旋模型不确定性大型构件集成模型领域工程中型形式化法转换模型形式化理想化净室模型形式化增量开发3.请为某仓库的管理设计一个ER(实体联系图)模型 该仓库主要管理零件的订购和供应等事项 仓库向工程项目提供零件, 并且根据需要向供应商提供零件答:建立 ER图的大致过程如下所述1)确定 实体模型本问题中共有三类实体,分别是“零件” 、 “工程项目”和“供应商” 2)确定 联系模型一种零件可供应多个工程项目,一个工程项目需要使用多种零件,因此,零件与工程项目之间的联系“供应” ,是多对多( M:N )联系;类似地,零件与供应商之间的联系“订购” ,也是多对多( M:N )联系3)确定实体 类型和联系类型 的属性. 专业资料实体类型“零件”的主要属性是零件编号、零件名称、颜色和重量实体类型“工程项目”的属性主要是项目编号、项目名称和开个日期实体类型“供应商”的属性主要有供应商编号、供应商名称和地址联系类型“供应”的属性是向某工程项目供应的某种零件的数量。

      联系类型“订购”的属性是向某供应商订购的某种零件的数量4)把实体类型、联系类型及属性组合成ER图注:椭圆、矩形、菱形,线段4.某高校可用的有以下几类:校由4 位数字组成,第一位数字不是0;校外又分为本市和外地两类, 拨校外需先拨 0,如果是本地再接着拨8 位(第 1 位不是 0) ,如果是外地则先拨3 位区码,再拨 8 位(第 1 位不是 0) 数据字典请用 2.8 节讲述的符号定义上述的数据流图答:= 校|校外 校=非零数字 +3 位数字校外= 本市|外地 . 专业资料本市=数字零 +8 位数字外地=数字零 +3 位数字 +8 位数字非零数字 =1|2|3|4|5|6|7|8|9 数字零 =0 3 位数字 =3 数字 3 8 位数字 =非零数字 +7 位数字7 位数字 =7 数字 7 数字=0|1|2|3|4|5|6|7|8|9 注: :或关系, :重复关系,:和关系, . :基本数据元素, . :连接符5.办公室复印机的工作过程大致如下:未接收到复印命令时处于闲置状态 ,一旦接收到 复印命令 则进入 复印状态 , 完成一个复印命令 规定的工作后又回到闲置状态,等待下一个复印命令; 如果执行复印命令时 发现缺纸 , 则进入 缺纸状态 ,发出警告,等待装纸, 装满纸 后处于闲置状态,准备接受复印命令;如果复印时发生卡纸 故障,则进入 卡纸状态 ,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。

      请用状态转换图 描绘复印机的行为答:从问题述可知,复制机的状态主要有闲置、复印、缺纸和卡纸引起状态转换的事件主要是复印命令、完成复印命令、发现缺纸、装满纸、发现卡纸故障和排除了卡纸故障 专业资料注:状态、事件6.如果一个程序有两个输入数据,每个输入都是一个32 位的二进制整数,那么这个程序有多少种可能的输入?如果每微秒可进行一次测试,那么对所有可能的输入进行 测试需要多长时间?答:每个 32 位的二进制整数具有322个可能的值, 因此,具有两个整数输入的程序应该具有642个可能的输入每微秒( )可进行一次测试,即每秒可进行610个测试,因此,每天可进行的测试数为60 6024610=8.64 1010这等于每年大约可进行()3.1310个测试改:5131813641010*319.310*1610*319.32所以做完全部测试将至少需要510年(即 10 万年) 7.对一个包含 10 000 条机器指令的程序进行 一个月 集成测试 后,总共改正了 15 个错误,此时 MTTF=10h ; 经过两个月 测试后,总共改正了 25 个错误(第二个月改正了 10 个错误) ,MTTF=15h 。

      要求:. 专业资料(1)根据上述数据确定MTTF 与测试时间之间的函数关系, 画出 MTTF 与测试时间的关系曲线在画这条曲线时你做了什么假设?(2)为做到 MTTF=100h,必须进行多长时间的集成测试?当集成测试结束时总共改正了多少个错误?还有多少个错误潜伏在程序中?答: (1)假设在程序的平均无故障时间MTTF 和测试时间之间存性关系,即MTTF= 根据题意可知,当=1 时 MTTF=10 ,当=2 时 MTTF=15 ,把这些已知的数据代入上列程后得到下列的联立程式15210baba解上列联立程得出a=5,b=5 因此, MTTF 与之间有下列关系MTTF= 根据上列程式画出平均无故障时间MTTF 与测试时间的关系曲线,如图4.2 所示(2)为使 MTTF=100h MTTF=100h ,集成测试时间:,需要的测试时间可由程式得出. 专业资料)(10000CTEEKMTTF注:():在时间纠错数,:调试前错误数,MTTF :平均无故障时间根据题意可知,改正了15个错误后MTTF=10 ,改正了25 个错误后MTTF=15 ,把这些已知的数据代人上列程之后,得到下列的联立程式)25(1000015)15(1000010TTEKEK解上列联立程式得到TE=45,K=33.33. 已知当集成测试结束时,)19(45(33.3310000100cE所以42)19(CE错误总数:也就是说, 当集成测试结束时总共 改正了 个错误,还有45-42= 3 个错误潜伏在 程序中。

      8.为什么在开发大型软件时,采用面向对象型比采用结构化型较易取得成功?答:结构化技术要么面向处理(例如面向数据流的设计法),要么面向数据(例如面向数据结构的设计法) , 但却没有既面向处理又面向数据的结构化技术用结构化技术开发出的软件产品的基本成分是产品的行为(即处理)和这些行为所操作的数据 由于数据和对数据的处理是分离的,尽管开发者把程序划分成了多模块,但是这些模块之间的联系却是比较紧密的(耦合性高, 模块独立性低 ) ,因此,使用结构化型开发出的软件产品本质上是一个完整的单元由此带来的后. 专业资料果是软件规模越大,用结构化型开发软件的技术难度和管理难度就越大与结构化技术相反, 面向对象技术是一种以数据为主线,把数据和处理相结合的法 面向对象型把对象作为由数据及可以施加在这些数据上的操作所构成的统一体用面向对象型 开发软件时, 构成软件系统的每个对象就好像一个微型程序,有自己的数据、操作、功能、和用途,因此,可以把一个大型软件产品分解成一系列本质上相互独立的小产品来处理(分解、细化,模块化 ) ,不仅降低了软件开发的技术难度,而且也使得对软件开发工作的管理变得相对容易了9.为什么说夏利牌汽车是小汽车类的特化(继承),而发动机不是小汽车类的特化?答:夏利牌汽车具有小汽车的全部属性和行为,它只不过是一种特定品牌的小汽车,因此,夏利牌汽车可以从基类(小汽车)派生出来,也就是说,夏利牌汽车是小汽车类的特化。

      发动机是组成小汽车的一种零件小汽车还是车身、 车灯、轮子等多种其他零件,小汽车所具有的多属性和行为发动机都不具有,因此,发动机不能从小汽车类派生出来,它不是小汽车类的特化10.什么是 对象?它与传统的数据有异同?答: ()对象是用面向对象法学开发软件时对客观世界实体的抽象 ,它是由描述实体属性的数据及可以对这些数据施加的所有操作封装在一起构成的统一体传统的数据是用传统法学开发软件时对客观实体的抽象,但是,这种抽象是不全面的: 数据只能描述实体的静态属性,不能描述实体的动态行为 必须从外界对数据加操作,才能改变数据实现实体应有的行为对象与传统数据有本质区别,它不是被动地等待外界对它施加操作,. 专业资料相反,它是进行处理的 主体必须发消息请求对象主动地执行它的某些操作,处理它的私有数据,而不能直接从外界对它的私有数据进行操作11.什么是 模型?开发软件时为什么要建立模型?()所谓模型, 就是为了理解事物而对事物作出的一种抽象 ,是对事物的一种无歧义的书面描述 通常,模型:由一组图示符号和组织这些符号的规则组成,利用它们来定义和描述问题域中的术语和概念更进一步讲, 模型是一种 思维工具 ,利用这种工具可以把知识规地表示出来。

      众所知,在解决问题之前必须首先理解所要解决的问题对问题理解得越透彻, 就越容易解决它 在开发软件的过程中, 为了更好地理解客户要求解决的问题,往往需要建立问题域的模型(清晰准确性)为了开发复杂的软件系统,系统分析员应该从不同角度抽象出目标系统的特性,使用精确的表示法构造系统的模型, 验证模型是否满足客户对目标系统的要求,并在设计过程中逐渐把和实现有关的细节加进模型中,直至最终用程序实现这个模型对于那些因过分复杂而不能直接理解的系统,特别需要建立模型, 建立的目的主要是为了 降低复杂性 人的头脑每次只能处理少量信息,模型通过把系统的重要部分分解成人的头脑一次能处理的若干个子部分,从而减少了系统的复杂程度12.试建立下述订货系统的 用例模型(用例图),数据流图( DFD) 假设一家工厂的 采购部 每天需要一 订货报表 ,报表按零件编号排序, 表中列出所有需要再次订货的零件对于每个需要再次订货的零件应该列出下述数据:零件编号,零件名称,订货数量,目前价格,主要供应者,次要供应者零件入库或出库称为事务, 通过放在 仓库中的终端把事务报告给订货系统当某种零件. 专业资料的库存数量少于库存量临界值时就应该再次订货。

      答:从对这个订货系统的需要可以知道,仓库管理员通过放在仓库中的终端把零件入库 /出库事务报告给订货系统, 系统接收到事务信息之后应该处理事务;采购员需要使用订货系统提供的产生报表功能,已获取订货报表用例模型:,数据流图():. 专业资料2 层注:用例图:系统边界:矩形,用例:椭圆,参与者:小人,关联:直线数据流图:源/ 终点:框,加工:圆框,数据流向:箭头,文件或数据库:双杠13.为什么说面向对象法与人类习惯的思维解题法比较一致(一致性) ?答:人类认识客观世界、 解决现实问题的过程是一个渐进的过程 人的认识需要在继承以前的有关知识上 的基础上,既包括从一般到特殊的演绎思维过程,也包括从特殊到一般的归纳思维过程, 面。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.