欢迎来到天天文库
浏览记录
ID:5907206
大小:1.09 MB
页数:41页
时间:2017-11-14
《第04章 cad软件工程技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章CAD软件工程技术CAD应用软件开发的现状需求在不断增加随着计算机技术在产品设计与制造中的广泛应用,对各种高质量、实用的CAD软件的需求量在不断增加。开发更具针对性虽然许多CAD软件公司都推出了功能强大的通用型CAD应用系统(如:UG、Pro/E等),但是任何一个通用CAD软件都不可能解决某个特定行业在产品设计与制造中的全部问题,必须根据行业的特点和要求,进行有针对性的应用开发。开发采用工程开发的思想CAD应用软件的开发与其它工程产品的设计制造一样,都是为了解决实际的工程问题,所以都应从工程的角度去组织和实施。(即
2、将软件开发视为一项软件工程来组织与实施)采用软件工程的方法可以高效、高质量地保证软件开发的顺利进行。4.1软件工程的基本概念软件工程简介软件发展的三个阶段程序设计阶段:20世纪50~60年代程序系统阶段:20世纪60~70年代软件工程阶段:20世纪70~80年代软件工程概念的提出1968年在德国召开的NATO(北大西洋公约组织)学术会议上,FeitzBauer首先提出了“软件工程”概念。软件工程与编程的区别是一门学科,一种科学理论,用来指导软件系统的开发,以实现软件开发过程的标准化,自动化。考虑如何分解一个系统,以便分工
3、开发;考虑如何说明每个部分的规格要求;怎样才能易于维护软件工程编程单纯的代码编写是软件工程发展的前身是软件工程中占据很少时间和空间的一部分软件工程的基本概念FritzBauer在NATO会议上给出的定义:“软件工程是为了经济地获得可靠的和能在实际机器上高效运行的软件而确立和使用的健全的工程原理(方法)。”IEEE(国际电子电器工程师协会)83年给出的软件工程定义:“软件工程是开发、运行、维护和修复软件的系统方法。”IEEE93年给出了一个更加综合的定义:“将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程
4、,即将工程化应用于软件中。”4.2软件危机与软件工程框架及原则软件的定义软件是计算机程序、方法、规则、相关的文档以及在计算机上运行时所需要数据的总称。软件是计算机系统的核心。软件的特点软件是一种逻辑实体,是逻辑产品没有硬件那样的机械磨损、老化问题。(见下图)失效曲线开发和运行常常受计算机系统的限制硬件限制286时代不可能开发出UG。软件限制DOS时代不可能开发出具有视窗界面的应用程序。手工作坊式的开发方式(生产率低)虽然模块化、动态连接库技术、组件技术等,都在致力于代码的重用,但都要进行或多或少的手工修改。不能象机械零件
5、(如:螺钉、螺母)那样,拿来就用。软件技术的发展落后于需求软件设计越来越复杂性软件开发的成本高计算机系统硬、软件成本比例的变化软件的规模越来越大类别参加人数研制期限产品规模(源程序行数)微型11~4周0.5k小型11~6月1k~~2k中型2~51~2年5k~50k大型5~202~3年50k~100k超大型100~10004~5年1M(1000k)极大型2000~50005~10年1M~10M例如:Windows代码量Windows95有1000万行代码Windows2000有5000万行代码例如:Exchange2000
6、和Windows2000开发人员结构Exchange2000Windows2000项目经理25人约250人开发人员140人约1700人测试人员350人约3200人软件危机指在计算机软件开发和维护过程中所遇到的一系列问题。不能正确地估计软件开发成本和进度,致使实际开发成本往往高出预算很多。软件产品不可靠,满足不了用户的需求,甚至无法使用。交付使用的软件不易演化,以至于人们不得不重复开发类似的软件。软件生产率低下,远远满足不了社会发展的需求。例子:美国IBM公司在1963年~1966年开发的IBM360机的操作系统。该项目花
7、了5000人/年的工作量,最多时有1000人同时投入开发工作,写出了近100万行源程序。尽管投入了这样多的人力物力,得到的结果却非常糟糕。据统计,这个操作系统每次发行新版本都是从前一版本中找出1000个程序错误修正的结果。项目负责人F.D.Brooks事后总结了他在组织开发过程中的沉痛教训时说:“……正像一只逃亡的野兽落到泥潭中作垂死的挣扎一样,越是挣扎,陷得越深。最后也无法逃脱灭顶的灾难,……程序设计工作正像这样一个泥潭,……一批批程序员被迫在泥潭中拼命挣扎,……谁也没有料到问题竟会陷入这样的困境……”。IBM360操
8、作系统的历史教训成为软件开发项目的典型事例为人们所记取。软件工程框架及原则原则:1、选取适宜的开发模型;2、采用合适设计方法;3、提供高质量工程支持;4、重视开发过程管理。开发阶段每个开发阶段都应考虑总的原则“软件工程”课程教学的目标转变对软件的认识:上升程序系统转变思维定式:上升程序员系统工程师(系统分析员)实现进
此文档下载收益归作者所有