(机械制造及其自动化专业论文)面向对象的计算机数控雕刻控软件的研制.pdf_第1页
(机械制造及其自动化专业论文)面向对象的计算机数控雕刻控软件的研制.pdf_第2页
(机械制造及其自动化专业论文)面向对象的计算机数控雕刻控软件的研制.pdf_第3页
(机械制造及其自动化专业论文)面向对象的计算机数控雕刻控软件的研制.pdf_第4页
(机械制造及其自动化专业论文)面向对象的计算机数控雕刻控软件的研制.pdf_第5页
已阅读5页,还剩81页未读 继续免费阅读

(机械制造及其自动化专业论文)面向对象的计算机数控雕刻控软件的研制.pdf.pdf 免费下载

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

文档简介

望3 g 8 4 3 5 浙江大学硕士学位论文 堕塑翌兰竺兰竺塑苎竺竺型兰型竺竺竺竺型 面向对象的计算机数控雕刻控制软件的研制 摘要 本文首先论述了计算机数控技术、雕刻技术及软件技术的历史、现状和发展,并 重点介绍了计算机数控雕刻技术和面向对象软件开发技术。然后,本文从计算机数控雕 刻系统的应用范围、计算机数控雕刻系统的组成和软硬件支持、计算机数控雕刻系统的 工作原理等几方面全面详细地介绍了计算机数控雕刻系统,并展望了计算机数控雕刻系 统技术的发展趋势。 僚三章到第七章是本文的重点,也是本文的核心。在这五章中,本文按照软件开 发的流程对面向对象的计算机数控雕刻控制软件的研制作了详尽的论述。第三章是计算 机数控雕刻控制软件的系统分析,包括市场分析、用户需求分析和技术经济分析三部分, 为控制软件的研发提供了基础。第四章是计算机数控雕刻控制软件的系统设计,包括概 要设计和详细设计两部分,在对软件功能总体把握的基础上,对控制软件进行了模块划 分,并深入讨论了各个模块的功能构成、关键技术和解决难点以及模块间的接口。计算 机数控雕刻控制软件的程序设计构成了第五章,给出了系统用户界面的实现方法,分析 研究了各个功能模块的关键技术和实现方法,并给出了雕刻系统控制软件的部分关键实 现代码。第六章中阐述了本控制软件的测试和维护。第七章是雕刻控制软件的运行实验 研究,本章在大量雕刻实验的基础上做了深入的分析,测评了控制软件,总结了计算机 数控雕刻的一些规律。 第八章总结了本文的研究成果,并对计算机数控雕刻系统作了展望了。7 。c 关键词:计算机数控f 雕亥i ,仿真,控制软件,面向对舅l 数控雕刻扼v i s u a lc + + 塑坚查堂堡主兰垡堡苎 亘塑翌叁盟盐兰盟塑丝壁型篓型竺笪! ! ! ! 塑 r e s e a r c h o nc n ce n g r a v i n g c o n t r o l s o f t w a r e v i ao b j e c t o r i e n t e d a b s t r a c t f i r s t ,t h i sp a p e ri n t r o d u c e st h eh i s t o r y , p r e s e n ta n dd e v e l o p m e n tw a yo fc n c t e c h n o l o g y , e n g r a v et e c h n o l o g ya n d s o f t w a r et e c h n o l o g y t h e n ,f r o mt h ep o i n to f a p p l y i n gr a n g e ,c o n s t i t u t e s , s o t t w a r ea n dh a r d w a r es u p p o r t , w o r k i n gt h e o r yo fc n ce n g r a v i n gs y s t e m ,c n ce n g r a v i n g s y s t e mt e c h n o l o g y i sp r e s e n t e di nd e t a i l ,a l s ot h ed e v e l o p m e n tt r e n di si n s p e c t e d c h a p t e r3t oc h a p t e r7i s n o to n l yt h ek e yo ft 1 1 e p a p e r , b u ta l s ot h ec o l eo fi t i n t h i s5 c h a p t e r s ,t h ed e v e l o p i n gw a y o fo b j e c t - o r i e n t e dc n c e n g r a v i n g c o n t r o ls e t , w a r ea c c o r d i n gt o t h ef l o wo fs o f t w a r ed e v e l o p m e n ti sd e s c r i b e d c h a p t e r3i st h es y s t e m sa n a l y s i so fo b j e c t o r i e n t e dc n ce n g r a v i n gc o n t r o ls o f t w a r e ,i n c l u d i n gm a r k e ta n a l y s i s ,c o n s u m e rr e q u i r e m e n t a n a l y s i sa n dt e c h n o - e c o n o m ya n a l y s i st h r e ep a r t s ,t h et h e o r yb a s e d o nr & do f c o n t r o ls o f t w a r ei s g i v e nc h a p t e r 4i ss y s t e md e s i g no f o b j e c t - o r i e n t e dc n c e n g r a v i n g c o n t r o ls o t t w a l e ,i n c l u d i n g g e n e r a ld e s i g n a n dp a r t i c u l a rd e s i g nt w op a r t s o nt h ef o u n d a t i o no fc o l l e c t i v i t y g r a s p t o s o f t w a r e sf u n c t i o n ,w eg i v ec o m p a r t m e n tt ot h em o d u l eo fc o n t r o ls o f t w a r e ,d e e p l yd i s c u s s f u n c t i o nc o n s t i t u t e so fe a c hm o d u l e ,k e yt e c h n o l o g ya n di n t e r f a c eb e t w e e nm o d u l e s p r o g r a m d e s i g no f o b j e c t - o r i e n t e dc n ce n g r a v i n gc o n t r o ls o f t w a r ei st h ec o n t e n to f c h a p t e r5 ,i tg i v e s o u tt h ea c t u a l i z e dw a yo f s y s t e mu i ,a n a l y z ea n ds t u d yt h ek e yt e c h n o l o g ya n da c t u a l i z e dw a yo f e v e r ym o d u l e ,a l s og i v es o m ek e yc o d eo f o b j e c t - o r i e n t e dc n c e n g r a v i n g c o n t r o ls o r w a r e i n c h a p t e r6 ,t h et e s t i n ga n dm a i n t e n a n c eo f t h ec o n t r o ls o f t w a r ei se x p l a i n e d c h a p t e r 7i sr e s e a r c h o nt h er u n n i n ge x p e r i m e n to fo b j e c t - o r i e n t e dc n c e n g r a v i n gc o n t r o ls o r w a r e ,t h ec h a p t e r m a k ed e e p l ya n a l y z e so nt h eb a s eo fm a n ye n g r a v i n ge x p e r i m e n t s ,v a l u e st h ec o n t r o ls o f b x a r e , c o n c l u d e ss o m er o l e so f e n g r a v e i nt h ef i n a lc h a p t e r8 ,e x p e c t a t i o na n ds u m m i n g - u p ,c o n c l u d e d a c h i e v e m e n t , p r o s p e c tt h e f u t u mo f e n g r a v es y s t e ma n dc o n t r o ls o f t w a r ea r ed e v e l o p e d k e y w o r d s :c n c ,e n g r a v e ,e m u l a t i o n ,c o n l r o ls o f t w a r e ,o b j e c t - o r i e n t e d ,c n ce n g r a v i n g m a c h i n e v i s u a lc + + 浙江大学颐士论文 面向对象的计算机数控雕刻控制软件的研制 第一章绪论 1 1 计算机数控雕刻技术 计算机数控雕刻技术是结合计算机数控技术和雕刻技术发展起来的一项新技术, 它以计算机数控为手段来完成大批量、可重复性的雕刻工作。所以,一方面它具有计算 机数控的特点,需要用计算机处理数据,控制驱动器驱动各轴运动;另一方面它又不同 于一般的计算机数控,具有自己的特点。计算机数控雕刻主要有以下特点: 1 、雕刻头不同于普通的数控头,由于雕刻的特殊要求所以雕刻头一般采用超高速 主轴电机,最高可达6 0 0 0 0 r p m ,通常也需2 0 0 0 0 r p m ,而一般的数控主轴电机转速则低 的多。 2 、雕刻刀具不同于数控机床刀具,在雕刻过程中主要完成雕刻、铣切、钻孔等加 工,雕刻是按一定的深度刻出线条的边缘,铣切是按图形轮廓进行边缘切割,钻孔是按 点加工。所以计算机数控雕刻刀具一般有以下四种:( 1 ) 专用锥形刀具该种刀具顶 部带有一定的角度,并且有一定的刃宽,用来雕刻表面图形和铣切轮廓。般该刀的刃 角为1 0 度9 0 度,刃宽为0 1 m m - 0 8 m m 。( 2 ) 专用柱形刀具该种刀具刀刃 部为一柱形,上下粗细一样,刃宽为! m m 以上,用来雕刻粗犷的表面图形和铣切轮廓。 ( 3 ) 专用铣刀这是带底齿的两齿立铣刀,用来切割有机玻璃板和p v c 发泡板。 ( 4 ) 通用钻头用来进行p c b 打孔工作,直径为o 5 r a m 3 2 5 m m 。 3 、加工材料较之普通数控机床广泛的多,计算机数控雕刻由于其系统的特殊性可 以加工从橡皮到钢铁、石材的各种软硬材料。而一般的数控机床则不行。 计算机数控雕刻系统的组成如下所示: p c 总 线 计算机主机板 x y z 回零、限位开关 v g a 卡f 刁c r t| l 广叫x 轴驱动单元 刊x 轴步进电机 光电隔离步进电机接口卜_ + 叫y 轴驱动单元p 刊y 轴步进电机 电源 z 轴驱动单元卜_ 叫z 轴步进电机 主轴电机接口f = 刮主轴电机 串并行输入输出口仁爿图形扫描仪 图11 计算机数控雕刻系统硬件组成框图 浙江大学硕士论文 面向对象的计算机数控雕刻控制软件的研制 1 1 1 数控技术的发展现状 一、数控技术概念及发展简介 数控技术是先进制造技术( 如柔性制造系统、计算机集成制造系统等) 的基础。 要发展先进制造技术,首先必须重视制造单元技术( 数控技术、加工单元、柔性制造单 元等) 。数控机床在现代加工领域,特别是在发达的工业国家( 如美国、日本、英国、 德国等) ,已经作为主要加工设备而取代传统加工机床。数控机床在整个现代制造系统 中处于基础性的、核心的地位。因此,在现代制造系统朝着集成化、综合化和智能化发 展的今天,特别是计算机技术发展与普及化,深入研究新一代数控技术具有重要的意义 和实用价值。 数字控制,简称数控( n u m e r i c a lc o n t r o l ,简称n c ) ,是一种自动控制技术,使用 数字信号对机床的运动及加工过程进行控制的一种方法。数控机床是一种装有程序控制 系统的机床,该系统能够逻辑地处理具有使用号码或其他符号编码指令规定的程序。数 控系统( n u m e r i c a lc o n t r o ls y s t e m ) 是一种自动阅读输入载体上事先给定的数字量,并 将其译码,从而是机床动作和加工零件的控制系统。数控系统一般包括数控装置、可编 程控制器( p r o g r a m m a b l el o g i cc o n t r o l l e r ,简称p l c ) 、主轴驱动及进给装置等部分7 1 8 i 。 1 9 5 2 年,麻省理工学院研制成功一台三坐标连续控制的数控铣床,这标志着数控 机床的诞生。数控机床一问世就显示了极大的优越性,由此逐步发展和完善起来。尤其 是在7 0 年代以后,伴随微电子技术、计算机技术、控制技术和伺服技术的发展而不断 地发展演变,数控系统的演变如表l 所示。特别是3 2 位微处理器、数字伺服、人工智 能和网络通信接口的应用,是数控系统向高速化、高精度化、复合化、系统化、智能化 等方向发展【”】。 二、开放式计算机数控系统简介 计算机数控( c n c ) 诞生于7 0 年代初,随着计算机技术的发展和微处理器的采用, 在短短的2 0 年中,c n c 得到了飞速的发展和广泛的应用。它不仅为机械制造业提供了 良好的机床控制能力,而且作为f m s 、c i m s 的技术基础,大大促进了先进制造业的发 展。 所谓开放式c n c ,是指p c n c ,它并非仅仅是c n c 与p c 的连接或仅仅是使用p c 组成c n c ,而是在加工机械专用世界中,也将引入p c 所具有的开放特性及文化。c n c 开放的意义大致包含下列两点: 1 、系统组成的内部开放化 系统组成内部开放化就是指c n c 内部的硬件、软件公开化。这样,数控设备制造 厂家就能按照自己的意图开发理想的适合用户需要的各种功能。并且,由于使用通用开 发工具和通用软件,开发成本将很低。 - 2 浙江大学碗士论文 面向对象的计算机数控雕刻控制软件的研制 表1 1 数控技术发展历程 分类世代诞生年代系统元件构成 世界中国 第一代 1 9 5 21 9 5 8 电子管、继电器、模拟电路 1 硬件数控第二代 1 9 5 91 9 6 5 晶体管、数字电路( 分立元件) 第三代 1 9 6 51 9 7 2 集成数字电路 第四代 1 9 7 01 9 7 6 内装小型计算机,中小规模集成电 路 1 9 7 41 9 8 2 微处理器n c 、内装微处理器、字 符显示、故障诊断 1 9 7 9 超大规模集成电路、大容量存储 器、可编程接口、遥控接口 1 9 8 1 人机对话、动态图形显示、实时软 第五代 件精度补偿、适应机床无人化运转 要求 1 9 8 7 3 2 位c p u 、可控1 5 轴、设定单位 o 0 0 0 1 m m 、进给速度2 4 m m i n 、可 带前馈控制的交流数字伺服、智能 化系统等 1 9 9 1 利用r i s c 技术的6 4 位系统 1 9 9 5 微机开放式c n c 系统 2 、系统组成各部分之间的开放化 数控设备主要由c n c 、伺服驱动、主轴驱动等部分组成。由于各组成部分之间的 接口的专用性,以往的数控设备其整机往往仅由独家的组件构成。系统组成各部分之间 的开放化,是力图使接口标准化,使数控设备制造厂家可以从众多的组件生产厂家中选 择最佳组件构成整机。 一个开放式数控系统必须提供不同应用程序协调地运行于系统平台之上的能力, 提供面向功能的动态重构工具,同时提供统一标准的应用程序用户界面。根据这样的定 义,开放式数控系统必须是一个全模块化的软件体系结构,其在技术上具体体现为平台 技术和面向应用功能单元对象的系统参考结构。它应具有以下的特点: 1 ) 开放性。提供标准化环境的基础平台,允许不同功能和不同开发商的软硬件模 块介入。一方面,不同的应用程序模块可以运行于不同供应商提供的系统平台之上;另 一方面,系统的应用平台可运行于不同类型、不同性能的硬件平台之上,而整个系统也 表现出不一的性能。 2 ) 可移植性。增添和减少系统的功能仅仅表现为特定功能模块的装载与卸载。 3 ) 互相替换性。不同性能、不同可靠性和不同能力的功能模块可以相互替代,而 不影响系统的协调运行。 浙江大学硕士论文 面向对象的计算机数控雕刻控制软件的研制 4 ) 扩展性。提供标准化的接口、通讯和交互模型。不同的应用程序模块通过标准 化应用程序接口运行于系统平台之上,不同模块之间保持平等的相互操作能力,协调工 作。 p c n c 的组成方式有多种,从大的方面划分可分为以下四种类型: 1 ) p c 连接型c n c 2 ) p c 内藏型c n c 3 ) c n c 内藏型p c 4 ) 全软件型n c 四种类型的特点及优缺点如下表所示: 表12p c n c 类型比较 p c n c 组成类型 特点优点缺点 p c 连接型c n c 是将容易实现,且原型原型c n c 部分 现有原型c n c 与p cc n c 几乎可以不加不能实现开放 p c 连接型c n c 用通用串行线直接相改动地予以利用,也化。且系统的 连的一种组成形式。可以使用通用软件。响应速度、通 讯速度慢。 p c 内藏型c n c 是在原型c n c 几乎可以不能直接使用 c n c 内部加装p c ,不加改动地使用,且通用p c ,p c 的 p c 内藏型c n c p c 与c n c 之间用专数据传送快、系统响开放程序受到 用总线连接。应快。限制 c n c 内藏型p c 是在能充分保证系统性很难利用原型 通用p c 的扩展槽中能,软件的通用性强c n c 资源,系 装入专用c n c 卡而而且编程处理灵活。统可靠性的确 c n c 内藏型p c 保也是个有待组成。专用c n c 卡 内容包括:j u t 轨迹生进一步研究的 成等几乎所有的问题。 c n c 处理功能。 所谓全软件型n c 是编程处理相当灵活,通用p c 上进行 指c n c 的全部功能软件的通用性强。实时处理较困 处理工作全由p c 处难,较难保证 理进行,并通过装在系统的性能, 全软件型n c p c 扩展槽中的接口而且难以利用 卡对伺服驱动等进行原型c n c 资 控制源,其可靠性 的确保也有待 进步研究。 p c n c 装置一般由p c 本体、伺服控制、伺服驱动及伺服电机、数字输入输出( d i o ) 等部分组成。其基本组成结构框架图如下图所示: d 浙江大学硕士论文面向对象的计算机数控雕刻控制软件的研制 图1 2p c n c 的系统组成 1 1 2 雕刻技术发展 雕刻加工是一种很传统的手工工艺,在工艺品、标牌、首饰等行业具有悠久的历 史口。但传统的雕刻加工一般都是手工工艺,产品的质量主要取决于雕刻师傅的技艺 水平,而且劳动生产率低,成本价格高,可重复性差。随着市场需求的不断扩大以及模 具工业的迅速发展,除首饰、标牌和工艺品的模具制造需要雕刻以外,很多日常生活用 品( 如服饰用品、钟表零件) 的模具也大量需要雕刻加工,导致了雕刻加工向自动化方 向发展。 目前,雕刻系统主要分两种:一种是激光式雕刻系统,他采用激光作为加工工具 进行雕刻加工;另一种是机械式雕刻系统,它采用传统的切削式加工方法进行雕刻加工。 这两种雕刻系统各有优缺点,应用区域也不尽相同。激光雕刻对加工材料有一定的限制, 它无法加工石材的材料,主要应用于标牌业和广告业:而机械式雕刻系统加工软到橡胶 硬到石材等各种材料,应用范围也较激光雕刻系统广泛的多。 机械式雕刻系统又可分为仿形雕刻机和计算机数控( c n c ) 雕刻机两大类。机械 式雕刻系统可以完成有互换性要求的雕刻加工和模具雕刻加工。计算机数控( c n c ) 雕刻机按驱动电机分类,可分为步进电机驱动的计算机数控雕刻机和伺服电机驱动的计 算机数控雕刻机,后者精度较高,但控制复杂,成本也较高;按运动坐标类型进行分类, 分为三坐标c n c 雕刻机和五坐标雕刻机;按机床结构进行分类,分为立式c n c 雕刻 机、卧式c n c 雕刻机和龙门c n c 雕刻机等。下面是雕刻系统的发展示意图: 臼区巫五 臼匝巫叵 - 5 浙江大学硕士论文 面向对象的计算机数控雕刻控制软件的研制 图1 3 雕刻技术发展图 1 2 面向对象的软件工程 本节将介绍软件工程的基本知识和面向对象的技术,重点研究利用面向对象技术 进行的软件开发,即面向对象的软件工程。 1 2 1 软件工程概述 一、软件的概念 根据( g b i 11 4 5 8 9 软件工程术语中的定义,软件是指计算机系统系统的操作 有关的计算机程序、规程、规则以及任何与之有关的文件。简单的说,软件包括程序和 文档两部分。程序是指适合于计算机处理的指令序列以及所处理的数据;文档是与软件 开发、维护和使用有关的文字材料 哺 。 从不同的角度出发,对软件可以进行不同的分类。例如,按功能划分,可将软件 分为系统软件、支撑软件和应用软件;按规模划分,可分为微型、小型、中型、大型及 特大型软件等;按工作方式划分,可分为实时处理软件、交互式工作软件、分时工作软 件等;按服务对象划分,可分为仅供一个或少数几个用户使用的项目软件和提供给市场 或为成千上万个用户服务的产品软件;还可以按使用频度、失效影响程度等进行划分。 上述划分方法主要是从使用者或开发者的角度出发的,如果从计算机本身的处理能力方 面出发,则可分为数值计算型软件、逻辑( 符号) 推理型软件、人机交互型软件和数据 密集型应用软件等。 判断一个软件的好坏,是没有什么绝对标准的,但下面给出的一些定性的准则, 可以帮助我们理解和判断什么样的软件更好一些。 1 ) 正确性 正确性是指软件符合规定的需求的程度。正确的软件具备且仅具备软件“规格说 明”中所列举的全部功能,能够在预期的环境下完成规定的工作。软件运行的背景条件 是否正确,不是正确性考核的范畴。 2 ) 可靠性 可靠性指的是在规定的条件和时间内软件不引起系统失效的概率。它主要取决于 正确性和健壮性两方面。正确性如前所述:健壮性则是指系统万一遇到意外时能按照某 种预定的方式作出适当处理,从而避免出现灾难性的后果。因此,可靠的软件在正常情 况下能够正常工作,在意外情况下亦能适当地处理以使软件故障可能导致的损失最小。 3 ) 简明性 简明性是要求软件简明易读,它和软件设计语言的表达能力以及软件设计风格有 关a 好的软件设计风格有助于软件达到简明性要求。简明性不等于简单性。问题本来就 是很复杂时,我们不可能使它简单。但软件结构清晰,编排得体,容易看懂还是容易做 得到的。最重要的是不要人为地增加复杂性。 6 浙江大学硕士论文 面向对象的计算机数控雕刻控制软件的研制 4 ) 有效性 有效性是指软件的时间效率和空间效率要高。随着计算机硬件的快速发展,对于 一般软件而言,有效性已不成什么问题,然而对于一些特殊的软件( 如实时控制软件) 仍是必须认真考虑的。 5 ) 可维护性 可维护性指的是软件能够修改和升级的容易程度。它目前已经成为越来越重要的 软件开发准则。好的可维护性要求软件有好的可读性、可修改性和可预测性。 6 ) 适应性 适应性是指软件使不同的系统约束条件和用户需求得到满足的容易程度。它要求 软件尽可能适应各种硬件、软件运行环境,以便软件的推广和移植。 一般来说,对于不同的软件,上述准则的优先次序也是各不相同的。对于正规的 较大型应用软件,优先次序是正确性、可靠性、有效性、适应性、可维护性、简明性: 对于一般应用软件,其优先次序为正确性、可靠性、简明性、可维护性、有效性:对于 临时软件,则只要求正确性、简明性。 二、软件开发 软件开发是一个把用户需要转化为软件需求,把软件需求转化为软件设计,用软 件代码来实现软件设计,对软件代码进行测试,并签署确认它可以投入运行使用的过程。 在这个过程中的每一个阶段,都包含着相应的文档编制工作。 软件是一种产品,具有与其他产品一样的特性。但是,与其他产品相比,软件是 一种逻辑的而不是物理的系统成分。在软件开发过程中,它不不象加工一个机械零件那 样看得见、摸得着。由于不存在物理上得损伤和磨损用坏等问题,所以在软件的开发过 程中,人们往往不易或不愿意象开发机器产品、房屋建筑产品那样有计划、有步骤、按 规范进行。直至现在,还常常有人喜欢按照自己的一套来“编程序”,拿到一个软件开 发课题后,在没有搞好需求分析、结构设计等工作的情况下,就急急忙忙动手编起程序 来:由于急于求成,编写程序时也往往忽略好的编码风格,这些都给以后的维护工作带 来很大的困难。他们习惯于我行我素,不肯学习和采用经过实践证明是行之有效的软件 开发方法,有时甚至对这些好的方法采取“抵制”态度。单枪匹马、自以为是、孤芳自 赏仍然是我国软件开发工作中存在的严重问题。也是导致我国软件产品水平长期上不去 的重要原因之一。 在软件开发过程中,还存在的一个普通的问题是不重视作为软件的一个重要组成 部分的文档编制工作。常常有人认为,软件项目成功的标志是交出能够正确运行的程序, 文档是可有可无的。如果一定需要,也只是在程序本身完成之后再补上的。这种仅仅为 了交差才补写的文档往往和实际开发的程序存在很大的差距,难以发挥其应有的作用。 符合要求的、规范化的文档在软件开发中的作用就如同零件图纸在产品开发中的作用一 样,起着表达思想、传递信息的重要作用,是保证软件开发质量、提高软件可维护性、 7 浙江大学硕士论文 面向对象的计算机数控雕刻控制软件的研制 可靠性和可生产性的重要保障。 三、软件开发过程 从工程学角度看,软件开发过程包括计划、分析、设计、编码、测试和维护等几 个阶段,如图1 4 所示: 图14 软件开发的迭代模型 报告 报告 1 、计划 对所需解决的问题进行总体定义,包括了解用户的要求及现实环境,从技术经济 和社会因素等三个方面研究并论证本软件项目的可行性,编写可行性研究报告,探讨解 决问题的方案,并对可供使用的资源( 如计算机硬件、系统软件、人力等) 成本,可取 得的效益和开发进度做出评估。制定完成开发任务的实施计划。 2 、分析 对所要解决的问题进行详细定义,这需要软件开发人员和用户共同讨论决定,那 些需求是可以满足的,并加以确切地描述。编写软件需求说明书、初步用户手册、确认 测试计划和数据要求说明书等。 3 、设计 根据需求说明书的要求,设计建立相应的软件系统的体系结构,并将整个系统分 解成若干个子系统或模块,定义子系统或模块间的接口关系,对各个子系统进行具体设 计定义。编写软件概要设计和详细设计说明书,数据库或数据结构设计说明书,组装测 b 浙江大学硕士论文 面向对象的计算机数控雕刻控制软件的研制 试计划。 4 、编码 把软件设计转换成计算机可以接受的程序, 程序清单”。 5 、测试 在设计测试用例的基础上对软件进行测试 能设想运行。编写测试分析报告。 6 、维护 即写成以某一程序设计语言表示的“源 以验证系统是否按所要求的性能和功 根据软件运行情况,对软件进行适当的修改,以适应新的要求,以及纠正运行中 发现的错误。编写软件问题报告,软件修改报告。 在实际开发过程中,软件开发并不是从第一步进行到最后一步,而是在任何阶段, 在进入下一个阶段前一般都有一步或几步的回溯。在软件开发中,重复经常出现。在测 试过程中的问题可能要求修改设计,用户可能会提出一些需要修改需求说明书的新要 求,等等。 四、软件开发原理 在软件开发过程中主要采用以下基本原理。 1 、抽象 计算机只能进行数字、符号和逻辑运算等等,而不能直接处理现实世界中的问题。 因此,必须先将要处理的问题按一定的方式和步骤抽象成计算机能处理的形式后再交给 计算机去处理。 抽象是具有层次性的。在不同的层次上对问题进行抽象,可以在不同的层次上去 认识和处理问题。无论是在较高层次上处理问题还是在较低层次上处理问题,都具有同 等的重要性。 例如,当利用计算机解决一个较大的问题时,用户会在功能上、用户界面等方面 提出一些总的要求( 高层次上的抽象) ,同时会在某些细节上提出一些具体的要求( 低 层次上的抽象) 。在采用结构化方法研制其软件系统时,首先将从满足用户总的要求出 发进行系统的总体设计( 在较高层次上处理问题) ,然后进行详细设计以满足用户的具 体要求( 在较低层次上处理问题) 。显然总体设计和详细设计具有同等的重要性。 2 、目标分解 任何一个复杂的问题,都可以通过一些较小的问题表示,这些较小的问题又可以 通过更小的问题表示。处理一个复杂的问题,也就可以通过处理那些较小的以及更小的 问题来实现。因此,我们可以把处理一个复杂的问题这样一个总目标分解成处理那些较 小的以及更小的问题这样一些子目标。 3 、局部化与信息隐藏 局部化简单地说就是尽可能在局部范围内处理好问题。例如,某大学宿舍里有了 9 浙江大学硕士论文 面向对象的计算机数控雕刻控制软件的研制 问题,最好在宿舍内部解决好,而不要弄到班上去解决,而班上有了问题,最好能在班 上这个局部范围内解决,而不要弄到系里去。软件开发,也要采用类似的方法。一段程 序,它的控制应尽量是局部的,不受其它段的影响,也不影响其它段;所处理的数据也 尽量是局部的。这样,局部定义的数据外部无法访问,达到了信息隐藏的目的。 4 、一致性 一致性是指在整个软件中,所有表示方法应是一致的。例如,同一变量名在整个 软件中的意义应该是一致的。遵循一致性原理将大大改善程序的可读性和可维护性,将 体现出软件开发者的某种风格。 5 、可验证性 可验证性原理就是所开发的程序模块应尽量具有相对的独立性,能相对独立地测 试,相对独立地维护修改,这样能保证整个程序的可验证性。 五、软件开发方法 当前主要采用的软件开发方法有结构化方法、面向对象方法和专家系统方法这三 种。 l 、结构化方法 结构化方法是一种围绕功能组织软件系统的方法。在这种方法中,系统的基本构 成要素是模块,它是一种实现系统某一功能的程序单元。模块具有输入、输出、内部数 据和过程等基本特性。 输入和输出分别是模块需要的和产生的数据,内部数据是仅供模块本身引用的数 据,过程则是对模块具体处理细节的描述和表示。输入和输出是模块的外部特性,内部 数据和过程是模块的内部特性。 结构化方法是通过按功能将问题分解抽象成模块、建立模块和模块之间的调用关 系来进行软件开发的。参照上图所示的软件开发的一般过程,结构化软件开发方法的具 体工作内容和步骤如图所示。 分析:问曩是什么设计t 怎样解决 分析确定数据流图( d f d ) 分析确定实体联系图( e r d ) 设计建立结构图( s c ) 设计建立关系数据模式( r m ) 实现t 解决 过程设计 编码调试 运行维护 圈l5 结构化软件开发方法工作内容和步骤 2 、面向对象方法 面向对象方法是一种围绕真实世界中的事物来组织软件系统的全新方法。在这种 方法中,系统的基本构成要素是对象。从软件开发人员的角度来看,对象是一种将数据 - 1 0 浙江大学硕士论文 面向对象的计算机数控雕刻控制软件的研制 和处理这些数据的操作合并在一起的程序单元:从用户的角度来看,对象是一种具有某 些属性和行为的事物。对象可以是具体的,如自行车:也可以是概念性的,如车辆通行 方案。对象具有标识唯一性、分类性、多态性、继承性和封装性等基本特性。 1 ) 标识唯一性 面向对象的软件系统是由许许多多的对象构成的,每个对象都有自己的唯一标识, 即使两个对象的所有属性和行为都相同,例如两部一模一样的自行车,在面向对象的软 件系统中仍然可以区分出是两个不同的对象。通过这种标识,可以找到和确定相应的对 象。 2 ) 分类性 分类性是指具有相似属性和行为的一组对象抽象成类。在日常生活中,我们说某 些东西,例如钟表,一般情况下是指钟表这一类东西,除非特地指明某只具体的钟表。 在将对象抽象成类时,往往只是保留与应用有关的重要特性,而忽略某些无关的性质。 可以这么说,类是一组在应用领域里具有相同类型属性和行为的对象。 3 ) 多态性 多态性是指同一操作可以是多个不同的对象的行为。例如操作“m o v e ”,可以是 自行车对象的行为,也可以是窗口对象的行为。操作是对象的动作或者是对象状态的变 化。对象中的操作的具体实现称为方法。由于对象操作具有多态性,所以它可以有多种 实现方法。 4 ) 继承性 继承性是指对具有层次关系的类的数据和操作进行共享的一种方式。可以先定义 一个基本类,然后再在这个基本类的基础上定义多个子类。各个子类继承该基本类( 称 为父类) 的各种性质,并且还具有自己独有的性质。父类的性质在子类中不必重复定义。 例如,男式自行车和女式自行车都是自行车的子类,它们都继承了自行车的性质,却有 各有特性。继承性是面向对象方法的主要优点之一。 5 ) 封装性 封装性是指对象的各个独立的外部特性与对象的内部实现细节分离开来,外部特 性允许其它对象访问,而内部细节则对其它对象隐藏。具体实现手段是,将表征事物属 性的数据以及表征事物行为的操作同放于一对象中,并使对数据的访问只可通过该对象 本身的操作来进行,而其他对象都不能直接访问。 面向对象方法是通过将存在于问题空间范围内的事物抽象成对象、建立对象和对 象之间的通讯联系来进行软件开发的,参照上面的软件开发的一般过程图,面向对象软 件开发方法的具体工作内容和步骤下图所示: 浙江大学硕士论文 面向对象的计算机数控雕刻控制软件的研制 分析:问嚣是什么设计:怎样解决 分析确定对象 分析确定结构 分析确定主题 分析确定属性和实例关联 分析确定行为和消息关联 设计建立问题空间类 设计建立用户界面类 设计建立任务管理类 设计建立数据管理类 实现;解决 操作设计 编码调试 运行维护 图l6 面向对象软件开发方法工作内容和步骤 3 、专家系统 专家系统方法是一种围绕知识来组织软件系统的方法。它应用人工智能技术,根 据人类专家提供的知识、经验进行推理和判断,模拟人类专家解决那些需要专家解决的 复杂问题。在这种方法中,构成系统的基本要素是知识和应用这些知识的推理机制。 专家系统方法是通过对存在于问题空间范围内的知识和经验进行收集、整理和描 述,建立知识和知识之间的逻辑推理关系来实现软件开发的。参照上面软件开发的一般 过程图,专家系统软件开发方法的具体工作内容和步骤如下图所示: 分析:问题是什么设计:怎样解决 分析确定知识及其之间关系设计建立知识库 设计建立推理机 设计建立数据库 设计建立解释器 设计建立知识获取器 实现:解决 编码调试 运行维护 图i7 专家系统软件开发工作内容和步骤 4 、各种方法特点比较 从概念方面看,结构化软件是功能的集合,通过模块以及模块和模块之间的分层 调用关系实现;面向对象软件是事物的集合,通过对象以及对象和对象之间的通讯联系 实现;专家系统软件是知识的集合,通过知识以及知识之间的逻辑推理关系实现。 从构成方面看,结构化软件= 过程+ 数据,以过程为中心:面向对象软件= ( 数 据+ 相应操作) 的封装,以数据为中心;专家系统软件= 知识+ 推理,以知识为中 心。 从运行控制方面来看,结构化软件采用顺序处理方式,由过程驱动控制;面向对 1 2 浙江大学硕士论文 面向对象的计算机数控雕刻控制软件的研制 象软件采用交互式、并行式处理方式,由消息驱动控制;专家系统软件采用交互式、并 行处理方式,由数据驱动控制。 从开发方面看,结构化方法的工作重点是设计;面向对象的工作重点是分析;专 家系统的工作重点是知识的获取和表达。但是,在结构化方法中,分析阶段和设计阶段 采用了不相吻合的表达方式。需要把在分析阶段采用的具有网络特征的数据流图转换为 设计阶段采用的具有分层特征的结构图,在面向对象方法中则不存在这一问题。 从应用方面看,相对而言结构化更加适合数据类型比较简单的数值计算和数据 统计管理软件的开发;面向对象方法更加适合大型复杂的人机交互式软件和数据统计管 理软件的开发:专家系统方法更加适合逻辑推理型软件的开发。 从发展方面看,面向对象方法是软件开发方法的发展方向。 六、软件发展的鼍新发展及其特征 软件技术是一种赋能技术,能为各种应用增值,具有很强的渗透性,能带动其他 产业的发展,是改造传统产业的重要手段,是推动国民经济发展和社会进步的重要动力。 下面将从主流技术、计算模式、开发方法三方面讨论当前软件的最新发展及特征l 。 1 、主流技术 面向对象是当前发展中的主流软件技术。c + + 是工业界应用最广泛的面向对象语 言,j a v e 是流行于网络的面向对象语言,s m a l l t a l k 则在研究、开发和某些应用中占有 地位。目前,面向对象软件技术开发及生产的主要方向是: 1 ) 基于部件的软件开发和生产 部件( c o m p o n e n t s ,或称构件、组件) 是具有某种特性和功能的相对独立的软件 单元它是在对象、类以及类的聚集等概念上发展起来的。部件加上连接器( c o n n e c t o r s ) 可以形成满足特定应用域需求的软件体系结构,为软件的开发、特别是大型的软件开发 和软件的生产开辟了有效的途径。部件也是软件重用的基础。 2 ) 动态对象技术 在应用发展迅速和需求多变的今天,常常需要动态地实现软件系统的演化。理想 的动态对象系统应该是运行时进行配置,不需要对原代码进行存取。支持动态演化的对 象技术主要有动态链接、原类和反射技术。在i n t e m e t 上用电子邮件或软件下载的方法, 进行更新或排除差错,有时也被算作动态技术动态软件演化还需要可视化技术的支持。 3 ) 开发方法趋于融合 面向对象的软件开发经过近2 0 年的发展,现在虽然还有争论,但方法相互融合的 趋势明显。典型的例子是b o o c h 、r u m b a u g h 和j a e o b s o n 三人最近把各自具有代表意义 的方法融合在一起,并为此设计了统一的造型语言u m l 。 4 ) 形式描述有进步 形式描述是面向对象技术的不足之处,近年来有了进步。例如把z + + 和v d m + + 等 记法用于面向对象软件的规范描述,应用日趋广泛。 浙江大学硕士论文 面向对象的计算机数控雕刻控制软件的研制 5 ) 存在问题 面向对象软件开发技术还有许多不足。首先是理论研究落后于实践。其它如基于 对象的软件度量学,面向对象软件的性能评价、从分析到设计的平滑过度等问题,都还 存在不少疑点、争论以至于空白。 2 、分布式网络计算 分布式网络计算是当前发展中的主要计算模式,它把多个分散的计算单元、不同 的数据库、不同的操作系统、不同的通讯协议联结成一个整体的计算系统,正在全球范 围内迅速发展。 1 ) 分布式对象计算 当前分布式网络计算的模式、开发环境、通讯协议、标准等等,大多建立在对象 技术上。j a v a 语言的出现,更进一步推动了分布式对象计算。 2 ) 客户服务器模式 这是当前分布式网络计算的主要模式,是一种典型的以服务为中心,把计算组织 成一个具有多个分布的服务进程的系统。客户服务器模式是在t c p f i p 协议的支持下发 展起来的。 3 ) 系统的互操作性 分布式系统是由异种技术( 不同结构的子网、不同的操作系统、不同的通讯协议 等) 组成的,但必须相互能够提供服务,因此必须实现互操作,所以系统的设计及实现 必须服从开放式标准,同时需要有环境的支持,如操作系统和辅助工具。 4 ) 问题和未来的发展 分布式网络计算在方便可靠、安全保密、互操作性等方面还需要做大量的工作。 3 、开发方法的新进展 软件开发需要有新思路:( 1 ) 从只集中于单个产品转移到集中于一个产品族的设 计和生产。( 2 ) 从只集中注意于设计转移到集中注意于软件的体系结构。( 3 ) 强调软件 重用。新的软件开发方法有以下一些: 1 ) 设计样本( d e s i g n p a t t e r n s ) 软件开发中采用设计样本,使一个新的软件系统可以利用已有的样本加以一定的 修改、组合而构造。这可以使设计更加灵活、精巧、可靠,并且节省时间和费用。 2 ) 域工程( d o m a i n e n g i n e e r i n g ) 它由域分析和域造型两部分构成,为特定域的软件重用提供基础。 特定域软件体系结构( d o m a i ns p e c i f i cs o f t w a r ea r c h i t e c t u r e ,d s s a ) 它是对某个应用域,在域工程的基础上给出域的软件参照体系结构,为相同域的 软件开发提供一种可共享的框架。 3 ) 软件体系结构( s o f t w a r ea r c h i t e c t u r e ,s a ) 软件体系结构是概括程度最高的一种开发方法。它所关心的是软件系统的组织、 - 1 4 浙江大学硕士论文 面向对象的计算机数控雕刻控制软件的研制 对组成系统的部件选择、部件间的交互作用、把部件组合到大系统中、指导这些组合的 模式等。 1 2 2 面向对象技术 一、面向对象技术的一些基本概念 l 、对象 客观世界中的任何事物,在一定的条件下,都可以成为人们认识和研究的对象, 即对象是客观存在的,通俗的讲,对象即生活中的每一个实体。这些客观世界中的实体 在程序设计中的体现就成为目标系统中对象或称目标( o b j e c o ,即一种被赋予动作的 特殊数据【2 0 】。 2 、面向对象( o b j e c to r i e n t e d ,简称0 0 ) 这是针对“面向过程”提出的。面向过程的方法是将数据和过程分离为相互独立 的两部分,数据代表问题空间中的实体,过程体现了处理这些数据的方法:其程序设计 的范式是“数据结构+ 算法”,“过程”是构造软件的基本组件。所谓面向对象,就是将 现实世界中的对象和它的行为( 或称对它的操作) 作为一个整体来考虑,用对

温馨提示

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

评论

0/150

提交评论