欢迎来到天天文库
浏览记录
ID:39339771
大小:2.84 MB
页数:102页
时间:2019-07-01
《程序设计与软件工程基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章程序设计与软件工程基础主要内容程序设计的方法和风格结构化程序设计的方法面向对象程序设计的方法软件工程的基本概念结构化分析方法结构化设计方法软件的测试软件的维护§9.1程序设计基础一、有关程序设计的基本概念1、程序由人所编写的、指挥和控制计算机完成某一任务的指令序列。2、程序设计编写程序的过程。是一门技术,需要相应的理论、技术、方法与工具的支持。3、程序设计方法研究问题求解和系统构造的软件方法学。主要有两种结构化程序设计面向对象程序设计4、程序设计语言编写程序所使用的语言,人和计算机进行交流的语言。分类高级语言:C、VB、VC、JAVA、C#等低级语言:机器语言和汇编语言二、程序设
2、计的风格1、概念:编写程序时所表现出来的特点、习惯和逻辑思路。2、作用良好的程序设计风格能够使设计的程序结构清晰合理、代码易于维护,保证软件开发的质量。3、原则“清晰第一、效率第二”4、内容(四个方面)(1)总体设计的风格程序设计首先要从全局出发,对整体结构进行设计,为后面的具体编程做好准备,其根本目标是降低程序的复杂性,提高程序的可读性。总体设计应满足结构清晰、思路清晰、条理清晰的要求。(2)语言运用的风格选取恰当的程序设计语言采用朴素的语句成分(3)程序文本的风格注意程序文本的易读性数据定义规范化程序中加必要的注释合理使用分隔符(4)输入输出的风格三、结构化程序设计方法1、主要思想
3、功能分解,逐步求精。把一个大的任务分解为若干个较小的功能部件分别实现。2、结构化程序设计的基本结构(3种)(1)顺序结构按照语句的自然顺序依次执行的结构。(2)选择结构(分支结构)根据条件判断结果的不同,选择相应的分支语句执行。分为两路分支结构和多路分支结构。两路分支结构多路分支结构(3)循环结构1)当型循环:先判断条件,当条件满足时执行循环体语句,条件不满足时跳出循环,执行循环后面的语句。2)直到型循环:先执行循环体语句,然后判断条件是否满足,如果满足条件则跳出循环,执行循环后面的语句。否则,继续执行循环体语句3、结构化程序设计的原则(1)模块化原则将一个大的任务分解为若干个人们能理
4、解的模块。遵循两个原则:按功能划分、按层次组织(2)自顶向下、逐步求精(3)限制使用goto语句四、面向对象程序设计方法1、主要思想把描述事物静态属性的数据结构和表示事物动态行为的操作放在一起构成一个整体,完整自然的表示客观世界的实体。2、基本概念(1)对象指客观存在并且能够相互区分的事物。可以是有形的(比如一辆汽车),也可以是无形的(比如一项计划)。(2)属性指对对象某一个方面特性的描述,它是对象包含的信息。例如:可用“姓名”、“年龄”、“性别”等属性描述一个人。(3)方法允许作用于某个对象上的各种操作,如汽车的前进、后退等。(4)事件是指由对象识别的一个动作.(5)类指具有相同属性
5、和相同操作的对象集合。类和对象的关系类是对象的抽象,对象是类的实例,犹如模具与铸件之间的关系(6)封装将对象的属性和方法结合成一个整体。是一种信息隐藏技术,使用者无法访问封装体的内部。(7)消息消息传递是对象之间通信的手段,一个对象向另一个对象发送消息来请求服务,接受消息的对象经过解释,然后给予响应。人工人学生教师农民小学生中学生大学生研究生助教讲师教授(8)继承一个类(称为子类)的定义可以定义在另一个已经定义类(称为父类)的基础上,子类可以继承父类中的属性和方法,也可以定义自己的属性和方法。如下图:假设已经定义好了一个人类,具有姓名、年龄、性别等属性和修改姓名、显示各信息的方法。现在
6、要定义一个学生类,只需要从人类继承一下,就自动具有人类的属性和方法,然后给学生类添加特有的属性如学号、班级、成绩等和相应的方法就可以了。继承可以一直进行下去,形成一棵树,称为类层次结构。(9)多态性指在类的不同层次上可以使用相同的方法名,但不同层次的类可以按自己的需要来实现这个行为。如上图中,人类可以具有显示信息(print)的方法,而学生类同样可以有同名的方法。但人类的Print显示姓名、年龄、性别信息,而学生类的print则显示姓名、年龄、性别、学号、班级、成绩信息。另外,整型数据和复数都有加法运算,但它们的运算规则是不同的,这也是一种多态性。3、面向对象技术面向对象的分析(OOA
7、)面向对象的设计(OOD)面向对象的实现(OOI)4、面向对象技术优点与人类习惯思维方法一致良好的可重用性良好的可维护性表示方法的一致性§9.2软件工程基础一、软件工程的概念1、软件:程序+文档程序:由人所编写的、指挥和控制计算机完成某一任务的指令序列。文档:与程序运行和维护有关的图文资料2、软件危机软件危机是指在软件开发和维护中所产生的一系列严重的问题。一是如何开发软件,满足用户对软件的需求,二是如何维护数量众多的已有软件。其主要表现如下:(
此文档下载收益归作者所有