软件开发与项目管理课后练习参考答案Word文档格式.docx
《软件开发与项目管理课后练习参考答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《软件开发与项目管理课后练习参考答案Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
这个阶段生产方式是个体劳动,使用的生产工具是机器语言,汇编语言。
②程序系统时代:
这个阶段生产方式是小集团合作生产,使用的生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。
③软件工程时代:
这个阶段生产方式是工程化的生产,使用数据库﹑开发工具﹑开发环境﹑网络﹑分布式﹑面向对象技术来开发软件。
3、什么是软件危机?
产生的原因是什么?
软件危机:
是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
主要是指如何开发软件,怎样满足对软件日益增长的需求,如何维护数量不断膨胀的先有软件。
原因:
一是软件产品的固有特性(软件的不可预见性、软件的规模大且逻辑较复杂),二是软件专业人员自身的缺陷。
4、什么是软件工程?
它的目标和内容是什么?
软件工程:
是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。
目标:
付出较低开发成本;
达到要求的功能;
取得较好的性能;
开发的软件易于移植;
只需较低的维护费用;
能按时完成开发任务,及时交付使用;
开发的软件可靠性高。
内容:
研究内容包括开发技术和开发管理两个方面。
开发技术主要研究:
软件开发方法,开发过程,开发工具和环境。
开发管理主要研究:
软件管理学,软件经济学,软件心。
5、软件工程面临的问题是什么?
①软件重用性差
②软件可维护性差
③开发出的软件不能满足用户需要
6、什么是软件生命周期?
它有哪几个活动?
软件生命周期:
一个软件从提出开发要求开始直到该软件报废为止的整个时期。
活动:
可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。
7、什么是软件生存周期模型?
有哪些主要模型?
软件生存周期模型:
是描述软件开发过程中各种活动如何执行的模型。
主要模型:
瀑布模型、快速原型模型、增量模型、螺旋模型、敏捷模型、喷泉模型、混合模型。
(二)单项选择题
1、软件开发的各项活动严格按照线性方式进行,当前活动接收上一项活动的工作结果,实施并完成所需的工作内容的软件开发模型是(A)。
A、瀑布模型B、快速原型模型C、增量模型D、敏捷模型
2、下列(B)最能适应快速变化的需求。
3、(B)可把一个复杂问题的求解过程分成几个阶段,而且这种分解是自顶向下、逐层分解的。
A、面向对象方法B、结构化方法C、可视化方法D、ICASE方法
4、(C)在可视化开发工具提供的图形用户界面上,通过操作界面元素开发,诸如菜单、按钮、对话框、编辑框、单选按钮、复选框、列表框和滚动条。
5、面向对象的特征有(C)。
A、模块化、封装、继承B、模块化、继承、多态C、封装、继承、多态D、模块化、封装、继承、多态
(三)填空题
1、瀑布模型将软件生命周期划分为(制定计划)、(需求分析)、(软件设计)、(程序编写)、(软件测试)和(运行维护)6个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
2、螺旋模型沿着螺旋线进行若干次迭代,包括以下活动:
(制定计划)、(风险分析)、(实施工程)、(客户评估)。
3、敏捷开发相对于非敏捷开发,更强调(程序员团队与业务专家之间的紧密协作,面对面沟通,频繁交付新的软件版本)、(紧凑而自我组织型的团队)、(能够很好地适应需求变化的代码编写)和(团队组织方法),也更注重(软件开发中人的作用)。
4、结构化软件开发方法的基本要点是(自顶向下)、(逐步求精)和(模块化设计)。
5、面向对象方法的主要特征有(封装性)、(继承性)和(多态性)。
(四)简答题
1、请比较瀑布模型和螺旋模型的优缺点?
瀑布模型优点:
有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。
瀑布模型缺点:
①开发过程一般不能逆转,否则代价太大;
②实际的项目开发很难严格按该模型进行;
③客户往往很难清楚地给出所有的需求,而该模型却要求如此。
④软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。
螺旋模型优点:
①设计上的灵活性,可以在项目的各个阶段进行变更;
②以小的分段来构建大型系统,使成本计算变得简单容易;
③客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性;
④随着项目推进,客户始终掌握项目的最新信息,从而他或她能够和管理层有效地交互。
螺旋模型缺点:
①采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;
②过多的迭代次数会增加开发成本,延迟提交时间。
2、相对于传统的软件开发方法,面向对象方法有哪些优点?
传统开发:
①软件重用性差②软件维护性差③开发的软件不能满足用户的需求
而OOP是尽可能模拟人类习惯的思维方式,使软件开发的方法与过程接近人类认识世界、解决问题的方法与过程。
3、ICASE方法有哪些特点?
ICASE的最终目标是实现应用软件的全自动开发,即开发人员只要写好需求规格说明书,软件开发环境就自动完成从需求分析开始的所有软件开发
4、在增量模型的迭代过程中,应该先实现复杂的重要的功能模块还是简单的次要的功能模块?
先实现重要的再实现次要的
5、螺旋模型的4个象限包括哪些活动?
制定计划、风险分析、实施工程、客户评估。
第二章(需求分析)
1、软件需求有哪3个层次?
业务需求、用户需求、功能需求
2、常用的需求捕获技术有哪些?
用户访谈、收集资料、问卷表、小组会议
3、用户访谈过程有哪几个步骤?
准备访谈、计划访谈日程、访谈开始和结束、引导访谈
4、什么是功能性需求和非功能性需求?
功能性需求:
是说有具体的完成内容的需求。
非功能性需求:
是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性,包括系统的性能、可靠性、可维护性、可扩充性和对技术和对业务的适应性等。
5、什么是系统用户和角色?
系统用户:
指软件的最终操作者,也是软件工程内的一个概念,指终端用户的抽象集合。
角色:
权限针对的是系统的资源
6、用例模型中的重要元素和作用是什么?
重要元素:
参与者、用例、通信关联
作用:
描述系统中对象的相互作用
7、什么是业务流程图?
作用是什么?
业务流程图:
①是一种描述系统内各单位、人员之间业务关系、作业顺序和管理信息流向的图表
②主要是描述业务走向
③绘制是按照业务的实际处理步骤和过程进行的
④是一种系统分析人员都懂的共同语言,用来描述系统组织结构、业务流程
①制作流程图的过程是全面了解业务处理的过程,是进行系统分析的依据
②是系统分析员、管理人员、业务操作人员相互交流思想的工具
③系统分析员可直接在业务流程图上拟出可以实现计算机处理的部分
④用它可分析出业务流程的合理性
8、数据字典是什么?
数据字典是是一种用户可以访问的记录数据库和应用程序源数据的目录
①作为分析阶段的工具②在结构化分析中,数据字典的作用是给数据流图上每个成分加以定义和说明
1、(D)包括需求的获取、分析、规格说明、变更、验证、管理一系列需求工程。
A、系统设计B、数据库设计C、测试D、需求分析
2、需求分析的任务就是软件系统解决(B)的问题,要全面地理解客户的各项需求,并准确地表达所接收的用户需求的过程。
A、设计B、做什么C、需求D、功能
3、用户访谈一般会经历5个阶段:
准备访谈、(A)、访谈开始和结束引导访谈、后继的访谈整理工作。
A、计划和安排访谈日期B、日程管理C、日程安排D、计划实施
4、(C)是需求捕获时广泛使用的一种工具,它采用了统计分析的方法,显得更科学。
A、用户调研B、收集资料C、问卷表D、用户访谈
5、(B)主要用来图示化系统的主事件流程,它主要用来描述用户的需求,即用户希望系统具备的能完成一定功能的动作,通俗的讲,用例就是软件的功能模块,所以是设计系统分析阶段的起点。
A、顺序图B、用例图C、协作图D、构件图
6、用例之间可以抽象出包含、(D)和泛化几种关系。
A、扩大B、缩小C、多态D、扩展
7、用例描述一般包括简要描述(说明)、前置(前提条件)、(B)、其他事件流、异常事件流、后置(事后)条件等。
A、数据流B、基本事件流C、函数D、数据
8、(B)是一种描述系统内各单位、人员之间业务关系、作业顺序和管理信息流向的图表,利用它可以帮助分析人员找出业务流程中的不合理流向,它是物理模型。
A、数据流图B、业务流程图C、E-R图D、顺序图
9、(D)作为产品需求的最终成果必须具有综合性,必须包括所有的需求。
开发人员和用户不能进行任何假设。
A、用例说明书B、系统设计说明书C、数据库设计说明书D、需求规格说明书
10、在编写模块时,通常包括模块摘要,业务数据项,(B),功能点的操作说明、规则、角色、附图等。
A、模块性能B、模块的功能点C、谈话摘要D、用例模型
1、(需求分析)是指根据用户需求,将软件功能和性能与用户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。
2、在需求捕获中最常见的技术包括用户访谈、(收集资料)、问卷表、小组会议4种。
3、用户访谈一般经历5个阶段:
准备访谈、计划和安排访谈日程、访谈开始和结束、(引导访谈)、后继的访谈整理工作。
4、在面向对象的分析方法中要建立(对象模型),而在结构化分析方法中,数据流程图则是建模的主要工具。
5、软件需求分析所要做的工作是深入描述(软件的功能和特性),确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。
6、(用例)是从系统外部可见的行为,是系统为某一个或几个参与者(Actor)提供的一段完整的服务。
7、包含关系最典型的应用就是(复用)。
8、(业务流程图)就是用一些规定的符号及连线来表示某个具体业务处理过程。
9、(数据字典)是一种用户可以访问的记录数据库和应用程序源数据的目录。
10、“用户需求说明书”是面向用户的,是合同的产物;
而(需求规格说明书)则是面向公司内部的,是立项建议书的产物。
1、什么是需求分析?
需求分析是指根据用户需求,将软件功能和性能与用户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。
2、什么是用例?
用例之间有什么关系?
用例就是软件的功能模块
3、现行系统业务流程总结,在绘制业务流程图之前,要对现行系统进行详细调查,并写出现行系统业务流程总结。
略
4、根据系统业务流程的描述,绘制出系统处理业务流程图。
5、什么数据字典(DataDictionary)?
是一种用户可以访问的记录数据库和应用程序源数据的目录
6、简述数据字典的组成?
数据项、数据结构、数据流、数据存储、处理过程
第三章(软件设计)
1、什么是软件设计?
软件设计是一个把软件需求转换为软件表示的过程。
最初,这种表示只是描述了软件的总体结构,