《软件工程案例教程软件项目开发实践》第四章练习题

合集下载

软件工程第四章习题

软件工程第四章习题

第四章习题1、设计下列伪码程序的语句覆盖和路径覆盖测试用例:START INPUT(A,B,C)IFA>5 THENX=10 ELSEX=1 ENDIF IFB>10 THENY=20 ELSEY=2 ENDIF IFC>15 THENZ=30 ELSEZ=3 ENDIF PRINT(X,Y,Z)STOP 2、设计下列伪码程序的分支覆盖和条件组合覆盖测试用例:START INPUT(A,B,C,D)IF(A>0)AND(B>0)THENX=A+B ELSEX=A-B END IF(C>A)OR(D<B)THENY=C-D ELSEY=C+D END PRINT(X,Y)STOP 3、使用基本路径测试方法,设计测试下面列出的伪码程序的测试用例: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 4、设计测试下列函数的测试方案:、设计测试下列函数的测试方案: 函数SEARCH (somearay ,size ,value )的功能是,在一个整数数组somearay 中搜索一个值为value 的整数,如果数组中有这个数,则函数值等于该数的下标,否则函数值等于-1。

数组的长度由参数size 指定。

假定数组第一个元素的下标为1。

5、一个折半查找程序可搜索按字母顺序排列的名字列表,如果查找的名字在列表中则返回真,否则返回假。

为了对它进行功能测试,应该使用哪些测试用例?真,否则返回假。

为了对它进行功能测试,应该使用哪些测试用例?6、航空公司A 向软件公司B 订购了一个规划飞行路线的程序。

假设你是软件公司C 的软件工程师。

《软件工程案例教程软件项目开发实践》第五章练习题

《软件工程案例教程软件项目开发实践》第五章练习题

第五章练习题:一、填空题1.PDL又称过程设计语言,它是一种非形式化的比较灵活的语言。

2.软件的详细设计可采用图像、表格和过程设计语言等形式的描述工具表示模块的处理过程。

3.软件详细设计需要设计人员对每个设计模块进行描述,确定所使用的算法、数据结构、接口细节和输入、输出数据等。

4.结构化设计方法与结构化分析方法一样,采用自顶向下、逐步求精技术。

结构化设计方法与结构化分析方法相结合,依数据流图设计程序的结构。

5.软件中详细设计一般在概要设计基础上才能实施,它们一起构成了软件设计的全部内容。

6.在Warnier方法中,采用Warnier图表示数据结构和程序结构。

7.面向数据结构的设计方法主要包括JSD方法和Warnier方法。

8.在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的局部的数据结构进行设计。

二、判断题1.JSD(Jackson)方法的原理与Warnier方法的原理类似,也是从数据结构出发设计程序,但后者的逻辑要求更严格。

(√)2.软件详细设计需要设计人员对每个程序模块所使用的算法、数据结构、接口细节和输入/输出数据等。

(√)3.伪代码可以被直接编译,它体现了设计的程序的框架或者代表了一个程序流程图。

(×)4.在详细设计阶段,一种历史最悠久、使用最广泛的描述程序逻辑结构的工具是程序流程图。

(√)5.PAD是一种改进的图形描述方式,优点是能够反映和描述自顶向下的历史和过程。

(√)6.详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员根据这个蓝图编写实际的代码。

(√)7.过程设计的描述工具包括程序流程图、N-S图、PAD图、PDL伪代码等。

(√)三、选择题1.JSD设计方法是由Jackson所提出的,它是一种面向(C)的软件设计方法。

A.对象B.数据流C.数据结构 D.控制结构2.数据元素组成数据的方式的基本类型是(D)。

A.顺序的B.选择的C.循环的D.以上全部3.数据流程图中的箭头代表的是(B)。

软件工程课后作业第四章

软件工程课后作业第四章

软件工程课后作业第四章第四章.简述软件设计阶段的基本任务。

答:(1)数据/类设计数据/类设计将分析类模型变换成类的实现和软件实现所需要的数据结构。

(2)体系结构设计体系结构设计定义了软件的整体结构,由软件部件、外部可见的属性和他们之间的关系组成。

(3)接口设计接口设计描述了软件内部、软件和协作系统之间以及软件同人之间的通信方式。

(4)部件级设计部件级设计将软件体系结构的结构性元素变换为对软件部件的过过程性描述。

.软件设计与软件质量的关系是怎么样的答:设计是在软件开发中形成质量的阶段,设计提供了可以用于质量评估的软件表示,是将用户需求准确地转化为完整的软件产品或系统的主要途径。

.简述模块、模块化及模块化设计的概念。

答:模块:具有名字、参数、功能等外部特征以及完场模块功能的程序代码和模块内部数据等特征。

模块化:把软件按照规定原则,划分为一个个较小的,相互独立的但又相互关联的部件。

模块化设计:简单地说就是程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系。

.举例说明每种类型的模块耦合度和每种类型的模块内聚度。

答:1、巧合内聚:讲几个模块中没有明确表现出独立功能的相同程序代码段独立出来建立的模块称巧合内聚模块。

2、逻辑内聚:逻辑内聚是指完成一组逻辑相关任务的模块,调用该模块时,由传送给模块的控制性参数来确定该模块应执行哪一种功能。

3、时间内聚:时间内聚是指一个模块中的所有任务必须在同一时间段内执行。

4、过程内聚:过程内聚是指一个模块完成多个任务,这些任务必须指定的过程执行。

5、通信内聚:通信内聚是指一个模块内所有处理元素都集中在某个数据结构的一块区域中。

6、顺序内聚:顺序内聚是指一个模块完成多个功能,这些功能又必须顺序执行7、功能内聚:功能内聚是指一个模块中各个部分都是为完成一项具体功能而协同工作,紧密联系,不可分割。

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

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

《软件工程练习题及参考答案》一、单向选择题(四选一、每小题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-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.软件工程是一门综合性的交叉学科,它涉及计算机学科、工程学科、管理学科和数学学科。

2.软件工程研究的主要内容是方法、过程和工具三个方面。

3.由于软件产生的复杂性和高成本,使大型软件产生出现出现了很多问题,即出现软件危机,软件工程正是为了克服它而提出的一种概念及相关方法和技术。

4.SWEBOK V3中,软件工程知识体细分为教育需求和工程实践两大类。

5.增量式模型假设需求可以分段,成为一系列增量产品,每一增量可以分别开发。

6.喷泉模型比较适用于面向对象的开发方法。

7.软件工程是用工程科学的知识和技术原理来定义、开发和维护软件的一门学科。

二、判断题1.SWEBOK V3分两大类,共有15个知识域。

(√)2.软件工程的提出起源于软件危机,其目的是最终解决软件的生产工程化。

(√)3.软件工程学一般包含软件开发技术和软件工程管理两个方面的内容,软件开发方法学和软件工程环境属于软件开发技术的内容,软件工程经济学属于软件工程管理。

(对)4.软件开发中的最大的问题不是管理问题,而是技术问题。

(×)5.XP(eXtreme Programming,极限编程)是由Kent Beck提出的一套针对业务需求和软件开发实践的规则,包括13个核心实践。

(√)三、选择题1.下列所述不是敏捷生存期模型的是(C)。

A.Scrum B.XP C.V模型D.OPEN UP2.软件工程的出现主要是由于(C)。

A.程序设计方法学的影响B.其他工程科学的影响C.软件危机的出现D.计算机的发展3.以下(C)不是软件危机的表现形式。

A.开发的软件不满足用户的需要B.开发的软件可维护性差C.开发的软件价格便宜D.开发的软件可靠性差4.以下不是SWEBOK V3的软件工程实践中的知识域的是(B)。

A.软件需求B.工程基础C.软件构造D.软件设计5.下列所述不是软件组成的是(C)。

A.程序B.数据C.界面D.文档6.下列对“计算机软件”描述正确的是(A)A.是计算机系统的组成部分B.不能作为商品参与交易C.是在计算机硬件设备生产过程中产生出来的D.只存在于计算机系统工作时7.软件工程方法的提出起源于软件危机,其目的应该是最终解决软件的(D)问题。

软件项目管理第四章课后习题答案

软件项目管理第四章课后习题答案

四、项目进度管理1.简述时间管理包括哪些内容。

答:项目时间管理(也称进度管理)管理包括进度管理规划、活动定义、活动排序、活动资源估算、活动历时估算、制定进度计划和进度控制等管理过程。

在某些小的软件项目中,定义活动、排列活动顺序、估算活动资源、估算活动历时及制定进度计划等过程之间的联系非常密切,以至于可视为一个过程,由一个人在较短时间内完成。

2.如何理解项目进度管理的重要性,以及其他管理过程对进度管理的影响。

答:按时、保质完成项目是对项目的基本要求,但软件项目工期拖延的情况却时常发生,因而合理地安排项目时间是项目管理中的一项关键内容。

项目进度管理就是采用科学的方法确定项目进度,编制进度计划和资源供应计划,进行进度控制,在与质量、费用目标协调的基础上,实现项目的进度目标。

(1)范围、质量因素对进度的影响软件开发项目比其他任何建设项目都会有更经常的变更,大概是因为软件程序是一种“看不见”又“很容易修改”的东西吧,用户是想改就改,造成需求的蔓延,项目经理有时还不知如何拒绝,加上要说“我能”的心理因素,一般都会答应修改。

这样集少成多,逐渐影响了项目进度。

如果某项工作在进度上表面上达到目标了,但经检验其质量没有达到要求,则必然要通过返工等手段,增加人力资源的投入,增加时间的投入,实际上是拖延了进度。

不管是从横向或纵向来看,部分任务的质量会影响总体项目的进度,前面的一些任务质量中会影响到后面的一些任务质量。

(2)资源、预算变更对进度的影响资源,最主要的还是人力资源,有时某方面的人员不够到位,或者在多个项目的情况下某方面的人员中途被抽到其他项目、或身兼多个项目、或在别的项目不能自拔无法投入本项目。

还有一个很重要的资源,就是信息资源,如某些国家标准、行业标准,用户可能提供不了,而是需要去收集或购买,如果不能按时得到,就会影响需求分析、设计或编码的工作。

其他资源,如开发设备或软件没有到货,也会对进度造成影响。

预算其实就是一种资源,它的变更会影响某些资源的变更,从而对进度造成影响。

软件工程练习题

软件工程练习题

软件工程练习题第一篇:软件工程练习题练习题一、判断题1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。

(错)2.软件的模块数越少,其软件成本越低。

(错)3.JAVA语言编译器是一个CASE工具。

(对)。

4.发现错误多的程序模块,一般残留在模块中的错误也多。

(对)5..软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。

(错)6.软件模块之间的耦合性越弱越好。

(对)7.数据库设计说明书是一个软件配置项(对)8.软件测试就是程序测试。

(错)9.PDL的语法是开放式的,其内层语法是确定的,而外层语法则不确定。

(错)10.根据编程规范,在对方法命名时, 方法名称的第一个单词常常采用一个名词。

(错)11.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。

(错)12.可行性研究的目的不是解决问题,而是确定问题是否值得去解决。

13.过程描述语言可以用于描述软件的系统结构。

(错)14.如果通过软件测试没有发现错误,则说明软件是正确的。

(错)15.快速原型模型可以有效地适应用户需求的动态变化。

(对)16.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。

(对)17.集成测试主要由用户来完成。

(错)18.随着软件技术的发展,人们逐渐认识到编码不仅要强调效率还要强调清晰。

(对)19.确认测试计划应该在可行性研究阶段制定(错)20.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。

(错)21.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。

(对)22.一个好的测试用例在于能发现至今未发现的错误。

(对)23.在可行性研究中最难决断和最关键的问题是经济可行性。

(╳)24.耦合是指一个模块内各个元素彼此结合的紧密程度。

(╳)25.一个好的测试用例在于能发现至今未发现的错误。

软件工程第四章习题

软件工程第四章习题

第四章习题一、单项选择题(每题1分)1.原型化方法是用户和设计者之间执行的一种交互构成,适用于______系统。

A.需求不确定性高的B.需求确定的C.管理信息D.实时2.原型化方法是一种_______型的设计过程。

A.自外向内B.自顶向下C.自内向外D.自底向上二、填空题(每题2分)1.在JSP方法中解决结构冲突的具体办法是__________________。

2、两个模块都是用同一张表,这种耦合称为____________。

3、一个模块把数值作为参数传送给另一个模块,这种耦合方式称为_______。

4、一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为________。

5、软件项目计划是可行性研究阶段的结果产品。

但由于可行性研究是在高层次进行系统分析,未能考虑软件系统开发的细节情节,因此_________一般在需求分析阶段完成后才定稿的。

6、_______指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其它模块来说,是不能访问的。

7、同一个类中的共享是指同一个类中的对象有着相同的_______和相同的_______。

8、通过____,可以确定组成软件的过程实体。

通过______,可以定义和实施对模块的过程细节和局部数据结构的存取限制。

9、______图描述分层图中一个模块的输入、输出和处理内容。

10、基于IDEF0图的设计也是结构化设计技术之一,它以系统的功能模型和信息结构为基础设计______。

11、________图是描述物理模型的传统工具,用图形符号表示系统中各个元素,表达了系统中各种元素之间的信息流动情况。

12、_____是用来代替被测试模块所调用的模块,它的作用是返回被测模块所需的信息。

13、静态冗余常用的有:______和________。

14、软件结构是以______为基础而组成的一种控制层次结构。

15、软件设计阶段产生的最重要的文档之一是________。

软件工程案例教程软件项目开发实践第二章练习题

软件工程案例教程软件项目开发实践第二章练习题

第二章练习题:
一、填空题
1.UML的三个基本构造模块是事务、关系和图。

2.在软件开发的结构化方法中,采用的主要技术是SA,即结构化分析和SD,即结
构化设计。

3.数据流图描述数据在软件中的流动和处理过程,是软件模型的一种图示,它一
般包括4种图形符号:变换/加工、外部实体、数据流向和数据存储。

4.面向对象方法是将数据和对数据的操作紧密结合起来的方法,这是与其传统结
构化方法的主要区别。

5.软件代理一般具有自治性、开放性、反应能力特性。

二、判断题
1.面向对象开发过程是多次重复和迭代的演化过程,在概念和表示方法上的一致
性保证了各项开发活动之间的平滑过渡。

(√)
2.基于构件软件工程开发的整个过程从需求开始,在完成体系结构设计后,并不
立即开始详细设计,而是确定哪些部分可由构件组装而成。

(√)
3.软件逆向工程是根据对软件需求的分析恢复其设计和软件代码的过程。

(×)
三、选择题
1.结构化分析方法是面向(B)的自顶向下逐步求精的分析方法。

A.目标B.数据流C.功能D.对象
2.结构化的概要设计是以(B)技术为基础的软件设计方法。

A.抽象
B.模块化
C.自上而下
D.信息屏蔽
3.在结构和分析法中,常用的描述软件功能需求的工具是(C)。

A.业务流程图、处理说明
B.软件流程图、模块说明
C.数据流程图、数据字典
D.系统流程图、程序编码
4.(A)不是UML的图示。

A.流程图
B.用例图
C.活动图
D.序例图。

软件工程第四章课后题

软件工程第四章课后题

一、选择题
1.不属于软件设计过程中应该遵循的基本原理的是()
A.模块化
B.抽象化
C.逐步求精
D.信息公开
2.与设计测试用例无关的文档是()。

A.项目开发计划
B.需求规格说明书
C.设计说明书
D.源程序3.软件测试用例主要由输入数据和()两部分组成。

A.测试计划
B.测试规则
C.预期输出结果
D.以往测试记录分析
二、简答题
1.可行性研究的任务是从哪三个方面进行研究的?
2.软件设计过程实际上就是将需求规格说明逐步转化为软件的源代码的过程。

作为设计阶段的前期,概要设计任务包括哪些?
答案:
一、1.D 2.A 3.C
二、
1.技术;经济;软件项目的可行性
2.①系统分析员审查软件需求分析所提供的文档,选择最佳方案,并对这些方案进行评审。

②确定模块结构,划分功能模块,将软件功能分配到所划分的最
小单元模块,确定模块
间的联系,确定数据结构、文件结构、数据库模式和测试方法。

③编写概要设计说明书,选择相关的软件工具描述软件结构,选择分解功能与划分模块的设计原则。

④对概要设计说明书进行评审,为详细设计提供可靠的输入。

软件工程实用案例教程(梁洁、金兰)参考答案

软件工程实用案例教程(梁洁、金兰)参考答案

习题一参考答案1. 选择题DDBBA DBD2. 简答题(1) 通用软件产品开发和定制软件开发之间有什么不同?这在实际应用中对通用软件产品用户意味着什么?答:这两类产品的一个重要区别在于:在通用软件产品中,软件描述由开发人员自己完成,而在定制软件产品中,软件描述通常是由客户给出,开发人员必须按客户要求进行开发。

在实际应用中通用软件满足的是绝大部分用户的共同需求,而对于特殊的个人需求无法涉及到。

(2) 什么是软件危机?产生的原因有哪些?它和软件工程有什么关系?答:在软件开发中经常会出现时间延迟、预算超支、质量得不到保证、移植性差等问题,甚至有的项目在耗费了大量人力、财力后,由于离目标相差甚远而宣布失败。

这种现象称为“软件危机”。

产生的原因有:(1) 软件独有的特点给开发和维护带来困难。

(2) 软件人员的错误认识。

忽视软件需求分析的重要性,轻视文档的作用,轻视软件维护等。

(3) 软件开发工具自动化程度低。

此外,软件生产工程化管理程度低,致使软件项目管理混乱,难以保障软件项目成本、开发进度按计划执行。

由于软件危机的出现,人们一直在努力探索克服软件危机的途径。

因此提出“软件工程”的概念,试图用工程的方法和管理手段,将软件开发纳入工程化的轨道,以便开发出成本低、功能强、可靠性高的软件产品。

(3) 简述软件工程的定义和软件工程的目标?答:在NATO会议上,Fritz Bauer对于软件工程的定义是:“为了经济地获得可靠的、能在实际机器上高效运行的软件,而建立和使用的健全的工程原则。

”对于软件工程,美国电气与电子工程师学会(IEEE)给出了如下定义。

软件工程是:①将系统化的、规范化的、可量化的方法应用于软件的开发、运行和维护中,即将工程化方法应用于软件;②对于①中所述方法的研究。

软件工程的目标:①软件开发成本较低。

②软件功能能够满足用户的需求。

③软件性能较好。

④软件可靠性高。

⑤软件易于使用、维护和意志。

⑥能够按时完成开发任务,并及时交付使用。

《软件工程案例教程软件项目开发实践》第四章练习题

《软件工程案例教程软件项目开发实践》第四章练习题

第四章练习题:一、填空题1.C/S、B/S、SOA、BPM等都是不同的体系结构。

2.数据字典包括数据项、数据流、数据存储和基本加工。

3.高内聚、松耦合是模块设计的基本原则。

4.软件设计把已确定的软件需求转换成特定形式的设计表示,使其得以实现。

5.设计模型是从分析模型转化而来的,主要包括四类模型:体系结构设计模型、数据设计模型、接口设计模型、构件设计模型。

6.面向对象设计的主要特点是建立了四个非常重要的软件设计概念:抽象性、信息隐藏、功能独立性和模块化。

7.模块层次图和模块结构图是模块功能划分的重要方法。

8.UML设计中主要采用的图示有类图、对象图、包图等。

9.软件模块设计,包括模块划分、模块独立性、模块的调用关系、每个模块的功能等。

10.数据库的设计一般要进行三个方面的设计:概念结构设计、逻辑结构设计和物理结构设计。

11.结构化程序设计方法的主要原则可以概括为自顶向下,模块化,逐步求精。

二、判断题1.软件设计是软件工程的重要阶段,是一个把软件需求转换为软件代码的过程。

(×)2.软件设计说明书是软件概要设计的主要成果。

(√)3.软件设计中的设计复审和设计本身一样重要,其主要作用是避免后期付出高代价。

(√)4.应用程序框架结构是一个可以重复使用的、大致完成的应用程序,可以通过对其进行定制,开发成一个客户需要的真正的应用程序。

(√)5.面向对象设计(OOD)是将面向对象分析(OOA)的模型转换为设计模型的过程。

(√)6.在进行概要设计时应加强模块间的联系。

(×)7.复用原则也是软件设计的一个重要原则。

(√)8.以对象、类、继承和通信为基础的面向对象设计方法也是常见的软件概要设计方法之一。

(√)三、选择题1.内聚是从功能角度来度量模块内的联系,按照特定次序执行元素的模块属于(D)方法。

A.逻辑内聚B.时间内聚C.过程内聚 D.顺序内聚2.概要设计是软件工程中很重要的技术活动,下列不是概要设计任务的是(B)。

软件工程课后题目

软件工程课后题目

软件工程课后题目第四章软件项目估计P109 19、20、21、23、24、2719、已知一个软件项目的记录,开发人员M=3人,其代码行数=12.1KLOC,工作量E=24PM,成本S=168000美元,错误数N=29,文档页数Pd=365页。

试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D。

0201解:1.软件开发的生产率P为:P = L / E = 12.1×103LOC / 24PM = 504 LOC/PM2.开发每行代码的平均成本C为:C = S / L = 168000美元/ 12100LOC=13.9美元/LOC3.代码出错率EQR为:EQR = N / L = 29个/12.1KLOC=2.4个/KLOC4.软件的文档率D为:D = Pd / L = 365页/ 12.1KLOC = 30页/ KLOC20、使用COCOMOⅡ模型来估算建造一个简单的ATM软件(产生12个屏幕、10个报表、大约需要80个软件构件)所需的工作量。

假设平均复杂度(即屏幕的权为2,报表的权为5,构件的权为10)和平均开发者/环境成熟度(即平均生产率为13NOP/人.月),复用的百分比为40%。

使用基于对象点的应用组装模型。

试完成以下计算:1) 计算项目新的对象点数NOP。

(NOP=对象点×(1-复用%))2) 根据NOP值进行工作量估算(人月)。

3) 软件人员劳动力平均价格是每月4000人民币,求每个NOP的成本。

(5分)971) 对象点=12×2+10×5+80×10=874NOP=874×(1-40%)=524.42) 估算工作量=NOP/PROD=524.4/13=40(人月)3) 每个NOP成本=4000/13=308(元/NOP)21假设各项加权因子均为5,不考虑复杂度调整值(即)试完成以下计算1)计算项目的功能点的总计数值FP2)设平均生产率为10FP/pm,软件人员劳动力平均价格是每月5000人民币,求每个FP 的成本3)根据FP值计算总的项目成本,并进行工作量估算(人月)【答】1)FP=(10+12+15+8+8)*5*0.65=172.252)5000/10=500(人民币)3)500*172.25=86125人民币(总项目成本)172.3/10=17.2(人月)23、下表是某公司的一个项目的历史数据,假设评价时间为08年4月1日,试计算获得值分析(10分):试计算:(1)预计工作的预算成本BCWS=【答】BCWS=5+20=25(2)已完成工作的预算成本BCWP=【答】BCWP=5+20+40=65(3)完成工作的预算成本BAC=【答】BAC=5+20+50+40+60+80=255(4)已完成工作的实际成本ACWP=【答】ACWP=10+15+50=7525、某个固定资产投资项目需要原始投资1000万元,有A、B、C、D 四个互相排斥的备选方案可供选择,各方案的净现值指标分别为420.89万元,511.72万元,620.60万元和556.26万元。

软件系统开发与设计第四章答案

软件系统开发与设计第四章答案

习题四一,问答题1.图4-9对应的JSP文件是:homepage.jsp。

其他字段有时间,是下面语句实现<%=data.get("AI_CREATETIME")%>;还有页面底部的“首页”“上一页”“下一页”“末页”的按钮,是下面语句实现<div class="body_footer"><%=pageTool.getPageLine()%></div>。

2.如果把数据库改为SQL Server2000,需要先把MySql数据库中的数据导入到SqlServer2000中,之后将类DaoFactory中的代码private String driverName="com.mysql.jdbc.Driver";private String url="jdbc:mysql://localhost:3306/WEBLOG_SYSTEM?useUnicode=true&characterEncoding=UTF-8";private String Username="root";private String Password="123456789";public String getDriverName() {return driverName;}修改为privateStringdriverName="com.microsoft.jdbc.sqlserver.SQLServerD river";privateStringurl="jdbc:microsoft:sqlserver//localhost:1433/WEBLOG_SYSTEM?useUnicode=true&characterEncoding=UTF-8";private String Username="root";private String Password="123456789";public String getDriverName() {return driverName;}3.数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。

软件工程项目化教程课后习题答案1-7章全

软件工程项目化教程课后习题答案1-7章全

1-1、选择题1.B2.C3.C、B4.C5.D1-2、简答题(1)软件的定义。

答:软件是一系列按照特定顺序组织的计算机数据和指令的集合。

一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。

软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。

简单的说软件就是程序加文档的集合体。

另也泛指社会结构中的管理系统、思想意识形态、思想政治觉悟、法律法规等等。

(2)为什么说软件与硬件结合在一起组成计算机完整系统?答:计算机系统由计算机硬件和软件两部分组成。

硬件包括中央处理机、存储器和外部设备等;软件是计算机的运行程序和相应的文档。

计算机系统具有接收和存储信息、按程序快速计算和判断并输出处理结果等功能。

硬件系统主要由中央处理器、存储器、输入输出控制系统和各种外部设备组成。

中央处理器是对信息进行高速运算处理的主要部件,其处理速度最高可达每秒几亿次操作。

存储器用于存储程序、数据和文件,常由快速的主存储器(容量可达数百兆字节)和慢速海量辅助存储器(容量可达1011字节以上)组成。

各种输入输出外部设备是人机间的信息转换器,由输入-输出控制系统管理外部设备与主存储器(中央处理器)之间的信息交换。

软件系统的最内层是系统软件,它由操作系统、实用程序、编译程序等组成。

操作系统实施对各种软硬件资源的管理控制。

实用程序是为方便用户所设,如文本编辑等。

编译程序的功能是把用户用汇编语言或某种高级语言所编写的程序,翻译成机器可执行的机器语言程序。

支援软件有接口软件、工具软件、环境数据库等,它能支持用机的环境,提供软件研制工具。

支援软件也可认为是系统软件的一部分。

应用软件是用户按其需要自行编写的专用程序,它借助系统软件和支援软件来运行,是软件系统的最外层。

(3)为什么说软件工程可以在一定程度上解决软件危机的各种弊端?答:软件工程诞生于60年代末期,它作为一个新兴的工程学科,主要研究软件生产的客观规律性,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本、改进软件产品质量、提高软件生产率水平的目标。

《软件工程案例教程》李军国主编习题答案

《软件工程案例教程》李军国主编习题答案

《软件⼯程案例教程》李军国主编习题答案第1章习题答案⼀、判断题⼆、填空题三、简答题1.软件的特点:①软件具有抽象性。

②软件与硬件的⽣产⽅式不同。

③软件与硬件的维护⽅式不同。

④软件具有复杂的逻辑性。

⑤软件的成本较⾼。

⑥软件的使⽤和社会因素有关。

2.软件危机产⽣的原因:①⽤户需求不明确。

②缺乏正确的理论指导。

③软件开发规模越来越⼤。

④软件开发复杂度越来越⾼。

3.软件危机的主要表现:①软件开发进度难以预测。

②软件开发成本难以控制。

③⽤户对产品功能难以满⾜。

④软件产品质量⽆法保证。

⑤软件产品难以维护。

⑥软件缺少适当的⽂档资料。

4.软件⼯程学的基本原则有哪些:①抽象。

②信息隐蔽。

③模块化。

④局部化。

⑤确定性。

⑥⼀致性。

⑦完备性。

⑧可验证性。

5 什么是软件的⽣命周期?答案:软件与任何⼀个事物⼀样,有它的孕育、诞⽣、成长、成熟、衰亡的⽣存过程。

这就是软件的⽣存周期。

6 软件⼯程过程有哪⼏个基本过程活动?试说明之。

答案:软件⼯程过程的基本过程活动有4步:①软件规格说明(需求定义)。

规定软件的功能及其运⾏的限制;②软件设计与开发(设计开发)。

产⽣满⾜规格说明的软件;③软件确认(测试)。

确认软件能够完成客户提出的要求;④软件演进(维护)。

为满⾜客户的变更要求,软件必须在使⽤的过程中演进。

四、综合题1.详细说明软件⽣命周期分哪⼏个阶段?答案:软件⽣命周期主要分为6个阶段:软件项⽬计划、软件需求分析和定义、软件设计、程序编码、软件测试,以及运⾏维护。

(1)软件项⽬计划:在这⼀步要确定软件⼯作范围,进⾏软件风险分析,预计软件开发所需要的资源,建⽴成本与进度的估算。

根据有关成本与进度的限制分析项⽬的可⾏性。

(2)软件需求分析和定义:在这⼀步详细定义分配给软件的系统元素。

可以⽤以下两种⽅式中的⼀种对需求进⾏分析和定义。

⼀种是正式的信息域分析,可⽤于建⽴信息流和信息结构的模型,然后逐渐扩充这些模型成为软件的规格说明。

另⼀种是软件原型化⽅法,即建⽴软件原型,并由⽤户进⾏评价,从⽽确定软件需求。

考试软件工程项目佳实践完整题目库

考试软件工程项目佳实践完整题目库

考试软件工程项目佳实践完整题目库软件工程项目最佳实践单选题第二章软件工程概述软件工程的目的是()。

A.建造大型的软件系统B.软件开发的理论研究C.软件的质量保证D.研究软件开发的原理答案. D比较成熟的软件开发方法是()。

A.面向数据库的方法B.软件工程的开发方法C.结构化的程序设计方法D.面向对象的开发方法答案. B软件产品的开发主要是()。

A.进行软件复制B.进行软件的研制C.进行软件的销售D.进行软件的测试答案. B在软件开发模型中,提出最早、应用最广泛的模型是()。

A.瀑布模型B.喷泉模型C.快速原型模型D.螺旋模型答案. A软件的主要结构和功能是在()阶段决定的。

A.分析设计B.编程C.测试D.维护答案. A“软件危机”是指()。

A.计算机病毒的出现B.利用计算机进行经济犯罪活动C.软件开发和维护中出现的一系列问题D.人们过分迷恋计算机系统答案. C为了客户软件危机,人们提出了用()的原理来设计软件,这就是软件工程诞生的基础。

A.数学B.软件学C.运筹学D.工程学答案. D软件工程的出现是由于()。

A.软件危机的出现B.计算机硬件技术的发展C.软件社会化的需要D.计算机软件技术的发展答案. A()分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。

A.增量模型B.喷泉模型C.快速原型模型D.瀑布模型答案. C()就是用工程、科学和数学的原则和方法研制、维护计算机软件的相关技术及管理方法。

A.软件工程B. 软件C.运筹学D.工程学答案. A()是指容许对系统进行修改而不增加原系统的复杂性,它支持软件的调试和维护。

A.可修改性B.有效性C.可靠性D.可维护性答案. A()是指软件系统能够最有效地利用计算机的时间资源和空间资源。

A.可修改性B.有效性C.可靠性D.可维护性答案. B()是指软件系统能够防止因概念、设计和结构等方面的不完善造成软件系统失效,具有挽回因操作不当造成软件系统失效的能力。

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

第四章练习题:
一、填空题
1.C/S、B/S、SOA、BPM等都是不同的体系结构。

2.数据字典包括数据项、数据流、数据存储和基本加工。

3.高内聚、松耦合是模块设计的基本原则。

4.软件设计把已确定的软件需求转换成特定形式的设计表示,使其得以实现。

5.设计模型是从分析模型转化而来的,主要包括四类模型:体系结构设计模型、
数据设计模型、接口设计模型、构件设计模型。

6.面向对象设计的主要特点是建立了四个非常重要的软件设计概念:抽象性、信
息隐藏、功能独立性和模块化。

7.模块层次图和模块结构图是模块功能划分的重要方法。

8.UML设计中主要采用的图示有类图、对象图、包图等。

9.软件模块设计,包括模块划分、模块独立性、模块的调用关系、每个模块的功
能等。

10.数据库的设计一般要进行三个方面的设计:概念结构设计、逻辑结构设计和物
理结构设计。

11.结构化程序设计方法的主要原则可以概括为自顶向下,模块化,逐步求精。

二、判断题
1.软件设计是软件工程的重要阶段,是一个把软件需求转换为软件代码的过程。

(×)
2.软件设计说明书是软件概要设计的主要成果。

(√)
3.软件设计中的设计复审和设计本身一样重要,其主要作用是避免后期付出高代
价。

(√)
4.应用程序框架结构是一个可以重复使用的、大致完成的应用程序,可以通过对
其进行定制,开发成一个客户需要的真正的应用程序。

(√)
5.面向对象设计(OOD)是将面向对象分析(OOA)的模型转换为设计模型的过
程。

(√)
6.在进行概要设计时应加强模块间的联系。

(×)
7.复用原则也是软件设计的一个重要原则。

(√)
8.以对象、类、继承和通信为基础的面向对象设计方法也是常见的软件概要设计
方法之一。

(√)
三、选择题
1.内聚是从功能角度来度量模块内的联系,按照特定次序执行元素的模块属于(D)
方法。

A.逻辑内聚B.时间内聚C.过程内聚 D.顺序内聚
2.概要设计是软件工程中很重要的技术活动,下列不是概要设计任务的是(B)。

A.设计软件系统结构
B.编写测试报告
C.数据结构和数据库设计
D.编写概要
设计文档
3.数据字典是定义(A)中的数据的工具。

A.数据流图
B.系统流程图
C.程序流程图
D.软件结构图
4.耦合是软件各个模块间连接的一种度量。

一组模块都访问同一数据结构应属于
(B)方式。

A.内容耦合
B.公共耦合
C.外部耦合
D.控制耦合
5.面向数据流的软件设计方法中,一般把数据流图中的数据流分为(B)两种流,
再将数据流图映射为软件结构。

A.数据流与事务流
B.交换流和事务流
C.信息流与控制流
D.交换流和数据流
6.软件设计是一个将(B)转换为软件表示的过程。

A.代码设计
B.软件需求
C.是在计算机硬件设备生产过程中产生出来的
7.数据存储和数据流都是(D),仅仅是所处的状态不同。

A.分析结果
B.事件
C.动作
D.数据
8.模块本身的内聚是模块独立性的重要度量因素之一,在7类内聚中,具有最强
内聚的一类是(D)。

A.顺序性内聚
B.过程性内聚
C.逻辑性内聚
D.功能性内聚
9.面向数据流的设计方法把(A)映射成软件结构。

A.数据流
B.系统结构
C.控制结构
D.信息流
10.下列关于软件设计准则的描述,错误的是(C)。

A.提高模块的独立性
B.体现统一的风格
C.是模块的作用域在该模块的控制域
外 D.结构应该尽量可能满足变更的要求
11.软件的结构化设计方法是以(B)为依据的模块结构设计方法。

A.系统数据要求
B.数据结构
C.数据流图
D.数据流
12.下面不是数据库设计的阶段的是(C)
A.概念结构设计阶段
B.逻辑结构设计阶段
C.模块划分
D.物理结构设计阶段。

相关文档
最新文档