清华大学土木工程CAD技术基础Chp8_CAD

上传人:ji****en 文档编号:111730290 上传时间:2019-11-03 格式:PDF 页数:75 大小:111.67KB
返回 下载 相关 举报
清华大学土木工程CAD技术基础Chp8_CAD_第1页
第1页 / 共75页
清华大学土木工程CAD技术基础Chp8_CAD_第2页
第2页 / 共75页
清华大学土木工程CAD技术基础Chp8_CAD_第3页
第3页 / 共75页
清华大学土木工程CAD技术基础Chp8_CAD_第4页
第4页 / 共75页
清华大学土木工程CAD技术基础Chp8_CAD_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《清华大学土木工程CAD技术基础Chp8_CAD》由会员分享,可在线阅读,更多相关《清华大学土木工程CAD技术基础Chp8_CAD(75页珍藏版)》请在金锄头文库上搜索。

1、第八章 建筑结构CAD系统设计 8-1 软件工程方法 8-2 需求分析 8-3 系统设计 8-4 程序编制 8-5 系统测试 ?软件工程产生的背景 上世纪70年代,随着软件的大型化 软件开发普遍出现: ?成本超预算 ?完成时间超计划 被称为“软件危机”,人们关心: ?如何开发与维护软件 ?如何满足对软件日益增长的需求 8-1 软件工程方法 ?软件工程学 研究软件开发与维护过程中所需使用的原则、方法和 技术的学科 主要思路 将软件作为一个工程产品来对待 即,需要经过规划、分析、设计、实现等过程 或,需要经过小规模实验、正式投产等过程 软件用户 需求分析 系统设计 功能设计 详细设计 编程单体测试

2、 组合测试 系统测试 检查 维护 软件一般实现过程 需求分析 系统设计 编程 系统测试 8-2 需求分析 ?目的 明确:系统必须做什么 是软件设计的基础 ?内容 ?问题定义 ?可行性研究 ?系统分析 ?内容1:问题定义 包括3个步骤: ?步骤1:调查研究 目的是搞清问题背景和用户目标,包括: ?设计规范 ?设计方法和过程 ?设计结果及其表达方式 ?设计原始资料:地形、地貌、气象、地震 ?设计人员的计算机能力和工作环境 ?同类软件的市场 ?步骤2:分析问题 目的 ?了解人工运行系统(当前系统)的工作过程; ?确定拟建CAD系统 (目标系统) 的主要目标 出发点 目标系统在以下方面应与当前系统基本

3、一致: ?所完成的功能 ?工作方式 ?设计思路 ?专业习惯 ?步骤3:定义问题 目的 ?提交问题分析和定义的书面报告 报告内容 ?软件项目的名称 ?问题的概括定义 ?系统的目标 ?系统的规模 ?内容2:可行性研究 目的 ?确定问题是否能够解决 主要工作 ?描述当前系统的主要功能 ?建立目标系统的逻辑模型 ?提出多个可供选择的开发方案 ?确定行动方针和制定开发计划 ?提交可行性研究报告 ?内容3:系统分析 包括6个步骤: ?步骤1:确定系统的综合要求 ?功能要求 ?性能要求:存储容量、响应时间、安全性 ?运行要求:运行环境、系统软件、支撑软件 ?步骤2:分析系统的数据要求 ?建立数据模型:用图形

4、工具作数据结构图 ?步骤3:修定系统的逻辑模型 ?步骤4:修定系统的开发计划 ?步骤5:建立系统的开发模型 ?建立“样机” ?步骤6:文档编制 ?项目开发计划 ?软件需求说明书 ?数据要求说明书 ?项目开发计划 ? 可行性研究报告 ? 项目开发计划 ? 软件需求说明书 ? 数据要求说明书 ? 概要设计说明书 ? 详细设计说明书 ? 数据库设计说明书 ? 用户手册 ? 操作手册 ? 模块开发卷宗 ? 测试计划 ? 测试分析报告 ? 开发进度月报 ? 项目开发总结报告 根据GB/T 8567-1988和GB/T 9385-1988 计算机软件开发过程中应产生14种文件: 标准规定:软件需求说明书

5、1 引言 1.1 编写目的 1.2 背景 1.3 定义 1.4 参考资料 2 任务概述 2.1 目标 2.2 用户的特点 2.3 假定与约束 3 需求规定 3.1 对功能的规定 3.2 对性能的规定 3.3 输入输出要求 3.4 数据管理能力要求 3.5 故障处理要求 3.6 其他专门要求 4 运行环境规定 4.1 设备 4.2 支持软件 4.3 接口 4.4 控制 文件编制中的考虑因素 灵活性 应编制的文件种类 文件的详细程度 文件的扩展 节的扩展与缩并 程序设计的表现形式 文件的表现形式 文件的其他种类 ?逻辑模型的表达方法:系统流程图 用图形符号描绘系统的每个部件以及各部件之间的流 动情

6、况 基本符号:见下一幻灯片 作图方法 ?用符号定义组成系统的每一部件; ?用箭头确定信息通过系统的逻辑路径 (信息流动路 程); ?使信息在图中从顶向下或从左向右流动; ?对复杂系统,可分层、分页作图。 处理处理输入/输出输入/输出连接连接数据流数据流 文档文档联机存储联机存储 磁盘磁盘 显示显示 人工输入人工输入 人工操作人工操作 辅助操作辅助操作 通信线路通信线路 系统流程图的基本符号 ?系统数据模型的表达方法:层次方框图 用呈树形结构的一系列多层次的矩形框描绘数据的层 次结构 表示方法 ?一个单独的顶层矩形框,代表完整的数据结构 ?下面各层矩形框代表数据的子集 ?最底层的各个框代表组成该

7、数据的实际数据元素 这种模式可从顶层信息的分类开始, 沿每条路径细化, 直到确定了数据结构的全部细节 一 背景 二 本需求分析说明书的用途 三 整体需求 四 功能需求 五 其他需求 六 开发计划 实例:基于因特网的软件使用许可证 管理系统的需求分析说明书 一 背景 ? 现有的许可体系 软件狗 分为单机版和网络版两种 存在的问题 相关成本随销售增加成正比增加 给用户造成不便 ? 可能的新方式 利用日益普及的因特网,可解决既存问题 二 本需求分析说明书的用途 ? 是基于上述背景经双方(开发方和委托方)讨论 形成的对需求的表述 ? 将成为开发方进行系统设计和编程的依据 ? 将成为委托方验收的依据 三

8、 整体需求 3.1 与现有许可体系的关系 已购买应用软件的用户:软件狗仍可用 交回软件狗可切换为新体系 新购买应用软件的用户:使用新体系 3.2 用户分析 购买应用软件的用户 针对一个软件可购买多个许可 本企业的许可证管理员用户 3.3 许可证的管理方式 在服务器中设置中央数据库,集中管理许可证信 息 在网上可以随时查询应用软件的许可证信息及总 体用户的状况 3.4 许可证管理信息的查询和变更 查询应用软件的使用信息 变更密码 密码失盗时,经过一定程序恢复最初密码 四 功能需求 4.1 概述 许可证管理员用户: 设置和取消许可证 查询许可证信息及应用软件使用信息 购买应用软件的用户: 获得许可

9、证并使用应用软件 查询应用软件使用信息 功能总体分类:使用、保密、查询、管理 4.2 使用功能 1) 用户的识别:用户ID及密码 2) 许可证内容 许可证数、使用期限、绘图内容 3) 许可证的获得和归还 不限定机器、不能超过购买数 4) 许可证的借出和回收 不需要通过许可证管理员用户 4.3 保密功能 原则:保密性不能低于软件狗方式 防止信息的篡改、非法获取 1) 许可证信息 2) 用户相关信息 3) 非用户不可获得许可证 4) 用户不可欺骗:构筑虚拟服务器、修改 本地文件 4.4 信息查询功能 购买应用软件的用户: 已购软件的版本、许可证数、使用期 限、使用状况、借出状况等 许可证管理员用户

10、: 用户的许可证信息、许可证使用状 况、各版本的销售情况、用户信息统计 4.5 管理功能 1) 用户信息的登记、变更 2) 许可证信息的登记、变更 8-3 系统设计 ?目的 明确:如何实现软件 ?内容 ?程序结构设计 ?用户界面设计:第六章中已讲 ?数据结构设计 ?文档编制 ?内容1:程序结构设计 ?模块化 把程序划分成若干模块, 每个模块完成一项子功能, 把这些模块集成起来组成一个整体, 可解决问题需求。 模块:程序对象的有名字的集合, 如过程、函数、子程序、宏等。 即具有特定功能,可单独命名,并可编址的程序段。 模块化的原则 ?语言模块单元 设计的模块应与程序设计语言提供的语言模块单元 相

11、对应。如,C语言中的子程序、函数、结构体; C+语言中的类、对象等。 ?信息隐藏 把模块界面与模块实现分离开来。模块界面体现为 模块的接口;模块实现体现为模块的数据结构和具 体算法。外部利用模块时,只需知道模块的接口。 模块化的标准 ?可分解性可分解性:能把一个大的、复杂的问题分解成一些 小的、简单的问题,直到可直接解决为止。 ?可结合性可结合性:要求模块能自由地结合在一起构成新的 系统。使模块具有好的复用性。 ?可理解性可理解性:设计出的模块不用参考相邻的模块,就 能看懂。使软件具有好的可维护性。 ?连续性连续性:模块变化不影响系统的结构。使软件具有 好的可扩充性。 ?模块保护模块保护:系统

12、运行发生的错误被限制在该模块内 或仅传播到少数模块。使软件具有健壮性。 ?结构化设计方法 基本思想 ?将功能逐步分解划分为模块 ?让模块间形成层次 ?将程序结构限制为顺序、选择和循环 e.g. 报表制作:用结构化设计方法来实现 报表制作 输入数据计算打印报表 读入 编辑 检查印表头 印表体 打印 ?面向对象设计方法 基本思想 ?分解问题领域:识别对象和类,尽量让对象和类对 应于现实中的事物; ?建立类之间的相互关系:e.g.层次关系; ?以类为模板生成对象,让对象协同作用去实现系统 的具体功能。 控制台 报表 表头 表体 印刷器 1. 打印报表 2. 印刷 3. 生成 4. 生成 5. 打印

13、6. 打印 e.g. 报表制作:用面向设计方法来实现 ?内容2:数据结构设计 ?定义 有效地组织相互之间存在着密切联系的数据, 并以一种可行的方式存储数据, 以便于按照用户的意图存取和处理数据 ?内容 ?数据的逻辑结构,即面向用户的结构 ?数据的物理结构,即逻辑结构在计算机内的实现, 存储结构 ?两种结构之间的相互关系以及相应的算法 ?常用数据结构 ?静态线性表 ?特殊线性表:栈,队列 ?最基本的动态数据结构:单向链表 ?链表的扩充:双向链表,循环链表 ?树:二叉树 ?图 ?数据结构1:静态线性表 是 n(n0)个元素的有限序列 除了第一个和最后一个,每个元素都有一个并且只有 一个直接前趋,也

14、只有一个直接后继 逻辑结构 ?T ( t1, t2, t3, , tn) ?每个元素在表中的位置取决于元素的下标,即下标 与位置一一对应 典型应用:数组 t1t2t3t4t5 tn t6t7 物理结构 ?在存储器中的存储形式为顺序分配 ?存放地址与下标之间存在着一一对应的关系 Loc ( ti) = Loc ( t1 ) + ( i-1) * L L:单个元素的存储长度 特点 ?有序性:各数据元素的存储顺序与逻辑顺序一致 ?均匀性:各数据元素的数据类型一致,且元素所占 存储空间的长度相等 ?元素的插入或删除, 需要移动元素,很不方便 运算 ?建表 static char Ltm= A,B,C,

15、D,E; ?访问 char c1; c1 = Lt i-1; ?删除 Lt j1 = Lt j ( j = i +1, i +2, n1); 需处理特殊情况(处理首尾元素) ?插入:将第 i个 元素之后的所有 元素, 向后移动 一个元素所占有 的长度 len = sizeof (Lt) /sizeof (Lt 0); printf (“n输入一个新元素: ”); c = getch( ); printf (“n输入新元素的插入位 置: ”); scanf(“%d”, if ( i =1; j) Lt j = Lt j1; Lt 0= c; else if ( i len ) Lt(len) =

16、 c; else for( j = len; j = 1; j) Lt j = Lt j1; Lt i1= c; t1t2t3t4t5tnt6t7 可考虑的使用情形 存储相互关联的图元数据 e.g. 存储一个多边形的所有角点(有序的) 以便进行操作 ?数据结构2:栈 是一种特殊的线性表 可定义为只允许在表的末 端进行元素的插入和删除 逻辑结构 S=(a0, a1, , an-1) 是“先进后出”的线性表 a0 a1 an-2 an-1 进栈 (压入) 退栈 (弹出) top bottom 物理结构:顺序栈 ?在存储器中开辟一个连 续空间,并定义栈名和 栈的最大容量(上界) ?分配一个单元作为指示 当前栈顶地址的指针top ?栈顶指针在栈底和栈的 上界之间变动: 当top上界,栈满; topnext = pt; return d; Item * List:end() Item * prv, *pt; for(prv=pt=list; pt;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号