资源预览内容
第1页 / 共47页
第2页 / 共47页
第3页 / 共47页
第4页 / 共47页
第5页 / 共47页
第6页 / 共47页
第7页 / 共47页
第8页 / 共47页
第9页 / 共47页
第10页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2009 BUPT TSEG,软件工程模型与方法 Models & Methods of Software Engineering,第十一章 软件实现 修佳鹏 mediabupt.edu.cn, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,本章内容,11.1 软件实现概述 11.2 程序设计语言与集成开发环境 11.3 程序设计方法 11.4 程序设计风格 11.5 程序效率, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,11.1软件实现概述,本节内容 11.1.1软件实现的目标 11.1.2软件实现的任务, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,11.1软件实现概述,从宏观上讲,软件实现包括详细设计、程序编码、单元测试和集成测试 。 从微观上来讲,软件实现指程序编码和单元测试 。 程序编码是详细设计的继续,程序编码过程的组织方式,编程语言特性和程序设计风格会对软件的质量即可靠性、可读性、可测试性和可维护性等产生深远的影响。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,11.1.1软件实现的目标,软件实现的目标就是选择某种程序设计语言,将详细设计结果进行编码实现,并形成可执行的软件系统的过程。 程序编码作为软件工程过程的一个阶段,是详细设计的继续,其输入是详细设计说明书,输出是源程序和可执行程序。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,11.1.2软件实现的任务,(1)程序设计语言的选择。根据软件系统的特点和设计方案,选择一种或多种程序设计语言作为编码实现的工具。 (2)集成开发环境的选择。集成开发环境是来帮助程序设计者组织、编译、调试程序的开发工具软件。 (3)程序实现算法的设计。针对要实现特定功能的程序模块,设计其实现所需的数据结构和算法。 (4)程序编码实现。明确了上述任务之后,在集成开发环境中使用该程序设计语言,按照设计好的算法和数据结构,将程序实现,并通过集成环境进行调试,发现并改正错误,完成程序编码工作,输出正确的可执行程序。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,11.2程序设计语言与集成开发环境,11.2.1程序设计语言简介 11.2.2程序设计语言的选择 11.2.3集成开发环境简介 11.2.4集成开发环境的选择, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,11.2.1程序设计语言简介,程序设计语言,通常简称为编程语言,是一组用来定义计算机程序的语法规则。 它是一种被标准化的交流技巧,用来向计算机发出指令。 一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,机器语言,机器语言是由机器指令代码组成的语言,是计算机唯一能够直接识别的语言,由0和1构成,是最早期人与计算机交互的程序语言。 用机器语言编写程序,对程序员要求相当高 机器语言难于记忆和理解,编写的程序很不直观 ,虽然运行效率高,但是出错率也高, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,汇编语言,汇编语言比机器语言直观,用助记符代替操作码,用地址符号或标号代替地址码,所以汇编语言亦称为符号语言。 汇编语言比机器语言易于读写、易于调试和修改,同时也具有机器语言执行速度快,占内存空间少等优点。 汇编语言依赖于具体的机型,不能通用,也很难在不同机型之间移植。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,高级程序设计语言,高级程序设计语言从20世纪50年代末至60年代初开始兴起,它用更接近自然语言的方式表示要完成的操作,高级程序设计语言易理解、易使用、易维护,已经成为目前程序编码的主要工具 ,按照不同的角度可以分为: 编译语言与解释语言 ; 结构化语言与面相对象语言 ; 通用语言与专用语言 ., 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,第四代语言,第四代语言(Fourth-Generation Language, 以下简称4GL)是一种面向问题的程序设计语言,实现了在更高一级层次上的抽象,可以极大地提高软件生产率,缩短软件开发周期。 按照4GL的功能可以将其划分为查询语言和报表生成器、图形语言、应用生成器、形式规格说明语言等几类。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,11.2.2程序设计语言的选择,程序设计语言的选择是程序编码的第一步,开发人员需要根据软件类型、质量要求、技术水平等多方面进行综合考虑,选择适当的程序设计语言,一般从以下几个方面考虑 : 软件的应用领域 ; 系统用户的要求 ; 现有的工具环境 ; 开发环境成本; 程序员的水平 ; 软件可移植性的要求 ;, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,常见的程序设计语言, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,程序语言的应用领域, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,11.2.3集成开发环境简介,集成开发环境(IDE:Integrated Development Environment) :通常指运行在Windows操作系统中的图形界面软件系统,其将编辑源程序、调试程序、生成可执行文件等功能集成到一起,极大方便了程序员的编程工作。 IDE基本组成: 一个编辑器 一个编译器工具链 一个调试器, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,IDE的功能,项目和源代码的管理功能 ; 源代码编辑提示功能 ; 编辑功能。包括复制、粘贴、查找、替换等 ; 程序跟踪调试功能 ; 生成可执行文件功能 ; 与其他插件结合的功能 ; 屏幕管理功能。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,常见集成开发环境,目前比较常用的IDE包括:微软公司的Visual Studio,开源的JAVA集成开发环境Eclipse,Borland公司的Delphi、C+ Builder、JBuilder等 使用IDE进行程序编码的优点有 : 快速生成项目的文件结构 ; 快速生成源文件的框架代码 ; 具有提示功能,快速找到需要使用的数据结构和函数 ; 能够提示详细的调试信息,有利于快速发现错误 ; 方便完成复杂的部署工作。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,11.2.4集成开发环境的选择,每种程序设计语言都有多种由不同厂家、不同机构提供的集成开发环境,这些集成开发环境在外观、易用性、能力等方面都存在着一些差异,在选择集成开发环境的时候,主要考虑以下因素: 程序员的熟悉程度 ; 开发环境的费用 ; 软件的易用性 ; 集成环境的成熟度 ; 与其他软件的配合 ; 软件规模。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,11.3程序设计方法,本节内容 11.3.1结构化程序设计方法 11.3.2面向对象程序设计方法, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,11.3程序设计方法,所谓程序设计方法学就是讨论程序的性质、程序设计理论和方法的科学,包含的内容非常丰富,包括: 结构化程序设计 面向对象程序设计 程序正确性证明 程序变换 程序的形式说明与推导 程序综合 自动程序设计, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,11.3.1结构化程序设计方法,结构化程序设计技术是在20世纪60年代末、70年代初为了解决“软件危机”而提出来的 ,结构化程序设计策略确实提高了程序的执行效率,减少了程序出错的概率,极大减少了维护的费用。 其基本思想: “自顶向下,逐步求精” ,即将程序按照功能划分为若干个基本模块,每个模块内部均是由顺序、选择和循环三种基本结构组成。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,结构化程序设计的基本原则,(1)使用语言中的顺序、分支、循环等有限的基本控制结构表示程序逻辑 ; (2)选用的控制结构只准许有一个入口和一个出口 ; (3)程序语句组成容易识别的块,每块只有一个入口和一个出口 ; (4)复杂结构应该用基本控制结构进行组合嵌套来实现 ; (5)语言中没有的控制结构,可用一段等价的程序段模拟,但要求该程序段在整个系统中应前后一致 ; (6)严格控制GOTO语句 ., 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,“自顶向下,逐步求精”方法, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,“自顶向下,逐步求精”方法,例如,要求用筛选法求100以内的素数. main ( ) 建立2到100的数组A ,其中Aii; - - - - - - - - 1 建立2到10的素数表B ,其中存放2到10以内的素数;- - - - 2 若Aii是B 中任一数的倍数,则剔除Ai;- - - - 3 输出A 中所有没有被剔除的数;- - - - - - - - - 4 上述框架中每一个加工语句都可进一步细化成一个循环语句。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,“自顶向下,逐步求精”方法,main ( ) /*建立2到100的数组A ,其中Aii*/ - - - - - - - - - - - - - - - - - 1 int A101; for (i = 2;i = 100;i+)Ai = i; /* 建立2到10的素数表B ,其中存放2到10以内的素数*/ - - - - - 2 B1 =2; B2 = 3; B3 = 5; B4 = 7; /*若Aii是B 中任一数的倍数,则剔除Ai*/ - - - - - - - - - - 3 for (j = 1; j = 4; j+) 检查A 所有的数能否被Bj整除并将能被整除的数从A中剔除; 3.1 /*输出A 中所有没有被剔除的数*/ - - - - - - - - - - - - - - - - - - -4 for (i = 2; i = 100; i+) 若Ai没有被剔除,则输出之;- - - - - - - - - - - - - - - - - - - - -4.1 , 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,“自顶向下,逐步求精”方法,main ( ) for (i = 2;i = 100;i+)Ai = i; B1 =2; B2 = 3; B3 = 5; B4 = 7; /*若Aii是B 中任一数的倍数,则剔除Ai*/ for (j = 1; j = 4; j+) /*检查A 所有的数能否被Bj整除并将能被整除的数从A 中剔除*/ for (i = 2; i = 100; i+) if (AiBj*Bj = Ai)Ai = 0; /*输出A 中所有没有被剔除的数*/ for (i = 2; i = 100; i+) /*若Ai没有被剔除,则输出之*/ if (Ai != 0) printf(“A%d%dn”,i,Ai); , 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,11.
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号