




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、浅谈软件开发过程中的方法问题摘要:先进的制造模式要求信息集成和功能集成贯穿于产品生命周期的每一阶段,功能的集成需要软件系统的支持,从而推动先进制造模式的实现。软件开发过程是建造软件解决方案的关键要素。本文详细讨论了两类主要的过程开发方法,即面向对象方法和结构化方法。关键词:软件开发过程;面向对象方法;结构化方法methodological issues in the process of software development xia xue(beijing elite creation technologyco.,ltd.,beijing100081,chinaabstract:advan
2、ced manufacturing model requires information integration and functional integration throughout the product life cycle at every stage of the functional integration needs the support of the software system,thus promoting the realization of advanced manufacturing mode.the software development process i
3、s a key element of construction software solutions.this paper discusses the two main types of process development methods,object-oriented methods and structured methods.keywords:software development process;object-orientedmethods;structured approach一、软件系统的开发过程软件可划分为智能软件、系统软件和应用软件三个领域。由于不同的软件采用的开发知识不
4、同,从而构成各自相应的方法。尽管,智能软件和应用软件分属不同的领域,但智能软件和应用软件都是计算机软件。建造软件系统的解决方案由三个关键的相互关联的基本要素组成:1.软件工程过程(sep。2.软件工程过程支持环境(sepse,如开发工具和建模语言等。3.培训、指导和咨询服务。watts humphrey曾经说过,“软件工程过程就是将客户需求转化为软件产品的所有必须活动的集合”。在整个解决方案中首当其冲而且也是最重要的要素是过程。二、当前主流的软件开发方法(一结构化方法1.结构化程序设计方法20世纪60年代,围绕是否应取消goto语句,人们展开了一场激烈的争论。最终人们认识到,软件开发中的问题的
5、解决不仅仅是简单的取消goto语句,而是应该改变传统软件开发思维观念,在此基础上创建新的程序设计方法。围绕goto语句争论的结果使人们形成了新的思维观念:编写程序时,在正确地实现了软件功能的前提下,必须考虑到程序的可维护性,重视程序的可读性、清晰性和可理解性,而不能随心所欲地去过分追求程序编写技巧。由于使用三种基本程序结构(顺序、选择、循环组成的程序具有良好的可读性、清晰性和可理解性,容易维护,所以逐渐成为主流的程序结构标准。按照这样的新思维观念,形成了一个新的程序设计方法结构化程序设计方法,结构化程序设计是根据结构程序设计原理,将每个模块的功能用相应的标准控制结构表示出来,从而实现详细设计。
6、2.结构化分析方法和结构化设计方法结构化程序设计方法的巨大成功推动了结构化分析方法和结构化设计方法的发展。1974年,stevens、myers和constantine发表文章structured analysis,提出了结构化分析和结构化设计的概念。结构化分析方法根据分解与抽象的原则,按照系统中数据处理的流程,用数据流图来建立系统的功能模块,从而完成需求分析工作。结构化设计方法使用模块化和自顶向下逐步细化技术,将数据流图等结构化分析的结果转化为软件系统总体结构,用软件结构图来建立系统的物理模型,实现系统的概要设计。结构化软件开发方法成为20世纪70年代和80年代占主导地位的软件开发方法,它有
7、效地遏制了软件危机的蔓延,直到现在仍在发挥作用。结构化方法简单实用,技术成熟,应用广泛,但难以承担大规模的项目或特别复杂的项目,难以解决软件重用(复用问题,难于适应需求变化,且软件维护依然比较复杂。(二面向对象方法面向对象软件开发方法包括面向对象分析方法(object-oriented analysis,简称ooa、面向对象设计方法(object -oriented design,简称ood和面向对象程序设计(object-oriented pro -gramming,简称oop,其核心是面向对象程序设计方法。一般认为软件由程序和文档组成,而程序又由数据结构和算法组成,在传统的程序设计方法中,
8、数据(数据结构和施加在数据上的操作(算法被分离成两个独立的部分,而程序被看作是工作在数据上的一系列过程或函数的集合,然而客观世界的实体既有静态的属性(即数据,又有动态的行为(即对数据的操作,因此这两方面内容密切相关,由于传统的程序设计方法将这两方面内容分离,无形中加深了问题空间与解空间之间的裂痕,增加了软件开发的难度。相反,面向对象方法有下列要点:客观世界是由各种对象(object组成的,复杂对象可以由简单对象组成。有共同属性和方法的一组对象抽象为一个类(class。一个类(子类可以继承另外一个类(父类的方法和属性,这一特性称为继承。对象之间通过传递消息进行通信。以上特点可以归结为如下的公式:
9、object-ori-ented =object +classification +inheritance +commu-nication with messages。在面向对象程序设计方法中,数据和施加在数据上的操作被封装在一起,形成类和对象的概念,用对象分解取代了传统方法的功能分解。这一思维观念创新使得问题空间与解空间的结构基本一致,有利于软件复用,也与人们通常认识世界的思维方式相符,更利于加强代码的易懂性。20世纪60年代末,kristen nygaard和ole-johan dahl在挪威计算中心开发出simula67语言,提出许多面向对象的概念。1972年,alankay引用simu
10、la语言中关于类和对象的概念,开发出第一种真正的面向对象语言smaltalk。smalhalk语言的发布引起了人们的广泛关注,随后产生了数十种面向对象语言,例如著名的c+和java。在面向对象程序设计方法基础上,许多面向对象分析和设计(ooa /ood方法被提出,比较著名的如wirfs -brock方法、booch 方法、coad/yourdon方法、对象建模技术 omt(objectmodeling technique、面向对象软件工程oose(object-oriented software engineering等。这些面向对象分析和设计方法各有各的特点,为了吸收它们各自的优点,形成统一
11、的面向对象分析和设计方法,booch、jacobson 和 rambaugh 三人合作,于 20 世纪 90 年代后期提 出了统一建模语言 uml(unified modeling language) 。在 uml 基 础上形成的面向对象软件开发方法开始得到广泛的应用,成为 20 世纪 90 年代直到目前占主导地位的软件开发方法,面向对象程序 设计方法这一思维观念创新可以被称为程序设计方法的第二次飞 跃。 然而,在面向对象方法中,软件开发阶段的划分是比较模糊的, 通常要在分析、设计与实现等阶段间进行多次迭代。 (三)形式化方法 随着科技的发展,计算机软件越来越多地被用来执行那些可能会 导致严重
12、后果甚至危及生命的任务,例如宇宙飞船发射、铁路安全 监控和核反应堆监控等任务,这些系统的软件复杂性远远超过一般 软件,如何在软件复杂性增加的情况下仍能确保软件执行结果安全 可靠至关重要,达到这一目标的一种途径就是使用形式化方法。 软件工程中的形式化方法就是依靠数学模型和计算来描述和验证 一个目标软件系统的行为和特性,包括需求规格、设计和实现等, 形式化方法最根本的特征就是建立在严格的数学基础上,如果一个 方法有良好的数学基础 (这个基础提供一系列精确定义的概念, 如:一致性和完整性,以及定义规范的实现和正确性) ,那么它就 是形式化的,典型的以形式化规约语言给出。 形式化方法能很好地解决在软件
13、开发中经常出现的二义性问题, 因为形式化方法主要是符号系统,这种符号系统具有一定的数学性 质。 形式化方法也有其缺点,首先是规范所使用的数学工具与模型并 不能保证规范的绝对正确和安全性;其次是对于任何一种数学规 范,在其基本的数学意义下,针对不同的工程背景,并不是只有一 种解释。当然,这些不是二义性问题,而是不同领域对规范的解释 和相容性问题。 三、结论 计算机和网络技术的发展及其在制造业中的应用,产生许多新的 制造模式,如并行工程,敏捷制造和全球制造。这些新的模式对产 品进行生命周期的设计和管理提出了进一步的要求。结构化方法和 面向对象方法是现今主要的软件开发过程方法。构化方法贯彻自顶 向下逐步细化的“功能分解”思想,其基于功能分解的特点,使之 不足明显。面向对象方法则是从问题域中客观存在的事物出发来构 造系统,用对象作为对这些事物的抽象表示,并以此作为系统的基 本构成单位,面向对象方法和结构化方法的相比有了更大的进步。 参考文献: 1王健,程虎.系统软件开发过程中的软件工程技术j.计算机 研究与发展,1996,33(04:263-271 2ivar jacobson. the road to th
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 惠州经济职业技术学院《工程管理》2023-2024学年第二学期期末试卷
- 西北工业大学《港澳台广告》2023-2024学年第二学期期末试卷
- 天津城市建设管理职业技术学院《算法课程设计》2023-2024学年第二学期期末试卷
- 武昌首义学院《社会工作伦理》2023-2024学年第二学期期末试卷
- 江西软件职业技术大学《电子商务运营管理》2023-2024学年第二学期期末试卷
- 山东农业工程学院《投资银行学》2023-2024学年第二学期期末试卷
- 北京中医药大学东方学院《信息化管理与技术创新》2023-2024学年第二学期期末试卷
- 北京城市学院《机械CAD》2023-2024学年第二学期期末试卷
- 顺德职业技术学院《民族建筑与文化实验》2023-2024学年第二学期期末试卷
- 黑龙江工程学院昆仑旅游学院《外贸制单英》2023-2024学年第二学期期末试卷
- 2023届高三物理一轮复习89热学中的变质量问题(解析版)
- 人教版 美术 三年级下册全册表格式教案教学设计
- 2021年全国高中数学联赛浙江赛区初赛试题
- 公路工程质量检验评定标准 第二册机电工程 JTG 2182-2020
- 【基于SERVQUAL模型的京东生鲜电商物流服务质量评价的实例探析8100字(论文)】
- 住院精神疾病患者自杀风险护理(2023版团标)
- 高血压危象护理教学查房
- 脚手架工程安全管理风险辨识及防范措施
- 十字头夹具设计说明书
- 04S202 室内消火栓安装
- 医疗设备强检计量目录(参考)
评论
0/150
提交评论