软件工程 ch7课件.pptVIP

  • 6
  • 0
  • 约9.57千字
  • 约 94页
  • 2017-08-12 发布于河南
  • 举报
软件工程 ch7课件

第七章 实现;;(维护报告);第七章 实现;7.1 编码;1、程序编码阶段: 相当于机械工程中图纸设计完成后的“制造”阶段。 2、编码(Coding)阶段的任务: 为每个模块编写程序,将详细设计的结果转换为用某种计算机语言写的程序——源程序代码。 3、编码阶段应交付的结果: 带有“程序内部文档”的、不再含有语法错误的程序 4、在编码中所遇到的问题: 程序设计语言的特性 程序设计风格;一、选择程序设计语言 1. 语言选择的一般准则 1)系统用户的要求: 根据所开发的系统。 2)软件的执行环境: 要选取机器上能运行且具有相应支持软件的语言。 3)性能因素: 应结合工程具体性能来考虑,例如实时系统要求速度, 就应选择汇编语言。;4)数据结构的复杂性: 要根据不同语言构造数据结构类型的能力选取合适的语言。 5)软件开发人员的知识水平以及心理因素。 知识水平: 专业知识,程序设计能力。 心理因素:对某种语言或工具的熟悉程度。 受外界的影响(盲目追求高、新) ;7)软件的应用领域: (1)传统 的高级语言 BASIC、FORTRAN、ALOGOL (2)通用的结构化程序设计语言: 特点:具有很强的过程功能和数据结构功能,并提供结构化的逻辑构造。 代表:PASCAL、PL/1、C、Ada等。 PL/1:第一个真正广泛使用的语言,可用于各种不同的应用领域。支持多任务处理和复杂的I/O功能,表处理等。 Ada: 用于其嵌入式实时计算机设计的标准语言。 提供了一组丰富的实时特性, 包括多任务处理、中断处理任务间的同步通信等。 提供了许多ADA程序包及辅助软件开发环境。 ;(3)面向对象的程序设计语言: ◆Smalltalk 首先实现真正的面向对象的程序设计,支持程序部件的“可复用性”。 ◆C++ 既融合了面向对象的能力,又与C语言兼容,保留了C的许多重要特性。 维护了大量已开发的C库、工具及C源程序的完整性。 代表:Turbo C++、Borland C++、Microsoft C++ ◆Java 是一种面向对象的、分布式的语言。 功能强大、高效安全,与结构无关,易于移植,是多线程的动态语言。 增加了Objective C的扩充,提供更多的动态解决方法。 (4)面向对象的可视化语言——所见即所得 VB(Microsoft Visual Basic) VC(Microsoft Visual C++) (5)第四代语言 第四代语言称为4GL,不需要规定算法细节, 在更高层次上用不同文法表示程序结构和数据结构。包括: ◆查询语言 ◆程序生成器 ◆其他4GL 判断支持语言、原型语言、形式化规格说明语言;7.1 编码;(2)源程序中的注释: 注释可以分为序言性注释和解释性注释。 ◆序言性注释是在一个程序或模块的开头对本程序段的模块功能、 接口信息等做必要的说明。 ◆解释性注释是插入在程序正文中说明语句段和程序段功能的注释行。 (3)注意源程序的书写格式: 将源程序缩进编排,加上适当的空格和空行,可使程序的模块和复合关系更清晰。;2、数据说明: (1)数据说明的次序应该标准化: 便于查阅,加速测试、调试和维护的过程 (2)按字母顺序排列变量名: (3)对于复杂的数据结构,应该用注释说明用程序设计语言实现这个数据结构的方法和特点;3. 语句构造 ◆语句构造的技术,尤其是流程控制语句的构造技术,直接影响到程序的可读性及效率。 例1: FOR I:=1 TO N DO FOR J:=1 TO N DO V[I,J]:=(I DIV J)*(J DIV I); 这是一个给N*N的单位矩阵赋值的程序段,编程者显然在玩弄技巧,使 程序 易读性查 为了提高易读性,应改为: If I=j then v[ I,j]:=1 else v[ I,j]:=0; ;例2:该程序段同样是玩弄技巧,使交换A[J]和A[J+1] 的程序段变得难理解。 A[J]:=A[J]+A[J+1];   A[J+1]:=A[J]-A[J+1];   A[J]:=A[J]-A[J+1];  应改为:  T:=A[J];  A[J]:=A[J+1]

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档