




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 机械CAD CAM 第3章CAD CAM软件开发基础 2 本章主要内容 软件工程数据结构数据库思路 这些概念是怎样提出来的 含义是什么 3 3 1软件开发与软件工程 1 软件工程是如何提出来的 软件开发的演化过程分析 1 个人编程时代 1946年 50年代末 2 软件作坊时代 60年代初 600年代末 3 软件工程时代 70年代后 特点 早期阶段 硬件是研究重点 软件自编自用 特点 软件规模加大 软件开发成为一种职业 个体和小组的开发方式 存在问题是质量难以保证 任务延误 特点 使得软件开发的各个阶段有了可以使用的开发方法和工具 借鉴工程管理的方法来管理软件生产 4 2 软件工程 软件的特点 1 软件是逻辑部件而不是物理部件 2 软件没有明显的制造阶段 3 软件用旧或用坏 软件的维护过程是软件的不断改进和提高的过程 软件工程的概念 指导软件开发和维护 借鉴从事工程项目所积累的原理 概念 技术和方法来开发和维护软件 把正确的管理和科学的技术结合起来 这就是软件工程 软件工程强调使用生存周期方法学 5 软件工程 软件的生存周期软件产品从形成概念开始 经过开发 使用和不断增补修正 直到最后被淘汰的整个过程 按照软件工程的思想 这个过程又可划分成若干个互相区别而又有联系的阶段 每个阶段的工作均以前一阶段的结果为依据 并作为下一阶段工作的前提 每个阶段完成确定的任务 提交相应的文档 每个阶段结束时都进行严格的技术审查和管理复审 国家颁布的计算机软件开发规范 GB8566 88 将软件的生存周期划分为六个阶段 6 软件生存周期的六个阶段 1 可行性研究与计划阶段确定软件开发目标和总体要求 进行可行性分析 制订开发计划 明确 要做什么 明确软件的功能和目标以及大致规模 研究 是否能做 探索要开发软件的难度 深度和广度 研究的可行性 技术可行 经济可行 法律可行 2 需求分析阶段进行系统分析 确定软件功能需求和设计约束 弄清 必须做什么 软件开发人员和用户密切配合 充分交流信息 了解用户具体要求 得出经用户确认的系统逻辑模型 避免盲目设计 7 软件生存周期的六个阶段 3 设计阶段确定设计方案 包括软件结构 模块划分 功能分配及处理流程 将设计阶段分解成概要设计和详细设计两个步骤 概要设计的任务 解决 如何做 考虑多种可能的解决方案并依据某种令人信服的标准或原则推荐及确定设计方案 然后进行模块划分 将软件系统按功能划分成许多规模适中的程序集 再将其按合理的层次结构组织起来 详细设计的任务 解决 如何具体做 把概要设计的抽象概括解决方案细化和具体化 详细设计阶段并不编写程序 而是设计出程序的详细规格说明及处理流程 8 软件生存周期的六个阶段 4 实现阶段完成源程序的编码 编译及程序单元测试 任务 编制出正确的 可读性好的程序 开发人员选取适当的程序设计语言 把详细设计的结果翻译成可处理执行的程序 并认真调试 检测每一个程序段 5 测试阶段实现系统总装测试和确认测试 检查审阅文档 成果评价 任务 通过各种类型的测试发现问题 纠正错误 使软件达到预定的要求 总装测试 根据设计的软件结构 把经过单元测试检验通过的程序段装配起来 在装配过程中进行必要的测试 确认测试 按需求分析阶段确定的功能要求 由用户或用户委托第三方对软件系统进行验收 撰写测试报告 对软件产品作出成果评价 9 软件生存周期的六个阶段 6 运行与维护阶段软件在运行使用中不断地被维护 根据新提出的需要和运行中出现的问题进行必要的扩充和修改 通常有四类维护活动 改正性维护诊断和改正运行中发现的软件错误 适应性维护修改软件以适应环境的变化 完善性维护根据用户的要求改进或扩充软件使它更完善 预防性维护修改软件为将来的维护活动做预备 每一项维护活动结束 软件都有不同程度的改进 对于商品化软件来说都会推出新的版本 10 软件生存周期的六个阶段 上述软件开发的各个阶段任务相对独立和简单 便于不同人员分工协作 每个阶段都提供阶段产品 并提交文档资料 每个阶段成果都要经过严格的管理确认和技术复审 以便及时发现早期的错误 上述各阶段的任务并非均衡相等 统计结果表明 其中维护阶段所占的比例最大 提高软件的可维护性 减少软件维护的代价是软件工程学的一个重要目标 11 3 软件工程规范 软件工程规范国家标准 1 计算机软件开发规范 GB8566 88 详细规定了软件开发过程的各个阶段及每一阶段的任务 实施步骤 实施要求 完成标志及交付文档等 2 计算机软件产品开发文件编制指南 GB8567 88 详细规定了软件开发过程中应该产生的文档种类 数目和文档的编制形式和编制内容 3 计算机软件需求说明编制指南 GB9385 88 详细规定软件需求说明的内容和质量 编写所需的背景信息和表达方法 列出了编制大纲 4 计算机软件测试文件编制规范 GB9386 88 详细规定一组测试文件的种类 数目 书写格式 内容以及各自的作用 12 软件工程规范 5 计算机软件质量保证计划规范 GB T12504 90 详细规定在制定软件质量保证计划时应该遵循的 在计划 评审 控制和验收几个方面活动的 统一的基本要求 并列出了编制大纲 6 计算机软件配置管理计划规范 GB T12505 90 详细规定软件配置管理计划的目次 章节内容等统一要求 7 软件工程术语 GB T11457 详细列举了软件工程中的常用术语定义 说明 英文译名等信息 13 软件工程规范 软件文档文档是软件的一个重要组成部分 是软件开发阶段之间 程序员之间通讯的工具 是备忘录 又是里程碑 作为开发人员在一定阶段内的工作成果 文档的作用 向管理人员报告软件的进展情况 向技术人员提供开发技术信息 向用户说明某软件的功能和性能 把开发过程中一些 不可见的 事物转换成 可见的 文字资料 14 软件工程规范 计算机软件产品开发文件编制指南 规定 整个软件生存周期共应提交十四种标准文档 可行性研究报告 项目开发计划 软件需求说明书 数据要求说明书 测试计划 概要设计说明书 详细设计说明书 数据库设计说明书 模块开发卷宗 用户手册 操作手册 测试分析报告 开发进度月报 项目开发总结 软件开发的不同阶段需提交不同的文档 不同规模的软件 提交的文档种类也所不同 15 表3 1不同规模软件需提交的文档 16 软件工程的框架 软件工程的框架可概括为 目标 过程和原则 1 软件工程的目标生产具有正确性 可用性以及开销合宜的产品 这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题 它们形成了对过程 过程模型及工程方法选取的约束 2 软件工程的过程生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤 主要包括开发过程 运作过程 维护过程 17 软件工程的框架 3 软件工程的原则选取适宜开发范型采用合适的设计方法提供高质量的工程支持重视开发过程的管理 18 软件工程的基本原理 巴利 玻姆 BarryBoehm 综合专家意见 总结了美国天合公司 TRW 多年的开发软件的经验 于1983年提出了软件工程的七条基本原理 1 用分阶段的生命周期计划严格管理在整个软件生命周期中应指定并严格执行6类计划 项目概要计划 里程碑计划 项目控制计划 产品控制计划 验证计划 运行维护计划 2 坚持进行阶段评审软件的质量保证工作不能等到编码结束之后再进行 应坚持进行严格的阶段评审 以便尽早发现错误 19 软件工程的基本原理 3 实行严格的产品控制采用科学的产品控制技术来顺应需求的改动 也就是要采用变动控制 又叫基准配置管理 当需求变动时 其它各个阶段的文档或代码随之相应变动 以保证软件的一致性 4 采纳现代程序设计技术采用先进的技术即可以提高软件开发的效率 又可以减少软件维护的成本 5 结果应能清楚地审查应根据软件开发的总目标及完成期限 尽量明确地规定开发小组的责任和产品标准 从而使所得到的标准能清楚地审查 20 软件工程的基本原理 6 开发小组的人员应少而精开发人员的素质和数量是影响软件质量和开发效率的重要因素 应该少而精 7 承认不断改进软件工程实践的必要性不仅要积极采纳新的软件开发技术 还要注意不断总结经验 收集进度和消耗等数据 进行出错类型和问题报告统计 这些数据既可以用来评估新的软件技术的效果 也可以用来指明必须着重注意的问题和应该优先进行研究的工具和技术 21 4 软件开发方法 软件作为一种产品应当满足以下基本要求 1 正确性满足用户提出的应用需求 实现规划的全部功能 性能优越 结果正确 2 可靠性出错概率小于预定指标 运行正常 容错性好 3 完整性提供完整的有效运行程序和文档资料以及必要的培训服务 4 实用性具有良好的人机界面 操作简便 有适用范围 能解决实际问题 5 可维护性便于纠正软件错误 扩充系统功能 实现各类维护活动 22 软件开发方法 软件开发方法随着软件工程学的不断深入研究和应用也在推陈出新 目前主要有三种类型 瀑布型 快速原型及螺旋型 平行进程型 23 软件开发方法 1 瀑布型瀑布型是一种按软件生存阶段而顺序工作的 单向 单链的开发方法 人们希望只要把 上游 的分析 设计做好 做完整 则 下游 的各项工作就会顺理成章地开展下去 实际上 随着软件开发 应用和技术进步 用户会不断地产生新的要求和建议 因此 开发过程中的反复改进不可避免 24 软件开发方法 2 快速原型及螺旋型尽快向用户提供原型系统 让用户试用 得到反馈信息 再按实用性 经济性和可靠性要求进一步修改设计 解决原型系统暴露出来的问题 从而开发出产品 在快速原型的基础上 又提出了螺旋型开发方法 它是一种有反馈 有交叉 螺旋式攀援发展的开发方法 25 软件开发方法 3 平行进程型该方法认为软件开发是三个进程组相互平行 相辅相成 齐头并进的团队行为 包括3个进程组 项目管理进程组 开发进程组和集成进程组 开发进程组又细分为开发前进程组 开发进程组和开发后进程组 26 3 2数据结构 数据结构 就是数据之间的关系数据实际上是对客观对象 现实世界的性质和关系的一种描述 一个机械产品的数据 包括性能参数 结构尺寸 工艺过程 图样信息等 它们代表着该产品的性质及它与环境之间的关系 在CAD CAM中 一个孤立出来的具体数据往往没有实际意义 而各种相关数据的集合就能描绘任一复杂事物 数据之间的关系有丰富的涵义 因此 对于数据的研究与管理不单纯限于数据本身 更重要的在于数据之间的关系 也就是数据结构问题 27 1 基本概念与术语 从事物的物理状态到表示信息的数据 实际上经历了三个不同的领域 现实世界 存在于人们头脑之外的客观世界 信息世界 现实世界在人们头脑中的反映 是人们头脑中的观念世界 数据世界 观念世界中信息的数据化 它是计算机处理的对象 在数据处理中 首先应将现实世界转换为信息世界 然后再将信息世界转换为数据世界 其中包含几个层次的概念 1 实体客观存在并可相互区别的事物 2 属性实体的特性 28 基本概念与术语 3 属性值每个属性所能测量或记录的值 若干属性的属性值组成的集合即可表征一个实体 4 域属性值的变化范围 5 数据描述实体的数值 字符等各种物理符号 数据按其组成内容又可分为若干个层次级 1 字符是数据的最小单位 2 数据项是数据中最基本的 不可分的并有命名的数据单位 3 组合项由若干个数据项组成 4 记录相关组合项或数据项的集合构成一个记录 是描述某个实体属性值的集合 记录又抽象称为数据元素 5 文件相同性质的记录的集合就是文件 6 数据库非单纯性 有结构文件的集合 29 基本概念与术语 30 2 数据结构 2 数据结构数据结构指的是数据之间的结构关系 数据元素不是孤立的 而是彼此相互关联的 数据结构理论研究数据元素之间的抽象化的关系 并不涉及数据元素的具体内容 数据结构包括数据的逻辑结构和数据的物理结构 1 数据的逻辑结构描述数据之间的逻辑关系 从客观的角度组织和表达数据 数据的逻辑结构又可划分为线性结构和非线性结构 31 数据结构 1 线性结构数据可以用数表的形式表示 数据间的关系很简单 只是顺序排列的位置关系 而且这种位置关系是线性的 因而又称这类数据结构为 线性表结构 2 非线性结构这种结构的数据间逻辑关系比较复杂 不能用简单的线性表形式来表达 图3 1某零件加工工艺方案 32 数据结构 2 数据的物理结构数据在计算机内部的存储方式 它从物理存储的角度来描述数据以及数据间的关系 常用的物理结构有顺序存储结构和链接存储结构 1 顺序存储结构即用一组连续的存储单元依次存放各数据元素 特点 占用内存单元少 简单易行 结构紧凑 但数据结构缺乏柔性 不适合需要频繁修改 补充 删除数据的场合 2 链接存储结构即把数据的地址分散存放在其它有关的数据中 并按照存取路径进行链接 该存储结构可独立于逻辑结构 它使存储的物理顺序不必与逻辑顺序一致 33 常见的数据结构 线性表栈与队列 栈是先进后出的原则 队列在表的一端插入 另端删除 树与二叉树 数据的层次结构 34 链接式存储 一个数据元素项由信息字段和指针字段构成 链接存储数据字段构成 35 链接式存储方式 二叉树的存储结构 36 3 数据文件 数据文件是数据管理的一种形式 它能独立于应用程序单独存储 在CAD CAM系统中 文件常作为管理数据 交换数据的方法而被广泛采用 具体地说 数据文件是记录的集合 能够唯一地标识记录的数据项的值称为关键字 1 常用的文件组织方法顺序文件 索引文件 直接存取文件 索引链接文件 倒排文件 B树和变长记录文件等 1 顺序文件物理顺序与逻辑顺序一致的文件 它的有效存储区域是连续的 结构紧凑 简单 但增删 检索不方便 37 数据文件 2 索引文件带有一个包括关键字和存放地址索引表的文件 当查找记录时 先按该记录的键值到索引表中查得相应地址 系统再按该地址查到记录 查找效率高 使用比较广泛 3 直接存取文件又叫随机文件 它采用一种算法将记录的关键字转换为一个近乎随机的数 根据这个数确定记录在存贮器上的位置 以便存取 该文件可直接存取记录 检索方便 但占用空间相对较大 2 文件的操作文件的操作主要表现在两个方面 一是查找 二是排序 1 查找即寻找关键字为某值的记录 常用的查找方法 顺序查找法 折半查找法 分块查找法 2 排序对文件中记录的关键字按递增或递减的顺序重新排列 常用的排序方法 选择排序 冒泡排序 插入排序 38 3 3数据资料的程序化处理 1 数值程序化数值程序化就是将要使用的各个参数及其函数关系 用一种合理编制的程序存入计算机 以便运行使用 1 用数组形式存储数据适合于数据是一组单一 严格 又无规律可循的数列的场合 2 用数学公式计算数据适合于数据是一组单一 严格 但能找到某种规律的数列的场合 39 数据资料的程序化处理 2 数表程序化数表程序化就是用程序完整 准确地描述不同函数关系的数表 以便在运行过程中迅速 准确 有效地检索和使用数表中的数据 数表的分类 1 按数据有无函数关系可分为简单数表和列表函数数表 2 按数表的维数可分为一维数表 二维数表和多维数表 数表的程序化 1 屏幕直观输出法 2 数组存储法 3 公式计算法数表的公式化方法包括函数插值和数据拟合 40 数据资料的程序化处理 41 数据资料的程序化处理 3 线图程序化用线图表示函数关系是一种常用的方法 它的特点是鲜明直观 并能表现出函数的变化趋势 线图程序化有三种处理方法 1 将线图离散成数据表 再按数据表的处理方法进行处理 2 当线图有原始公式时 应找到该线图的原始公式 并将公式编入程序 然后加以处理 3 数组存储法 42 3 4数据库的基本原理与应用 数据库 可定义为存储在一起的 没有不必要冗余的 以供多种需要的 相互关联的数据的集合CAD CAM集成系统 集成主要是信息的集成问题 最终反映出 表现出的是数据的交换和共享问题 目前 能较好地解决共享问题的数据处理方法 被公
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 输电工人知识考试题库及答案
- 采油考试题库及答案
- 地铁站务考试题库及答案
- 中职艺术理论考试题库及答案
- 水厂调试合同5篇
- 2025年国际法与国际关系知识考试复习卷及答案
- 2025年贵州省安顺市辅警考试题库(附答案)
- 2025年贵港市人民检察院招聘警务辅助人员考试笔试试题(附答案)
- 护士资格证考试试题及答案
- 重量鉴定考试题目及答案
- 董关鹏-沈阳课件
- 大学生活从“心”开始
- 企业消防安全基础知识培训讲义课件
- 淄博市2020年度专业技术人员继续教育公需课考试题及答案
- 大运河前世今生课件
- 商务英语翻译实务完整版教学ppt课件全套教程
- 第五章__大数定律与中心极限定理
- 现代控制理论教案Word版
- 基本建设项目管理办法
- 加弹机操作规程
- 国家开放大学《电气传动与调速系统》章节测试参考答案
评论
0/150
提交评论