软件工程作业参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程》作业参考答案
作业一
1.与硬件相比,软件具有哪些特点?
答:与硬件相比,软件具有以下不同的特点:
(1)软件是逻辑的,而不是物理的产品。逻辑往往实际只存在于人的头脑当中,软件的开发过程极难加以控制。
(2)软件是由开发或工程化而形成的,没有明显的制造过程。软件成本集中于"开"上,意味着软件项目不能象硬件制造项目那样来管理。
(3)软件在运行和使用期间,不存在硬件那样的磨损和老化问题,但它存在退化问题,开发人员必须维护软件。
(4)大多数软件是自定的,而不是通过已有构件组装而成的。迄今为止,软件的开发尚未完全摆脱手工的方式。(5)软件成本相当昂贵。(6)软件本身是复杂的。
软件比任何其他人类制造的结构更复杂,甚至硬件的复杂性和软件相比也是微不足道的。软件本质上的复杂性是软件产品难以理解,影响软件过程的管理,并使维护过程十分复杂。
2.系统工程过程主要包含哪些基本阶段?各阶段主要完成什么工作?
答:系统工程过程主要包括:系统需求定义阶段、系统设计阶段、子系统开发阶段、系统整合(集成)阶段、系统安装阶段、系统运行与进化阶段、系统退役阶段。
(1)系统需求定义阶段,通过与系统各类用户协商讨论,确定系统整体的需求。包括系统必须提供的基本功能,非功能的系统总体特性(可用性、性能、安全性等),系统的边界及限制条件等。
(2)系统设计阶段,要做的是如何将不同的组件整合成一个能提供所需功能的系统。
(3)子系统开发阶段,实现在系统设计阶段识别出来的那些子系统,若这个子系统本身又是一个大系统,则可能又进入另一个系统工程过程中。若子系统是一个软件系统,那么包括需求、
设计和实现等这样的一个软件过程就启动了。
(4)系统整合阶段,将一个个独立开发的子系统整合为一个完整的大系统。
(5)系统安装阶段,系统进入实际的工作环境。
(6)系统运行与进化阶段,一旦系统安装完毕就进入运行阶段,运行一个系统可能包括组织操作人员培训并且改变正常的工作过程以适应新的系统,因为系统描述可能包含错误或遗漏,所
以未被发现的问题可能在这个阶段出现。
(7)系统退役阶段,指系统在它的有效生存期结束之后从系统服务中退出。
3.软件工程专家B.W.Boehm认为在软件开发过程中为确保软件产品质量和开发效率应坚持软件工程的哪些基本原理?
答:B.W.Boehm认为应坚持七条基本原理,分别是:
(1)用分阶段的生命周期计划严格管理;(2)坚持进行阶段评审;
(3)实行严格的产品控制(推迟实现的原则);(4)使用现代程序设计技术;
(5)结果应能清楚地审查;(6)开发小组的人员应少而精;
(7)承认不断改进软件工程实践的必要性。
作业二
1.需求的获取主要有何方法?简要说明之。
答:获取需求的方法主要有:系统调查和快速原型获取和验证需求。
(1)系统调查。系统调查工作是以系统分析人员为核心,成立调查组织,吸收原系统业务骨干
和管理人员参加。可以有多个调查组同时工作,互相介绍情况。调查组织要拟定调查计划
和提纲,要明确调查的目的、范围、对象、方法和分工。系统调查的一般方法有:发调查
表征询意见、访问、开调查会、直接参加业务活动、请用户领导和业务骨干讲课、查阅文
献资料。
(2)快速原型获取和验证需求。在需求工程过程中,开发人员根据对软件的理解,利用快速开发工具先快速地建立一个系统原型,然后让用户对原型进行评估,并提出修改意见,最终
达到全面、准确地确定软件系统的外部行为和特征。
2.需求开发主要分为哪些部分?简要说明之。
答:需求开发分为可行性研究、需求导出和分析、编写规格说明书和需求验证四个部分。
(1)可行性研究。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。可行性研究的实质,在较高层次上以较抽象的方式进行的系统分析和设计的过程。在这
一阶段分析员要导出系统的逻辑模型,然后从逻辑模型出发寻找若干种可供选择的解法(即
系统实现方案),对每种方案都要研究它的可行性,一般方案的可行性主要有四个方面:技术
可行性、经济可行性、法律可行性、操作可行性。
(2)需求导出和分析。决定系统应该提供什么服务,系统应该具有什么样的性能以及硬件约束等等。这一阶段可分为以下两步工作:
①需求获取:通过与用户的交流,对现有系统的观察及对任务进行分析,从而开发、捕获和
修订用户的需求。②需求建模:为最终用户所看到的系统建立一个概念模型,作为对需求
的抽象描述,并尽可能多的捕获现实世界的语义。
(3)编写规格说明书
需求规格说明是生成需求模型构件的精确的形式化的描述,软件需求规格说明阐述一个软件系统必须提供的功能和性能以及它所要考虑的限制条件,它不仅是系统测试和用户文档
的基础,也是所有子系列项目规划、设计和编码的基础。
(4)需求验证
需求验证是以需求规格说明为输入,通过符号执行、模拟或快速原型等途径,分析需求规格的正确性和可行性;审查需求文档、依据需求编写测试用例、编写用户手册、确定合格
的标准。
3.数据流图具有哪些特性?并作简单说明。
答:数据流图具有抽象性、概括性和层次性等特性。
(1)抽象性:数据流图中只有四种基本符号组成,没有任何具体的物理部件,只描绘数据在软件中流动和被处理的逻辑过程,是系统逻辑功能的表示,这种抽象性有助于系统的功
能分析和进一步的总体设计。
(2)概括性:数据流图作为信息交流的工具,由简单的符号组成,不包含任何物理实现的细节,便于用户理解和评价它。
(3)层次性:数据流图可以按照功能分解的方法逐层来画,从整个系统的基本模型开始,逐步的分解,每分解一次,系统的处理就增多一些,每个处理的功能也更加具体。
作业三
1.UML 图的构成成分中定义了哪五类十种模型图?
答:UML 图的构成成分,UML的定义了5类10种模型图。
(1)用例图: 这是一种用户模型视图,用例图是系统功能的描述。它从用户的角度描述系统的功能,并指出各个功能的操作者。
(2)静态图:这是一种结构模型视图,这种图描述系统的静态结构。有类图、对象图、包图。