软件工程编码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第7章
编码
软件设计阶段的设计质量一般与语言的技术特性
关系不大( 面向对象设计例外 ),但将软件设计转化为
程序代码时, 转化的质量往往受语言性能的影响,可
能会影响到设计方法。如Ada, Smalltalk, C++等支持
抽象类型的概念,Pascal, C等允许用户自定义数据类
型,并能提供链表和其他数据结构的类型。
第7章
编码
(1) Lisp: 是一种函数型语言,产生于 60 年代初,它特别适用 于组合问题中的符号运算和表处理,因此用于定理证明、树的搜 索和其他问题的求解。近年来Lisp广泛应用于专家系统的开发, 对定义知识库系统中的事实、规则和相应的推理相对要容易一些。 (2) Prolog: 是一种逻辑型语言,产生于 70 年代初,它提供 了支持知识表示的特性,每一个程序由一组表示事实、规则和推 理的子句组成, 比较接近于自然语言,符合人的思维方式。 以上讨论的语言,一般适用于相应的应用领域, 但要根据具体 情况灵活掌握。有的语言功能强,适用的范围较广,但比较庞大
24
火龙果整理 uml.org.cn
第7章
3.
编码
良好的编程环境不但有效提高软件生产率, 同时
能减少错误,有效提高软件质量。近几年推出了许多
可视化的软件开发环境, 如Visual BASIC, Visual C, Visual FoxPro及Delphi(面向对象的Pascal)等,都提 供了强有力的调试工具, 帮助你快速形成高质量的软 件。
2015年2月3日星期二 15
火龙果整理 uml.org.cn
第7章
编码
(2) Pascal 语言: 产生于 60 年代末, 具有很强的数 据和过程结构化的能力,它是第一个体现结构化编程 思想的语言, 由于它语言简明、数据类型丰富、程序 结构严谨,许多算法都用类 Pascal 来概括。用 Pascal 语言写程序,也有助于培养良好的编程风格。 (3) C语言:产生于70年代初,最初用于描述UNIX操作 系统及其上层软件,后来发展成具有很强功能的语言, 支持复杂的数据结构, 可大量运用指针,具有丰富灵 活的操作运算符及数据处理操作符。此外还具有汇编 语言的某些特性,使程序运行效率高。
(3) 4GL语言: 称为第4代语言,随着信息系统的飞速
发展, 原来的第2代语言(如FORTRAN,Cobol)第3代语
言(如Pascal, C等)受硬件和操作系统的局限,其开发 工具不能满足新技术发展的需求,因此,在 70 年代末,
提出了第4代语言的概念, 4GL的主要特征是:
2015年2月3日星期二 18
2015年2月3日星期二 9
火龙果整理 uml.org.cn
第7章
编码
(4) 可维护性:指源程序的可维护性对复杂的软件开
发项目的重要性,如易于把详细设计翻译为源程序、
易于修改需要变化的源程序。因此,源程序的可读性、
语言的文档化特性对软件的可维护性具有重大的影响。
2015年2月3日星期二
10
火龙果整理 uml.org.cn
2015年2月3日星期二
25
火龙果整理 uml.org.cn
第7章
4.
编码
科学计算、实时处理和人工智能领域中的问题算
法较复杂, 而数据处理、数据库应用和系统软件领域
第7章
3.
编码
语言的技术特性对软件工程各阶段有一定的影响,
特别是确定了软件需求之后,程序设计语言的特性就
显得非常重要了, 要根据项目的特性选择相应特性的 语言,有的要求提供复杂的数据结构,有的要求实时 处理能力强,有的要求能方便地进行数据库的操作。
2015年2月3日星期二
11
火龙果整理 uml.org.cn
火龙果整理 uml.org.cn
第7章
编码
§1 程序设计语言的特性及选择 一、程序设计语言特性 1.结构特性 结构化程序设计主要包括两方面: (1) 在编写程序时,强调使用几种基本控制结构,通过组 合嵌套,形成程序的控制结构。尽可能避免使用 GOTO语句。 (2) 在程序设计过程中,尽量采用自顶向下和逐步细化的 原则,由粗到细,一步步展开。
2015年2月3日星期二 2
火龙果整理 uml.org.cn
第7章
编码
5、语言中没有的控制结构,可用一段等价的 程序段模拟,但要求该程序段在整个系统中应 前后一致。 6、严格控制GOTO语句,仅在下列情形才可使 用: ① 用一个非结构化的程序设计语言去实现一 个结构化的构造。 ② 若不使用GOTO语句就会使程序功能模糊。 ③ 在某种可以改善而不是损害程序可读性的 情况下。
可读性强。
2015年2月3日星期二
17
火龙果整理 uml.org.cn
第7章
编码
(2) SQL语言: 最初是为IBM公司开发的数据库查询语
言, 目前不同的软件开发公司有了不同的扩充版本, 如 80 年代后期我国引入 Informix-SQL, Microsoft-
SQL可以方便地对数据库进行存取管理。
2015年2月3日星期二
1
火龙果整理 uml.org.cn
第7章
结构化程序设计的主要原则
编码
1、使用语言中的顺序、选择、重复等有限的基 本控制结构表示程序逻辑。 2、选用的控制结构只准许Байду номын сангаас一个入口和一个出 口。 3、程序语句组成容易识别的块,每块只有一个 入口和一个出口。 4、复杂结构应该用基本控制结构进行组合嵌套 来实现。
2015年2月3日星期二 6
火龙果整理 uml.org.cn
第7章
2.
编码
从软件工程的观点、程序设计语言的特性着重考
虑软件开发项目的需要,因此对程序编码有如下要求:
(1) 可移植性:指程序从一个计算机环境移植到另一 个计算机环境的容易程度,计算机环境是指不同机型、 不同的操作系统版本及不同的应用软件包。
目前, 除了常用的 AT&T C++, Turbo C++, Borland C++ 及 Microsoft C++ 等版本外,又推出了 Microsoft Visual C++, 充分发挥Windows和Web的功能。
2015年2月3日星期二 23
火龙果整理 uml.org.cn
第7章
编码
(2) Java: 是由Sun公司开发的一种面向对象的、分布
第7章
4)
编码
如果编写操作系统、编译系统等系统软件时,可 选用汇编语言、C语言、Pascal语言和Ada语言。
5)
如果要完成知识库系统、专家系统、决策支持系 统、推理工程、语言识别、模式识别、机器人视角及 自然语言处理等人工智能领域内的系统, 应选择的语 言如下:
2015年2月3日星期二
21
火龙果整理 uml.org.cn
2015年2月3日星期二
16
火龙果整理 uml.org.cn
第7章
2)
编码
数据处理与数据库应用可供选用的语言如下: (1) Cobol语言: 产生于 50 年代末, 是广泛用于商 业数据处理的语言,它具有极强的数据定义能力,程 序说明与硬件环境说明分开, 数据描述与算法描述分
开,结构严谨层次分明, 说明采用类英语的语法结构,
2015年2月3日星期二
14
火龙果整理 uml.org.cn
第7章
1.
编码
项目应用领域是选择语言的关键因素, 有下列几 种类型。 1) 该计算需要大量的标准库函数, 以便处理复杂的 数值计算, 可供选用的语言有: (1) FORTRAN语言: 是世界上第一个被正式推广应用 的计算机语言,产生于1954年,经过FORTRAN 0到 FORTRAN Ⅳ, 又相继扩展为FORTRAN 77,FORTRAN 90, 通过几个版本不断的更新,使它不仅面向科学计算, 数据处理能力也极强。
与维护也有一定的影响。支持结构化构造的语言有利
于减少程序环路的复杂性,使程序易测试、 易维护。
2015年2月3日星期二
13
火龙果整理 uml.org.cn
第7章
§2
编码
为开发一个特定项目选择程序设计语言时,必须 从技术特性、工程特性和心理特性几方面考虑。在选 择语言时,从问题入手, 确定它的要求是什么,以及 这些要求的相对重要性。由于一种语言不可能同时满 足它的各种需求, 所以要对各种要求进行权衡,比较 各种可用语言的适用程度, 最后选择认为是最适用的 语言。
2015年2月3日星期二 22
火龙果整理 uml.org.cn
第7章
2.
编码
有时编程语言的选择依赖于开发的方法,如果要用快速原 型模型来开发 ( 详见第 7 章 ) ,要求能快速实现原型,因此宜采用 4GL。如果是面向对象方法,宜采用面向对象的语言编程。近年 来,推出了许多面向对象的语言, (1) C++:是由美国AT&T公司的Bell实验室最先设计和实现的语言, 它提供了面向对象类的定义、继承、封装和消息传递等概念实现 的手段,又与 C 语言兼容,保留了C 语言的许多特性, 成为当今 最受欢迎的对象语言之一。
时、 并发和嵌入系统的语言。Ada语言是在Pascal基 础上开发出来的,但其功能更强、更复杂。它提供了 一组丰富的实时特性, 包括多任务处理、中断处理、 任务间同步与通信等, 它还提供了许多程序包供程序
员选择。通过修订,已成为安全、高效和灵活的面向
对象的编程语言。
2015年2月3日星期二
20
火龙果整理 uml.org.cn
第7章
编码
(2) 开发工具的可利用性:指有效的软件开发工具可 以缩短编码时间,改进源代码的质量。目前,许多编 程语言都嵌入到一套完整的软件开发环境里。这些开 发工具为:交互式调试器、交叉编译器、屏幕格式定 义工具、报表格式定义工具、图形开发环境、菜单系 统和宏处理程序等。
(3) 软件的可重用性:指编程语言能否提供可重用的 软件成分,如模块子程序可通过源代码剪贴、包含和 继承等方式实现软件重用。可重用软件在组装时,从 接口到算法都可能调整, 需考虑额外代价。
2015年2月3日星期二
12
火龙果整理 uml.org.cn
第7章
编码
这些语言特性为设计者进行概要设计和详细设计
提供了很大的方便。在有些情况下,仅在语言具有某 种特性时, 设计需求才能满足。如要实现彼此通信和 协调的并发分布式处理, 要用并发Pascal, Ada, 等 语言才能用于这样的设计。 语言的特性对软件的测试
编码
2015年2月3日星期二
5
火龙果整理 uml.org.cn
第7章
编码
程序2 if ( A < B ) and ( A < C ) then write ( A ) else if ( A B ) and ( B < C ) then write ( B ) else write ( C ) endif endif
2015年2月3日星期二
7
火龙果整理 uml.org.cn
第7章
编码
要增加可移植性,应考虑以下几点:在设计时模块与
操作系统特性不应有高度联系; 要使用标准的语言,
要使用标准的数据库操作,尽量不使用扩充结构; 对
程序中各种可变信息,均应参数化,以便于修改。
2015年2月3日星期二
8
火龙果整理 uml.org.cn
式的、 安全的、 高效的及易移植的语言,它的基本 功能类似于C++, 但做了重大修改, 不再支持运算符
重载、多继承及许多易于混淆和较少使用的特性,增
加了内存空间自动垃圾收集的功能, 使程序员不必考 虑内存管理问题。 Java 应用程序可利用语言提供的例 程库,能够自由地打开和访问网络上的对象。
2015年2月3日星期二
火龙果整理 uml.org.cn
第7章
3)
编码
实时处理软件一般对性能的要求很高, 可选用的
(1) 汇编语言:是面向机器的,它可以完成高级语言 无法满足要求的特殊功能,如与外部设备之间的一些
接口操作。
2015年2月3日星期二
19
火龙果整理 uml.org.cn
第7章
编码
(2) Ada语言:是美国国防部出资开发的,主要用于适
2015年2月3日星期二
3
火龙果整理 uml.org.cn
第7章
例1
编码
打印A, B, C三数中最小者的程序
2015年2月3日星期二
4
火龙果整理 uml.org.cn
第7章
程序1
100 110 120 130 140 if ( A < B ) goto 120; if ( B < C ) goto 110; write ( C ); goto 140; write ( B ); goto 140; if ( A < C ) goto 130; goto 100; write ( A ); end
相关文档
最新文档