打印本文 打印本文  关闭窗口 关闭窗口  
二级共公基础知识教程第3章中
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 13:47:10  文章录入:杜斌  责任编辑:杜斌

3.2结构化分析方法
软件开发方法是软件开发过程所遵循的方法和步骤,其目的在于有效地得到一些工作产品,即程序和文档,并且满足质量要求。软件开发方法包括分析方法、设计方法和程序设计方法。
一、 需求分析与需求分析方法
1、   需求分析
软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求分析的任务是发现需求、求精、建模和定义需求的过程。需求分析将创建所需的数据模型、功能模型和控制模型。
(1)需求分析的定义
A、用户解决问题或达到目标所需的条件或权能;
B、系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或权能;
C、一种所映A、或B所描述的条件或权能的文档说明。
由需求体魄 定义可知,需求分析的内容包括:提炼、分析和仔细审查已收集到的需求;确保所有利益相关者都明白其含义并找出其中的错误、遗漏或其他不足的地方;从用户最初的非形式化需求到满足用户对软件产品的要求的映射;对用户意图不断进行提示和判断。
(2)需求分析阶段的工作
需求分析阶段的工作,可以概括为四个方面:
A、  需求获取  需求获取的目的是确定对目标系统的各方面需求。涉及到的主要任务是建立获取用户需求的方法框架,并支持和监控需求获取的过程。
B、  需求分析  对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。
C、  编写需求规格说明书   需求规格说明书作为需求分析的阶段成果,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认又可以作为控制软件开发进程的依据。
D、  需求评审  在需求分析 的最后一步,对需求分析阶段的工作进行得审,验证需求文档的一致性、可行性、完整性和有效性。
2、   需求分析方法
常见的需求分析方法有:
A、  结构化分析方法。主要包括:面向数据流的结构化分析方法(SA—Structured analysis),面向数据结构的Jackson方法(JSD—Jackson system development method),面向数据结构的结构化数据系统开发方法(DSSD—Data structured system development method)。
B、  面向对象的分析方法(OOA—Object-Oriented method)。
从需求分析建立的模型的特性来分,需求分析方法又分为表态分析方法和动态分析方法。
二、 结构化分析方法
1、   关于结构化分析方法
结构化分析方法是结构化程序设计理论在软件需求分析阶段的运用。
对于面向数据流的结构化分析方法,按照DeMarco的定义,“结构化分析就是使用数据流图(DFD)、数据字典(DD)、结构化英语、判定表和羊定树等工具,来建立一种新的、称为结构化规格说明的目标文档。”
结构化分析方法的实质是着眼于数据流自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具建立系统的逻辑模型。
结构化分析的步骤如下:
A、  通过对用户的调查,以软件的需求为线索,获得当前系统的具体模型;
B、  去掉具体模型中非本质因素,抽象出当前系统的逻辑模型;
C、  根据计算机的特点分析当前系统与目标系统的差别,建立目标系统的逻辑模型;
D、  完善目标系统并补充细节,写出目标系统的软件需求规格说明;
E、   评审直到确认完全符合用户对软件的需求。
2、   结构化分析的常用工具
(1)     数据流图(DFD—Data Flow Diagram)
数据流图是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统的功能建模。
数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的主要图形元素与说明如下:
      加工(转换)。输入数据经加工变换产生输出。
      数据流沿箭头方向传送数据的通道,一般在旁边标注数据流名。
存储文件(数据源)。表示处理过程中存放各种数据的文件。
源,潭。表示系统和环境的接口,属系统之外的实体。
一般通过对实际系统的了解和分析后,使用数据流图为系统建立逻辑模型。建立数据流图的步骤如下:
第1步:由外向里:先画系统的输入输出,然后画系统的内部。
第2步:自顶向下:顺序完成顶层、中间层、底层数据流图。
第3步:逐层分解。
为保证构造的数据流图表达完整、准确、规范,应遵循以下数据流图的构造规则和注意事项:
①    对加工处理建立惟一、层次性的编号,且每个加工处理通常要求既有输入又有输出;
②    数据存储之间不应该有数据流;
③    数据流图的一致性。
④    父图、子图关系与平衡规则。
(2)数据字典(DD—Data Dictionary)
数据字典是结构化分析方法的核心。数据字典是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。数据字典把不同的需求文档和分析模型紧密地结合在一起,与各模型的图形表示配合,能清楚地表达数据处理的要求。


概括地说,数据字典的作用是对DFD中出现的被命名的图形元素的确切解释。通常数据字典饮食的信息有:名称,别名、何处作用/如何使用、内容描述、补充信息等。
(3)判定树
使用判定树进行描述时,应先从问题定义的文字描述中分清哪些是判定的条件,哪些是判定的结论,根据模仿材料中的连接词找出判定条件之间的从属关系、并列关系、选择关系,根据它们构造判定树。
(4)  判定表
判定表与判定树相似,当数据流图中的加工要依赖于多个逻辑条件的联欢会,即完成该加工的一组动作是由于某一组条件联欢会的组合而引发的,使用判定表描述比较适宜。判定表由四部分组成,基本条件,条件项,基本动作,动作项
三、 软件需求规格说明书
软件需求规格说明书(SRS, software Requirement Specification) 是需求分析阶段的最后成果,是软件开发中的文档之一。
1、   软件需求规格说明书的作用
①    便于用户、开发人员进行理解和交流。
②    反映出用户问题的结构,可以作为软件开发工作的基础和依据。
③    作为确认测试的验收的依据。
2、  软件需求规格说明书的内容
一`   概述
二、数据描述                
        数据流图
        数据字典
        系统接口说明
        内部接口
三、功能描述
        功能
        处理说明
        设计的限制
四、性能描述
        性能参数
        测试种类
        预期的软件响应
        应考虎的特殊问题
五、参考文献目录
六、附录
其中,概述是从系统的角度描述软件的目标和任务。
数据描述是对软件系统所必须解决的总是作出的详细说明
功能描述中描述了为解决用户问题所需要的每一项功能的过程细节。对每一项功能要给出处理说明和在设计时需要考虑的限制条件。
在性能描述中说明系统应达到的性能和应该满足的限制条件,检测的方法和标准,预期的软件响应和可能需要考虑的特殊问题。
参考文献目录中应包括与该软件有关全部参考文献,其中包括前期的其他文档、技术参考资料、产品目录手册以及标准等。
附录部分包括一些补充资料。
3、软件需求规格说明书的特点
①  软件需求规格说明书是确保软件质量的有力措施,衡量软件需求规格说明书质量好坏的标准、标准的优先级及标准的内涵是:
②   正确性。体现待开发系统的真实要求。
③   无歧义性。对每一个需求只有一种解释,其陈述具有惟一性。
④   完整性。包括全部有意义的需求,功能的、性能的、设计的、约束的,属性或外部接口等方面的需求。
⑤   可验证性。描述的每一个需求都是可以验证的,即存在有限代价的有效过程验证确认。
⑥   一致性。各个需求的描述矛盾。
⑦   可理解性。需求说明书必须简明易懂,尽量少包含计算机的要领和术语,以便用户和软件人员都能接受它。
⑧   可修改性。每一个需求的来源、流向是清晰的,当产生和改变文件编制时,可以方便地引证每一个需求。 
打印本文 打印本文  关闭窗口 关闭窗口