简述基于软件体系结构的软件开发过程

软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。

  • 处理构件负责对数据进行加工;
  • 数据构件是被加工的信息;
  • 连接构件把体系结构的不同部分组组合连接起来。

这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。

软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程。

软件开发过程一般分为以下6个阶段

一、计划

对所要解决的问题进行总体定义,包括了解用户的要求及现实环境,从技术、经济和社会因素等3个方面研究并论证本软件项目的可行性,编写可行性研究报告,探讨解决问题的方案,并对可供使用的资源(如计算机硬件、系统软件、人力等)成本,可取得的效益和开发进度作出估计。制订完成开发任务的实施计划。

二、需求分析

软件需求分析就是回答做什么的问题。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。本阶段的工作是根据需求说明书的要求,设计建立相应的软件系统的体系结构,并将整个系统分解成若干个子系统或模块,
定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件概要设计和详细设计说明书,数据库或数据结构设计说明书,组装测试计划。分析阶段用到数据流图数据字典等工具

三、设计

软件设计可以分为概要设计和详细设计两个阶段。
详细设计是从DFD图导出初始的模块结构图,然后经过改进初始的模块结构图得到最终模块结构图。在系统分析阶段,我们采用结构化分析方法得到了由数据流图、数据字典和加工说明等组成的系统的逻辑模型。现在,可根据一些规则从数据流图导出系统
初始的模块结构图。管理信息系统的数据流图通常也可分为两种典型的结构,即变换型结构和事务型结构。变换型结构的数据流图呈一种线性状态,它所描述的工作可表示为输入、主处理及输出。事务型结构的数据流图则呈束状,即一束数据流平行流人或
流出,可能同时有几个事务要求处理。这两种典型的结构分别可通过“变换分析”和“事务分析”技术,导出“变换型”和“事务型”初始的模块结构图。这两种方法的思想是首先设计顶层模块,然后自顶向下,逐步细化,最后得到一个满足数据流图所表示的用户要求的系统的模块结构图,即系统的物理模型。

四、编码

软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的”源程序清单”。充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。当前软件开发中除在专用场合,已经很少使用二十世纪80年代的高级语言了,取而代之的是面向对象的开发语言。而且面对象的开发语言和开发环境大都合为一体,大大提高了开发的速度。

五、测试

软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例(测试数据和预期的输出结果组成了测试用例)。如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。

六、维护

维护是旨在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件修改报告。 一个中等规模的软件,如果研制阶段需要一年至二年的时间,在它投入使用以后,其运行或工作时间可能持续五年至十年。那么它的维护阶段也是运行的这五年至十年期间。在这段时间,人们几乎需要着手解决研制阶段所遇到的各种问题,同时还要解决某些维护工作本身特有的问题。做好软件维护工作,不仅能排除障碍,使软件能正常工作,而且还可以使它扩展功能,提高性能,为用户带来明显的经济效益。然而遗憾的是,对软件维护工作的重视往往远不如对软件研制工作的重视。而事实上,和软件研制工作相比,软件维护的工作量和成本都要大得多。

文献:
[1]软件开发沉思录——ThoughtWorks文集 作者:美国Thought-Works公司出版:人民邮电出版社 出版日期:2009年09月

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章