软件工程模型与方法11、软件实现

上传人:j****9 文档编号:54542466 上传时间:2018-09-14 格式:PPT 页数:43 大小:267KB
返回 下载 相关 举报
软件工程模型与方法11、软件实现_第1页
第1页 / 共43页
软件工程模型与方法11、软件实现_第2页
第2页 / 共43页
软件工程模型与方法11、软件实现_第3页
第3页 / 共43页
软件工程模型与方法11、软件实现_第4页
第4页 / 共43页
软件工程模型与方法11、软件实现_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《软件工程模型与方法11、软件实现》由会员分享,可在线阅读,更多相关《软件工程模型与方法11、软件实现(43页珍藏版)》请在金锄头文库上搜索。

1、软件工程模型与方法 Models & Methods of Software Engineering,第十一章 软件实现 修佳鹏,本章内容,11.1 软件实现概述 11.2 程序设计语言与集成开发环境 11.3 程序设计方法 11.4 程序设计风格 11.5 程序效率,11.1软件实现概述,本节内容 11.1.1软件实现的目标 11.1.2软件实现的任务,11.1软件实现概述,从宏观上讲,软件实现包括详细设计、程序编码、单元测试和集成测试 。 从微观上来讲,软件实现指程序编码和单元测试 。 程序编码是详细设计的继续,程序编码过程的组织方式,编程语言特性和程序设计风格会对软件的质量即可靠性、可读

2、性、可测试性和可维护性等产生深远的影响。,11.1.1软件实现的目标,软件实现的目标就是选择某种程序设计语言,将详细设计结果进行编码实现,并形成可执行的软件系统的过程。 程序编码作为软件工程过程的一个阶段,是详细设计的继续,其输入是详细设计说明书,输出是源程序和可执行程序。,11.1.2软件实现的任务,(1)程序设计语言的选择。根据软件系统的特点和设计方案,选择一种或多种程序设计语言作为编码实现的工具。 (2)集成开发环境的选择。集成开发环境是来帮助程序设计者组织、编译、调试程序的开发工具软件。 (3)程序实现算法的设计。针对要实现特定功能的程序模块,设计其实现所需的数据结构和算法。 (4)程

3、序编码实现。明确了上述任务之后,在集成开发环境中使用该程序设计语言,按照设计好的算法和数据结构,将程序实现,并通过集成环境进行调试,发现并改正错误,完成程序编码工作,输出正确的可执行程序。,11.2程序设计语言与集成开发环境,11.2.1程序设计语言简介 11.2.2程序设计语言的选择 11.2.3集成开发环境简介 11.2.4集成开发环境的选择,11.2.1程序设计语言简介,1机器语言 机器语言是由机器指令代码组成的语言,是计算机唯一能够直接识别的语言,由0和1构成,是最早期人与计算机交互的程序语言。 用机器语言编写程序,对程序员要求相当高 机器语言难于记忆和理解,编写的程序很不直观,11.

4、2.1程序设计语言简介,2汇编语言 汇编语言比机器语言直观,用助记符代替操作码,用地址符号或标号代替地址码,所以汇编语言亦称为符号语言。 汇编语言比机器语言易于读写、易于调试和修改,同时也具有机器语言执行速度快,占内存空间少等优点。 汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植。,11.2.1程序设计语言简介,3高级程序设计语言 高级程序设计语言从20世纪50年代末至60年代初开始兴起,它用更接近自然语言的方式表示要完成的操作,高级程序设计语言易理解、易使用、易维护,已经成为目前程序编码的主要工具 ,按照不同的角度可以分为: 编译语言与解释语言 ; 结构化语言与面相对象语言 ;

5、 通用语言与专用语言 .,11.2.1程序设计语言简介,3第四代语言 第四代语言(Fourth-Generation Language, 以下简称4GL)是一种面向问题的程序设计语言,实现了在更高一级层次上的抽象,可以极大地提高软件生产率,缩短软件开发周期。 按照4GL的功能可以将其划分为查询语言和报表生成器、图形语言、应用生成器、形式规格说明语言等几类。,11.2.2程序设计语言的选择,程序设计语言的选择是程序编码的第一步,开发人员需要根据软件类型、质量要求、技术水平等多方面进行综合考虑,选择适当的程序设计语言,一般从以下几个方面考虑 : 软件的应用领域 ; 系统用户的要求 ; 现有的工具环

6、境 ; 开发环境成本 ; 程序员的水平 软件可移植性的要求,11.2.3集成开发环境简介,集成开发环境(IDE:Integrated Development Environment) IDE通常指运行在Windows操作系统中的图形界面软件系统,其将编辑源程序、调试程序、生成可执行文件等功能集成到一起,极大方便了程序员的编程工作。 IDE通常至少由一个编辑器、一个编译器工具链和一个调试器组成,目前常用的IDE通常包含以下功能: 项目和源代码的管理功能 ; 源代码编辑提示功能 ; 编辑功能。包括复制、粘贴、查找、替换等 ;,11.2.3集成开发环境简介,程序跟踪调试功能 ; 生成可执行文件功能

7、; 与其他插件结合的功能 ; 屏幕管理功能。 目前比较常用的IDE包括:微软公司的Visual Studio,开源的JAVA集成开发环境Eclipse,Borland公司的Delphi、C+ Builder、JBuilder等 ,使用IDE进行程序编码的优点有 : 快速生成项目的文件结构 ; 快速生成源文件的框架代码 ; 具有提示功能,快速找到需要使用的数据结构和函数 ; 能够提示详细的调试信息,有利于快速发现错误 ; 方便完成复杂的部署工作。,11.2.4集成开发环境的选择,每种程序设计语言都有多种由不同厂家、不同机构提供的集成开发环境,这些集成开发环境在外观、易用性、能力等方面都存在着一些

8、差异,在选择集成开发环境的时候,主要考虑以下因素: 程序员的熟悉程度 ; 开发环境的费用 ; 软件的易用性 ; 集成环境的成熟度 ; 与其他软件的配合 ; 软件规模。,11.3程序设计方法,本节内容 11.3.1结构化程序设计方法 11.3.2面向对象程序设计方法,11.3程序设计方法,所谓程序设计方法学就是讨论程序的性质、程序设计理论和方法的科学,包含的内容非常丰富,包括结构化程序设计、面向对象程序设计、程序正确性证明、程序变换、程序的形式说明与推导、程序综合、自动程序设计等。,11.3.1结构化程序设计方法,结构化程序设计技术是在20世纪60年代末、70年代初为了解决“软件危机”而提出来的

9、 ,结构化程序设计策略确实提高了程序的执行效率,减少了程序出错的概率,极大减少了维护的费用。 其基本思想是“自顶向下,逐步求精” ,即将程序按照功能划分为若干个基本模块,这些模块形成一个树状结构,功能相对独立,每个模块内部均是由顺序、选择和循环三种基本结构组成,模块实现过程中可以使用子程序。,11.3.1结构化程序设计方法,1结构化程序设计的基本原则: (1)使用语言中的顺序、分支、循环等有限的基本控制结构表示程序逻辑 ; (2)选用的控制结构只准许有一个入口和一个出口 ; (3)程序语句组成容易识别的块,每块只有一个入口和一个出口 ; (4)复杂结构应该用基本控制结构进行组合嵌套来实现 ;

10、(5)语言中没有的控制结构,可用一段等价的程序段模拟,但要求该程序段在整个系统中应前后一致 ; (6)严格控制GOTO语句 .,11.3.1结构化程序设计方法,1结构化程序采用“自顶向下,逐步求精”方法进行设计先,11.3.1结构化程序设计方法,例如,要求用筛选法求100以内的素数 main ( ) 建立2到100的数组A ,其中Aii; - - - - - - - - - - - - - - - 1 建立2到10的素数表B ,其中存放2到10以内的素数;- - - - 2 若Aii是B 中任一数的倍数,则剔除Ai;- - - - - - - - - 3 输出A 中所有没有被剔除的数;- -

11、- - - - - - - - - - - - - - - - - 4 上述框架中每一个加工语句都可进一步细化成一个循环语句。,11.3.1结构化程序设计方法,main ( ) /*建立2到100的数组A ,其中Aii*/ - - - - - - - - - - - - - - - - - - - - - - - - 1 int A101;for (i = 2;i = 100;i+)Ai = i;/* 建立2到10的素数表B ,其中存放2到10以内的素数*/ - - - - - - - - - - - 2B1 =2; B2 = 3; B3 = 5; B4 = 7;/*若Aii是B 中任一数的倍

12、数,则剔除Ai*/ - - - - - - - - - - - - - - - - - - - - 3for (j = 1; j = 4; j+)检查A 所有的数能否被Bj整除并将能被整除的数从A中剔除;- - - - - - - - 3.1/*输出A 中所有没有被剔除的数*/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -4 for (i = 2; i = 100; i+) 若Ai没有被剔除,则输出之;- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

13、- - - - -4.1 继续对3.1和4.1细化下去,直到最后每一个语句都能直接用程序设计语言来表示为止。,11.3.1结构化程序设计方法,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;

14、 i = 100; i+) /*若Ai没有被剔除,则输出之*/if (Ai != 0)printf(“A%d%dn”,i,Ai); ,11.3.2面向对象程序设计方法,面向对象的方法是一种分析方法、设计方法和思维方法 。 在面向对象程序设计过程中,类的实现是核心问题。所有的数据和操作都被封装在类的实例中,而整个应用则被封装在一个更高级的类中。 在应用软件的主类中,通过各个类的实例,实现对象之间的通信和操作,从而建立所要实现的应用软件。,11.3.2面向对象程序设计方法,1类的关系 一个类的实现常常在某些方面依赖于其它类的实例,所以实现类的时候就会涉及到处理类之间的关系。类的关系可以是应用级关系

15、,也可以是类内属性的实现关系 ,下面介绍三种类继承实现方式 : (1)针对实现的继承; (2)针对特殊化的继承; (3)is kind of (是一种)继承.,11.3.2面向对象程序设计方法,2类的实现 类的实现有多种方案,其中一种方案是先开发一个比较小的、简单的类,作为开发比较大的、复杂的类的基础,实现时需要考虑如下内容 : (1) 软件库(Software Base); (2)复用(Reuse); (3) 断言(Assertions); (4) 调试(Debugging); (5) 错误处理(Error Handling); (6)内建错误处理(Built_In Error Handli

16、ng ; (7)用户定义的错误处理(User_Defined Error Handling); (8) 多重实现(Multiple Implementation)。,11.3.2面向对象程序设计方法,3应用程序的实现 应用程序的实现是在所有的类都被实现之后的事情。事实上,实现一个应用程序是一个比用过程化方法更简单、更简短的过程。 当我们把类开发出来后,就已经实现了应用程序的大部分工作。每个类提供了完成应用程序所需要的某种功能。,11.4程序设计风格,本节内容 11.4.1源程序文档化 11.4.2数据说明 11.4.3语句结构 11.4.4输入和输出 (I / O) 11.4.5错误处理,11.4程序设计风格,好的程序设计风格可以极大提高程序的质量 ,在程序设计中要使程序结构合理、清晰,加入清晰的注释信息,避免使用逻辑复杂的算法,使用有含义的变量命名方式等等 。 程序设计风格一般表现在5个方面:源程序文档化、数据说明的方法、表达式和语句结构、输入/输出方法、错误处理。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号