软件工程编码课件_第1页
软件工程编码课件_第2页
软件工程编码课件_第3页
软件工程编码课件_第4页
软件工程编码课件_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

余伟软件项目的编码软件项目的编码1目录6.1编码概述6.2编码方法6.3编码策略6.4编码语言与编码标准和规范目录26.1编码概述

维护

产品提交

测试

编码

详细设计

概要设计

需求分析6.1编码概述36.1编码概述6.1编码概述46.1编码概述看不下去!重写程序!找到原作者,暴打一顿!炒他鱿鱼,他不走我走!6.1编码概述看不下去!56.1编码概述编码是软件设计的自然结果,因此,程序的质量主要取决于软件设计质量,但是所选用的程序设计语言的特点和编码风格,也会对程序的可靠性、可读性、可测试性和可维护性产生深远影响!6.1编码概述编码是软件设计的自然结果,因此,程序的质量主要66.1编码概述编码过程的一个重要标准是编程与设计的对应性和统一性。如果编码没有按照设计的要求进行,设计就没有意义了。设计过程中的算法、功能、接口、数据结构都应该在编码过程中体现。6.1编码概述编码过程的一个重要标准是编程与设计的对应性和统76.2.1结构化编程1、控制结构不能再被分解的模块叫做原子模块,如果一个软件系统的全部实际工作都由原子模块来完成,其他非原子模块仅仅执行控制或者协调功能,这样的系统就是完全因子分解系统,这是我们努力的目标。模块结构分为:树状结构和网状结构。6.2.1结构化编程1、控制结构86.2.1结构化编程(1)树状结构ABDGHICEF6.2.1结构化编程(1)树状结构ABDGHICEF96.2.1结构化编程(1)树状结构整个结构只有一个顶层,上层调用下层模块,同一层模块间不能相互调用。6.2.1结构化编程(1)树状结构106.2.1结构化编程(2)网状结构任意两个模块间都可以有调用关系,不存在上层模块和下属模块的关系。DACB6.2.1结构化编程(2)网状结构DACB116.2.1结构化编程程序模块的主要控制结构在概要设计和详细设计中已经确定,在编码过程中要继承设计中确定的结构,程序结构要反映设计中的控制结构。但是要避免以下情况出现:GetMoney=min;If(age<70)gotoA;GetMoney=max;If(age<60)gotoB;A:……..B:……...6.2.1结构化编程程序模块的主要控制结构在概要设计和详细126.2.1结构化编程2、算法在设计的时候可以对模块的实现算法进行描述和说明,但是在编码实现这些算法时可以有很大的灵活性。一味追求代码的运行速度,有可能带来隐含的成本:写运行速度更快的代码,技术要复杂一些,需要花费更多时间。在测试的时候,复杂技术需要更多的测试案例读者可能需要话费更多的时间阅读代码修改代码的时间加长6.2.1结构化编程2、算法136.2.1结构化编程例如:如果程序中有一个三维数组,你为了增加效率而用一个一维数组代替三维数组的位置索引,这样你的代码是index=3*i+2*j+k;其实,编译器计算数组的索引位置是在注册表中,速度很快的。6.2.1结构化编程例如:如果程序中有一个三维数组,你为了146.2.1结构化编程3、数据结构数据结构是数据的各个元素之间逻辑关系的一种表示。典型的数据结构有:标量项、顺序表、链表、树、网状、n维空间。6.2.1结构化编程3、数据结构156.2.3面向对象编程类?对象?属性?方法?访问控制:公共的?私有的?受保护的?6.2.3面向对象编程类?对象?属性?方法?166.3编程策略1、自顶向下的开发策略即从模块的最高层次开始逐步向下编码,在面向对象的系统中,首先开发实现执行的那个类(主类)。2、自底向上的开发策略先写底层的工具类,然后高层调用底层,直至实现所有的类。3、自顶向下和自底向上方法的结合这种方法是常用的,顶层模块一般是系统总体界面、初始化、配置等,可以先实现,然后开始实现底层的基础模块。6.3编程策略1、自顶向下的开发策略176.3编码策略4、现场模式的开发策略线程是执行关键功能的最小模块集合,他们可以来自设计层次的不同层,通过跨层次的交互来实现一定的功能。县城可以并行开发、独立编写和测试。需注意:确定编码标准或者指南从其他项目中复用代码让自己能被其他线程复用按照详细设计进行设计到编码的反复增加说明解释文档设计的属性能在代码中体现出来编码语言尽可能使用设计的要求6.3编码策略4、现场模式的开发策略186.4编码语言与编码标准和规范第一代语言——机器语言第二代语言——汇编语言第三代语言——高级程序设计语言第四代语言——4gl6.4编码语言与编码标准和规范第一代语言——机器语言196.4编码语言与编码标准和规范6.4编码语言与编码标准和规范206.4编码语言与编码标准和规范6.4编码语言与编码标准和规范216.4编码语言与编码标准和规范6.4编码语言与编码标准和规范226.4编码语言与编码标准和规范6.4编码语言与编码标准和规范236.4编码语言与编码标准和规范1、变量命名6.4编码语言与编码标准和规范1、变量命名246.4编码语言与编码标准和规范1、变量命名6.4编码语言与编码标准和规范1、变量命名256.4编码语言与编码标准和规范2、头文件头文件在每个程序的开头位置,是对程序的介绍,包括:模块的名字叫什么是完成的这个模块在设计中这个模块的位置模块是何时编写、修改模块的重要性模块中的数据结构、算法和控制6.4编码语言与编码标准和规范2、头文件266.4编码语言与编码标准和规范3、程序注释6.4编码语言与编码标准和规范3、程序注释276.4编码语言与编码标准和规范4、目录6.4编码语言与编码标准和规范4、目录28开发阶段的日常管理(补充)1、闭门造车(LeaveMeAlone)开发时被不停的打断,导致工作进展低。是不是“封闭开发”就能避免干扰?bug一定要立即处理吗?开发阶段的日常管理(补充)1、闭门造车(LeaveMeA29开发阶段的日常管理(补充)2、每日构建什么是每日构建?就是每天都把整个软件项目自动编译一遍,最终生成的产出物必须和交付到用户手中的一样。每日建构的重要性和意义?每日构建.docx开发阶段的日常管理(补充)2、每日构建30开发阶段的日常管理(补充)3、构建大师构建失败需注意:强调基本开发流程(编译要产生debug和release两个版本)签入时,必须从TFS同步下载所有最新的版本在编译签入前,都要进行单元测试和构建验证测试开发阶段的日常管理(补充)3、构建大师31开发阶段的日常管理(补充)3、构建大师由于谁的失误导致构建失败的,被

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论