实用软件工程(第4版) 赵池龙 - PPT课件
收藏
资源目录
压缩包内文档预览:(预览前20页/共34页)
编号:67675213
类型:共享资源
大小:10.36MB
格式:ZIP
上传时间:2020-04-06
上传人:独**
认证信息
个人认证
王**(实名认证)
江苏
IP属地:江苏
20
积分
- 关 键 词:
-
实用软件工程(第4版)
赵池龙
PPT课件
实用
软件工程
PPT
课件
- 资源描述:
-
实用软件工程(第4版) 赵池龙 - PPT课件,实用软件工程(第4版),赵池龙,PPT课件,实用,软件工程,PPT,课件
- 内容简介:
-
实用软件工程 第4版 课件8 美丽的北师大珠海分校 8 创建软件工程系的团队 创建软件工程系的团队名单 从左至右排列的名单如下 贺志军王希孙玮姜义平杨林曾葆青赵池龙 第8章软件实现 从宏观上讲 软件实现包括详细设计 编程实现 单元测试和集成测试 从微观上讲 软件实现是指编程实现和单元测试 详细设计在前面已经讲过了 测试将在第9章讲解 所以本章只讲IT企业的编程实现方法 包括软件实现概论 编码技术 软件实现管理 表8 1列出了读者在本章学习中需要了解 理解和掌握的主要内容 本章对读者的要求 8 1软件实现概论 1 建立公司的软件开发财富库新增函数的实现及函数库的管理 新增存储过程的实现及存储过程库的管理 新增类的实现及类库的管理 新增构件的实现及构件库的管理 新增中间件的实现及中间件的管理 如果读者所在的软件组织处在初创时期 函数库 类库 构件库都是空白 那么就只能利用面向对象语言自带的函数和基础类库 从头开始 一边对系统进行编程实现 一边在实践中积累函数 类和构件 逐步建立自己的函数库 类库和构件库 为日后的开发准备财富 2 构件的实现及构件库的管理所谓构件 Component 就是被标识的且可被复用的软件制品 Artefact 构件有两种级别 可执行文件级和源代码级 可执行文件级别上的构件是已通过编译的构件 因而与语言无关 源代码级别上的构件实际上只是构件模板 可以用多种语言实现 当然与语言有关 构件还可以分成可见构件和非可见构件 可见构件是在屏幕上看得见 拖得动 可修改的控件 非可见构件是在系统内部运行的构件 3 中间件的实现及中间件的管理中间件是一个非常大的组件 构件 一般在网络上运行 完成批量数据的传递和通信工作 调用方式是通过一组事先约定的格式与参数进行的 常见的中间件为文件传输中间件 如IBM公司的消息队列中间件MQ MessageQueue 在网络节点之间进行点对点的数据通信和传输 又如城市医疗保险系统中的中间件 它在市医保局节点和全市各家医院节点之间 进行点对点的数据通信和传输 病号每次划价计费 节点之间就交换一次信息 4 程序设计风格与编程规范的管理为了提高编程实现的质量 不仅需要有良好的程序设计风格 而且需要有大家一致遵守的编程规范 程序设计风格的内容包括 规范化的程序内部文档 数据结构的详细说明 清晰的语句层次结构 遵守某一编程规范 编程规范的内容包括 命名规范 界面规范 提示及帮助信息规范 热键定义规范等 5 软件实现原则 1 尽可能简单 2 易于验证 3 适应变化 4 遵守某一编程规范 尽量使用标准库函数和公共函数 不要随意定义全局变量 尽量使用局部变量 使用括号以避免二义性 5 选择项目组成员最熟悉的工具或语言 软件实现工具或语言不是越时髦越好 而是越成熟与越熟练越好 这样可以避免技术风险和技能风险 6 软件实现平台软件实现平台 或软件编码平台 一直发展较快 进入21世纪后 商业软件领域的实现平台主要是 NET平台和Java平台 作为程序员或软件实现工程师 只要你熟练地掌握了 NET平台和Java平台 你就能在任何大型软件企业找到适合你的工作 在20世纪 由于计算机主要用于数字数据处理 所以程序员实质上都是面向中央处理器CPU CentralProcessingUnit 编程 也就是说 所有程序都在CPU上运行 进入21世纪 由于图形处理在计算机应用中逐步占据重要地位 所以计算机图形处理器GPU GraphicsProcessingUnit 得到了迅速发展 一些程序员开始面向GPU编程 也就是说 图形的输入 计算 输出程序主要在GPU上运行 从而减轻了对主机CPU的压力 对于高性能的千万亿次计算机 万万亿次计算机而言 GPU大约要分担整个计算机30 以上的运算速度或运算工作量 2010年 国防科技大学首次把GPU的计算效率由30 提高到了70 使得生产GPU的国外厂商都感到很惊奇并且很受鼓舞 要求与国防科技大学联合开发与研究GPU 由此可见 软件编程语言 方法 概念 平台的发展速度如此之快 进一步说明了从事软件行业的劳动是重脑力劳动 但是 只要你爱好软件 在重脑力劳动中你就不会感到疲倦 而会感到兴奋与自豪 7 程序可读性第一 效率第二任何程序必须遵守 可读性第一 效率第二 的实现原则 真正做到无私程序设计 8 2软件编码技术 1 编码标准遵循规范化的源代码布局和命名规范 可以创建可读性好 易于理解的代码 常见的编码规范如下 1 C IndianHillRecommendedCStyleandCodingStandards BellLabs 在线文档 http www apocalypse org pub u paul docs cstyle cstyle htm GuidelinesfortheUseoftheCLanguageinVehicleBasedSoftware MISRA 2 C IndustrialStrengthC MatsHenricson ErikNyquist EffectiveC ScottMeyers C CodingStandards HerbertSutter AndreiAlexandrescu 3 Java CodingConventionsfortheJavaProgrammingLanguage SunMicrosystems 在线文档 3 Java CodingConventionsfortheJavaProgrammingLanguage SunMicrosystems 在线文档 3 实体命名代码中存在大量的实体命名 如变量名 方法名 类名 接口名 包名等 好的命名可以提高代码的可读性 在对一个实体进行命名时 最重要的一点是名称能够准确地反映实体的本质 先使用一句话来描述实体所代表的事物 然后抽取一个或几个单词作为实体的名称 例如 一个表示银行贷款类中 年利率可以使用annualInterestRate 贷款年数可以使用numberOfYears 这比使用r和n更直观 Benander的研究表明 命名长度为10 16个字符 调试代码所需的工作量最少 过长或过短的命名不易于对代码的理解 4 错误处理程序执行过程中 可能出现可以预测和不可预测的错误 系统的错误方式将影响到软件的正确性 稳定性以及其他的非功能属性 5 代码重构代码重构是软件进化的重要手段 MartinFowler将重构定义为 对软件内部结构的修改 使之更易于理解和修改 但不改变软件的对外可见的行为 6 成对编程在敏捷方法中 成对 或结对 编程 pairprogramming 是极限编程 extremeprogramming 的实践之一 当进行成对编程时 一个程序员输入代码 另一个在旁边观察代码中是否存在错误 并思考下一步要进行的工作 8 3软件实现管理 1 过程模型这里讲的过程模型是指软件开发模型 过程模型从其规范程度可分为两大类 重量级的软件开发模型和轻量级的敏捷软件开发模型 对于瀑布模型和RUP模型等重量级开发模型 实现阶段必须在前期工作 需求分析 架构设计 详细设计 的基础上才能进行 对于敏捷开发过程等轻量级开发模型 如ExtremeProgramming和Scrum 实现阶段趋向于和其他软件开发活动 需求 设计 测试 同步执行 敏捷开发过程倾向于将编码 设计 测试混合在一起构成实现活动 2 开发计划过程模型是影响开发计划的关键因素之一 不同的过程模型 其软件实现的先决条件不同 开发计划定义了系统部件创建和集成的顺序 软件质量管理过程 开发任务的分配等 估计项目的大小和所需要的工作量 是软件项目管理中最具挑战性的问题 1 增加开发人员向一个延期的项目添加人员 无异于火上浇油 新成员在参与到项目之前 需要对项目进行熟悉 这将占用原有成员的时间 增加开发人员数量 还会使项目交流的复杂性增加 Brooks指出这样一个事实 一个女人在九个月里生出一个婴儿 但不意味着九个女人可以在一个月内生出一个婴儿 2 减少项目的内容减少项目的内容通常可以防止项目继续延期 与内容相关的设计 编码 调试 测试 文档都可以省略 在计划项目的初期 应当标识项目特征的优先级 优先级可以为 必须具有 最好具有 和 可选项 这样 如果项目延期了 标识为 可选项 和 最好具有 的特征的内容 就可以考虑缩减掉 3 重新认识二八定律作为项目经理以上的管理人员 要将二八定律作为制定开发计划的座右铭 将二八定律落实到工作量估计 进度估计和其他资源估计上去 3 实现度量实现软件度量 通常使用软件工具进行统计 常见的度量包括 1 大小代码行数 注释行数 类或函数的数量 数据声明的数量 2 缺陷跟踪缺陷情况 严重程度 位置 来源 修正方式 修正人 影响代码行数 花费工时 发现缺陷的平均时间 修正缺陷的平均时间 修正缺陷引入新错误数量 3 生产力项目总工时 每个类或函数的工时 项目花费 每行代码花费 每个缺陷花费 3 生产力项目总工时 每个类或函数的工时 项目花费 每行代码花费
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。