您好,欢迎访问三七文档
1.如果要开发“图书馆管理信息系统”,你认为采用什么开发模型比较合适?请说明理由。答:开发“图书馆管理信息系统”采用瀑布模型比较合适。因为瀑布模型在开发过程中各阶段非常清晰,便于评审、跟踪、管理和控制,并且“图书馆管理信息系统”也基本符合瀑布模型的条件:(1)“图书馆管理信息系统”在开发过程中需求变化很少。(2)分析和设计人员对“图书馆管理信息系统”比较熟悉。(3)“图书馆管理信息系统”是低风险项目。(4)“图书馆管理信息系统”的用户使用环境比较稳定。(5)“图书馆管理信息系统”的用户除提出需求以外,很少参与开发工作。2.简述结构化程序设计方法的基本要点。(1)采用自顶向下,逐步求精的程序设计方法。(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环(3)采用主程序员组的组织形式。3.下图中,模块G为判定,判断涉及到模块B、F、G,请指出设计中的错误,再根据改进模块图的基本原则,画出1~2个改进方案(不改变模块G的判断关系),并说明是按照哪条基本原则进行改进的。解:下图为一个改进方案,将模块G的位置提高,使其作用范围为控制范围的子集,减少模块之间的联系。4.根据下列条件使用等价类划分法设计测试用例。某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065。用等价划分法:(1)划分等价类并编号,如表1表1八进制常量输入条件的等价类输入条件合理等价类不合理等价类八进制整数1.2—4位以0打头的数字串2.以-0打头的3—5位数字串3.以非0非-打头的串4.0打头含有非数字字符的串5.以-0打头含有非数字字符的串6.多于5个字符7.-后非0的多位串8.-后有非数字字符9.后多于4个数字八进制数范围10.在-177—177之间11.小于-17712.大于177(2)为合理等价类设计测试用例。表2中有两个合理等价类,设计两个例子。测试结果期望结果覆盖范围026显示有效输入1,10-0145显示有效输入2,10(3)为不合理等价类设计测试用例。表3中有两个合理等价类,设计相应例子。测试结果期望结果覆盖范围135显示无效输入30B45显示无效输入4………………5.为提高软件的可理解性,可采取哪些措施?可理解性是指理解软件的结构、接口、功能和内部过程的难易程度。提高软件可理解性的措施有:采用模块化的程序结构;书写详细正确的文档;采用结构化程序设计;书写源程序的内部文档;使用良好的编程语言;具有良好的程序设计风格。6.什么是软件生存周期?它有哪几个活动?软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等。7.一本书的组成有一个封面,一个目录,一个前言,若干章,每章有若干节,每节有若干段,每段有若干句子,每节有0个或多个插图,还有0个或多个表格,最后有一个附录。试建立该书的对象模型。书的对象模型:8.衡量模块独立的两个标准是什么?它们各表示什么含义?衡量模块的独立性的标准是两个定性的度量标准:耦合性和内聚性。(1)耦合性。也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。(2)内聚性。又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语句之间、程序段之间)联系得越紧密,则它的内聚性就越高。耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。9.试画出Jackson方法所用的结构图的三种基本结构。三种基本结构如图所示:10.简述三种面向对象模型的主要功能。对象模型:表示了静态的结构化的系统数据性质,描绘了系统的静态结构,从客观世界的对象关系角度来描绘对象。动态模型:该模型描述了系统的控制结构,它表示了瞬间的、行为化的系统控制性质,它关心的是系统的控制及操作的执行顺序,它从对象的事件和状态的角度出发,表现了对象1,m1书封面前言目录章附录节段句子插图表格1,m21,m31,m41,m51,m6ADCB顺序结构AC*循环结构AD0B0选择结构的相互行为。功能模型:描述了系统的所有计算。指出发生的时间、事件和客体。等价分类法的基本思想是什么?根据程序的输入特性,将程序的定义域划分为有限个等价区段——“等价类”,从等价类中选择出的用例具有“代表性”,即测试某个等价类的代表值就等价于对这一类其他值的测试。如果某个等价类的一个输入数据(代表值)测试中查出了错误,说明该类中其他测试用例也会有错误。语句覆盖与条件覆盖能否做到100%?为什么?(教材第11章软件测试11-4页以及PPT中:SE14测试)语句覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个可执行语句都至少执行一次。条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个判定中的每个条件的所有可能结果都至少出现一次。覆盖率能否达到100%的原因论述酌情给予最高3分。面向对象=对象+分类+继承+通过消息的通信。可以说,采用这四个概念开发的软件系统是面向对象的。一个面向对象的程序的每一成分应是对象,计算是通过新的对象的建立和对象之间的通信来执行的。面向对象OO包括:面向对象的分析OOA、面向对象的设计OOD、面向对象的编程OOP三方面内容。动态建模:用来描述系统的动态行为,显示对象在系统运行期间不同时刻的动态交互。UML中用状态机图、活动图、顺序图、通信图和协作图来建立动态模型。什么是测试用例?动态测试有哪些方法?所谓“测试用例”是指为寻找程序中的错误而精心设计的一组测试数据,每个测试用例一般是一个二元组(输入数据、预期结果)。动态测试主要有两种方法:白盒法和黑盒法。白盒法是从被测试程序的内部逻辑人手来设计测试用例;_黑盒法着重测试被测试程序的功能,而不关心内部如何实现其功能的结构,是从用户观点出发的测试。但无论白盒法还是黑盒法都只能选择一些有代表性的测试用例进行有限的测试。(1)白盒法测试:有六种用于有判定存在的逻辑覆盖标准,即程序内部路径的覆盖程度。对于有循环存在的覆盖用限制循环次数的办法来测试。但是对于一个实际问题的程序测试中,其路径是一个庞大的数字,基本路径测试告诉了最少路径计算办法,在分析程序控制流程图环路复杂性基础上,导出基本路径集合,从而设计测试用例,保证这些基本路径至少执行一次,以最少的用例发现尽量多的错误。(2)黑盒法测试:具体方法有四种,采用黑盒法的综合策略是先用等价类划分法(包括边界值分析法,即取边值上的数)设计出测试用例,然后用错误推测法补充。如果被测试程序含有多个条件的逻辑组合,则开始就用因果图法。什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?数据流图:简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具,是一种功能模型。作用:它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能。基本符号有四种:→(箭头)表示数据流;○(圆或椭圆)表示加工;=(双杠)表示数据存储;□(方框)表示数据的源点或终点。数据字典:数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据流图与数据字典是密不可分的,两者结合起来构成软件的逻辑模型(分析模型)。数据字典由字典条目组成,每个条目描述DFD中的一个元素。数据字典条目包括:数据流、文件、数据项(组成数据流和文件的数据)、加工、源或宿需求规约:分析任务的最终产物,通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需求。某BBS模板的发帖子系统有如下功能:(1)记录发帖内容:访客在表单中输入文字,系统进行检查.(2)显示帖子内容:读出文件,按一定格式显示在屏幕上。请根据要求画出该系统的数据流程图,并将其转换为软件结构图。解答参考如图所示。假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本开发。由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。你打算采用哪种软件生命周期模型?为什么?这个项目是开发该公司已被广泛应用的字处理软件的新版本,从上述事实至少可以得出3点结论:第一,旧版本相当于一个原型,通过收集用户对旧版本的反映,较容易确定对新版本的需求,没必要再专门建立一个原型系统来分析用户的需求;第二,该公司的软件工程师对字处理软件很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版字处理软件所需要的技术水平;第三,该软件受到广大刚户的喜爱,今后很可能还要开发更新的版本,因此,应该把该软件的体系结构设计成开放式的,以利于今后的改进和扩充。综上所述,采用增量模型来完成这个项目比较恰当。如何理解“规格说明必须容忍不完整和可扩充”。我们把描述需求的文档叫做软件需求规格说明书,同时为确切表达用户对软件的输入输出要求,还需要制定数据要求说明书及编写初步的用户手册。需求规格说明书是用户和开发者之间的一个协约。实际的需求获取过程中,存在若干风险,包括用户参与不足,需求不断增加,需求模棱两可等等,用户由于不明白需求分析的重要性,有时只做一份很简略的规格说明,仅涉及到产品概念上的内容,而希望开发人员在开发过程中去完善,这种情况下的规格说明势必不够完整,需要开发过程中双方不断完善和补充。另一方面,由于在需求阶段,很多需求细节客户自己未必清楚,因此这一阶段也无法达成一个一成不变的规格说明,必须允许客户在开发过程中不断明确自己的需求,这就要容忍规格说明不完整和可扩充。什么是模块的影响范围?什么是软件的控制范围?它们之间应建立什么关系?模块的影响范围(作用域):受该模块内一个判定影响的所有模块的集合模块的控制范围(控制域):这个模块本身以及所有直接或间接从属于它的模块的集合一个模块的影响范围(作用域),应处在这个模块的模块的控制范围(控制域)内。某旅行社根据旅游淡季、旺季及是否团体订票,确定旅游票的折扣率。具体规定如下:人数在20人以上的属团体,20人以下的是散客。每年的4~5月、7~8月、10月为旅游旺季,其余为旅游淡季。旅游旺季,团体票优惠5%,散客不优惠。旅游淡季,团体票优惠30%,散客优惠20%。试用判定表表示旅游订票的优惠规定。某航空公司根据节假日及是否团体订票,确定机票的折扣率。具体规定如下:人数在10人以上的属团体,10人以下的是散客。每年的五一、十一和春节期间旅客团体票上调5%,散客上调10%。其他时间团体票下调30%,散客下调20%。试用判定表表示旅游订票的优惠规定。节假日团体TTFFTFTF上调5%上调10%XX画出瀑布模型,并指出各阶段产生的文档写出下图所示的订书单的数据流组成,其中业务员可有可无,一张订书单中最多描述5个书的订购记录。订书单=单位名称+{书名+数量+单价+金额51}+总金额+日期+(业务员)面向对象方法。某教务处理系统涉及到以下几个类:师生员工,教师,职工,学生,本科生,硕士研究下调30%下调20%XX运行维护时期可行性研究报告或计划任务书需求规格说明书概要设计说明书详细设计说明书程序规格书、源程序测试记录、用户操作手册评价报告、维护记录可行性研究需求分析概要设计详细设计程序设计软件测试运行维护生,在职硕士研究生(本校的某些教师可攻读硕士学位)。试用类图画出这些类之间的关系。师生员工教师职工学生硕士研究生本科生在职硕士研究生画出银行取款过程的DFD图。问题描述为:储户用存折取款,首先填写取款单,根据“账卡”中的信息检验取款单与存折,如有问题,将问题反馈给储户,否则,登录“储户存款数据库”,修改相应数据,并更新“账卡”,同时发出付款通知,出纳向储户付款。请采用等价分类法(黑盒法)对程序A构造最少的测试用例。[程序A的说明]输入三角形的三条边(以整数表示),判断该三条
本文标题:软件工程习题课
链接地址:https://www.777doc.com/doc-6293906 .html