版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章软件开发与信息处理技术软件工程基础数据库设计基础数据结构与算法程序设计基础多媒体技术简介7.1软软件工程程基础软件的规规模大小小决定了了软件开开发的难难度,因因此,必必须采用用科学的的软件开开发方法法,采用用抽象、、分解等等科学方方法降低低复杂度度,以工工程的方方法管理理和控制制软件开开发的各各个阶段段,以保保证大型型软件系系统的开开发具有有正确性、、易维护护性、可可读性和和可重用用性7.1..1软软件工工程基本本概念软件的发发展大致致分为四四个阶段段:(如下图))阶段第一阶段第二阶段第三阶段第四阶段程序设计阶段程序系统阶段软件工程阶段(结构化方法发)软件工程阶段(面向对象方法)典型技术面向批处理有限的分布自定义软件多用户实时数据库软件产品分布式系统嵌入“智能”低成本硬件消费者的影响强大的桌面系统面向对象技术专家系统人工神经网络网络计算机软件危机机和软件件工程软件危机机主要表表现在::对软件开开发成本本和进度度的估计计常常很很不准确确,经费费预算经经常突破破,完成成时间一一再拖延延;开发发的软件件不能满满足用户户要求,,用户软软件不满满意的现现象经常常发生;;开发的的软件可可维护性性差、可可靠性差差软件工程程:运用系统统的、规规范的和和可定量量的方法法开发、、运行和和维护软软件。它它包含三三个要素素:方法(Methodologies)工具(Tools)过过程(Procedures)软件工程程过程和和软件生生命周期期软件工程程过程软件生命命周期软件生命命周期模模型软件工程程的目标标和原则则软件开发发工具与与软件开开发环境境下图为软软件生命命周期各各阶段的的任务::时期阶段任务文档软件计划问题定义理解用户要求,划清工作范围计划说明书可行性研究可行性方案及代价需求分析软件系统的目标及应完成的工作需求规格说明书软件开发概要设计系统的逻辑设计软件概要设计说明书详细设计系统模块设计软件详细设计说明书软件编码编写程序代码程序、数据、详细注释软件测试单元测试、综合测试测试后的软件、测试大纲、测试方案与结果软件维护软件维护运行和维护维护后的软件图为软件件生命周周期的瀑布模型型和快速原形形法模型型软件计划划需求分析析软件设计计软件编码码软件测试试软件维护护需求分析析快速设计计建立模型型用户评价价模型修改原型型生产产品品软件工程程目标和和原则目标:在给定成成本、进进度的前前提下,,开发出出具有有有效性、、可靠性性、可理理解性、、可维护护性、可可重用性性、可适适应性、、可移植植性、可可追踪性性并满足足用户需需求的产产品软件工程程理论和和技术性性研究的的内容::软件开发发技术和和软件管管理技术术原则:抽象、信信息隐蔽蔽、模块块化、局局部化、、确定性性、一致致性、完完备性和和可验证证性软件开发发工具与与开发环环境软件开发发工具::是为支持持软件人人员开发发和维护护活动而而使用的的软件。。作用:可以帮助助开发人人员完成成一些繁繁琐的程程序编制制和调试试问题,,是软件件开发人人员将更更多的精精力和时时间投放放到最重重要的软软件需求求和设计计上,提提高软件件开发的的速度和和质量。。7.1..2结结构化化分析方方法结构化方方法(SructuredMethodology):是计算学学科的一一种典型型的系统统开发方方法,它它采用了了系统科科学的思思想方法法,从层层次的角角度,自自顶向下下的分析析和设计计系统。。内容:结构化分分析(SructuredAnalysis)结构化设设计(SructuredDesign)结构化程程序设计计(SructuredProgramDesign)软件开发发过程问题定义义可行性研研究需求分析析与需求求分析方方法结构化分分析方法法概述软件需求求规格说说明书结构化分分析方法法使用的的工具数据流图图(DataFlowDiagram)从数据传传递和加加工的角角度,以以图形方方式刻画画数据流流从输入入到输出出的移动动变换过过程数据字典典(DataDictionary)需对数据据流图中中的各个个元素作作完整的的定义和和说明,,是数据据流图的的补充工工具加工逻辑辑描述工工具(常用::结构化化自然语语言、判判定树和和判定表表)7.1..3结结构化化设计方方法软件设计计的基本本概念::是一个把把软件需需求转化化为软件件表示的的过程,,即把分分析结果果加工为为在程序序细节上上接近于于源程序序的软件件表示((软件描描述)软件设计计阶段分分为:系统的总总体设计计或概要要设计((确定软软件系统统结构))系统的详详细设计计(进行行各模块块的具体体设计))概要设计计概要设计计又称为总总体设计计,它的的任务是是确定软软件结构构结构化设设计方法法的基本本思想::采用自顶顶向下的的模块化化设计方方法,按按照模块块化原则则和软件件设计策策略,将将需求分分析得到到的数据据流图,,映射成由相相对独立立、单一一功能的的模块组组成的软软件结构构概要设计计概要设计计的图形形工具(层次图图、HIPO图、软件件结构图图)软件设计计原理软件结构构设计原原则面向数据据流的设设计方法法(变换流流分析设设计和事事务流分分析设计计)设计规格格说明软件结构构设计原原则提高模块块独立性性模块规模模应该适适中模块的深深度、宽宽度、扇扇出和扇扇入适当当模块的作作用域应应该在控控制域之之内降低模块块接口的的复杂程程度设计单入入口和单单出口模模块详细设计计任务:为软件结结构图中中的每一一个模块块确定实实现算法法和局部部数据结结构,并并用某种种工具描描述出来来结构化程程序设计计详细设计计工具(程序流流程图、、盒图[N-S图]、PAD图)详细设计计规格说说明7.1..4软软件测测试一、软件件测试的的目的与与任务目的:确保软件件的质量量,尽量量找出软软件错误误并加以以纠正,,而不是是证明软软件没有有错。任务:测试任务务(通过采采用一定定的测试试策略,,找出软软件中的的错误))调试任务务或纠错错任务(如果测测试到错错误,则则定位软软件中的的错误,,加以纠纠正)二、软件件测试的的准则三、软件件测试技技术与方方法综述述方法:静态测试试法动态测试试法技术:白盒测试试用例设设计黑盒测试试用例设设计7.1..4软件测试试白盒测试试用例设设计、逻辑覆覆盖以程序的的内部逻逻辑结构构为基础础的测试试用例设设计技术术,它要要求测试试人员十十分清楚楚程序的的逻辑结结构,考考虑的是是测试用用例对程程序内部部逻辑覆覆盖的程程度根据覆盖盖的目标标,可分分为:语句覆盖盖、判定定覆盖、、条件覆覆盖、判判定/条件覆盖盖、路径径覆盖、基本路径径测试黑盒测试试用例设设计分类:等价类划划分法边界值分分析法错误推测测法因果图四、软件件测试的的实施单元测试试集成测试试确认测试试系统测试试五、软件件测试计计划与测测试分析析报告测试是软件生生存周期期中的一一个独立立的关键键的阶段段7.1..4软件测试试未加入p2437.1..5程程序的的调试程序调试试可以分分为:静态调试试(主要通通过人的的思维来来分析源源程序代代码和排排错,是是主要的的调试手手段)动态调试试(是静态态调试的的辅助))主要的调调试方法法有:强行排错错法回溯法原因排除除法7.2数数据库设设计基础础数据库概概念数据模型型关系代数数数据库设设计与管管理7.2..1数数据据库概念念数据(Data)数据处理理(DataProcessing)数据库((Database,DB)数据库管管理系统统(DatabaseManagementSystem,DBMS)数据库管管理员((DatabaseAdministrator,DBA)数据库系系统(DatabaseSystem,DBS)数据库应应用系统统(DatabaseApplicationSystem,DBAS)数据库系系统的发发展人工管理理阶段文件系统统阶段数据库系系统阶段段(在关于于数据库库的诸多多新技术术中,比比较重要要的三种种是:面向对象象数据库库系统、、知识库库系统,,以及关关系数据据库系统统的扩充充)数据库系系统的基基本功能能数据定义义功能数据操纵纵功能数据库运运行控制制功能数据库的的建立和和维护功功能数据库系系统的基基本特点点数据的结结构化数据的高高共享性性和低冗冗余性数据的独独立性数据的统统一管理理与控制制数据库系系统的内内部结构构体系模式:是数据库库中全体体数据的的逻辑结结构和特特征的描描述,它它仅仅涉涉及到型型的描述述,不涉涉及到具具体的值值。模式式的一个个具体值值称为模模式的一一个实例例,同一一个模式式可以有有多个实实例。数数据库管管理系统统采用三级模式式结构:概念模式式、外模式((是概念念模式的的逻辑子子集,也也称子模模式或用用户模式式)内模式((也称存存储模式式)并提供二级映像像功能7.2..2数数据据模型数据模型型(datamodel):是表示实实体类型型及实体体之间联联系的模模型数据模式式的三个个要素::数据结构构数据操作作数据的完完整性约约束条件件数据模型型的三个个级别::概念数据据模型逻辑数据据模型物理数据据模型7.2..2数据模型型数据模型型的分类类E-R模型(实实体联系系模型))是直接从从现实世世界中抽抽象出实实体类型型及实体体间联系系,然后后用实体体联系图图(E-R图)表示示数据模模型层次模型型(若用图图表示,,它是一一棵倒立立的树))网状模型型(若用图表表示是一个网网络)关系模型型(数据的的逻辑结结构是一一张二维维表)7.2..3关关系系代数关系代数数:是一种抽抽象的查查询语言言,是关关系数据据操纵语语言的一一种传统统表达方方式,它它是用对对关系的的运算来来表达查查询的。。包含:运算对象象、运算算符合运运算结果果三大要要素关系代数数的运算算对象是是关系,,运算结结果亦为为关系,,所以说说,它是是关系模模型和关关系数据据库的理理论基础础传统的集集合运算算并(Union)关系R和关系S的并记做做R∪S,由属于于R或S的元组组组成,结结果仍为为n目关系差(Difference)关系R和关系S的差记做做R-S,由属于于R不属于S的元组组组成,结结果仍为为n目关系交(Intersection)关系R和关系S的交记做做R∩S,由属于于R且属于S的元组组组成,结结果仍为为n目关系广义笛卡卡尔积两个分别别为n目和m目的关系系R和S的广义笛笛卡尔积积R*S是一个((n+m)列的元组组的集合合关系R和S及其三种种传统的的集合运运算(如如下图))ABCa1a2a3b1b2b3c1c2c3ABCa1a2a3b1b2b3c1c2c3ABCA1A1A2a1B1B2B2b3C1C2C1c2ABCb1c1ABCA1a2B2b2C2c1关系R关系SR∩SR∪SR-S专门的关关系运算算选择运算算:是一个单单目运算算,是从从关系R中选取满满足一定定条件的的元组子子集。记记做:其中σ是选择运运算符;;F是限定条条件的布布尔表达达式,由由逻辑运运算符∧、∨等连接关系系表达式式组成。。关系表表达式的的基本形形式为::XθY,其中中θ={>、≥、<、≤、=、≠},X、Y可以是属属性名、、常量或或简单函函数投影(Projection)运算::也是一个个单目运运算,是是从关系系R中选取所所需要的的列组成成一个新新关系。。记做::∏A(R){t[A]︱t∈R}其中∏是投影运运算符;;A为关系R属性的子子集;t[A]为R中元组相相应于属属性A的分量连接(Jion)运算::是从2个关系的的笛卡尔尔积中选选取属性性间满足足一定连连接条件件的元组组集合专门的关关系运算算除(Division):给定关系系R(X,Y)和S(Y,Z)其中X,Y,Z是属性组组。R中的Y与S中的Y可以有不不同的属属性名,,但必须须出自相相同的域域集。R与S的除运算算得到一一个新关关系P(X),P是R中满足下列条件件的元组在在X属性列上上的投影影:R在X上分量值值为X的诸元素素在Y上投影的的集合包包含S在Y上投影的的集合。。除操作是是同是从从行和列列的角度度进行运运算。除操作符符用÷表示专门的关关系运算算7.2..4数据库设设计与管管理数据库及及其应用用系统的的设计步骤骤:用户需求求分析概念设计计逻辑设计计物理设计计数据库实实施数据库的的维护数据库设设计的需需求分析析用户的信信息要求求用户的处处理要求求对数据的的安全性性、完整整性的要要求数据库的的概念设设计概念结构构设计::只讲需求求分析得得到的用用户需求求抽象为为信息结结构即概概念模型型的过程程概念结构构独立于数数据库逻逻辑结构构,也独独立于支支持数据据库的DBMS。它是现实实世界与与机器世世界的中中介,它它一方面面能够充充分反映映现实世世界,包包括实体体与实体体之间的的联系,,同时又又易于向向关系、、网状、、层次等等各种数数据模式式转换。。数据库的的逻辑设设计逻辑结构构设计的的步骤::将概念结结构向一一般关系系模型转转化将第一步步得到的的结构向向特定的的DBMS支持下的的数据模模型转换换依据应用用的需求求和具体体的DBMS特征进行行调整与与完善数据库的的物理设设计确定数据据的存储储安排存取路径径的选择择和调整整确定系统统配置数据库管管理数据库的的管理主主要指::数据库的的实施和和维护分三个步步骤:数据的载载入和应用程序序的调试试数据库的的试运行行数据库的的运行和和维护数据库的的维护在数据库库运行阶阶段,对对数据库库经常性性的维护护工作主主要是由由DBA完成的。。包括::数据库的的存储和和恢复数据库的的安全性性、完整整性控制制数据库性性能的监监督、分分析和改改进数据库的的重组织织与重构构造7.3数据结构构与算法法算法数据结构构的基本本概念及及术语线性表栈队列树与二叉叉树查找与排排序7.3..1算法定义:是对特定定问题求求解步骤骤的一种种描述。。或者说说,是为为求解某某问题而而设计的的步骤序序列特征:有穷性确定性有效性输入输出算法复杂杂度评价一个个算法优优劣的主主要标准准是:算法的执执行效率率与存储储需求算法的效效率:指的是时时间复杂杂度(TimeComplexity)存储需求求:指的是空空间复杂杂度(SpaceComplexity)一般情况况下,算算法中的的基本操操作重复复操作执执行的次次数是问问题规模模n的某个函函数f(n),算法的时时间复杂杂度记做做T(n)=O(f((n))7.3..2数数据结结构的基基本概念念及术语语数据与数数据结构构数据是描述客客观事物物的数、、字符以以及所有有能输入入到计算算机中并并被计算算机程序序加工处处理的符符号的集集合数据元素素是数据的的基本元元素,即即数据集集合中的的个体数据项具有独立立意义的的最小数数据单位位数据对象象具有相同同特性的的数据元元素的集集合,是是数据的的子集结构被计算机机加工的的数据元元素之间间存在的的关系数据结构构带有结构构特性的的数据元元素的集集合数据的逻逻辑结构构集合线性结构构树形结构构图状或网网状结构构7.3..2数据结构构的基本本概念及及术语数据的存存储结构构一、顺序序存储结结构主要特点点:结点中只只有自身身信息域域,没有有连接信信息域,,因此存存储密度度大,存存储空间间利用率率高可以通过过计算直直接确定定数据结结构中第第i个结点的的存储地地址Li,计算公公式:L0+(i-1)m。(其中中L0为第一个个结点的的存储地地址,m为每个结结点所占占用的存存储单元元个数插入、删删除运算算不便,,会引起起大量结结点的移移动7.3..2数据结构构的基本本概念及及术语二、链式式存储结结构主要特点点:结点中除除自身信信息之外外,还有有表示连连接信息息的指针针域,因因此比顺顺序存储储密度小小,存储储空间利利用率低低逻辑上相相邻的结结点物理理上不必必邻接,,可用于于线性表表、树、、图等多多种逻辑辑结构的的存储表表示插入、删删除操作作灵活方方便,不不必移动动结点,,只要改改变结点点中的指指针值即即可数据的运运算检索:在数据结结构里查查找满足足一定条条件的结结点插入:往数据结结构里增增加新的的结点删除:把指定的的结点从从数据结结构里去去掉更新:改变指定定结点的的一个或或多个域域的值排序:保持线性性结构的的结点序序列里结结点数不不变,把把结点按按某种指指定的顺顺序重新新排列7.3..2数据结构构的基本本概念及及术语7.3..3线线性表表线性表是最常用用的一种种数据结结构。线线性表的的逻辑结结构是n个数据元元素的有有限序列列(a1,a2,…,an)顺序表::指用顺序序存储结结构存储储的线性性表链表:用链式存存储结构构存储的的线性表表栈和队列列——是对线性性表的插插入、删删除运算算可以发发生的位位置加以以限制的的两种特特殊的线线性表顺序表和和一维数数组各种高级级语言里里的一维维数组就就是用顺顺序方式式存储的的线性表表,因此此常用一维数组组称呼顺顺序表若顺序表表中结点点个数为为n,则:插入一个结点点平均需需要移动动之结点点个数为为n/2,算法的的时间复复杂度是是O(n);删除一个结点点平均需需移动结结点个数数为(n-1)/2,算法的的时间复复杂度是是O(n)链表表线性链表表(单链链表)::删除算法法的时间间复杂度度为O(n),其主要要执行时时间是搜搜索删除除位置循环链表表:指链表的的最后一一个结点点的指针针值指向向第一个个结点,,整个链链表形成成一个环环(如下下图)…结点1结点2结点n7.3..4栈栈栈:是一种特特殊的线线性表,,是限定定仅在表表尾进行行插入和和删除运运算的线线性表,,表尾称称为栈顶顶(top),表头头称为栈栈底(bottom)。空栈:指表中无无元素栈中有元元素a1,a2,…,an,如下页图所示,称称a1为栈底元元素。新新元素进进栈要置置于an之上,删删除或退退栈先对对an进行,即即“后进先先出”((LIFO)的操作原原则栈的物理理存储可可以用顺序存储储结构或或链式存存储结构构栈的运算算还有取取栈顶元元素,检检查栈是是否为空空,清除除等。栈的插入入和删除除ABACBABAFEBAATOPTOPTOPTOPTOPTOPan…a2a1进栈出栈栈底栈结构(3)(1)(2)(5)(4)(6)7.3..5队队列队列:是限定所所有的插插入都在在表的一一端进行行,所有有的删除除都在表表的另一一端进行行的线性性表。进进行删除除的一端端叫队列的头头,进行插插入的一一端叫队列的尾尾,如下页图所示。在队列中中,新元元素总是是加入到到队尾,,每次删删除的总总是对头头元素,,即当前前“最老老的”元元素,这这就是“先进先先出”((FIFO)的操作原原则队列的物物理存储储可以用用:顺序存储储结构,,也可用用链式存存储结构构队列的示示意(如如下图))出队列a1a2a3……an入队列头尾尾队列的插插入和删删除示例例初态插入A插入B删除A插入C插入D删除B插入EFRAFRRRRRRFFFFFFBABBBCCCCDDD溢出7.3..6树树与二二叉树树形结构构是一类重重要的非非线性结结构,树树和二叉叉树是最最常见的的树形结结构树(Tree):是一个或或多个结结点组成成的有限限集合T,有一个个特定的的结点称称为根((Root),其余余的结点点分为m(m≥0)个不相相交的集集合T1,T2,…,Tm,每个集集合又是是一棵树树,称作作这个根根的子树树(Subtree)树形结构构的常用用术语结点的度度(Degree):一个结点点的子树树的个数数树的度::树中各结结点的度度的最大大值树叶(Leaf):度为0的结点分支结点点:度不为0的结点双亲(Parent)、子女女(Child):结点的各各子树的的根称作作该结点点的子女女;相应应的该结结点称作作其子女女的双亲亲兄弟(Sibling):具有相同同双亲的的结点互互为兄弟弟结点的层层数(Level)树的深深度(Depth)森林(Forest)二叉叉树树二叉树((BinaryTree):是n(n≥0)个结点的的有限集集合,这这个集合合或者为为空集((n=0),或者者由一个个根结点点及两棵棵不相交交的、分分别称作作这个根根的坐姿姿树和右右子树的的二叉树树组成二叉树不不是树的的特殊情情形,二二者的区别:二叉树为为有序树树性质:1、在二叉叉树的i层上,最最多有2i-1个结点((i≥1)2、深度度为k的二叉树树最多有有2k-1个结点(k≥1)完全二叉叉树一棵深度度为k且具有2k-1个结点的的二叉树树称为满二叉树树(FullBinaryTree)深度为k,有n个结点的的二叉树树,当且且仅当其其妹一个个结点都都与深度度为k的满二叉叉树中编编号从1到n的结点一一一对应应时,称称为完全二叉叉树树的二叉叉树表示示在树(森森林)与与二叉树树间有一一个自然然的一一一对应的的关系,,每一棵棵树都能能唯一的的转换到到它所对对应的二二叉树把树和森森林转化化成对应应的二叉叉树:凡是兄弟弟就用线线连起来来,然后后去掉双双亲到子子女的连连线,只只留下道道第一个个子女的的连线不不去掉二叉树的的存储二叉树的的存储通通常采用用:链接方式式。每个结结点除存存储结点点自身的的信息外外再设置置两个指指针域IIink和rlink,分别指指向结点点的左子子女和右右子女,,当结点点的某个个指针为为空时,,则相应应的指针针值为空空(NIL)。结点的形形式为::IIinkinforlink二叉树的的遍历遍历一个个树形结结构是指指:按一定次次序系统统的访问问该结构构中的所所有结点点,使每每个结点点恰好被被访问一一次前序遍历历法(NLR次序)访问根,,按前序序遍历左左子树,,按前序序遍历右右子树后序遍历历法(LRN次序)按后序遍遍历左子子树,按按后序遍遍历右子子树,访访问根中序遍历历法(LNR次序)按中序遍遍历左子子树,访访问根,,按中序序遍历右右子树7.3..7查找查找:是数据结结构中的的基本运运算衡量一个个查找运运算法的的主要标标志是::查找过程程中对关关节码进进行的平平均比较较次数,,或称平平均检索索长度,,以n的函数的的形式表表示,n是数据结结构中的的结点个个数顺序查找找顺序查找找:是线性表表的最简简单的查查找方法法方法:用待查关关键码与与线性表表中各结结点的关关键码值值逐个比比较,若若找出相相等的关关键码值值则查找找成功,,若找遍遍所有结结点都不不相等,,则查找找失败优点:对线性表表的结点点逻辑次次序和存存储结构构无要求求缺点:平均检索索长度大大假设表中中各结点点被查找找的概率率相同,,即P=1//n,则顺序查查找成功功的平均查找找长度为为(n+1)/2二分法查查找二分法查查找:是一种效效率较高高的线性性表查找找方法。。要进行行二分法法查找,,线性表表结点必必须是按按关键码码值排号号顺序的的,且线线性表以以顺序方方式存储储方法:首先用要要查找的的关键码码值与线线性表中中间位置置结点的的关键码码值相比比较,这这个中间间结点把把线性表表分成两两个子表表,比较较相等则则查找完完成,不不等则根根据比较较结果确确定下一一步的查查找应在在哪个子子表中进进行,如如此下去去,直到到找到满满足条件件的结点点优点:平均检索索长度小小,为㏒2n。每经经过一次次关键码码比较,,则将查查找范围围缩小一一半,因因此经过过㏒2n次比较就就可完成成查找过过程缺点:排序线性性表花费费时间,,顺序方方式存储储插入、、删除不不便7.3..8排排序排序:是数据处处理中经经常使用用的一种种运算分类:直接插入入排序选择排序序冒泡排序序快速排序序直接插入入排序的基本方法法:每步将一一个待排排序记录录按其关关键码值值的大小小插入到到前面已已排序的的文件中中适当位位置上,,直到全全部插入入为止选择排序序的基本思想想:每一趟在在n-i++1(i=1,,2,……,n--1)个记录录中选取取关键码码最小的的记录作作为有序序序列中中的第i个记录。。它为最最简单且且为我们们最熟悉悉的排序序冒泡排序序的基本方法法:将待排序序的记录录顺次两两两比较较,若为为逆序,,则进行行交换快速排序序:又称分分区交换换排序,,是对冒冒泡排序序的一种种改进。。快速排序序的基本方方法:在待排序序序列中中任取一一个记录录,以它它为基准准用交换换的发方方法将所所有记录录分成两两部分,,关键码码比它小小的在一一个部分分,关键键码值比比它大的的在另一一个部分分。再分分别对两两个部分分实施上上述过程程,一直直重复到到排序完完成下图为四四种排序序方法的的比较::排序方法平均时间最坏情况辅助存储直接插入排序选择排序冒泡排序快速排序O(n2)O(n2)O(n2)O(n㏒2n)O(n2)O(n2)O(n2)O(n2)O(1)O(1)O(1)O(㏒2n)7.4程序设计计基础程序设计计语言发发展程序设计计方法与与风格结构化程程序设计计面向对象象程序设计计程序设计计指令:能被计算算机直接接识别与与执行的的指示计计算机进进行某种种操作的的命令,,CPU每执行一一条指令令,就完完成一个个基本运运算。程序:指令的序序列即让让计算机机解决某某一问题题而写出出的一系系列指令令程序设计计:编写程序序的过程程程序设计计语言::用于描述述计算机机所执行行的操作作语言7.4..1程序设计计语言发发展机器语言言:采用计算算机指令令格式并并以二进进制编码码表达各各种操作作的语言言汇编语言言:一种符号号语言,,采用助助记符来来表达指指令功能能高级语言言:是一种面面向问题题的语言言第四代语语言:是非过程程化语言言7.4..2程程序序设计方方法与风风格良好程序序设计风风格的侧侧重:源程序文文档如使使用的符符号名应应具有一一定的含含义,以以便对程程序功能能的理解解;对源源程序适适当的进进行注解解,以便便读者理理解程序序;在程程序中利利用空格格、空行行、缩进进等技巧巧使程序序层次清清楚对程序中中的数据据进行适适当说明明程序中的的语句结结构应该该简单直直接,语语句不复复杂化要对程序序的所有有输入数数据检查查其合法法性,检检查输入入项的各各种重要要组合的的合理性性,输入入格式要要简单,,输入允允许默认认值,输输入一批批数据后后最好使使用结束束标志,,在交互互式输入入/输出中使使用屏幕幕提示信信息格式式7.4..3结构化程程序设计计结构化程程序设计计的原则则自顶向下下逐步求精精模块化限制使用用GOTO语句结构化程程序设计计的基本本结构与与特点顺序结构构:按照程序序语句行行的自然然顺序,,一条语语句一条条语句的的往后执执行程序序选择结构构:又称分支支结构,,它根据据设定的的条件,,判断应应该选择择哪一条条分支执执行相应应的语句句序列循环结构构:又称重复复结构,,它根据据给定的的条件,,判断是是否需要要重复执执行某一一相同的的或相似似的程序序段7.4..3结构化程程序设计计结构化程程序设计计的优点点自顶向下下逐步求求精的方方法符合合人类解解决复杂杂问题的的普遍规规律,可可以显著著提高软软件开发发的成功功率和生生产率先全局后后局部、、先整体体后细节节、先抽抽向后具具体的逐逐步求精精过程开开发出的的程序有有清晰的的层次结结构,使使程序容容易阅读读和理解解使用单入入口单出出口控制制结构而而不使用用GOTO语句,使使得程序序的静态态结构和和它的动动态执行行情况一一致控制结构构有确定定逻辑模模式,编编写程序序代码只只限于使使用很少少几种直直截了当当的方式式,使源源程序清清晰流畅畅,易读读易懂而而且容易易测试程序清晰晰和模块块化使得得在修改改和重新新设计一一个软件件时可以以重用的的代码量量最大程序的逻逻辑结构构清晰,,有利于于程序正正确性证证明7.4..4面面向向对象的的程序设设计面向对象象方法的的主要特特点:从问题域域中客观观存在的的事物出出发来构构造软件件系统,,用对象象作为对对这些事事物的抽抽象表示示,并以以此作为为系统的的基本构构成单位位事物的静静态特征征用对象象的属性性表示,,动态特特征用对对象的服服务表示示对象的属属性与服服务结合合为一个个独立的的实体,,对外屏屏蔽其内内部细节节,称作作封装把具有相相同属性性和相同同服务的的对象归归为一类类,类是是这些对对象的抽抽象描述述,每个个对象是是它的类类的一个个实例面向对象象方法的的主要特特点:通过在不不同程度度上运用用抽象的的原则,,可以得得到较一一般的类类和较特特殊的类类复杂的对对象可以以用简单单的对象象作为其其构成部部分,称称为聚合合对象之间间通过消消息进行行通信,,以实现现对象之之间的动动态联系系通过关联联表达对对象之间间的静态态关系7.4..4面向对象象的程序序设计面向对象象方法的的概念面向对象象:面向对象象=对象+类+继承+通信如果一个个软件系系统是使使用这样样四个概概念设计计和实现现的,则则认为这这个软件件系统是是面向对对象的。。面向对对象的程程序的每每一组成成部分都都是对象象,计算算是通过过建立新新的对象象和对象象之间的的通信来来执行的的对象象对象是构构成世界界的一个个独立单单位,它它具有自自己的静静态特征征和动态态特征。。静态特征征:指可以用用某种数数据来描描述的特特征动态特征征:指对象所所表现的的行为或或对象所所具有的的功能定义:对象是系系统中用用来描述述客观事事物的一一个实体体,它是是构成系系统的一一个基本本单位。。一个对对象由一一组属性性和对这这组属性性进行操操作的一一组方法法构成。。属性:用来描述述对象静静态特征征的一个个数据项项方法:用来描述述对象动动态特征征的一个个操作序序列消息和方方法一个系统统由若干干个对象象组成,,各个对对象之间间相互联联系、相相互作用用。计算机系系统中,,消息就就是对象象之间的的纽带,,是用来来通知、、命令或或请求对对象执行行某个处处理或回回答某些些信息。。消息可以以是数据流,也可以以是控制流。一条消息息可以发发送给不不同的对对象,而而消息的的解释则则完全由由接收对对象完成成。不同同的对象象对相同同形式的的消息可可以有不不同的解解释类和实例例类和对象象之间的的关系如同一个个模具与与用这个个模具铸铸造出来来的铸件件之间的的关系。。类给出出了属于于该类的的全部对对象的抽抽象定义义,而对对象则是是符合这这种定义义的一个个实体。。一个对象象又称为为类的一一个实例例(Instance)类也可称称作对象象的模板板(Template)继承承性性定义:特殊类的的对象拥拥有其一一般类的的全部属属性与方方法,称称作特殊殊类对一一般类的的继承继承关系系是传递递的继承性对对于软件件重用有有很大益益处封装装性性封装具有有两个涵涵义:一、是把把对象的的全部属属性和全全部方法法结合在在一起,,形成一一个不可可分割的的独立单单位(即即对象))二、也称称作“信信息隐蔽蔽”,即即尽可能能隐蔽对对象的内内部细节节,对外外形成一一个边界界,只保保留有限限的对外外接口使使之与外外部发生生联系多态态性性对象的多多态性::指在一般般类中定定义的属属性或方方法被特特殊类继继承之后后,可以以具有不不同的数数据类型型表现出出不同的的行为。。这使得得同一个个属性或或方法名名在一般般类及其其各个特特殊类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个性化租房协议范本:2024年版版A版
- 2025年度绿色环保型不锈钢宣传栏广告制作与安装一体化服务合同
- 科技企业中的定制化服务解决方案
- 家用纺织品材料的技术创新与市场机遇
- 流程再造小微企业贷款审批新思路
- 个人自建房屋承包建设合同2024
- 个人对个人简易借款合同(2024年新版)版B版
- 个人二零二四年度房地产经纪服务合同5篇
- 家教中的音乐教育方案创新研究
- 教育与技术融合下的新型小学环保教学模式探索
- 2024年萍乡卫生职业学院单招职业技能测试题库标准卷
- 2024年高考数学(理)试卷(全国甲卷)(空白卷)
- DB32-T 4444-2023 单位消防安全管理规范
- 临床三基考试题库(附答案)
- 合同签订执行风险管控培训
- 人员密集场所消防安全管理培训
- JCT587-2012 玻璃纤维缠绕增强热固性树脂耐腐蚀立式贮罐
- 典范英语2b课文电子书
- 员工信息登记表(标准版)
- 春节工地停工复工计划安排( 共10篇)
- 新教材人教版高中物理选择性必修第二册全册各章节课时练习题及章末测验含答案解析(安培力洛伦兹力电磁感应交变电流等)
评论
0/150
提交评论