第一范文网 - 专业文章范例文档资料分享平台

软件工程—方法与实践(许家珆)

来源:用户分享 时间:2025/6/1 11:27:21 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

贵州师范大学

bind() listen() accept() connect() read() write() close()

⑵系统的分析类图:

由于图书馆的多本书构成书库,增加BookDatabase类,与Book类之间是聚合关系。同样由于借

书规则不止一条,增加CriteriaDatabase类,与BorrowCriteria类之间是聚合关系。

《软件工程——理论与实践》(第2 版)习题答案

User Information

13.为什么说RUP与UML密切结合,能够开发出满足最终用户需要的高质量软件? 答:好的软件过程,是应用UML成功地进行软件开发的关键。在众多的软件开发过程中, RUP

统一过程(Rational Unified Process)能够与UML最佳结合,不仅因为该过程的开发者也是UML的创

立者,更因为RUP过程能够有效地测度工作进度,控制和改善工作效率。

RUP是最佳软件开发经验的总结,具有迭代式增量开发、使用实例驱动、以软件体系结构为核

心的三个鲜明特点,还包括了软件开发中的6大经验:迭代式开发;管理需求;使用基于组件的软件

体系结构;可视化建模;验证软件质量;控制软件变更。因此,RUP与UML密切结合,能够开发出

满足最终用户需要的高质量软件。

14.分析RUP的二维开发模型,说明RUP的迭代开发过程。 答:在 RUP 中,软件开发生存周期根据时间和RUP 的核心工作流划分为二维空间。横轴描述

RUP 开发过程的动态结构,纵轴描述RUP 的静态组成部分。 ⑴横轴把软件开发周期(Cycle)划分为起始(Inception)、演化(Elaboration)、构造(Construction)

和提交(Transition) 四个连续的阶段(Pahse)。 ⑵纵轴表示核心工作流。RUP中有商业建模、需求、分析和设计、实现、测试、部署、配置和

变更管理、软件项目管理和环境9个核心工作流(Core Workflows):

RUP 中的每个阶段都由一个或多个连续的迭代组成,每一个迭代都是一个完整的开发过程,产

08级计算机科学与技术专业

贵州师范大学

生一个可执行的产品版本,在每个阶段结束前都应有一个里程碑(MileStone )评估该阶段的工作,

只有当阶段目标达到时才允许项目进入下一阶段,产生一个阶段里程碑。这是一种更灵活、风险更

小的方法,是多次通过不同的开发工作流,这样可以更好地理解需求,构造一个健壮的体系结构,

并最终交付一系列逐步完成的版本,称为一个迭代生存周期。

《软件工程——理论与实践》(第2 版)习题答案

习题六答案

1.程序设计语言分为哪几类?

答:程序设计语言,按照语言级别可以分为两大类:低级语言和高级语言。

低级语言包括机器语言和汇编语言。低级语言依赖于特定的机器,其使用复杂、繁琐、费时、

易出差错,因而程序编写也有一定的难度。

机器语言是表示成二进制形式的机器基本指令集,或者是操作码经过符号化的基本指令集,其

存储由语言本身决定。汇编语言比机器语言更直观,是机器语言中地址部分符号化的结果,或进一

步包括宏构造。

即便是现在汇编语言有着生产效率低、维护困难、容易出错的缺点,但是在实现与硬件系统接

口部分时,仍然采用它,因为它易于实现接口,实现效率高。

高级语言的表示方法要比低级语言更接近于待解的问题,其特点是在一定程度上与具体机器无

关,易学、易用、易维护。高级语言的实现极大地提高了软件的生产效率。 众多的高级语言根据不同的标准有不同的分类方式。 (1) 按照应用范围分为:通用语言与专用语言。

通用语言有:Pascal、C、C++、Java 等;目标单一的语言称为专用语言,有:APT 等。 (2) 按照用户的要求分为:过程式语言和非过程式语言。

过程式语言的主要特征是,用户可以指明一系列可执行的顺序运算,以表示相应的计算过程,

如Pascal、C 等;非过程式语言反之,较为著名的是Java。 (3) 按照使用方式分为:交互式语言和非交互式语言。 具有反映人机交互作用的语言成分的语言成为交互式语言,如BASIC 等;不反映人机交互作用

的语言称为非交互式语言,如Pascal、C 等都是非交互式语言。

(4) 按照语言的内在特点分为:系统实现语言、静态高级语言、动态高级语言和块结构高级语 言;

08级计算机科学与技术专业

贵州师范大学

系统实现语言例如:C 语言;静态高级语言例如:COBOL 和 FORTRAN 语言;动态高级语言

的特点是动态完成所有的存储管理,如Java;块结构高级语言,例如ALGOL 和Pascal 语言。

2. 程序设计语言的成分有哪些?

程序设计语言基本的组成成分如下: ①数据成分,用于描述程序所涉及的数据

(1) 程序名字声明:首先声明这个程序设计对象在这个程序中的名字,这样避免编译时出现错

误。例如,设计一个电子时钟,那么对于主程序完全可以对其名字声明为:clock,这样当

后面进行编译的时候就能够识别这是已经声明了的对象,而不再报错。

(2) 数据类型声明:对程序实现时用到的各种数据的类型作一声明,如整型、浮点型、用户自

定义类型等。 ②运算成分,用以描述程序中所包含的运算

(1) 初始化:程序设计实现时最常出现的一种错误就是没有对于要运算的数据初始化,即没有

赋予一个合适的初始数据,结果造成了编译或运行时出错。

(2) 运算对象:运算对象是程序执行时要运行的对象,包括一个算术表达式或者一个逻辑表达

式,或者是一个完整的语言,例如:赋值语句等。 ③控制成分,用以描述程序中所包含的控制。

(1) 顺序控制结构:顺序执行的语句构成了顺序结构。

(2) 循环控制结构:常见的循环控制结构有 for 语句和while 语句,至于它们的基本使用以及表

达形式这里不再赘述。

《软件工程——理论与实践》(第2 版)习题答案

(3) 分支控制结构:常见的分支控制结构有if 语句和 switch-case 语句两种,另外if 语句中又分

为带else 和不带else 语句两种。 ④传输成分,用以表达程序中数据的传输。传输成分包括基本的输入和输出。

3.程序设计语言的选择对应用程序的开发有什么样的影响?

答:通常应根据软件系统的应用特点,程序设计语言的内在特性以及系统的性能要求等方面来

进行选择。程序设计语言的选择应该考虑以下因素: ? 项目的应用领域。应尽量选取适合某个应用领域的语言。例如,选择Visual Basic 来

08级计算机科学与技术专业

贵州师范大学

开发数

据库应用就比选择Visual C++要容易一些。 ? 算法和计算复杂性。要根据不同语言的特点来选取能够适应软件项目算法和计算复杂性的

语言。例如,对于科学计算较多的应用一般会考虑选择FORTRAN 语言。

? 软件的执行环境。要选取机器上能运行且具有相应支持软件的语言。例如,在嵌入式系统

中(这类系统的硬件资源往往较少),软件开发语言多为C/C++、Java。

? 性能因素。应结合工程具体性能来考虑,例如实时系统对响应速度有特殊要求,就应选择

汇编语言、C 语言等。

? 数据结构的复杂性。要根据不同语言构造数据结构类型的能力选取合适的语言。C++、Java

这样的高级语言显然比汇编语言的表达能力要强。

? 软件开发人员的知识水平以及心理因素。知识水平包括开发人员的专业知识,程序设计能

力;心理因素是指开发人员对某种语言或工具的熟悉程度。从技术的层面来讲,大多数的

任务用任何一门高级语言都可以完成,所以选择开发者熟悉的语言是可以提高效率的。为

此,要尽量避免受外界的影响,盲目追求高、新的语言。

4.结构化程序设计的特点是什么?为什么要采用结构化程序设计?

答:结构程序设计的概念最早是由E. W. Dijkstra 提出来的,他指出:“可以从高级语言中取消

GOTO 语句,程序质量与程序中所包含的 GOTO 语句的数量成反比”。并指出结构程序设计并非简

单的取消GOTO 语句,而是创立一种新的程序设计思想、方法和风格,以显著提高软件生产率和质 量。

提高程序可读性的关键是使程序结构简单清晰,结构化程序设计(SP)方法是达到这一目标的 重要手段。

结构化程序设计是一种程序设计技术,它采用自顶向下,逐步求精的程序设计方法和单入口和

单出口的控制结构。具体来说,结构化程序设计技术主要具有以下特点: (1)自顶而下,逐步求精

这种逐步求精的思想符合人类解决复杂问题的普遍规律,从而可以显著提高软件开发的效率。

而且这种思想还体现了“先全局,后局部”、“先抽象,后具体”的方法,使开发的程序层次结构清

晰,易读、易理解还易验证,因而提高了程序的质量。

将程序自顶向下逐步细化的分解过程用一个树状结构来描述,如下图所示。

08级计算机科学与技术专业

搜索更多关于: 软件工程—方法与实践(许家珆) 的文档
软件工程—方法与实践(许家珆).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2o8ip6ylzw34ka294ozi_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top