清华大学课件土木工程CAD系统开发ch.ppt_第1页
清华大学课件土木工程CAD系统开发ch.ppt_第2页
清华大学课件土木工程CAD系统开发ch.ppt_第3页
清华大学课件土木工程CAD系统开发ch.ppt_第4页
清华大学课件土木工程CAD系统开发ch.ppt_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

1,本周上机1.上机内容数据库管理系统辅导2.上机时间:今天晚上6:00-8:00第1组8:00-10:00第2组3.上机地点:院大机房要求全体参加,2,1.5.2本课程的内容,土木工程CAD技术基础,CAD基础知识,CAD系统基本原理,土木工程CAD相关技术,土木工程CAD系统设计,第1章引言第2章CAD系统概论第3章计算机图形技术第4章AutoCAD应用技术第5章三维几何造型第6章人机交互技术第7章工程分析与优化设计第8章工程数据处理与交换第9章土木工程CAD系统开发第10章现代CAD技术,参照“教学日历”,3,第9章土木工程CAD系统开发,9.1概述9.2需求分析9.3系统设计9.4程序设计9.5系统测试,4,土木工程CAD系统开发不是一个简单的编程问题需要进行系统分析、设计、编程、测试等如何进行?简单地说,就是要遵循软件工程学的原理,9.1概述,5,9.1.1软件工程学产生的背景上世纪70年代,随着软件的大型化软件开发普遍出现:成本超预算完成时间超计划被称为“软件危机”,人们关心:如何开发与维护软件如何满足对软件日益增长的需求,6,9.1.2软件工程学(SoftwareEngineering)研究软件开发与维护过程中所需使用的原则、方法和技术的学科主要思路将软件作为一个工程产品来对待即,需要经过规划、分析、设计、实现等过程或,需要经过小规模实验、正式投产等过程,7,软件,系统开发者,需求分析,系统设计,功能设计,详细设计,编程,单体测试,组合测试,系统测试,检查,维护,软件一般实现过程,需求分析,系统设计,编程,系统测试,8,9.2需求分析,9.2.1目的明确:系统必须做什么是系统设计的基础包含的内容1.问题定义2.可行性研究3.系统分析,9,9.2.2问题定义包括3个步骤步骤1:调查研究目的是搞清问题背景,包括:1.设计规范2.设计方法和过程3.设计结果及其表达方式4.设计原始资料:地形、地貌、气象、地震5.设计人员的计算机能力和工作环境6.同类软件的市场,10,步骤2:分析问题目的是了解当前系统的工作过程,并确定拟建系统的主要目标确定主要目标的注意事项使拟建系统在以下方面与当前系统基本一致1.所完成的功能2.工作方式3.设计思路4.专业习惯,11,步骤3:定义问题目的是提交问题定义的书面报告报告内容包括1.软件项目的名称2.问题的定义3.系统的目标4.系统的规模,12,9.2.3可行性研究目的是确定问题能否解决主要工作1.描述当前系统的主要功能2.建立拟建系统的逻辑模型3.提出多个可供选择的开发方案并进行比较4.制定开发计划5.完成并提交可行性研究报告,13,9.2.4系统分析包括6个步骤步骤1:确定系统的综合要求1.功能要求2.性能要求:存储容量、响应时间、安全性3.运行要求:运行环境、系统软件、支撑软件步骤2:分析系统的数据要求建立数据模型:用数据结构图表示,14,步骤3:修订系统的逻辑模型步骤4:修订系统的开发计划步骤5:建立系统的开发模型即建立“样机”步骤6:文档编制,包括1.项目开发计划2.软件需求说明书3.数据要求说明书,15,1.可行性研究报告2.项目开发计划3.软件需求说明书4.数据要求说明书5.概要设计说明书6.详细设计说明书7.数据库设计说明书,8.用户手册9.操作手册10.模块开发卷宗11.测试计划12.测试分析报告13.开发进度月报14.项目开发总结报告,根据GB/T8567-1988和GB/T9385-1988计算机软件开发过程中应产生14种文件,16,标准规定:软件需求说明书,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控制,17,文件编制中的考虑因素灵活性1.应编制的文件种类2.文件的详细程度3.文件的扩展4.节的扩展与缩并5.程序设计的表现形式6.文件的表现形式7.文件的其他种类,18,1.背景2.本需求分析说明书的用途3.整体需求4.功能需求5.其他需求6.开发计划,实例:基于因特网的软件使用许可证管理系统的需求分析说明书,19,1.背景,1)现有的许可体系软件狗分为单机版和网络版两种存在的问题相关成本随销售增加成正比增加给用户造成不便2)可能的新方式利用日益普及的因特网,可解决既存问题,20,2.本需求分析说明书的用途,1)是基于上述背景经双方(开发方和委托方)讨论形成的对需求的表述2)将成为开发方进行系统设计和编程的依据3)将成为委托方验收的依据,21,3.整体需求,3.1与现有许可体系的关系已购买应用软件的用户:软件狗仍可用交回软件狗可切换为新体系新购买应用软件的用户:使用新体系,22,3.2用户分析购买应用软件的用户针对一个软件可购买多个许可企业的许可证管理员用户,23,3.3许可证的管理方式在服务器中设置中央数据库,集中管理全部许可证的相关信息用户每次上机时,通过该系统访问中央数据库,获得软件使用许可在网上可以随时查询应用软件的许可证信息及总体用户的状况,24,3.4许可证管理信息的查询和变更查询应用软件的使用信息变更密码密码失盗时,经过一定程序恢复最初密码,25,4.功能需求,4.1概述许可证管理员用户:设置和取消许可证查询许可证信息及应用软件使用信息购买应用软件的用户:获得许可证以便使用应用软件查询应用软件使用信息核心功能分类:使用、保密、查询、管理,26,4.2使用功能1)用户的识别:用户ID及密码2)许可证内容许可证数、使用期限、绘图数量3)许可证的获得和归还不限定机器、不能超过购买数4)许可证的借出和回收不需要通过许可证管理员用户,27,4.3保密功能原则:保密性不能低于软件狗方式防止信息的篡改、非法获取1)许可证信息2)用户相关信息3)非用户不可获得许可证4)用户不可欺骗:构筑虚拟服务器、修改本地文件,28,4.4信息查询功能购买应用软件的用户:已购软件的版本、许可证数、使用期限、使用状况、借出状况等许可证管理员用户:用户的许可证信息、许可证使用状况、各版本的销售情况、用户信息统计,29,4.5管理功能1)用户信息的登记、变更2)许可证信息的登记、变更,30,9.3系统设计,9.3.1目的明确:如何实现软件内容1.用户界面设计:在第6章中已讲2.程序结构设计3.数据结构设计4.文档编制,31,9.3.2程序结构设计2个重要的方面1.程序设计原则模块化设计2.程序设计方法结构化程序设计方法面向对象程序设计方法,32,9.3.2.1模块化设计模块即命名的程序对象集合,如过程、函数、子程序、宏等,即具有特定功能,可单独命名,并可编址的程序段。把程序划分成若干模块,每个模块完成一项子功能,把它们集成起来组成一个整体,以解决问题。,33,模块化设计的原则1.与语言模块单元相对应设计的模块应与程序设计语言提供的语言模块单元相对应。如,C语言中的子程序、函数、结构体;C+语言中的类、对象等。2.信息隐藏把模块界面与模块实现分离开来。模块界面体现为模块的接口;模块实现体现为模块的数据结构和具体算法。外部利用模块时,只需知道模块的接口。,34,模块化的标准1.可分解性:能把一个大的复杂问题分解成一些小的简单问题,直到可直接解决为止。2.可结合性:要求模块能自由地结合在一起构成新的系统。使模块具有好的复用性。3.可理解性:设计出的模块不用参考相邻的模块,就能看懂。使软件具有好的可维护性。4.连续性:模块变化不影响系统的结构。使软件具有好的可扩充性。5.模块保护:系统运行发生的错误被限制在该模块内或仅波及到少数模块。软件具有健壮性。,35,9.3.2.2结构化设计方法(StructuredDesignMethod)基本思想1.将功能逐步分解划分为模块2.让模块间形成层次3.将程序结构限制为顺序、选择和循环,36,e.g.报表制作:用结构化设计方法来实现,报表制作,输入数据,计算,打印报表,读入,编辑,检查,印表头,印表体,打印,37,9.3.2.3面向对象设计方法(Object-OrientedMethod)基本思想1.分解问题领域:识别对象和类,尽量让对象和类对应于现实中的事物;2.建立类之间的相互关系:e.g.层次关系;3.以类为模板生成对象,让对象协同工作去实现系统的具体功能。,38,控制台,报表,表头,表体,印刷器,1.打印报表,2.印刷,3.生成,4.生成,5.打印,6.打印,e.g.报表制作:用面向对象设计方法来实现,39,9.3.3数据结构设计有效地组织相关数据,并以一种可行的方式存储数据,以便于按照用户的意图存取和处理数据设计内容1.数据的逻辑结构,即面向使用者的结构2.数据的物理结构,即逻辑结构在计算机内的实现,或称存储结构3.两种结构之间的相互关系以及相应的算法,40,常用数据结构1.静态线性表2.特殊线性表:栈,队列3.最基本的动态数据结构:单向链表4.链表的扩充:双向链表,循环链表5.树:二叉树6.图,41,9.3.3.1静态线性表(StaticLinearList)线性表是n(n0)个元素的有限序列除了第一个和最后一个,每个元素都有一个并且只有一个直接前趋,也只有一个直接后继静态线性表是全部存储空间事先确定的线性表逻辑结构1.T(t1,t2,t3,tn)2.每个元素在表中的位置取决于元素的下标典型形式:数组,t1,t2,t3,t4,t5,tn,t6,t7,42,物理结构在存储器中的存储形式为顺序存储存放地址与下标之间存在着一一对应的关系Loc(ti)=Loc(t1)+(i-1)*LL:单个元素的存储长度特点1.有序性:各数据元素的存储顺序与逻辑顺序一致2.均匀性:各数据元素的数据类型一致3.元素的插入或删除,需要移动元素,很不方便,43,运算1.建表staticcharLtm=A,B,C,D,E;2.访问charc1;c1=Lti-1;3.删除Ltj1=Ltj(j=i+1,i+2,n2);,44,4.插入将第i个元素之后的所有元素,向后移动一个元素所占有的长度,len=sizeof(Lt)/sizeof(Lt0);printf(“n输入一个新元素:”);c=getch();printf(“n输入新元素的插入位置:”);scanf(“%d”,45,可考虑的使用情形存储相互关联的图元数据e.g.存储一个多边形的所有角点(有序的)以便进行操作,46,9.3.3.2栈(Stack)是一种特殊的线性表只允许在表的末端进行元素的插入和删除逻辑结构S=(a0,a1,an-1)是“先进后出”的线性表,a0,a1,an-2,an-1,进栈(压入),退栈(弹出),top,bottom,47,物理结构:顺序栈在存储器中开辟一个连续空间,并定义栈名和栈的最大容量(上界)分配一个单元作为指示当前栈顶地址的指针top栈顶指针在栈底和栈的上界之间变动:当top上界,栈满;topnext=pt;returnd;Item*List:end()Item*prv,*pt;for(prv=pt=list;pt;prv=pt,pt=pt-next);returnprv;intList:getData(List,59,returnpt-data;voidList:reverse()Item*pt,*prv,*tmp;prv=0;pt=list;list=end();while(pt!=list)tmp=pt-next;pt-next=prv;prv=pt;,pt=tmp;list-next=prv;voidList:length()intcnt=0;Item*pt=list;for(;pt;pt=pt-next,cnt+);returncnt;,60,可考虑的应用情形1.存储所有的图元数据从图形文件中读入,建立在链表中可进行插入、删除、修改等操作退出时再保存到图形文件中2.存储相互关联的图元数据e.g.存放一个多边形的所有角点(有序的)以便进行操作,61,9.3.3.5双向链表(Two-WayLinkedList)动态地分配存储空间的双向线性表逻辑结构1.每个元素都是一个结点,包含:数据域和链域2.数据域用来存放数据值3.链域既存放直接前趋结点的地址,也存放直接后继结点的地址,A,B,C,D,first,62,9.3.3.6循环链表(CircularLinkedList)动态地分配存储空间的环形线性表只要知道表中任何一个结点的地址,就能遍历表中的任何其它结点逻辑结构与单向链表不同的是,表尾结点的链域存放了指向链表的开始结点的指针,63,9.3.3.7树(Tree)非线性数据结构,可用于实现层次关系逻辑结构1.有一个称之为根的结点,只有直接后继,没有前驱2.下层结点只能与上层的一个结点相连3.上层结点可与下层中的几个结点相连,相关术语结点子树结点的度叶结点分支结点子女结点双亲结点兄弟结点祖先结点子孙结点结点所处层次树的高度树的度树的遍历,64,物理结构按层次或结点分别存储在几个顺序连续块中,然后用指针按照逻辑结构相联系,可再分为:1.定长方式以最大度数的结点的结构作为该树所有结点的结构。即每个结点都有n个子树域。2.不定长方式每个结点增加一个存放度数的域,结点长度随着度数不同而不同。,65,运算1.建立根结点2.插入新子女结点3.删除子女结点4.删除子树5.返回根结点地址6.返回结点中存放的值7.返回结点的第一个子女结点地址8.返回结点的子女结点的下一个兄弟结点的地址,66,9.3.3.8二叉树(BinaryTree)每个结点至多有两个结点的树,10,11,12,13,14,满二叉树,完全二叉树,67,9.3.3.9图(Graph)由顶点集合及顶点间的关系组成的一种数据结构,相关术语有向图无向图完全图权邻接顶点子图顶点的度路径路径长度简单路径回路连通图连通分量强连通图强连通分量生成树图的遍历,68,物理结构1.邻接矩阵2.邻接表3.邻接多重表,0,1,2,3,4,5,6,0,1,2,3,4,5,6,69,运算1.插入一个顶点2.插入一条边3.删除一个顶点4.删除一条边5.取顶点的第一个邻接顶点6.取顶点的某邻接顶点的下一个邻接顶点,70,9.3.4文档编制1.概要设计说明书2.详细设计说明书3.数据库设计说明书4.用户手册5.操作手册6.测试计划,71,标准规定:概要设计说明书,1引言1.1编写目的1.2背景1.3定义1.4参考资料2总体设计2.1需求规定2.2运行环境2.3基本设计概念和流程2.4结构2.5功能需求与程序的关系2.6人工处理过程2.7尚未解决的问题,3接口设计3.1用户接口3.2外部接口3.3内部接口4运行设计4.1运行模块组合4.2运行控制4.3运行时间5系统数据结构设计5.1逻辑结构设计要点5.2物理结构设计要点5.3数据结构与程序的关系6系统出错处理设计,72,基于因特网的软件使用许可证管理系统设计说明书目录,一系统构成1.1系统的运行环境1.1.1硬件环境1.1.2软件环境1.2主要模块1.3主要功能和模块之间的对应关系二各功能的界面及处理说明2.1一般用户方2.1.1许可证管理器的使用,73,2.1.2数字支票的相关处理2.1.3一般用户的服务功能2.1.4补充说明2.2许可证管理者用户方2.2.1管理功能2.2.2服务功能三程序设计3.1通讯过程3.2加密方法3.3服务器端系统的编程四数据库设计五系统开发的难点,74,7.4.1任务将系统设计结果翻译成计算机可以理解的形式注意点遵循一定的编程风格以使程序具有较好的可读性和良好的执行

温馨提示

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

评论

0/150

提交评论