- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序设计方法学的基本概念和发展历程
第一课程序设计方法学绪论 浙江大学计算机学院博士 蔡 铭 电O)H) Email: hzcai_ming@263.net 本讲的内容 本课程的核心内容和目的 程序设计语言的介绍 软件危机与程序设计方法学的产生 程序设计方法学的内容 作业及考试情况 本课程的核心内容 ——怎样设计出“优秀”的程序 1.什么样的程序才是“优秀” 的? “优秀”的程序与优秀程序员的迫切性 “优秀”程序的要素 优秀的程序与优秀程序员的迫切性 开发成本的例子 IBM公司的早期操作系统MVS,700万行代码,成本20亿美元,平均每行代码285美元 开发效率的试验 调试时间 28:1 编程时间 16:1 程序长度 6:1 程序速度 6:1 “优秀” 程序的要素 正确性 易验证 结构化 模式化 易维护 易扩展 易阅读 性能均衡 本课程的核心内容 ——怎样设计出“优秀”的程序 软件硕士应具备的素质 能在系统分析、系统设计、系统编码和系统调试四个领域,准确地使用至少一种新方法 能够选择该适当的数据结构和算法进行编码的能力,并能够对软件进行基本的测试和调试,并改进系统的性能 至少熟悉一个有意义的领域(操作系统、编译系统、数据库、MIS),并研制出领域较为先进的软件系统 能够有效地组织和管理3-7人的开发团队 能够与客户、经理和技术人员进行有效沟通的能力 具有评价、选择和实现新方法、新技术的能力 本课程与相关课程的区别 软件工程 (管理) 数据结构与算法(实现) 程序设计语言学(运行) 程序设计技巧 (技巧) 程序设计方法学(方法学) 研究程序的性质,以及程序设计的理论、方法和技术的科学 本课程的参考文献 《程序设计方法学》胡正国等 国防工业出版社 2003年1月 《程序设计方法学》冯树椿等 浙江大学出版社 1987年12月 《软件设计方法》 王选 清华大学出版社 1992年4月 《软件开发的科学与艺术》 微软电子工业出版社 2002年5月 《程序设计语言概念和结构》Ravi Sethi 机械工业出版社 2002 《程序设计实践》 Brian W.K 机械工业出版社 2000年8月 《Design Patterns Elements of Reusable Object-Oriented Software》Erich,Person Education,2002年3月 《Art of Computer Programming, Volume 1-3》Donald E.Knuth 国防工业出版社 《软件项目管理》 Philip Metzger 电子工业出版社 2002年8月 本讲内容 本课程的核心内容和目的 程序设计语言的介绍 软件危机与程序设计方法学的产生 程序设计方法学的内容 作业及考试情况 程序设计语言 一、机器语言和汇编语言 原始的冯.诺依曼机器(1946年)代码 00000010101111001010 00000010111111001000 00000011001110101000 机器语言是晦涩难懂的,而英语是罗嗦而非形式化的, 因此需要设计另外一种语言来写程序,它应该是符号式 的或者说助记的。 高级语言的优越性:可扩展性;可读性;可移植性 二、命令式语言 科学计算的语言 Backus[1957]为Fortran的成功预备了两个成分:记法和效率 APL是唯一使用带有专用符号的交互式键盘来编写程序的语言。 商用语言 第一个商用语言是COBOL(面向商业的公用语言的缩写)。它是一种功能很强而又极为冗长的语言 BASIC设计者的最意图体现在该语言的名字上--初学者通用的符号指令码 多用途语言 Alogol60主导20世纪60年代程序设计语言的发展。 Pascal作为教学语言扩展了Alogol Dennis Ritchie1972年创建C语言 三、函数式语言 1958年MCarthy设计了LISP用作符号演算,具有严格的理论基础 Standard ML、Miranda、Haskell对语言发展的推动作用 1984年CLOS是LISP的面向对象扩展,全名是Common Lisp Object System 四、(基于)面向对象语言 Simula :Kristen Nygaard和Ole-Jodan Dahl在1961年设计了这个语言,目的是想同时作为一种描述语言和程序设计语言 Smalltalk是第一个严格意义的全面向对象的程序设计语言,它的设计受到了LISP的影响 C++设计的是
文档评论(0)