精品关于面向对象程序设计的软件工程专业珍藏版.ppt

精品关于面向对象程序设计的软件工程专业珍藏版.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
精品关于面向对象程序设计的软件工程专业珍藏版

* 快速原型技术 * 使用动态高级语言的开发 动态高级语言开发是一种包含运行时数据管理强大功能的编程语言。 每当选择一种语言时,需回答以下问题: 1.问题的应用领域是什么? 2.需要什么样的用户交互? 3.语言提供的支撑环境如何? 动态的高级语言可以混合使用以构件系统原型。 * 数据库程序设计 1.交互式表格定义 开发者定义要显示的各个域及其位置。 2.表格之间的关联 开发者定义某个特定的输入将导致后续的表格显示。 3.域验证 开发者定义每个域输入值的允许范围。 * 组件和应用集成 如果系统中许多部分都可以复用而且不需重新进行设计和实现,那么系统开发的时间就会缩短。 利用可复用组件在系统描述中说明哪些可复用组件是可再利用的。 * 原型开发的两个层次实现 1. 应用层 整个应用系统与原型结合在一起,功能模块可以共享。 2. 组件层 单个组件集成进标准的框架从而完成系统的构造。 * 组件和应用集成优势 许多原型中的功能模块可以以极低的成本来实现,如果原型用户对这些较熟悉,就不需花费额外的时间去学习这些功能。 * 3.6.4 软件复用 可复用的软件与快速构造原型关系很密切。一堆可复用的模块单独看可能是无用的,但快速构造的原型系统就是靠它们连接起来而得到的。 对建立软件目标系统而言,复用就是利用早先开发的对建立新系统有用的信息来生产新系统。它是一项活动,而不是一个对象。 * 软件复用的条件 ⑴必须有简单而清晰的界面; ⑵它们应当有高自包含性,即尽量不依赖其他模块或数据结构; ⑶它们应具有一些通用的功能。当然,还应有好的文档,所有模块的接口、功能和错误条件描述应遵守一定的规范。 * 软件复用的范围 1) 复用数据:指程序不做任何修改,甚至输入输出数据的格式也无需改动,就可以从一个环境移到另一个环境中使用。 2) 复用模块:早期可复用模块的概念是指单个函数,它们不需要逐行编码就可以连接到一个程序中去 。 3) 复用结构:有效的复用应有一个结构上的考虑,而不仅是将模块连接在一起。 4) 复用设计:软件设计与实现是两个不同的阶段。若对于同一个设计,可以采用不同的实现方法,则这样的设计就是可复用的。 5) 复用规格说明:在基本需求不改变,或某一新问题与过去的某一软件在某个抽象层次上属于同一类的情况下,原规格说明仍可使用或参照使用。 * 软件复用技术 软件复用技术可分为两大类:合成技术和生成技术。 1) 合成技术:在合成技术中,构件(Building Blocks)是复用的基石。构件方法以抽象数据类型为理论基础,借用了硬件中集成电路芯片的思想:即将功能细节与数据结构隐藏封装在构件内部,有着精心设计的接口。构件在开发中像芯片那样使用,它们可以组装成更大的构件。构件可以是某一函数、过程、子程序、数据类型、算法等可复用软件成份的抽象,利用构件来构造软件系统,有较高的生产率和较短的开发周期。 * 三种方式将构件合成更大的构件 ① 连接。通常,标准函数库中的标准函数是靠编译和连接程序与其他模块一起合成系统的 ② 消息传递和继承。例如smalltalk面向对象的程序设计体系结构,就是通过消息传递和继承机制把对象类与其相关的其他对象类联系起来合成一个系统的。 ③ 管道机制。例如,UNIX中用管道(pipe)连接shell命令,使前一命令的输出成为后一命令的输入,用管道机制把多个shell命令连接在一起完成一个更复杂的功能。 * 软件复用技术 2) 生成技术:生成技术利用可复用的模式(Patterns),通过生成程序产生一个新的程序或程序段,产生的程序可以看成是模式的实例。可复用的模式有两种不同的形式:代码模式和规则模式。前者的例子是应用生成器,可复用的代码模式就存在于生成器自身。通过特定的参数替换,生成抽象软件模块的具体实体。后者的例子是变换系统,它利用变换规则集合。其变换方法中通常采用超高级的规格说明语言,形式化地给出软件的需求规格说明,利用程序变换系统(有时要经过一系列变换),把用超高级规格说明语言编写的程序转化成某种可执行语言的程序。这种超高级语言抽象能力高,逻辑性强,形式化好,便于使用软件者维护。 * 两种复用技术比较 构件方法支持自底向上的软件开发方法,应当具有硬软件独立性、可读性、可理解性、正确性和可修改性。 变换方法侧重于程序的推导方式、推理规则,支持自顶向下的软件开发技术。由于它的形式化程度高,抽象性强,一般软件开发者不易掌握,在描述某些实际问题时也有困难。另外,经过多次变换得到的可执行程序的效率较低,在时间和存储空间方面的需求较高,这都是需要解决的问题。 可以将这两种方法结合起来使用,取长补短,再吸

文档评论(0)

seunk + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档