软件工程导论习题答案

合集下载

软件工程导论(第六版)部分课后习题-答案

软件工程导论(第六版)部分课后习题-答案

软件工程导论(第六版)部分课后习题-答案软件工程导论(第六版)部分课后习题-答案一、选择题1. 答案:B解析:选择题解析2. 答案:A解析:选择题解析二、判断题1. 答案:对解析:判断题解析2. 答案:错解析:判断题解析三、填空题1. 答案:软件工程解析:填空题解析2. 答案:开发、维护解析:填空题解析四、简答题1. 答案:软件需求分析是软件工程的第一步,它主要是通过对用户需求的调查和分析,确定软件系统需要具备的功能和性能以及相关约束条件。

解析:简答题解析2. 答案:软件开发过程中的质量保证主要包括软件测试和代码评审两个方面。

软件测试是通过运行和验证软件系统的过程,以确定其是否满足预期的需求和标准。

代码评审则是对软件代码进行审查和评估,在开发过程中发现和修复潜在的问题和错误。

解析:简答题解析五、计算题1. 答案:20解析:计算题解析2. 答案:1000解析:计算题解析六、案例分析题1. 答案:软件项目管理是指对软件项目进行规划、组织、分配和控制的过程。

它包括项目范围管理、时间管理、成本管理、质量管理、风险管理等方面。

在一个项目中,软件项目经理负责整体的项目管理工作,包括资源的分配、进度的控制、风险的管理等。

解析:案例分析题解析2. 答案:敏捷开发是一种迭代、逐步增量的软件开发方法。

它强调快速、灵活地响应用户需求的变化,通过频繁的迭代和持续的反馈来逐步完善软件系统。

敏捷开发方法注重团队合作、交流和高效的沟通,通过直接面对面的沟通取代冗长的文档和繁琐的流程,提高软件开发的效率和质量。

解析:案例分析题解析总结:本文主要针对《软件工程导论(第六版)》部分课后习题提供了答案和解析。

其中包括选择题、判断题、填空题、简答题、计算题和案例分析题等多个题型。

通过解答这些习题,读者可以进一步加深对软件工程的理解和掌握。

希望本文对读者有所帮助,谢谢阅读。

软件工程导论《软件工程》期末考试题及答案

软件工程导论《软件工程》期末考试题及答案

软件工程导论《软件工程》期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪项不是软件工程的基本目标?A. 提高软件的生产率B. 提高软件的可维护性C. 提高软件的性能D. 降低软件的开发成本答案:C2. 下列哪种方法不属于软件需求分析的方法?A. 数据流图(DFD)B. 实体-关系图(ER图)C. 状态转换图D. Petri网答案:D3. 软件设计中,模块的内聚性越高,表明模块的:A. 功能越单一B. 独立性越强C. 复用性越低D. 可维护性越低答案:A4. 在软件测试阶段,下列哪种测试方法不属于黑盒测试?A. 等价类划分B. 边界值分析C. 代码覆盖率分析D. 逻辑覆盖分析答案:D5. 软件项目管理中,项目经理的主要职责不包括以下哪项?A. 制定项目计划B. 管理项目进度C. 组织项目团队D. 编写代码答案:D二、填空题(每题2分,共20分)6. 软件生命周期可以分为______、需求分析、设计、编码、测试、维护等阶段。

答案:需求调研7. 软件工程的三要素是______、过程、方法。

答案:工具8. 在软件设计中,模块的独立性包括______和耦合性两个方面。

答案:内聚性9. 软件测试的目的不包括______。

答案:发现并修复所有错误10. 软件项目管理的主要目标是实现项目的______、质量和成本控制。

答案:进度三、简答题(每题10分,共30分)11. 简述软件工程的基本原则。

答案:软件工程的基本原则包括:(1)抽象:将复杂问题分解为更简单的子问题;(2)分解:将问题分解为多个部分,分别解决;(3)模块化:将软件划分为独立的模块,提高可维护性和复用性;(4)信息隐藏:隐藏模块内部的信息,只暴露必要的接口;(5)一致性:保持软件各部分的一致性,提高可读性;(6)可维护性:使软件易于修改和维护。

12. 简述软件需求分析的目的和任务。

答案:软件需求分析的目的在于明确用户对软件系统的功能、性能等方面的需求。

《软件工程导论》课后习题详细答案

《软件工程导论》课后习题详细答案

《软件工程导论》课后习题详细答案第一章软件工程概论1.什么是软件危机?软件危机是指在运算机软件的开发和爱护过程中所遇到的一系列严峻咨询题。

这些咨询题表现在以下几个方面:(1)用户对开发出的软件专门难中意。

(2)软件产品的质量往往靠不住。

(3)一样软件专门难爱护。

(4)软件生产效率专门低。

(5)软件开发成本越来越大。

(6)软件成本与开发进度难以估量。

(7)软件技术的进展远远满足不了运算机应用的普及与深入的需要。

2.什么缘故会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正明白得软件产品是一个完整的配置组成。

造成开发中制定打算盲目、编程草率,不考虑爱护工作的必要性。

(2) 软件本身方面,关于运算机系统来讲,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件爱护困难。

(3) 专门是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估量、爱护困难等一系列咨询题更为突出,技术的进展差不多远远不能适应社会需求。

3.如何样克服软件危机?(1) 充分吸取和借鉴人类长期以来从事各种工程项目中积存的行之有效的有效原理、概念、技术与方法,专门是吸取几十年来人类从事运算机硬件研究和开发的体会教训。

在开发软件的过程中努力作到良好的组织,严格的治理,相互友好的协作。

(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在运算机系统早期进展时期形成的一些错误概念和作法。

(3) 按照不同的应用领域,开发更好的软件工具并使用这些工具。

将软件开发各个时期使用的软件工具集合成一个整体,形成一个专门好的软件开发支环环境。

总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织治理措施。

4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。

5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、爱护到剔除的全过程。

2023软件工程导论期末考试题库及参考答案

2023软件工程导论期末考试题库及参考答案

2023软件工程导论期末考试题库及参考答案一、选择题(每题2分,共20分)1. 以下哪个不是软件工程的三个基本目标?A. 可维护性B. 可用性C. 可靠性D. 高效性参考答案:D2. 软件生命周期中,以下哪个阶段是软件开发过程的核心阶段?A. 需求分析B. 设计C. 编码D. 测试参考答案:C3. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程参考答案:A4. 在软件工程中,以下哪个方法用于估算软件项目的成本和进度?A. COCOMOB. WBSC. SDLCD. CASE参考答案:A5. 以下哪个是软件工程中的一个重要原则?A. 分而治之B. 一次性编写C. 重用D. 模块化参考答案:D6. 以下哪个不是软件工程的基本活动?A. 软件规格B. 软件开发C. 软件验证D. 软件测试参考答案:C7. 以下哪个是软件工程中用于提高软件质量的技术?A. 设计模式B. 重构C. 代码审查D. 单元测试参考答案:C8. 以下哪个不是软件工程的五大基本过程?A. 软件规格B. 软件开发C. 软件维护D. 软件项目管理参考答案:D9. 以下哪个是软件工程中的一个重要概念,用于描述软件系统中的各个组件之间的关系?A. 耦合B. 内聚C. 模块化D. 重用参考答案:A10. 以下哪个是软件工程中的一个重要原则,用于指导软件开发过程?A. 迭代B. 增量C.螺旋D. 模型驱动参考答案:A二、填空题(每题2分,共20分)11. 软件工程的三要素是:方法、工具和______。

参考答案:过程12. 软件生命周期包括:需求分析、设计、编码、______和软件维护。

参考答案:测试13. 软件工程中的面向对象方法包括:封装、继承和______。

参考答案:多态14. 软件工程中的 CASE 工具主要用于支持______。

参考答案:软件设计和开发15. 软件工程中的敏捷开发方法强调______、可维护性和可扩展性。

(完整)《软件工程导论》试题及答案,推荐文档

(完整)《软件工程导论》试题及答案,推荐文档

一, 判断题(正确的在括号内打上"√",错误的打上"×".每题1.5分,共15分)Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.(×)PAD图在设置了五种基本控制结构后,还允许递归调用. (×)为了加快软件维护作业的进度,应尽可能增加维护人员的数目.(×)当验收测试通过,软件开发就完成了.(×)完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×)在进行总体设计时应加强模块间的联系.(×)系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.(×)用黑盒法测试时,测试用例是根据程序内部逻辑设计的.(×)在程序调试时,找出错误的位置和性质比改正该错误更难.(√)以对象,类,继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一.(√)二,单项选择题(每小题2分,共10分)试判断下列叙述中,哪个(些)是正确的(D)a,软件系统中所有的信息流都可以认为是事务流b,软件系统中所有的信息流都可以认为是变换流c,事务分析和变换分析的设计步骤是基本相似的A,a B,b C,c D,b和c进行需求分析可使用多种工具,但(B)是不适用的.A,数据流图B,PAD图C,判定表D,数据词典在详细设计阶段,经常采用的工具有(A).A,PAD B,SA C,SC D,DFD详细设计的结果基本决定了最终程序的(C)A,代码的规模B,运行速度C,质量D,可维护性使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准.A,程序的内部逻辑B,程序的复杂程度C,该软件的编辑人员D,程序的功能三,多项选择题(每题2分,共10分.注:正确得2分,漏选得1分,多选,错选不得分.) (ABCD)可以作为模块.A,子程序B,函数C,过程D,编译文件下面哪些测试属于黑盒测试(BCD).A,路径测试B,等价类划分C,边界值分析D,错误推测E,循环测试下列属于度量效益方法的是(ABCD).A,货币的时间价值B,投资回收期C,收入D,投资回报率软件维护的策略包括(BCD).A,定期检测维护B,改正性维护C,适应性维护D,完善性维护下列属于软件测试过程的是(ABE).A,单元测试B,组装测试C,内核测试D,法律验证E,确认测试四,简答题(每题6分,共24分)耦合性和内聚性有几种类型其耦合度,内聚强度的顺序如何答案:低:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:高强:功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚:弱请举例说明什么是多态,什么是重载答案:多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象.也就是说,在类等级的不同层次中可以共享(公用)一个行为(方法)的名字,然而不同层次中的每个类却各自按自己的需要来实现这个行为.当对象接收到发送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法.重载是指一个类中有多个同名的方法,但在操作数个数或类型上有区别.例: public class A{int age;String name;public void setValue(int i) {age=i; }public void setValue(String s) {name=s; }什么是数据字典简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分)简述编码风格的重要性.答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量. 面向对象的测试和传统开发方法的测试有什么不同答案:(1)二者都可以分成四个阶段进行.但传统测试最小单元是模块,而在面向对象环境下,最小的可测试的单元是封装了的类或对象,而不是程序模块.(2)因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大. 每次将一个操作组装到类中(像传统的增殖式组装那样)常常行不通,因为在构成类的各个部件之间存在各种直接的和非直接的交互.对于面向对象系统的组装测试,存在两种不同的测试策略.五,分析应用题(20分)求一组数组中的最大数, 数组表示为A(n) ,n=1,2……n的自然数.(10分)请画出程序流程图(4分)请画出该算法的N-S图(3分)请用PAD图来表示该算法(3分)答案:2. 下面是某程序的流程图:(10分)计算它的环路复杂性.(3分) 答案:7为了完成基本路径测试,求它的一组独立的路径.(7分)答案:路径1: (0)—①—(13)—(19)路径2: (0)—②—③—(14)—(19)路径3: (0)—②—④—⑤—(15)—(19)路径4: (0)—②—④—⑥—⑦—(16)—(19)路径5: (0)—②—④—⑥—⑧—⑨—(17)—(19)路径6: (0)—②—④—⑥—⑧—⑩—(11)—(18)—(19)路径7: (0)—②—④—⑥—⑧—⑩—(12)—(19)六,阅读下列说明和数据流图,回答问题1至问题4,将解答填入答题纸的对应栏内.(12分) [说明]某基于微处理器的住宅安全系统,使用传感器(如红外探头,摄像头等)来检测各种意外情况,如非法进入, 火警,水灾等.房主可以在安装该系统时配置安全监控设备(如传感器,显示器,报警器等),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互.在安装过程中,系统给每个传感器赋予一个编号(即id)和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应自动拨出的电话号码.当系统检测到一个传感器事件时,就激活警报,拨出预置的电话号码,并报告关于位置和检测到的事件的性质等信息.加工4的细化图[问题1](3分)数据流图1(住宅安全系统顶层图)中的A和B分别是什么答案:A:传感器: B:报警器[问题2](3分)数据流图2(住宅安全系统第0层DFD图)中的数据存储"配置信息"会影响图中的哪些加工答案:监控传感器,显示信息和状态[问题3](6分)将数据流图3(加工4的细化图)中的数据流补充完整,并指明加工名称,数据流的方向(输入/输出)和数据流名称.答案: 4.4"读传感器"添加输入数据流"传感器状态"4.1"显示格式"添加输出数据流"传感器数据"4.5"拨号"添加输出数据流"电话拨号"七,请以自己的实际体会说明项目管理的意义和作用.(8分)答案:(要点)软件项目管理就是对软件工程项目开发过程的管理.具体地说,就是对整个软件生存期的一切活动进行管理,以达到提高生产率,改善产品质量的目的.软件项目管理的职能:(1)制定计划:规定待完成的任务,要求,资源,人力和进度等.(2)建立项目组织:为实施计划,保证任务的完成,需要建立分工明确的责任机构.(3)配备人员:任用各种层次的技术人员和管理人员.(4)指导:鼓励和动员软件人员完成所分配的任务.(5)检验:对照计划或标准监督检查实施的情况.。

《软件工程导论》试题及答案

《软件工程导论》试题及答案

《软件工程导论》试题及答案软件工程导论试题及答案一、选择题1. 软件工程是一门多学科交叉的学科,其中包括以下哪些学科?A. 计算机科学B. 电子工程C. 数学D. 管理学E. 心理学答案:A、B、C、D2. 软件工程的目标是什么?A. 提高软件开发效率B. 提高软件质量C. 提高软件可靠性D. 提高软件维护性E. 提高软件安全性答案:A、B、C、D、E3. 软件过程模型是指软件开发过程中的一种抽象表示方法,常用的软件过程模型有哪些?A. 瀑布模型B. 增量模型C. 螺旋模型D. 敏捷模型E. 喷泉模型答案:A、B、C、D4. 以下哪个开发方式可以在软件开发过程中提供更多的灵活性和快速反馈?A. 瀑布模型B. 增量模型C. 螺旋模型D. 敏捷模型答案:D5. 软件需求分析的主要任务是什么?A. 确定软件的功能和性能需求B. 定义软件系统的架构C. 设计软件的用户界面D. 实施软件测试答案:A二、填空题1. 软件工程的核心目标是提高软件的 ______ 和 ______ 。

答案:质量、可靠性2. 软件工程中的四个基本活动是需求分析、设计、 ______ 和______ 。

答案:实现、维护3. 瀑布模型的五个阶段依次是:需求分析、设计、编码、 ______ 和 ______ 。

答案:测试、维护4. “快速原型”开发模型注重 ______ 。

答案:用户参与5. 敏捷开发模型的核心原则是 ______ 。

答案:迭代开发三、简答题1. 请简要说明为什么软件工程是一门多学科交叉的学科?答:软件工程在开发软件的过程中需要结合计算机科学的知识来实现软件的功能,同时也需要借鉴电子工程的设计思想来构建软件系统的架构。

此外,软件工程还应用了数学方法来进行软件需求分析和软件质量保证,同时也需要管理学的知识来进行项目管理和团队协作。

2. 请简述螺旋模型在软件开发过程中的应用场景。

答:螺旋模型适用于大型复杂项目或对安全性要求较高的项目。

《软件工程导论》课后习题答案

《软件工程导论》课后习题答案
假设在1995年存储器字长为32位,一名程序员每天可开发出30条指令,程序员的月平均工资为6000美元,重复(1)、(2)题。
*
作业及解答(第1-2章)
05
03
01
在1985年对计算机存储容量的需求,估计是
如果字长为16位,则这个存储器的价格是
如果一条指令的长度为一个字,则使存储器装满程序共需4474263条指令。
储户的属性主要有姓名、住址、电话号码和身份证号码,储蓄所的属性主要是名称、地址和电话号码,而数额、类型、到期日期、利率和密码则是关系类型存取款的属性。
*
作业及解答(第3章)
*
作业及解答(第3章)
3-6 复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。
在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。
基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算:
*
作业及解答(第1-2章)
在1985年对计算机存储容量的需求估计是多少?如果字长为16位,这个存储器的价格是多少?
假设在1985年一名程序员每天可开发出10条指令,程序员的平均工资是每月4000美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。
如果字长为32位,则这个存储器的价格是:
在1995年对存储容量的需求估计为:
在1995年一名程序员每天可开发出30条指令,每月可开发出600条指令,为了开发出可装满整个存储器的程序,需要的工作量为

软件工程导论-张海藩-第五版课后习题答案

软件工程导论-张海藩-第五版课后习题答案

多态
多态是指同一个操作作用于不 同的对象,可以产生不同的结 果。
UML建模语言简介
UML是一种用于对软件密集系统进行可视化建模 的统一建模语言。
UML通过统一的符号和工具,为软件开发人员提 供了一种通用的建模语言。
UML可以描述软件系统的静态结构和动态行为, 包括类图、时序图、用例图等。
面向对象分析、设计和实现过程
列表。
与用户确认需求列表,确保对用户需求有准确的理解。
03
需求规格说明书编写
01
编写详细的需求规格说明书,包括功能需求、性能需求、接 口需求等。
02
使用清晰、准确的语言描述需求,避免歧义和模糊性。
03
提供必要的图表、示例和数据,以便更好地理解和实现需求 。
需求变更管理
建立需求变更管理流 程,确保所有变更都 经过评估和批准。
及时通知相关干系人, 协商并处理变更请求, 确保项目顺利进行。
对变更进行影响分析, 评估变更对项目进度、 成本和质量的影响。
03 系统设计
总体设计原则与方法
模块化
将系统划分为若干个相对独立的模块, 每个模块具有特定的功能,模块之间 通过接口进行通信。
高内聚、低耦合
模块内部的功能应该高度相关,而模 块之间的依赖关系应该尽量减少。
要点二
软件评估技术
软件评估技术包括代码审查、走查、桌面检查等。代码审 查是一种正式的评估技术,由一组开发人员对源代码进行 详细检查以发现错误;走查是一种轻量级的评估技术,由 开发人员自行检查代码并记录下潜在的问题;桌面检查则 是一种非正式的评估技术,由评估人员通过查看文档和演 示来评价软件产品的质量。
THANKS FOR WATCHING
感谢您的观看

软件工程导论_习题及答案

软件工程导论_习题及答案

软件⼯程导论_习题及答案第⼀章软件⼯程概论1.什么是软件⽣存周期?软件⽣存周期是指从软件定义、开发、使⽤、维护到淘汰的全过程。

2.软件⽣存周期为什么划分成阶段?(1) 任何⼀个阶段的具体任务不仅独⽴,⽽且简单,便于不同⼈员分⼯协作,从⽽降低整个软件开发⼯作的困难程度。

(2) 可以降低每个阶段任务的复杂程度,简化不同阶段的联系,有利于⼯程的组织管理,也便于采⽤良好的技术⽅法。

(3) 使软件开发的全过程以⼀种有条不紊的⽅式进⾏,保证软件的质量,特别是提⾼了软件的可维护性。

3.应该怎样来划分阶段?(1)每⼀个阶段的任务尽可能独⽴;(2)同⼀阶段内的任务性质尽可能相同;(3)每⼀个阶段任务的开始和结束有严格的标准。

4.软件开发模型有⼏种?它们的开发⽅法有可特点?软件开发模型有瀑布型、渐增型和变换型。

瀑布型开发⽅法是按照软件⽣存周期的划分依次实施,每⼀个阶段有明确规定的任务。

它的特点:(1)各个阶段的顺序性和依赖性;(2)划分逻辑设计与物理设计,尽可能推迟程序的物理实现;(3)每个阶段必须完成规定的⽂档,对其中问题通过复审及早发现,及早解决。

渐增型开发⽅法及特点:(1) 从部分需求出发,先建⽴⼀个不完全的系统,通过测试运⾏该系统取得经验和信息反馈,加深对软件需求的理解,进⼀步使系统扩充和完善。

如此反复,直⾄软件⼈员和⽤户对所设计完成的软件系统满意为⽌。

(2) 在渐增型开发下的软件是随软件开发的过程⽽逐渐形成的。

(3) 渐增型开发⽅法适合于知识型软件的开发,设计系统时对⽤户需求的认识开始不是很清楚的,需要在开发过程中不断认识、不断获得新的知识去丰富和完善系统。

多数研究性质的试验软件,⼀般采⽤此⽅法。

变换型开发⽅法及特点:(1)从软件需求的形式化规格说明出发,经过⼀系列的程序变换,得到最终的程序系统。

(2)该⽅法必须有严格的数学理论和形式化技术的⽀持。

5.什么是软件⼯程?软件⼯程是指导计算机软件开发和维护的⼯程学科。

软件工程导论复习题及答案doc

软件工程导论复习题及答案doc

软件工程导论复习题及答案doc1. 软件工程的定义是什么?答:软件工程是将系统化的、规范化的、可量化的方法应用于软件的开发、运行和维护的过程,以确保软件的效率、可靠性、可维护性和可移植性。

2. 软件生命周期包括哪些阶段?答:软件生命周期包括需求分析、设计、编码、测试、维护等阶段。

3. 什么是敏捷开发?答:敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法。

它强调在短周期内交付可工作的软件,以及在整个开发过程中与客户紧密合作。

4. 软件需求分析的目的是什么?答:软件需求分析的目的是明确用户需求,确定软件系统必须做什么,为软件设计和实现提供基础。

5. 软件设计阶段的主要任务有哪些?答:软件设计阶段的主要任务包括架构设计、接口设计、数据结构设计、详细设计等。

6. 编码阶段应注意哪些问题?答:编码阶段应注意代码的可读性、可维护性、效率和错误处理。

7. 软件测试的目的是什么?答:软件测试的目的是发现软件中的缺陷,确保软件的质量,提高软件的可靠性。

8. 什么是软件维护?答:软件维护是指在软件交付后,为了改正缺陷、适应环境变化或增强功能而进行的修改活动。

9. 什么是软件配置管理?答:软件配置管理是识别软件产品和过程的配置项,控制这些配置项的变更,并记录变更的状态和内容的过程。

10. 什么是软件工程中的可重用性?答:软件工程中的可重用性是指在新的软件项目中使用已有软件组件或模块的能力,以减少开发时间和成本。

11. 什么是软件项目管理?答:软件项目管理是指规划、组织、监督软件开发项目的过程,确保项目按时、按预算和按质量要求完成。

12. 什么是软件质量保证?答:软件质量保证是指通过系统化的质量管理和控制活动,确保软件产品满足规定的需求和质量标准。

13. 什么是软件工程中的伦理问题?答:软件工程中的伦理问题涉及软件开发和维护过程中的道德和法律问题,如隐私保护、数据安全、知识产权等。

14. 什么是软件工程中的可测试性?答:软件工程中的可测试性是指软件设计和实现时考虑测试的便利性,以便于发现和修复缺陷。

软件工程导论课后习题答案完整版

软件工程导论课后习题答案完整版

第一章●软件工程方法学(3个要素):通常把软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型。

三要素:方法、工具和过程。

●软件生命周期模型–瀑布模型:优点:1.可强迫开发员采用规范的方法2.严格地规定了每个阶段必须提交的文件3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。

–缺点:传统的瀑布模型过于理想化,是由文档驱动的。

–快速原型模型:通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用户反馈意见的方法,获取用户真正的需要。

–增量模型:优点:能在较短时间内向用户提交可完成部分工作的产品;逐步增加产品功能可以使用户有较充实的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。

–螺旋模型:优点:对可选方案和约束条件的强调有利于已有软件的重用;减少了过多测试;维护只是螺旋模型中另一个周期。

1-1 什么是软件危机? 是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

1-2 什么是软件工程?是指导计算机软件开发和维护的一门工程学科。

1-3 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。

目前使用得最广泛的软件工程方法学(2种):1.传统方法学:也称为生命周期方法学或结构化范型。

优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。

缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。

2.面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。

1-4 软件生命周期划分成哪些阶段●软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。

1.软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析2.开发时期:总体设计、详细设计、编码和单元测试、综合测试。

软件工程导论习题及答案

软件工程导论习题及答案

一.选择题1。

软件需求分析阶段的工作,可以分为4个方面:需求获取,需求分析,编写需求规格说明书以及(B)A).用户B).需求审评C).总结D).都不正确2。

在原型法中称(A)为用户/设计者,开发人员根据用户需求不断修改原型,直到满足用户要求为止。

A).用户B).开发人员C).系统分析员D).程序员3。

下面不属于软件工程的3个要素是(D)A).工具B).过程C).方法D).环境4检查软件产品是否符合需求定义的过程称为(A)A).确认测试B).集成测试C).验证测试D).验收测试5.数据存储和数据流都是(D),仅仅是所处的状态不同。

A).分析结果B).事件C).动作D).数据6。

数据流图和(C)共同组成系统的逻辑模型。

A).HIPO图B).PD)LC).数据字典D).层次图7。

数据元素组成数据的方式的基本类型(D)A).顺序B).选择C).循环D).以上全部8。

数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。

下列图符名标识的图符不属于数据流图合法图符的是(A)。

A).控制流B).加工C).数据存储D).源和潭9。

结构化分析方法就是面向(B)的自顶向下逐步求精进行需求分析的方法。

A).目标B).数据流C).功能D).对象10。

通过(B)可以完成数据流图的细化。

A).结构分解B).功能分解C).数据分解D).系统分解11。

下面不属于软件工程原则的是(C)A).抽象B).模块化C).自底向上D).信息隐蔽12。

(D)是数据说明、可执行语句等程序对象的集合,它是单独命名的而且可以通过名字来访问。

A).模块化B).抽象C).精化D).模块13。

(C)是指让一些关系密切的软件元素在物理上彼此靠近。

A).信息隐蔽B).内聚C).局部化D).模块独立14。

面向数据流的设计方法把(D)映射成软件结构。

A).数据流B).系统结构C).控制结构D).信息流15。

程序流程图(PDF)中的箭头代表的是(B)。

《软件工程导论》试题与答案

《软件工程导论》试题与答案

《软件工程导论》试题与答案一、选择题(每题2分,共20分)1. 以下哪个不属于软件工程的三个基本活动?A. 软件规格说明B. 软件设计和实现C. 软件测试和验证D. 软件维护答案:D2. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A3. 软件开发过程中,以下哪个阶段的主要任务是需求分析?A. 需求获取B. 设计C. 编码D. 测试答案:A4. 在软件工程中,以下哪个方法主要用于软件项目管理?A. 水平迭代法B. 垂直迭代法C. 敏捷开发D. 模块化设计答案:C5. 以下哪个工具用于软件需求跟踪?A. 用例图B. 类图C. 时序图D. 状态图答案:A二、填空题(每题2分,共20分)6. 软件工程的基本目标是提高软件的______和降低软件的______。

答案:可维护性,成本7. 软件开发过程主要包括______、______、______、______四个阶段。

答案:需求分析、设计、编码、测试8. 软件设计中,常用的设计模式有______、______、______等。

答案:工厂方法、单例、策略9. 软件测试的目的是______、______和______。

答案:发现错误、验证软件功能、评估软件质量10. 敏捷开发的核心价值观包括______、______、______、______、______。

答案:个体和团队、可工作的软件、客户合作、响应变化、简单性三、判断题(每题2分,共20分)11. 软件工程是计算机科学与工程的一个分支,主要研究软件开发的理论、方法和技术。

(对/错)答案:对12. 软件开发过程中,需求分析阶段的主要任务是获取用户需求。

(对/错)答案:对13. 软件测试的目的是证明软件的正确性。

(对/错)答案:错14. 敏捷开发强调快速迭代、持续交付和客户反馈。

(对/错)答案:对15. 软件工程的基本活动包括软件规格说明、软件设计和实现、软件测试和验证。

软件工程导论第六版课后习题答案

软件工程导论第六版课后习题答案

软件工程导论第六版课后习题答案第一章课后习题答案习题1.1答案:软件工程是使用工程化思维和方法来开发、维护和管理软件的一门学科。

它涵盖了软件开发的全过程,包括需求分析、设计、编码、测试、维护等各个阶段,以及与软件开发相关的项目管理、质量保证等方面。

习题1.2答案:软件是由计算机程序和相关文档组成的,而计算机程序是一组指令的集合,用来描述计算机在某种语言中执行的操作。

因此,软件和计算机程序是密切相关的,但并不完全等同。

软件是包含程序和相关文档的更广泛的概念,它包括了程序的编写、测试、维护等全过程。

习题1.3答案:软件工程的目标是提高软件的质量、可靠性、可维护性和可重用性。

通过使用工程化的方法和技术,软件工程可以使软件开发过程更加系统化、规范化,从而提高软件开发的效率和质量。

软件工程还关注与软件开发相关的项目管理和质量保证等方面,以确保软件能够按时、按预算、按要求的开发和交付。

习题1.4答案:软件工程的主要内容包括需求分析、软件设计、软件编码、软件测试和软件维护等方面。

需求分析是确定软件的功能和性能需求,为后续的设计和编码工作提供基础。

软件设计是根据需求分析的结果,制定软件系统的结构和组织方式,以便于后续的编码和测试。

软件编码是实现软件设计的过程,将设计的概念转化为具体的程序代码。

软件测试是验证软件的正确性和完整性的过程,通过各种测试方法和工具,发现并纠正软件中的错误。

软件维护是对软件进行更新、修复、优化等操作,以确保软件能够长期稳定地运行。

习题1.5答案:软件工程的活动包括项目管理、需求管理、设计管理、配置管理、质量管理等方面。

项目管理是对软件开发项目进行计划、组织和控制的活动,包括项目目标的设定、进度的控制、资源的分配等。

需求管理是对软件需求进行跟踪、分析和管理的活动,包括需求变更的管理、需求优先级的确定等。

设计管理是对软件设计进行管理和控制的活动,包括设计文档的编写、设计评审的组织等。

配置管理是对软件配置进行管理的活动,包括配置项的标识、配置变更的控制等。

软件工程导论(第六版)课后习题答案

软件工程导论(第六版)课后习题答案

软件工程导论(第六版)课后习题答案软件工程导论(第六版)课后习题答案1. 简答题1.1 软件是如何演变而来的?软件起源于计算机的发展。

最初,计算机只能执行硬件内置的指令,而随着计算机的发展,人们开始意识到可以编写程序来控制计算机的行为。

因此,软件就诞生了。

从最初的汇编语言、机器语言编写程序,到高级编程语言的出现,软件也逐渐从简单的指令集合演变为复杂的程序系统。

同时,计算机应用领域的拓展也催生了更多类型的软件,如操作系统、数据库管理系统、图形界面等。

软件工程导论旨在帮助人们理解和应对软件开发过程中的种种问题和挑战。

1.2 简述软件危机的原因以及软件工程的解决途径。

软件危机指的是在软件开发过程中出现的一系列问题和挑战。

其原因主要包括:(1)软件开发过程中需求不明确或者需求频繁变更;(2)软件项目规模庞大,组织和管理困难;(3)软件开发中缺乏标准化的工程方法和规范;(4)软件开发中技术不成熟、人员培训和素质不足等。

为了应对软件危机,软件工程提出了一系列解决途径:(1)引入系统化的软件开发过程,如瀑布模型、迭代模型、敏捷开发等;(2)规范化软件开发活动,如需求分析、软件设计、编码、测试、维护等;(3)建立软件开发的标准和规范,如ISO 9000、CMMI等;(4)提高软件开发人员的专业水平,加强软件工程教育和培训。

1.3 软件工程活动的核心内容是什么?软件工程活动的核心内容包括需求分析、软件设计、编码、测试和维护等。

(1)需求分析:确定用户需求,定义软件的功能和性能要求。

(2)软件设计:制定软件的体系结构,并将需求转化为具体的设计方案。

(3)编码:根据设计方案,使用编程语言实现软件的功能。

(4)测试:验证软件是否符合需求和设计的要求,发现并修复潜在的问题。

(5)维护:对软件进行改进、优化和修复,确保软件长期稳定运行。

2. 应用题2.1 简述软件生命周期模型,并列举至少两种常见的软件生命周期模型。

软件生命周期模型指的是软件开发过程中各个阶段的组织和安排方式,常见的软件生命周期模型包括:(1)瀑布模型:按照固定的顺序依次进行需求分析、设计、编码、测试和维护等活动。

软件工程导论课后习题答案.

软件工程导论课后习题答案.

第一章一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。

它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。

软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。

常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。

而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。

这些都降低了开发商的信誉,引起用户不满。

(2) 用户对已完成的软件不满意的现象时有发生。

(3) 软件产品的质量往往是靠不住的。

(4) 软件常常是不可维护的。

(5) 软件通常没有适当的文档资料。

文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。

(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。

(7) 开发生产率提高的速度远跟不上计算机应用普及的需求。

软件危机出现的原因:(1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。

(2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。

(3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。

二、什么是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机?1993年IEEE的定义:软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。

软件工程的本质特征:(1) 软件工程关注于大型程序(软件系统)的构造(2) 软件工程的中心课题是分解问题,控制复杂性(3) 软件是经常变化的,开发过程中必须考虑软件将来可能的变化(4) 开发软件的效率非常重要,因此,软件工程的一个重要课题就是,寻求开发与维护软件的更好更有效的方法和工具(5) 和谐地合作是开发软件的关键(6) 软件必须有效地支持它的用户(7) 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人(完成一些工作)消除软件危机的途径:(1) 对计算机软件有一个正确的认识(软件≠程序)(2) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目(3) 推广使用在实践中总结出来的开发软件的成功技术和方法(4) 开发和使用更好的软件工具三、简述结构化范型和面向对象范型的要点,并分析他们的优缺点。

《软件工程导论》课后习题详细答案

《软件工程导论》课后习题详细答案

数字零=0 3位数字=3{数字}3 8位数字=非零数字+7位数字 7位数字=7{数字}7 数字=[0|1|2|3|4|5|6|7|8|9] 6. 可行性研究报告的主要内容? 可行性分析的结果是可行性研究报告,内容包括:(1) 系统概述:说明开发的系统名称,提出单位 和开发单位。 (2) 可行性研究的前提:系统目标; 要求; 约束和限制; 可行性研究的基本准则等。 (3) 对 现有系统的分析:处理流程,图示说明现有系统的处理流程和数据流程;现有系统存在的问题。 (4) 系统 需求:主要功能;主要性能及其要求;操作要求;信息要求;限制性要求。(5) 建议系统:系统目标;处理 流程;系统结构,功能,性能;系统技术可行性;投资和效益分析;操作可行性;法律可行性。(6) 其它可 选方案:与国内外同类型方案的比较; 提出一两个可行性方案供论证和探讨。 (7) 制定下一阶段的预算。 (8) 结论性意见:由用户方、设计方和投资方共同签署意见。 第三章 需求分析 习题答案 //3至3个数字
M 4080e 0.28(19851960) 4080e 7 4,474,263(字)
P 0.048 0.7219851974 4474263
5, 789(美元)
(2)如果一条指令的长度为一个字,则使存储器装满程序共需4474263条指令。 在1985年一名程序员每天可开发出10条指令,如果每月有20个工作日,则每人每月可开发出10×20条指 令。 为了开发出4474263条指令以装满存储器,需要的工作量是:
M 4080e 0.28(19951960)
73,577,679(字)
如果一条指令为一个字长,则为使存储器装满程序共需73,577,679条指令。
7,127(美元)

软件工程导论考试试题及详细答案

软件工程导论考试试题及详细答案

软件工程导论考试试题及详细答案一、选择题(每题2分,共20分)1. 以下哪项不是软件工程的基本目标?A. 提高软件的生产率B. 提高软件的质量C. 减少软件开发成本D. 增加软件的复杂性答案:D2. 下列哪个不属于软件工程的三个主要过程?A. 软件规格B. 软件开发C. 软件验证D. 软件维护答案:C3. 以下哪种编程范式主要用于描述软件工程的开发过程?A. 面向对象编程B. 函数式编程C. 过程式编程D. 面向过程编程答案:A4. 以下哪个软件工程方法学提出了“设计模式”的概念?A. UMLB. 设计模式C. 敏捷开发D. 结构化分析答案:B5. 在软件开发过程中,以下哪个阶段主要用于确定软件需求?A. 需求分析B. 设计C. 编码D. 测试答案:A6. 以下哪个工具用于描述软件系统的动态行为?A. 类图B. 对象图C. 序列图D. 状态图答案:D7. 以下哪个软件工程原则强调代码的可重用性?A. 模块化B. 抽象C. 封装D. 继承答案:A8. 以下哪个软件工程原则强调代码的可维护性?A. 开放封闭原则B. 单一职责原则C. 依赖倒置原则D. 迪米特法则答案:B9. 以下哪个软件工程方法学强调快速迭代和反馈?A. 水晶方法B. 敏捷开发C. ScrumD. RUP答案:B10. 以下哪个软件工程实践可以提高代码质量?A. 代码审查B. 单元测试C. 集成测试D. 系统测试答案:A二、填空题(每题2分,共20分)1. 软件工程的三要素是:方法、工具和______。

答案:过程2. 软件开发过程中,需求分析阶段的目的是确定______。

答案:软件需求3. 在UML中,描述软件系统的静态结构的是______。

答案:类图4. 软件工程中的设计模式是一种解决特定问题的______。

答案:解决方案5. 敏捷开发方法强调的是______、______和______。

答案:迭代、反馈、适应性6. 代码重构的目的是提高代码的______、______和______。

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

2.需求分析的基本任务是什么?
准确定义未来系统的目标,确定为了满足用户的需要系统必须做什么。
3.怎样建立目标系统的逻辑模型?要经过哪些步骤?
建立目标系统的逻辑模型的过程也就是数据流图的分解过程。它的导出过程如图:
Hale Waihona Puke 4.什么是结构化分析?它的结构化体现在哪里?
结构化分析:使用数据流程图、数据字典、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化说明书的目标文档-需求规格说明书。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
4.构成软件项目的最终产品:
应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件生存周期?
软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。
6.软件生存周期为什么划分成阶段?
(1) 任何一个阶段的具体任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。
(2) 可以降低每个阶段任务的复杂程度,简化不同阶段的联系,有利于工程的组织管理,也便于采用良好的技术方法。
(3) 使软件开发的全过程以一种有条不紊的方式进行,保证软件的质量,特别是提高了软件的可维护性。
结构化体现在将软件系统抽象为一系列的逻辑加工单元,各单元之间以数据流发生关联。
5.软件需求规格说明书由哪些部分组成?
组成包括:
(1) 引言:编写目的、背景说明、术语定义及参考资料等。
(2) 概述主要功能、约束条件或特殊需求。
(3) 数据流图与数据字典。
(4) 用户接口、硬件接口及软件接口。
(6) 其它可选方案:与国内外同类型方案的比较;提出一两个可行性方案供论证和探讨。
(7) 制定下一阶段的预算。
(8) 结论性意见:由用户方、设计方和投资方共同签署意见。
第三章 需求分析 习题答案
1.需求分析的描述工具有哪些?
有数据流图、数据字典、判定表、判定树、结构化自然语言、层次方框图、Warnier图、IPO图和需求描述语言等。
3. 什么是模块?模块具有哪几个特征?总体设计主要考虑什么特征?
模块是数据说明、可执行语句等程序对象的集合,可以单独命名且可通过名字来访问。
模块具有输入和输出(参数传递)、功能、内部数据结构(局部变量)和程序代码四个特性。
概要设计主要考虑输入、输出(参数传递)和功能两个特性。
(3) 对现有系统的分析:处理流程,图示说明现有系统的处理流程和数据流程;现有系统存在的问题。
(4) 系统需求:主要功能;主要性能及其要求;操作要求;信息要求;限制性要求。
(5) 建议系统:系统目标;处理流程;系统结构,功能,性能;系统技术可行性;投资和效益分析;操作可行性;法律可行性。
7.应该怎样来划分阶段?
(1)每一个阶段的任务尽可能独立;
(2)同一阶段内的任务性质尽可能相同;
(3)每一个阶段任务的开始和结束有严格的标准。
8.软件开发模型有几种?它们的开发方法有可特点?
软件开发模型有瀑布型、渐增型和变换型。
瀑布型开发方法是按照软件生存周期的划分依次实施,每一个阶段有明确规定的任务。它的特点:
(2)该方法必须有严格的数学理论和形式化技术的支持。
9.什么是软件工程?
软件工程是指导计算机软件开发和维护的工程学科。
(1) 它采用工程的概念、原理、技术和方法来开发和维护软件;
(2) 它将管理技术与当前经过时间考验的而证明是正确的技术方法结合起来;
(3) 它强调使用生存周期方法学和结构分析和结构技术;
4. 什么是模块化?模块设计的准则?
模块化是按规定的原则将一个大型软件划分为一个个较小的、相对独立但又相关的模块。
模块设计的准则:
(1) 改进软件结构, 提高模块独立性:在对初步模块进行合并、分解和移动的分析、精化过程中力求提高模块的内聚,降低藕合。
(2) 模块大小要适中:大约50行语句的代码,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中。
《软件工程导论》课后习题答案
第一章 软件工程概论
1.什么是软件危机?
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面:
(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(3)区分局部文件和局部外部项(局限于数据流中某一层或某几层的文件和外部项)。
(4)不要把控制流作为数据流。
(5)忽略琐碎的枝节。
(6)每个数据流要有一个合适的名字,尽量使用现实系统中有具体意义的名字。
7.系统流程图与数据流程图有什么区别?
系统流程图描述系统物理模型的工具,数据流程图描述系统逻辑模型的工具。
(1)各个阶段的顺序性和依赖性;
(2)划分逻辑设计与物理设计,尽可能推迟程序的物理实现;
(3)每个阶段必须完成规定的文档,对其中问题通过复审及早发现,及早解决。
渐增型开发方法及特点:
(1) 从部分需求出发,先建立一个不完全的系统,通过测试运行该系统取得经验和信息反馈,加深对软件需求的理解,进一步使系统扩充和完善。如此反复,直至软件人员和用户对所设计完成的软件系统满意为止。
(1) 如果是分房申请,则根据申请者的情况(年龄、工龄、职称、职务、家庭人口等)计算其分数,当分数高于阀值分数时,按分数高低将申请单插到分房队列的适当位置。在进行分房时,从空房文件中读出空房信息,如房号、面积、等级、单位面积房租等,把好房优先分给排在分房队列前面的符合该等级房条件的申请者;从空房文件中删掉这个房号的信息,并从分房队列中删掉该申请单,再把此房号的信息和住户信息一起写到住房文件中,输出住房分配单给住户,同时计算房租,并将算出的房租写到房租文件中。
第二章 可行性研究 习题答案
1. 问题定义的任务和主要工作?
问题定义的任务:将用户提出的要求具体化、定量化;确定研制系统的范围,明确研制的边界。
问题定义阶段的工作:
(1) 通过调查研究,了解系统需求;
(2) 确定系统的功能需求、性能需求、可靠性需求、安全及保密性、资源、开发费用及开发进度等的需求;
(3) 软件结构图的深度、宽度、扇入和扇出要适当。一般模块的调用个数不要超过5个。
(4) 尽量降低模块接口的复杂程度;
(5) 设计单入口、单出口的模块。
(6) 模块的作用域应在控制域之内。
5. 变换型数据流由哪几部分组成?
变换型结构由三部分组成:传入路径、变换(加工)中心和传出路径。
(4)推荐建议方案;
(5)推荐行动方针;
(6)书写计划任务书(可行性报告);
(7)提交审查。
6. 可行性研究报告的主要内容?
可行性分析的结果是可行性研究报告,内容包括:
(1) 系统概述:说明开发的系统名称,提出单位和开发单位。
(2) 可行性研究的前提:系统目标;要求;约束和限制;可行性研究的基本准则等。
(5) 性能需求、属性等。
(6) 其它需求,如数据库、操作及故障处理等。
6.为什么数据流图要分层?画分层的DFD要遵循哪些原则?
分层的目的:便于逐步细化、结构清晰。
画分层的DFD要遵循哪些原则:
(1)父图与子图之间数据要平衡。
(2)分解的深度和层次达到使加工足够简单、易于理解的基本加工为止。
(2) 如果是退房申请,则从住房文件和房租文件中删除有关信息,再把此房号的信息写到空房文件中。
(3) 如果是调房申请,则根据申请者的情况确定其住房等级,然后在空房文件中查找属于该等级的空房,退掉原住房,再进行与分房类似的处理。
(4) 住户可以向系统查询目前分房的阀值分数,居住某类房屋的条件,某房号的单位面积及房租等信息。房产科可以要求系统打印住房情况的统计表,或更改某类房屋的居住条件、单位面积和房租等。
(3)操作可行性:系统操作在用户内部行得通吗?
(4)法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律。
5.可行性研究的步骤?
(1)复查系统的规模和目标;
(2)研究目前正在使用的系统,总结现有系统的优劣,提出新系统的雏形;
(3)导出新系统的高层逻辑模型;
(3) 如果问题没有可行的解,建议停止系统开发;如果问题有可行的解,应该推荐一个较好的解决方案,并为工程制定一个初步的计划。
4.可行性研究包括哪几方面的内容?
(1)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足;
(2)经济可行性:经济效益是否超出开发成本;
用数据流图描绘该系统的功能需求;在数据字典中给出主要的数据流、文件和加工说明。
参考第四章4.5应用举例教案之二分析。
第四章 总体设计 习题答案
1. 系统设计包括哪两个阶段?
系统设计包括总体设计与详细设计两个阶段。
2. 总体设计的主要任务是什么?
总体设计的主要任务是完成软件结构的设计,确定系统的模块及其模块之间的关系。
6. 变换分析设计的步骤?
(1) 区分传入、传出和变换中心三部分,划分DFD图的分界线;
(2) 完成第一级分解:建立初始SC图的框架;
9.描述加工逻辑的工具有哪些?
有决策树(又称判定树)、决策表(又称判断表)和结构化语言等。
10.某单位拟开发一个计算机房产管理系统,要求系统具有分房、 调房、退房和查询统计等功能。房产科将用户申请表输入系统 后,系统首先检查申请表的合法性,对不合法的申请表,系统拒绝接收;对合法的申请表根据类型分别进行处理。
相关文档
最新文档