欢迎来到天天文库
浏览记录
ID:58431087
大小:16.00 KB
页数:2页
时间:2020-09-03
《对传统软件工程方法学的认识.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、传统软件工程方法学“软件工程"一词是由北大西洋公约组织的计算机科学家在联邦德国召开的国际会议上首次提出来的。软件工程的发展经过了“程序设计时代”、“程序系统时代”、“软件工程时代”三个时代。随着计算机应用领域的不断拓广,各种各样的问题也不断涌现,当问题严重到开发人员无法控制的时候便产生了软件危机。软件危机的出现,促使了软件工程学的形成和发展。随之整合整套技术的软件工程方法学广泛应用,主流之一就是传统方法学。传统方法学在软件开发过程中占据相当大的比重,因为其悠久的历史而为很多软件工程师青睐。如果说自然语言和编程语言之间有一道难以跨越的鸿沟,传统方法学就是跨越这道鸿沟的桥梁。传
2、统方法学又称生命周期方法学或结构化范型。一个软件从开始计划起,到废弃不用止,称为软件的生命周期。在传统的软件工程方法中,软件的生存周期分为一般分为软件计划、软件开发和软件运行三个时期。软件计划时期一般分问题定义和可行性研究两个阶段;开发时期分需求分析、软件设计(包括概要设计、详细设计)、编码和测试四个阶段;运行时期主要是维护阶段。在传统软件工程方法的分析阶段。所有用的主要工具有数据字典(DD),尸体一关系图(ERD),数据流图(DFD)和状态一变换图(STD);在传统软件工程方法的设计阶段,所使用的主要工具有针对总体设计的模块结构图(MSD)和针对详细设计的流程图,在目前实
3、际的软件开发中,通常不使用流程图,而直接通过编程完成详细设计,所以较新的部分文献中,设计阶段包括了总体设计,详细设计和编程阶段,三者之间的界限比较模糊。传统方法学使用的是结构化分析技术来完成需求分析阶段的工作。软件工程学中的需求分析具有两方面的意义。在认识事物方面,它具有一整套分析、认识问题域的方法、原则和策略。这些方法、原则和策略使开发人员对问题域的理解比不遵循软件工程方法更为全面、深刻和有效。在描述事物方面,它具有一套表示体系和文档规范。但是,传统的软件工程方法学中的需求分析在上述两方面都存在不足.它在全局范围内以功能、数据或数据流为中心来进行分析。这些方法的分析结果不
4、能直接地映射问题域,而是经过了不同程度的转化和重新组合。因此,传统的分析方法容易隐蔽一些对问题域的理解偏差,与后续开发阶段的衔接也比较困难。在总体设计阶段,以需求分析的结果作为出发点构造出一个具体的系统设计方案,主要是决定系统的模块结构,以及模块的划分,模块间的数据传送及调用关系。详细设计是在总体设计的基础上考虑每个模块的内部结构及算法,最终将产生每个模块的程序流程图。但是传统的软件工程方法中设计文档很难与分析文档对应,原因是二者的表示体系不一致,所谓从分析到设计的转换,实际上并不存在可靠的转换规则,而是带有人为的随意性,从而很容易因理解上的错误而留下隐患。编程阶段是利用一
5、种编程语言产生一个能够被机器理解和执行的系统,测试是发现和排除程序中的错误,最终产生一个正确的系统。但是由于分析方法的缺陷很容易产生对问题的错误理解,而分析与设计的差距很容易造成设计人员对分析结果的错误转换,以致在编程时程序员往往需要对分析员和设计人员已经认识过的事物重新进行认识,并产生不同的理解。因此为了使两个阶段之间能够更好的衔接,测试就变得尤为重要。软件维护阶段的工作,一是对使用中发生的错误进行修改,二是因需求发生了变化而进行修改。前一种情况需要从程序逆向追溯到发生错误的开发阶段。由于程序不能映射问题以及各个阶段的文档不能对应,每一步追溯都存在许多理解障碍。第二种情况
6、是一个从需求到程序的顺向过程,它也存在初次开发时的那些困难,并且又增加了理解每个阶段原有文档的困难。传统软件工程方法面向的是过程,它按照数据变换的过程寻找问题的结点,对问题进行分解。由于不同人对过程的理解不同,故面向过程的功能分割出的模块会因人而异。对于问题世界的抽象结论,结构化方法可以用数据流图,系统结构图,数据字典,状态转移图,实体关系图来进行系统逻辑模型的描述,生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。传统软件工程方法学强调以模块为中心,采用模块化,自顶向下,逐步求精设计过程,系统是实现模块功能的函数和过程的集合,结构清晰,可读性好,是提高软件开发质
7、量的一种有效手段。结构化设计从系统的功能入手,按照工程标准,严格规范地将系统分解为若干功能模块,因为系统是实现模块功能的函数和过程的集合。然而,由于用户的需要和软硬件技术的不断发展变化,作为系统基本组成部分的功能模块很容易受到影响,局部修改甚至会引起系统的根本性变化。开发过程前期入手快而后期频繁改动的现象比较常见。当然,传统的软件工程方法学也存在很多的缺点,主要表现在生产效率非常低,从而导致不能满足用户的需要,复用程度低,软件很难维护等。虽然如此,传统方法学仍然是人们在软件开发过程中使用的十分广泛的软件工程方法学,
此文档下载收益归作者所有