- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二十讲系统的实现编码王文虎.ppt
Software Engineering UML 系统的实现-编码 主要内容 编码的任务 程序设计语言 编码风格 一、编码的任务 两个相关概念 实现:体现“如何做”的程序文本称为实现。 规范:“做什么”的形式化描述通常称为规范。 编码阶段的任务: 编写源程序(source code); 编写文档(document); 单元测试(unit testing)。 软件质量主要取决于设计的质量,但不能忽略编码和程序设计语言的影响 编码需要遵循一定的标准,形成编码风格。 编码任务的流程 微软开发的经验——注重标准 Cusumano 和Selby指出微软软件开发过程中,在保留了开发人员展示自己的创造力和个性的同时切实地融入软件工程概念。 微软开发小组都在各自独立的地方工作,使用常用的开发语言,公共的开发风格,标准的开发工具。 微软开发的经验——注重标准 标准有助于交流,讨论问题,解决问题。 微软要求各自的小组收集一系列测试结果,包括出错信息和发现的潜在和修改了的错误。当继续开发产品时,这些测试结果指导将来的决策。 标准有助于把设计转化为代码和软件重用。 按照标准把代码结构化,你可以保留代码和设计中的相同部分。因此,设计的变化很容易在代码中体现。 程序设计语言分类 机器语言(Machine Language) 汇编(Assemble Language) 高级语言 4GL 汇编(Assemble Language) 汇编语言是与计算机硬件紧密相关的程序设计语言,每一条语句对应一些具体的CPU动作,由于人机思维及处理方式差别,汇编语言程序设计既困难又容易出错,可移植性差。 特殊领域使用,如对程序执行时间和使用的空间都有很严格的限制;需要产生任意的甚至非法指令序列;或大型系统中执行时间非常关键的一小部分代码。 高级语言分类(应用特点观) 高级语言比汇编语言更接近于人类平时习惯,是形式化的程序设计语言。可分四类: 基础语言:通用语言,应用广泛,如BASIC、FORTRAN等。 结构化语言:现代语言,提供结构化的控制结构,支持很强的过程能力和数据结构能力。如PASCAL、C、Ada等。 专用语言:为某种特殊应用而设计的具有独特语法形式的语言。如APL用于向量运算;LISP、PROLOG用于人工智能。 第四代语言:专门用于设计图形用户界面接口的,能快速的开发出应用软件的操作界面和其中的商业逻辑,能提供集成的开发环境。适用于面向对象的开发方法,VB,VC++,JAVA,SQL等。 高级语言分类(内在特点观) 系统实现语言:利于系统软件的设计,灵活的硬件资源管理。 静态高级语言:静态地分配存储。 块结构高级语言:提供有限地动态存储分配。 动态高级语言:动态地完成所有存储管理。 程序设计语言的发展 二、选择不同的程序设计语言 选取开发语言的因素很多,主要有应用领域,选用的数据结构,支持环境,开发人员的水平,软件的可移植性,项目的规模等。 还需考虑语言自身功能的强大,支持数据库类型、数据结构多;运算指令丰富,控制灵活;开发的软件易于维护、升级,可移植性强、兼容性强。 2.1从多方面测度设计语言的特点 从以下方面了解语言特点,做出合适选择 名字说明 类型说明 初始化 程序对象的局部性 程序的模块特性 循环控制结构 分支控制结构 异常处理 独立编译 设计语言特点之一:名字说明 名字说明的意义和作用 名字(如变量名,函数名等)说明是指预先说明程序中所使用对象的名字,使得编译系统能够检查出程序中这些名字使用的合法性。 利于排查错误,提高软件的可靠性。 Fortran, Basic语言并不进行显式的名字说明,会容易出现错误,或者错误难以诊断。 设计语言特点之二:类型说明 类型说明的意义 与名字说明的概念是一致的 可以借助于编译系统检查错误 预先说明数据类型有助于编译系统的类型检查,减少歧义性 用户可以自定义数据类型 Fortran语言规定,如果不显式地说明一个变量,那么,这个变量名字的第一个字母就隐含了该变量的类型。 设计语言特点之三:初始化 初始化的意义 减少程序出现错误的可能性。 提高系统的可靠性和安全性。 强迫程序员对变量进行初始化 如果引用之前没有初始化,系统会提示错误; 如果初始化之后没有被引用,系统也会提示错误。 语言特点之四:程序对象的局部性 程序对象的局部性的意义 对变量、常量、函数等程序对象的说明该靠近使用它的地方。 尽量使用局部的变量,以提高程序的可读性和可修改性。 语言特点之五:程序模块 有关程序模块的一些概念 局部变量 全局变量(extern int x,y, 其作用域可以是同一文件的多个函数) 外部函数 (extern int function( ) 可以被其它文件中的函数调用) 内部函数 (static float functio
文档评论(0)