程序设计方法学01

程序设计方法学01

ID:33610524

大小:501.03 KB

页数:16页

时间:2019-02-27

程序设计方法学01_第1页
程序设计方法学01_第2页
程序设计方法学01_第3页
程序设计方法学01_第4页
程序设计方法学01_第5页
资源描述:

《程序设计方法学01》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、天津师范大学计算机与信息工程学院硕士研究生课程讲义程序设计方法学课程介绍¢任课老师信息•姓名:朱远平•Email:zhuyuanping@mail.tjnu.edu.cn¢课程信息•课程名:程序设计方法学•学分:3•课程目的–学习程序设计的基本概念、原理、方法21•参考书:1.陈海波,王申康,新编程序设计方法学,浙江大学出版社,20042.(美)斯特劳斯特鲁普(BjarneStroustrup),C++程序设计原理与实践,机械工业出版社,20103.ErichGamma等,设计模式:可复用面向对象软件的基础,机械工业出版

2、社,20073第一章:程序设计概论两个核心问题:程序设计是什么?程序设计的基本方法421.1引言:程序设计是什么?¢编代码,写程序?¢软件开发?5¢程序是什么?•程序是计算机代码—让计算机实现某项功能•程序=数据结构+算法¢数据结构:数据的组织方式。¢算法:解决问题的方法。¢程序:为实现某功能,根据数据结构和算法编制出来的代码。数据结构是框架,算法是思想,程序是产品•程序是对问题理解的精确表示63¢有关程序设计(Programming)的一些观点•设计、编制、调试程序的方法和过程。•是给出解决特定问题程序的过程,是软件构

3、造活动中的重要组成部分。•表达代码意图所需的思想、方法、技术和工具。•编程就是理解。还有一种观点:7软程件序编码、开设编程发计程序设计与编程、软件开发的关系84初步概念:怎样进行程序设计?¢开发程序四阶段•分析–问题是什么?用户想要做什么?用户需要什么?用户可以承担什么?……•设计–如何解决问题?系统整体结构是怎样的?系统包括哪些部分?这些部分如何通信?系统和用户之间如何通信?•编程–用代码表达问题(或设计)求解的方法,满足所有约束条件(时间、空间、可靠性等)下编写代码,保证这些代码正确和可维护。•测试–系统化地尝试各种

4、情况,保证系统要求的所有情况下都能正确工作。9我们应该学到什么?¢程序设计的概念、思想、原理、方法、技术和工具程序设计技术基本概念编程技巧编程思想编码规范课程内容安排:先方法后技术编程工具程序设计方法辅助设计工具通过程序改变生活,改变世界!105程序设计与编程语言¢编程语言或程序设计语言是实现程序设计的工具•汇编语言、C/C++语言、Java•程序设计方法适用于任何通用的程序设计语言¢程序设计的学习必须借助于一门程序设计语言•设计、组织和调试代码不可能从抽象理论中学到•用某种程序设计语言编写代码,从中获取实践经验•本课程

5、将以C++/Java为例111.2程序设计方法学概述¢1.2.1程序设计方法学的产生程序设计方法学是讨论程序的性质以及程序设计的理论和方法的学科。它起源于20世纪70年代初期软件危机的出现,在Dijkstra提出结构化程序设计的思想和概念后得到快速的发展。各种程序设计方法应运而生,有关程序性质的理论研究成果也不断涌现。除结构化程序设计、结构化定理以外,逐步求精法、功能抽象方法、模块化程序设计方法、递归程序设计方法、面向对象程序设计方法、组件式程序设计方法、范型程序设计方法,以及程序的正确性证明技术、形式推导技术、程序变换

6、技术、抽象数据类型的研究、程序复杂性分析技术,各种计算模型(自动机、图灵、有限框图)等都成为当前程序设计的主要指导方法和理论。应该说,正是程序设计方法学的研究,不断推动着人们程序设计水平、规模和复杂性的提高;反过来,程序设计的提高也推动着程序设计方法学者们学科的不断发展。126与软件和程序设计语言¢程序设计方法学的发展过程的发展过程密切相关•首先,与软件的发展过程密切相关(1)第一阶段,开创阶段。1955-1965年,计算机软件刚刚起步,高级语言的作用还没有被接受,机器语言和汇编语言仍然是程序员的主流编程语言。这个阶段,

7、正如Dijkstra所言:“decadeofhardware”,程序设计完全是一些特殊的天才才能胜任的工作,这些天才们拥有不为常人所知的技巧,能够使得庞大的机器按照预想执行,而程序设计本身就像蒸汽机起步时代的机械设计一样,被看作是一门艺术,还没有上升到方法学的高度。13(2)第二阶段,稳定阶段。1965-1985年,像科学计算语言FORTRAN、商务计算语言COBOL这样的高级语言开始被人们所接受,软件也不再是随硬件附带的赠品,逐渐成为一个独立的商品,具有其自身的价值。这个时期软件设计方法的主流是结构化分析和设计,以结构

8、化分析、结构化评审、结构化设计以及结构化测试为特征。随着软件应用价值的挖掘,其规模和复杂性不断增加,软件编制的工作量加大,常常需要几百到几千人年。按照原有的手工式方法研制软件周期长、可靠性差,维护困难,软件项目失败的案例屡见不鲜,这个现象就是人们通常所说的“软件危机”。软件危机的出现引起人们对程序设计方法的大讨论,从

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。