软件工程系统论研究初探.doc 全文免费在线阅读
本文关键词:软件工程系统论研究初探,由笔耕文化传播整理发布。
网友xxj16588近日为您收集整理了关于软件工程系统论研究初探的文档,希望对您的工作和学习有所帮助。以下是文档介绍:软件工程系统论研究初探引言以克服“软件危机”为契机而提出的软件工程自20世纪六七十年代创立以来,经过30多年的发展,已经形成为一门独立的学科。软件工程的发展面临两大问题:一是现有的理论研究成果与实践相脱节;二是软件工程的发展趋势要求在集成和发展现有的理论和方法的基础上继续深入研究其支撑理论体系,并建立新的理论基础,从新的角度研究软件工程的开发过程和方法。如果能把一般系统论和工程系统论的原理和方法应用到软件工程学的研究中来,建立软件工程系统论的科学体系、理论框架和方法论,无疑能促进上述两大难题的解决。1工程系统论简介20世纪90年代,我国科学家在一般系统论的约束和指导下创立了一门工程元科学—工程系统论。工程系统论是关于工程系统共同规律的理论,是一般系统论与工程实践相结合的产物,它适用于所有领域的所有工程。严格意义上的“工程”是指以某组设想的目标为依据,应用有关的科学知识和技术手段通过一群人的有组织活动,将某些(某个)现有实体(自然的或人造的)转化为具有预期使用价值的物质产品的过程。工程活动应包括9个基本要素,即用户、目标、资源、行动者、方法与技术、过程、时间、活动、环境。除环境要素外的8个要素不仅存在于一个工程框架或边界之内,而且还相互紧密地联系和作用着,组成一个整体或全局。这个整体或全局我们就把它称之为工程系统。工程系统论以各种各样的工程系统为其研究目标,并力图寻找和概括在所有工程系统中存在的共同规律。在系统科学的整个学科体系中,工程系统论是一门中间层次的学科。相对一般系统论,它和生物系统论、社会系统论是一门派生科学,即它的全部概念、原理和方法论都受一般系统论的约束;相对于作为特定工程领域(如航天工程、电子工程、信息工程等等)理论基础的具体工程系统论,它则是一门工程元科学,即它是一门可以谈论所有具体工程系统论学科的综合学科。工程系统论的这种中间层次的学科性质,既使它为丰富和发展一般系统论提供着新的认识和结论,又使它为具体工程系统论的创立和发展开辟了广阔的前景。这里的具体工程系统论就应该包含软件工程系统论。工程系统论吸取了系统科学的思想,辅以自组织理论和系统辨证的思想,站在更高层次上对复杂、实用性的人工系统进行方法论指导。工程系统论有可能突破系统工程技术的局限性,从而在更加宽广的时空跨度内控制人工系统的生成、发展与进化。由于工程系统论并没有摒弃系统工程等学科中成功有效的技术方法、途径和措施,而且增加了顶层的指导,所以这种更加普适性和更加宏观的方法论体系应用于诸如软件工程一类复杂人工系统具有勃勃生机和广阔的应用前景。2开展软件工程系统论的研究势在必行软件工程是指导计算机软件开发与维护的工程学科。软件工程的开发过程体现了软件项目生命周期的系统性、阶段性和复杂性。国外学者对软件工程的研究自20世纪六、七十年代就开始了,研究的主线是软件工程的基本原理和方法学,包括过程与模型、方法和技术、工具和环境、标准和规范等,陆续提出了许多著名的软件开发方法,如结构化方法、形式化方法、面向对象方法、基于构件的方法、基于代理的方法、净室方法、敏捷方法、人工智能方法等等。尽管这些方法存在着这样那样的问题,但无疑对软件开发技术的进步和软件工程的发展起到了重要的推动作用。现代计算机的理论基础是图灵机模型和相应的冯-诺依曼体系结构。图灵机的想法是把问题转化为一步一步按规则执行的机械求解过程,各种计算机语言也不过都是表现这种思想的某种形式语言。因此软件开发的过程实质上就是程序员们对所求解问题域的形式化过程。程序员们先分析求解问题的特征,建立求解模型和基本算法,然后用某种程序设计语言进行描述,最后进行计算获得结果。由于对冯-诺依曼计算机顺序执行的实现过程的认识和人们理解与表达过程间存在着巨大差异,加上程序员把目光都集中在如何实现、如何编程上,认识的偏颇和思维的惯性导致对软件工程系统理解和认识不足。人们往往习惯于用非系统思维的方式来指导软件工程设计和管理,造成一些非系统、非整体的设计结果。譬如,只注意软件工程各个阶段的流程和步骤,忽视了整个“工程系统”的特点;只注意局部阶段和局部过程而忽视整体;强调程序模块和过程的优化设计,忽略了系统体系结构分析和全局优化;在工程开发的各个阶段缺乏有效的协调和良好的沟通,造成需求分析与系统架构、系统设计与代码实现、软件测试与软件设计以及上游阶段与下游阶段等方面的许多矛盾;软件本身的特点使其在工程开发过程中容易形成各自为战、少有沟通的局面。尤其是大型软件工程项目分工细、层次多、时间紧,更容易人为地把一个完整的系统分割成互不相关的若干个系统,很难从总体上把握工程的系统性和整体性。国外学者较早地注意到系统工程方法在软件工程中的应用。作为软件工程领域早期的一流人物,Win2stonW.Royce博士在20世纪80年代早期首次引入了“软件系统工程”一词[5]。他们认为,缺乏系统工程方法的项目,很可能导致软件不能在所选的硬件上运行,软件不能与硬件和其他软件系统集成,软件不适于长期使用。在产品开发中,疏忽系统方面的工作,将会加剧长期没有解决的软件危机。美国学者MarkJ.Chris2tensen和RichardH.Thayer明确地提出了“软件系统工程”一说。他们指出,“软件系统工程像系统工程一样,是一个技术和管理过程”。“软件系统工程不是具体一项任务的描述—它是一个过程、一种理念,当在最高层实施软件工程时,应采用这一过程和这一理念。”在分析软件系统工程与软件工程的关系时,他们进一步指出,“在软件开发的初级阶段,软件系统工程功能负责软件需求分析和体系结构设计。软件系统工程还负责软件系统的最终测试以及系统功能的发布”。显然,他们把软件系统工程视为软件工程的一个子集和软件工程过程的一部分。由于研究的角度和目标不一样,他们提出的“软件系统工程”与本文提出的“软件工程系统”并不是一回事,但已经在一定程度上体现了系统论的思想。国内外还有众多学者从事软件工程开发方法的研究。例如,Wooldridget等提出了面向主体分析和设计的GAIA方法;monkads;高翔等人研究了应用角色模型的面向主体的软件设计方法;张志军等人提出了基于软系统方法的开发技术;冯栅等发表了基于智能体系统的软件工程方法等。上述方法都是从具体工程方法的角度来关注和研究软件工程过程中面临的一些问题。即使是美国学者谈论的“软件系统工程”概念,并没有完全把系统论的思想和方法贯穿于软件工程的全过程(只是部分阶段),更没有涉及工程系统的概念或应用工程系统论的思想来考察和研究软件工程科学体系。从文献资料检索和互联网搜索情况看,迄今为止,未发现国内外有把工程系统论应用到软件工程的理论与方法研究的报道。网络技术和开发工具的显著进步带来了软件开发环境的极大改变,同时也影响到人们的时空观念、软件提供方式和生命周期的概念。程序设计方法已从面向数据流、面向数据结构和面向过程的方法进化到面向对象的程序设计方法,目前正在向面向角色的程序设计方法演进。角色技术的各部分各有侧重且相互协调,强调以规范自然的方法分析描述即将开发的系统,使开发人员和领域专
12>
播放器加载中,,请稍候...
系统无法检测到您的Adobe Flash Player版本
建议您在线安装最新版本的Flash Player 在线安装
本文关键词:软件工程系统论研究初探,由笔耕文化传播整理发布。
本文编号:225728
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/225728.html