总结主要是两部分.PDF

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

总 结 总结主要是两部分 1. 贯穿本课程(教科书)整体的具有普遍意义的重要原理, 编程和软件开发的重要原则 抽象,程序的复杂性控制 统一设计的意义和价值 2. 本课程涉及的主要技术内容 Scheme 语言和基本程序设计 一些具有通用性的高级技术 最后是复习和考试的一些情况说明 程序设计技术和方法 裘宗燕,2014-6-4 /1 软件的复杂性和控制 软件是人类开发的最复杂的系统 指令到整个软件/指令执行时间到软件运行时间/... 系统本身的复杂性 规模庞大 参与工作的人众多,主要靠手工和智慧,很难管理 静态描述与动态行为之间的关系,很难把握 环境和需求的动态演化带来的复杂性 复杂系统难完全理解,开发过程中新认识带来系统构造的变化 错误难以避免,修改的影响难以把握 需求不断变化,不断出现维护和提升功能的新需要 系统的良好设计,对于支持修改、变动、升级等活动至关重要 本书主要不是讨论巧妙的算法,而是讨论系统的组织和设计 程序设计技术和方法 裘宗燕,2014-6-4 /2 系统设计和抽象 控制和管理系统(程序)的复杂性,主要靠两个相关的指导思想 分解和隔离:将复杂系统分解为一些相互隔离又相互联系的部分 抽象:从每个部分看,与它有联系的各部分都是某种抽象。每个抽 象有清晰的接口,明确的功能,可以方便地使用 SICP 的基本观点:通过良好设计的抽象,实现系统中 各部分之间的良好隔离 每个部分的清晰接口 实现细节信息的隐藏 SICP 提出了三层抽象的概念(全书围绕着这几个核心概念) 过程抽象(及其实现的技术和问题) 数据抽象(及其实现的技术和问题) 语言抽象(及其实现的技术和问题) 程序设计技术和方法 裘宗燕,2014-6-4 /3 抽象 过程抽象 抽象技术:定义过程(函数) 封装:有关计算进程的实现细节 接口:过程的使用方式(参数,返回值等) 原则:一切可以定义为过程的计算片段都应该定义为过程 数据抽象 抽象技术:定义一组接口过程,或定义接收一组消息的过程 封装:对象的实现细节,对象的状态 接口:一组接口过程或者一组消息 系统的状态信息应分属于一批接口清晰的对象 o 首先设计好数据抽象的接口,隔离具体实现 o 尽可能推迟实现细节的设计决策,直至有了清晰的认识 程序设计技术和方法 裘宗燕,2014-6-4 /4 抽象 SICP 中有大量数据抽象设计的实例。设计中的活动: 遇到可能需要保存状态和信息,需要表示某种“事物”,立刻想到应 该定义一种数据抽象来表示它 设计该数据抽象的接口过程(构造,访问,变动状态的操作) 研究有关接口是否满足使用的需要,并做必要的修改 适当的时候再研究(再完成)相关的实现 语言抽象 抽象技术:定义和实现专门用于解决一类应用问题的语言 封装:某个应用领域里的典型构造和处理过程 接口:一组语言原语、构造机制和抽象机制,支持应用领域基本概 念的构造、组合和抽象,以方便具体问题的描述 原则和问题:要慎重启动,最终需要考虑和完成语言的实现 程序设计技术和方法 裘宗燕,2014-6-4 /5 统一的设计 书中许多实例显示了统一设计的美妙和威力,值得学习 在一个软件或者一个软件部件里 应该

文档评论(0)

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

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

1亿VIP精品文档

相关文档