欢迎来到天天文库
浏览记录
ID:33343541
大小:194.50 KB
页数:48页
时间:2018-05-24
《软件工程方法与实践-软件实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件工程方法与实践第6章软件实现电子教案第6章软件实现6.1编程语言选择6.2程序设计6.3软件系统集成6.4小结软件实现的任务软件实现是把软件设计的结果“转换”成用某种程序设计语言描述的源程序,进而得到可供“发布”的软件(产品)。软件规模都很大,通常是由多个模块(对象)组成的软件系统。软件实现除了以模块为单位的编程之外,还要把多模块(对象)集成为系统。所以,软件(产品)的实现包括编码和系统集成两大任务。6.1编程语言选择编程语言不仅仅是编码的工具,其语言特性也会对编码风格,对程序的可靠性、可理解性、可修改性和可维护性等质量要素产生极大的影响
2、。因此,编码之前要慎重选择一种适当的程序设计语言,并对所使用的语言十分熟悉,能得心应手、恰到好处地运用编程语言的特点,为提高程序的清晰性和效率服务。6.1.1程序设计语言的发展程序设计语言经历了第一代(机器语言)、第二代(汇编语言)、第三代(高级语言)和第四代语言(超高级语言)等发展阶段。◆第三代语言(结构化高级语言)是过程化语言。这类语言的每一条语句一般被编译成5~10条机器代码指令,编写的程序容易理解、容易维护,直接提供结构化的控制结构,具有很强的进程能力和数据结构能力。◆第四代语言(4GL,超高级语言)是非过程化语言。这类语言的一条语句
3、一般被编译成30~50条机器代码,进一步提高了编码效率,并使程序更易理解、更易维护。4GL的特点①4GL有很强的查询、存储、维护等数据管理机制,特别适用管理信息系统编程。②4GL能提供一组高效的非过程化命令,组成语言的基本语句。用户编程不必描述实现的细节。③4GL除含有程序控制逻辑和数据库操作语句外,还包括生成和处理报表、表格、图形,以及实现数据运算和分析统计功能的各种语句,构成了一个多功能、一体化的语言系统,可适应多种应用开发的需要。④4GL的编译器或解释器一般都较大,速度慢,并尽可能容错。面向对象语言面向对象语言类是在过程型语言的基础上发
4、展而来的。一类是混合型面向对象语言,如C++语言。C++语言是面向对象机制的C语言的一个超集。任何C程序不需改变就能把它们从结构化范型平滑地过渡到面向对象范型。另一类是纯面向对象语言,如Java语言。Java语言是继C++语言之后,当今最流行的网络编程语言。它的面向对象、跨平台和分布式等特点,极大地拓展了应用程序的内涵和外延,给传统编程带来了一系列崭新的概念,成为编程语言发展的潮流和方向。6.1.2程序设计语言的特点着重从对软件质量的影响,总结程序设计语言语法规则的特点。1.名字说明和类型说明程序设计语言中对名字和类型的说明不仅仅是一种安全措
5、施,还是一种重要的抽象机制,使得可以引用某些复杂的实体,而不必考虑这些实体的表示方法。名字说明和类型说明往往是紧密相联的。名字说明定义了对象,类型说明定义了该对象的类型,从而确定了名字的使用方式。6.1.2程序设计语言的特点2.变量初始化为减少发生“变量没有赋值”错误的可能性,一个方法是强制性的对程序中说明的所有变量初始化;另一个方法是在说明变量时由系统给变量赋一个特殊的、表明它尚未初始化的值,如果企图使用这个变量时,系统会发出错信号。3.程序对象的局部性一个软件系统的程序对象最简单的是线性特性。然而,程序对象之间一定存在着某些必要的联系,即
6、程序对象具有局部性(或称联想特性)。6.1.2程序设计语言的特点4.程序块结构块结构的高级语言以程序块为单位独立编译,并能提供有限形式的动态存储分配。但是,块结构语言的机制是不完善的,主要是内层程序块中说明的名字不能被外层程序块访问;由于动态存储分配,两次调用一个程序块的间隔中不能保存局部变量的值。有些块结构语言附加了某种控制机制来改善块结构性能。不同语言的块结构控制机制的名称:SIMULA中称为类程,MODULA中称为模块,ALGOL68中称为段,Ada中称为包。6.1.2程序设计语言的特点5.程序控制结构程序的控制结构有顺序、选择(分支)
7、和循环(重复)三种基本结构。顺序结构是最简单、最理想的结构形式,但不多见。分支结构有If型二分支语句和Case型多分支语句。循环结构有For,While-Do和Repeat-Until循环语句。循环控制往往需要在循环体内任意一点测试循环的结束条件。Ada语言提供了Exit语句,其语句格式:Exit{〈标识符〉}{When〈条件〉}6.1.2程序设计语言的特点6.异常处理多数程序设计语言处理异常的方法,只是使用一般控制结构检测异常,转移到相关程序段。PL/l和Ada等语言提供的异常处理机制,不必为异常处理过分增加程序长度,并且可以把出现异常的信
8、息从一个程序单元传送到另一个程序单元。7.独立编译机制一个大型软件,通常由多个不同的程序模块(过程、函数、子程序)组成。独立编译意味着能分别编译各个程序单元,然后再
此文档下载收益归作者所有