- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计方法学Programming Methodology选课介绍 华东师范大学计算机科学技术系 杨宗源 本课程是硕士研究生的学位基础课。要求学有余力、优秀的本科生可以选读。形式化方法是本课程的主要内容,如何使学生理解、掌握、运用该方法将贯穿于教学的始终。 从方法论角度讨论、研究程序设计(软件研发) 重点:程序设计的原理、原则与技术 目的:提高软件生产率 研究程序的性质以及程序设计的理论和方法的学科。基本内容一般可以包括: 程序的性质与特征 程序的功能描述 程序的正确性验证 程序的推导与综合 程序的结构分析 程序语义的描述 程序设计的策略与技术 程序研制工具、 环境 涉及程序设计理论、规范、研发技术(方法)、支持环境与自动程序设计等。 课程大纲 第一章 综述 第二章 程序的基本结构 §2.1 Prime程序 §2.2 复合程序 §2.3 结构定理 §2.4 递归结构定理 第三章 程序的数据结构 §3.1 类型与类型系统程序 §3.2 程序设计语言中的数据类型 §3.3 数据抽象与抽象数据类型(ADT) §3.4 面向对象方法 §3.5 面向方面编程 第四章 程序的正确性证明 §4.1 程序规范与程序的正确性定义 §4.2 部分正确性证明方法 §4.3 完全正确性证明方法 §4.4 最弱前置谓词(WP) 第五章 程序的形式推导方法 §5.1 面向目标的程序设计方法 §5.2 不变式推导方法 第六章 程序设计的形式化方法 §6.1 概述 §6.2 基于代数方法的规范语言——OBJ §6.3基于模型方法的规范语言——VDM 第七章 并行程序设计方法 §7.1 基本概念 §7.2 并行系统 §7.3 并行程序设计语言 §7.4 通讯顺序进程(CSP) 基本要求 了解程序设计方法学的地位和重要性; 掌握程序控制结构构成的基本原理、基本成份; 明确数据类型、数据抽象、抽象数据类型对程序设计及程序设计语言的影响及重要性并掌握相关技术; 掌握程序正确性证明的基本方法,具有构造程序规范的能力; 理解形式化软件开发的基本原理和典型方法; 理解并行程序设计基本概念,具有并行程序设计的初步能力. 参考书 《程序设计方法学基础》陈火旺 湖南科学技术出版社 《程序设计方法学》 仲萃豪 吉林大学出版社 《程序设计方法学教程》 张幸儿 南京大学出版社 《现代软件工程》周之英 科学出版社 《形式语义学基础与形式说明》 屈延文 科学出版社 《The Science of Programming》 Gries, D. 《Communicating Sequential Processos》Hoare,C.A.R 《Programming from Specification》 Carroll Morgan 《程序设计方法学》 胡正国 国防工业出版社 《对象技术导论》 冯玉琳 科学出版社 部分授课内容展示 今后的发展? 软件开发对象的变化 数据处理 数据 无关 信息技术 信息 与一个语境(context)相关联 知识 知识: 与多个语境相关联 智慧 智慧: 基于不同来源的已有知识 来创造的一般性原理 结构定理:任何一个Proper程序功能等价于基础系{;,if-then-else,while}所复合的程序。 证:。。。。。。 type String declare NULL?String /*语法说明*/ ISNULL(String)?Boolean LEN(String)?Int ADDCHAR(String,Char)?String CONCAT(String,String)?String SUBSTR(String,Int,Int)?String INDEX(String,String)?Int for all s,t?String, c,d?Char, i,j?Int let ISNULL(NULL)=true ISNULL(ADDCHAR(s,c))=false LEN(NULL)=0 LEN(ADDCHAR(s,c))=LEN(s)+1 CONCAT(s,NULL)=s CONCAT(s,A
文档评论(0)