软件工程需求分析方法的模型研究

  摘要:本文介绍了软件工程及软件需求的基本概念,并重点分析了软件需求的三种方法。   关键词:软件工程;需求;分析方法      一、软件工程      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. 孙家广.软件工程――理论、方法与实践 , 高等教育出版社


相关内容

  • 面向对象的软件工程与面向对象的建模方法
  • 54 福建电脑 2007年第8期 面向对象的软件工程与面向对象的建模方法 毕忠东.刘启明 (烟台师范学院 [摘 要]: 山东烟台264025) 本文评述了软件工程的两个发展阶段,重点介绍了面向对象的几种建模方法并作一比较,阐述了统一建模 语言的优越性,并对其组成.特征.建模过程进行了描述. [关键词 ...

  • [软件工程]教学大纲
  • 软件工程 一. 说明 (一) 课程性质 <软件工程>课程是计算机科学与技术专业必修的一门专业课程.为了摆脱软件危机的困扰,一门研究软件开发与维护的普遍原理和技术的工程学科--软件工程学从60年代末期开始迅速发展起来了,现在它已经成为计算机科学技术的一个重要分支,一个异常活跃的研究领域.严 ...

  • 软件需求工程选择题
  • 选择题 1. 软件生命周期包括哪些阶段?A A. 需求.设计.编码.单元测试.接收测试和维护阶段. B. 设计.编码.单元测试.接收测试和维护阶段. C. 需求.设计.编码.单元测试和接收测试阶段. D. 需求.设计和编码阶段. 2. 好的软件需求具有哪些特性?A A. 一致性和全面性. B. 易读 ...

  • 软件工程学
  • 目录 第一章 软件工程学 ............................................. 1 第二章可行性研究 .................................................... 5 第三章需求分析 ................. ...

  • 软件工程资料
  • 一. 1. 2. 3. 4. 5. 6. 7. 8. 9. 选择题 在软件危机中表现出来的软件质量差的问题,其原因是___没有软件质量标准____. 在软件质量因素中,软件在异常条件下仍能运行的能力成为软件的___健壮性__. 在下列测试技术中,___逻辑覆盖___不属于黑盒测试技术. ___封装_ ...

  • 软件工程导论试题(打印)
  • 软件工程导论试题(老师给的) 一.选择 1.瀑布模型把软件生命周期划分为八个阶段:问题的定义.可行性研究.软件需求分析. 系统总体设计.详细设计.编码.测试和运行.维护.八个阶段又可归纳为三个大的阶段: 计划阶段.开发阶段和 ( ). A.详细计划 B.可行性分析 C.运行阶段 D.测试与排错 2. ...

  • 天津专接本软件工程专业考试资料
  • 1. 软件工程:是指导计算机软件开发和维护的一门工程学科.采用工程的概念.原理.技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,以经济地开发出高质量的软件并有效地维护它. 2. 软件危机:是指在计算机软件的开发与维护过程中所遇到的一系列问题. 3. ...

  • 软件工程试题集
  • 软件工程试题集 一. 选择题 1. 需求分析最终结果是产生( ) A. 项目开发计划 B.可行性分析报告 C.需求规格说明书 D.设计说明书 答案:C 2. 需求分析中,开发人员要从用户那里解决的最重要的问题是( ) A.让软件做什么 B.要给软件提供哪些信息 C.要求软件工作效率怎样 D.让软件具 ...

  • 软件工程导论论文
  • 软件工程导论论文 -学习软件工程导论的感受 班级:软件07 作者:张刚红 辅导老师:黎杨 参考书目:<软件工程–理论与实践>(第三版 影印版) 论文摘要:通过学习,对什么是软件工程,过程建模和生命周期,计划和管理项目, 捕获需求,系统设计以及各种建模语言和设计方法的理解和感受. 论文内容 ...