摘要:本文介绍了软件工程及软件需求的基本概念,并重点分析了软件需求的三种方法。 关键词:软件工程;需求;分析方法 一、软件工程 1968 年 10 月, NATO 科学委员会在德国的加尔密斯( Garmisch , Germany )开会讨论软件可靠性与软件危机的问题, Fritz Bauer 首次提出了“软件工程”的概念。至今已经过去近 40 年了,“软件工程”术语 被广泛应用于工业、政府和学术界。 美国卡内基?梅隆大学软件工程研究所给出的定义:软件工程是以工程的形式应用计算机科学和数学原理,从而经济有效地解决软件问题。软件工程以关注软件质量为目标,包括过程、方法和工具等三个要素。软件生产力的发展是以软件开发工具的变革为标志,从工具箱、开发环境以及计算机辅助软件工程(简称 CASE , Computer-Aided Software Engineering ),软件工具已经由支持单一任务的 单个工具向支持整个开发过程的集成化环境发展,促进软件过程的工程化和 自动化,实现高效率和高质量的软件开发。 二、软件需求 软件需求是决定软件开发是否成功的一个关键因素,一旦发生错误,将会给整个软件开发工作带来极大的损害,并对以后的软件维护带来极大的困难。 IEEE软件工程(1997年)对软件需求的定义:(1)用户解决问题或达到目标所需的条件或能力。(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。(3)一种反映上面(1)或(2)所描述的条件或能力的文档说明。 IEEE的定义包括从用户角度(系统的外部行为),以及从开发者角度(一些内部特性)来阐述需求,其关键的问题是一定要编写需求文档. 需求分析产生的模型使人们可以更好地理解将要建造的系统,有助于系统分析员理解系统的信息、功能和行为,成为确定需求规格说明完整性、一致性和精确性的重要依据,奠定了软件设计的基础。 三、软件工程需求分析方法 一般情况下,需求分析模型使用综合文本和图形的方式进行表示,特别是图形表示有助于消除不同项目人员之间在语言和词汇上的障碍。常见的需求模型包括数据流图、实体关系图、状态转换图或状态图、用例图、类图、顺序图、活动图等,本文介绍数据流图、实体关系图、状态转换图三种需求分析方法。 (一)数据流图 数据流图(Data Flow Diagram,DFD)是结构化分析的基本工具,它描述了信息流和数据转换,通过对加工进行分解可以得到数据流图。第0层DFD称为基本系统模型,可以将整个软件系统表示为一个具有输入和输出的黑匣子,用一个圆圈表示。上一层DFD中的每一个圆圈可以进一步扩展成一个独立的数据流图,以揭示系统中程序的细节部分。每一层数据流图必须与它上一层数据流图保持平衡和一致,因此,子图的所有输入输出流要与其父图相匹配。 (二)实体关系图 实体关系图(Entity-Relationship Diagram,ERD)作为数据建模的基础,描述数据对象及其关系。数据模型包括三种基本元素:数据对象、属性和关系,它们对理解问题的信息域提供了基础。数据对象表示具有不同属性的事物,ERD用带有标记的矩形来表示。关系表示数据对象之间的相互连接,ERD用直线连接相关联的数据对象,并在直线上用带标记的菱形框来表示关系。 (三)状态转换图 状态转换图(State Transition Diagram,STD)通过描述状态以及导致系统改变状态的事件来表示系统的行为,它没有表示出系统所执行的处理,只表示了处理结果可能的状态转换。STD用带标记的圆圈或矩形表示状态,用箭头表示从一种状态到另一种状态的变换,箭头上的文本标记表示引起变换的条件。 结论 软件开发中关键是面向对象的思想,现代软件开发中应该合理地使用现代软件工程。应该根据现有的条件和自身的需要,根据时段的变化和软件的开发发展情况,正确地选择使用软件工程需求分析模型. 参考文献: 1.郑人杰 等.实用软件工程(第2版).北京:清华大学出版社,1997 2.史济民 等.软件工程―原理、方法和应用.北京:高等教育出版社,2002 3.Pressman.软件工程―实践者研究方法(第4版).北京:机械工业出版社,1999 4.张龙祥.UML与系统分析设计.北京:人民邮电出版社,2001 5. 孙家广.软件工程――理论、方法与实践 , 高等教育出版社
摘要:本文介绍了软件工程及软件需求的基本概念,并重点分析了软件需求的三种方法。 关键词:软件工程;需求;分析方法 一、软件工程 1968 年 10 月, NATO 科学委员会在德国的加尔密斯( Garmisch , Germany )开会讨论软件可靠性与软件危机的问题, Fritz Bauer 首次提出了“软件工程”的概念。至今已经过去近 40 年了,“软件工程”术语 被广泛应用于工业、政府和学术界。 美国卡内基?梅隆大学软件工程研究所给出的定义:软件工程是以工程的形式应用计算机科学和数学原理,从而经济有效地解决软件问题。软件工程以关注软件质量为目标,包括过程、方法和工具等三个要素。软件生产力的发展是以软件开发工具的变革为标志,从工具箱、开发环境以及计算机辅助软件工程(简称 CASE , Computer-Aided Software Engineering ),软件工具已经由支持单一任务的 单个工具向支持整个开发过程的集成化环境发展,促进软件过程的工程化和 自动化,实现高效率和高质量的软件开发。 二、软件需求 软件需求是决定软件开发是否成功的一个关键因素,一旦发生错误,将会给整个软件开发工作带来极大的损害,并对以后的软件维护带来极大的困难。 IEEE软件工程(1997年)对软件需求的定义:(1)用户解决问题或达到目标所需的条件或能力。(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。(3)一种反映上面(1)或(2)所描述的条件或能力的文档说明。 IEEE的定义包括从用户角度(系统的外部行为),以及从开发者角度(一些内部特性)来阐述需求,其关键的问题是一定要编写需求文档. 需求分析产生的模型使人们可以更好地理解将要建造的系统,有助于系统分析员理解系统的信息、功能和行为,成为确定需求规格说明完整性、一致性和精确性的重要依据,奠定了软件设计的基础。 三、软件工程需求分析方法 一般情况下,需求分析模型使用综合文本和图形的方式进行表示,特别是图形表示有助于消除不同项目人员之间在语言和词汇上的障碍。常见的需求模型包括数据流图、实体关系图、状态转换图或状态图、用例图、类图、顺序图、活动图等,本文介绍数据流图、实体关系图、状态转换图三种需求分析方法。 (一)数据流图 数据流图(Data Flow Diagram,DFD)是结构化分析的基本工具,它描述了信息流和数据转换,通过对加工进行分解可以得到数据流图。第0层DFD称为基本系统模型,可以将整个软件系统表示为一个具有输入和输出的黑匣子,用一个圆圈表示。上一层DFD中的每一个圆圈可以进一步扩展成一个独立的数据流图,以揭示系统中程序的细节部分。每一层数据流图必须与它上一层数据流图保持平衡和一致,因此,子图的所有输入输出流要与其父图相匹配。 (二)实体关系图 实体关系图(Entity-Relationship Diagram,ERD)作为数据建模的基础,描述数据对象及其关系。数据模型包括三种基本元素:数据对象、属性和关系,它们对理解问题的信息域提供了基础。数据对象表示具有不同属性的事物,ERD用带有标记的矩形来表示。关系表示数据对象之间的相互连接,ERD用直线连接相关联的数据对象,并在直线上用带标记的菱形框来表示关系。 (三)状态转换图 状态转换图(State Transition Diagram,STD)通过描述状态以及导致系统改变状态的事件来表示系统的行为,它没有表示出系统所执行的处理,只表示了处理结果可能的状态转换。STD用带标记的圆圈或矩形表示状态,用箭头表示从一种状态到另一种状态的变换,箭头上的文本标记表示引起变换的条件。 结论 软件开发中关键是面向对象的思想,现代软件开发中应该合理地使用现代软件工程。应该根据现有的条件和自身的需要,根据时段的变化和软件的开发发展情况,正确地选择使用软件工程需求分析模型. 参考文献: 1.郑人杰 等.实用软件工程(第2版).北京:清华大学出版社,1997 2.史济民 等.软件工程―原理、方法和应用.北京:高等教育出版社,2002 3.Pressman.软件工程―实践者研究方法(第4版).北京:机械工业出版社,1999 4.张龙祥.UML与系统分析设计.北京:人民邮电出版社,2001 5. 孙家广.软件工程――理论、方法与实践 , 高等教育出版社