精华内容
下载资源
问答
  • 结构化方法 一种系统化的软件开发方法,包括: 结构化分析方法——需求 结构化设计方法——设计 结构化程序设计方法——coding 一、 结构化分析方法 目的是为了给出问题的模型。 1.1基本术语 一个抽象层是由一组...

    首先回顾一下软件开发方法学在整个软件开发过程中的位置:
    在这里插入图片描述

    结构化方法

    一种系统化的软件开发方法,包括:

    • 结构化分析方法——需求
    • 结构化设计方法——设计
    • 结构化程序设计方法——coding

    一、 结构化分析方法

    目的是为了给出问题的模型。
    在这里插入图片描述

    1.1基本术语

    一个抽象层是由一组确定的术语定义的,为支持需求分析中有关要使用的那些信息的表达,结构化分析方法给出了以下五个术语/符号:
    在这里插入图片描述

    1.2 模型表达工具

    (a)数据流图(DFD图)——表达系统功能模型的工具
    是一种描述数据变换的图形工具,它包含的元素可以是数据流、数据存储、加工、数据源和数据潭等。
    在这里插入图片描述

    (b)数据字典——定义数据流和数据存储
    用于定义数据流和数据存储的结构,并给出构成所给出的数据流和数据存储的各数据项的基本数据类型。

    引入:一些逻辑操作符——用于定义数据结构
    在这里插入图片描述

    (c)判定表或判定树等——定义加工小说明
    描述加工“做什么”,即加工逻辑,也包括其它一些与加工有关的信息,如执行条件、优先级、执行频率、出错处理等。

    如判定表,判定树,结构化自然语言。

    1.3结构化分析过程

    ①建立系统的功能模型
    使用的工具为数据流图DFD
    首先:建立系统环境图(顶层数据流图),确定系统边界。
    继之:自顶向下,逐步求精,建立系统的层次数据流图。

    ②建立数据字典
    使用的工具为结构符:+、I、{}等
    定义数据流定义数据存储
    定义数据项

    ③给出加工小说明:集中描述一个加工“做什么”,即加工逻辑,也包括其它一些与加工有关的信息,如执行条件、优先级、执行频率、出错处理等。

    1.4 案例

    建立一个简化的商业自动化系统,其中:

    营业员通过该系统记录每日销售的商品(商品名,商品编号,单价,数量,销售时间);

    收款员通过该系统记录收到的现金数额以及购物余额;

    商店经理每日统计销售额,并在必要时查看某种商品的销售情况(商品名,商品编码,金额)。

    ①建立系统的功能模型首先:建立系统环境图,确定系统边界

    在这里插入图片描述
    其中:
    1数据流为:销售的商品,日销售额等3个输入流,3个输出流
    数据源为:营业员,经理,收款员
    数据潭为:经理,收款员
    2加工名为:要建立的系统名字立的系统名字

    继之:自顶向下,逐层分解
    A、按人或部门的功能要求,将加工“打碎”(将“父图”的每一加工按其功能分解为若干子加工),形成:
    在这里插入图片描述

    B、“分派”数据流(将“父图”的输入流和输出流“分派”到子加工),形成:
    在这里插入图片描述

    C、引入文件,使之形成一个有机整体一系统(在各加工之间建立合理的关系):
    在这里插入图片描述

    继续A、B、C:自顶向下,逐层分解。继续细化。

    ②建立数据字典

    在这里插入图片描述
    数据字典:
    1、数据流:
    销售的商品=商品名+商品编号+单价+数量+销售时间
    现金额=余额=日销售额=非负实数
    查询要求=[商品编号旧期]
    查询要求1=商品编号
    查询要求2=日期
    销售情况=商品名+商品编号+金额
    2、数据存贮:
    销售文件={销售的商品}
    3、数据项(数据流及数据存储的组成成分)
    给出所有数据项的数据结构类型定义

    ③给出加工小说明

    描述一个加工,一般遵循如下模版:
    加工编号:给出加工编号
    加工名:给出该加工的标识
    输入流:给出该加工的所有输入数据流输出流:给出该加工的所有输出数据流加工逻辑:采用结构化自然语言或判定表或判定树等工具,给出该加工输入数据和输出数据之间的关系

    注意:
    结构化分析方法是一种半形式化的规约方法,给出了一组特定的术语表和标准化的表达格式-数据流图,在表达上均必须遵循一些约定,即应以一种准确和一致方式使用之。

    展开全文
  • 软件工程中的结构化分析方法

    千次阅读 2019-02-26 08:47:42
    软件需求分析--结构化分析(SA)方法 结构化开发方法(Structured Developing Method)是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速、自然和方便。结构化开发方法结构化分析方法(SA...

    软件需求分析--结构化分析(SA)方法

    结构化开发方法(Structured Developing Method)是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速、自然和方便。结构化开发方法由结构化分析方法(SA法)、结构化设计方法(SD 法)及结构化程序设计方法(SP 法)构成的。

      结构化分析(Structured Analysis,简称SA 法)方法是面向数据流的需求分析方法,是70 年代末由Yourdon,Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用。它适合于分析大型的数据处理系统,特别是企事业管理系统。

      SA 法也是一种建模的活动,主要是根据软件内部的数据传递、变换关系,自顶向下逐层分解,描绘出满足功能要求的软件模型。

      1 SA 法概述

      1.SA 法的基本思想

      结构化分析(Structured Analysis,简称SA 法)是面向数据流的需求分析方法,是70年代由Yourdon,Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用。

      结构化分析方法的基本思想是“分解”和“抽象”。

      分解:是指对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决。

      图4 是自顶向下逐层分解的示意图。顶层抽象地描述了整个系统,底层具体地画出了系统的每一个细节,而中间层是从抽象到具体的逐层过渡。

      抽象:分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个自系统的方法就是“抽象”。

     

      2.SA 法的步骤

      ⑴建立当前系统的“具体模型”;

      系统的“具体模型”就是现实环境的忠实写照,即将当前系统用DFD 图描述出来。这样的表达与当前系统完全对应,因此用户容易理解。

      ⑵抽象出当前系统的逻辑模型;

      分析系统的“具体模型”,抽象出其本质的因素,排除次要因素,获得用DFD 图描述的当前系统的“逻辑模型”。

      ⑶建立目标系统的逻辑模型;

      分析目标系统与当前系统逻辑上的差别,从而进一步明确目标系统“做什么”,建立目标系统的“逻辑模型”(修改后的DFD 图)。

      ⑷为了对目标系统作完整的描述,还需要考虑人机界面和其它一些问题。

      3.SA 法的描述工具

      ⑴ 分层的数据流图

      ⑵ 数据词典

      ⑶ 描述加工逻辑的结构化语言、判定表或判定树。

      2 数据流图

      数据流图(Data Flow Diagram,简称DFD)是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换逻辑输出所需的加工处理。

      1.数据流图的图符数据流图有以下4 种基本图形符号:

    箭头,表示数据流;  〇:圆或椭圆,表示加工;   =:双杠(带一边开口,一边闭合),表示数据存储;  □:方框,表示数据的源点或终点。

     

     

      箭头表示数据流,圆或椭圆表示加工。双杠或者单杠表示数据存储,矩形框表示数据的源点或终点,即外部实体。

      ⑴ 数据流 是数据在系统内传播的路径,由一组成固定的数据项组成。除了与数据存储(文件)之间的数据流不用命名外,其余数据流都应该用名词或名词短语命名。数据流可以从加工流向加工,也可以从加工流向文件或从文件流向加工,也可以从源点流向加工或从加工流向终点。

      ⑵ 加工 也称为数据处理,它对数据流进行某些操作或变换。每个加工也要有名字,通常是动词短语,简明地描述完成什么加工。在分层的数据流图中,加工还应有编号。

      ⑶ 数据存储 指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。流向数据存储的数据流可理解为写入文件,或查询文件,从数据存储流出的数据可理解为从文件读数据或得到查询结果。

      ⑷ 数据源点和终点 是软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称为外部实体。一般只出现在数据流图的顶层图中。

    展开全文
  • 软件工程(三)—— 结构化方法

    千次阅读 2019-03-09 14:37:18
    一、结构化需求分析 在软件系统的需求工作中,通常面临三大挑战,即问题空间理解、人与人之间的通信、需求的变化性。为了应对这三大挑战,支持需求工作目标的实现,一种好的需求技术应具有以下基本特征: ①提供...

    一、结构化需求分析

           在软件系统的需求工作中,通常面临三大挑战,即问题空间理解、人与人之间的通信、需求的变化性。为了应对这三大挑战,支持需求工作目标的实现,一种好的需求技术应具有以下基本特征:

    ① 提供方便的通信机制;

    ② 鼓励需求分析人员使用问题空间的术语思考问题,编写文档;

    ③ 提供定义系统边界的方法;

    ④ 提供支持抽象的基本机制;

    ⑤ 为需求分析人员提供多种可供选择的议案;

    ⑥ 提供特定的技术,适应需求的变化等。

            典型的方法包括结构化方法、面向数据结构的软件开发方法以及近年来流行的面向对象方法等。

            结构化方法是一种系统的软件开发方法,其中包括结构化分析方法、结构化设计方法以及结构化程序设计方法。

            软件需求分析的目标是给出“系统必须做什么的一个估算”,即需求规格说明——以一种系统化的形式,准确地表达用户的需求,其中应不存在二义性和不一致性等问题。这样的需求需求规格说明可作为开发组织和客户关于“系统必须做什么”的一种契约,并作为以后开发工作的基础。

    1、基本术语

    (1) 数据流

            在计算机软件领域中,把数据定义为客观事物的一种表示,而把信息定义为具有特定语义的数据。所以,数据是信息的载体。在结构化分析方法中,数据流是数据的流动。

    (2) 加工

            在结构化分析方法中,加工是数据的变换单元,即它接受输入的数据,对其进行处理,并产生输出。

            既然加工是数据变换单元,因此它必须关联一个或多个输入/输出数据流,一个加工相关联的输入和输出数据,可进一步增强该加工的语义。有序的加工及相关的数据流形成系统的信息流。

    (3) 数据存储

            数据存储是数据的静态结构。

    (4) 数据源和数据潭

            数据源是数据流的起点;数据潭是数据流的归宿。数据源和数据潭是系统之外的实体,可以是人、物或其他软件系统。它们均用一个矩形来表示。

    2、系统功能模型表示

            需求分析的首要任务是建立系统功能模型,为此结构化分析方法给出了一种表达功能模型的工具,即数据流图,简称DFD图。

            简单地说,DFD是一种描述数据变换的图形化工具,其中包含的元素可以是数据流,数据存储、加工、数据源和数据潭等。

            在使用DFD图来表达系统功能模型时,应注意以下3个问题:

    ① 在DFD图中,数据流起到连接其他实体的作用;

    ② 加工之间可以有多个数据流,这些数据流之间可以没有任何直接关系,数据流图也不表明它们的先后次序;

    ③ 对于一个较大的软件系统,往往需要采用多层次的数据流图。

    3、建模过程

    (1) 建立系统环境图,确定系统语境

            经过需求发现工作之后,分析人员一般可以比较容易地确定系统的数据源和数据潭,以及和这些数据源和数据潭相关的数据流,形成系统顶层数据流图,也称为系统环境图。

    (2) 自顶向下,逐步求精,建立系统的层次数据流图

            在顶层数据流图的基础上,按功能分解的设计思想,对加工进行分解,自顶向下的画各层设计流图,直到底层的加工足够简单,功能清晰易懂,不必再继续分解为止,并把这样的加工称为叶加工。

            系统分层数据流图的层次编号是按顶层、0层、1层、2层…的次序编排的。顶层数据流图标出了系统的边界,0层数据流图是对顶层数据流图中包含的大加工的细化,1层数据流图又是对0层中加工的细化。为了方便,有时称这些图互为“父子”关系。

            为了方便管理,从0层开始就要对数据流图以及其中的加工进行编号,并在整个系统中应是唯一的。编号的规则如下:

    ① 顶层数据流图以及其中唯一加工均不必编号;

    ② 由于0层通常只有一个子图,因此该子图的层号为0,而其中每一加工的编号分别为0.1,0.2,0.3...;

    ③ 以后各层,其子图层号为上一层(父层)的加工号;而该层中的加工编号为子图层号,后跟一个小数点,再加上该加工在子图中的顺序号,例如1.1,1.2,1.3...。

            由“父图”生成“子图”的步骤如下:

    ① 将“父图”的每一加工按其功能分解为若干个子加工;

    ② 将“父图”的输入流和输出流“分派”到相关的子加工;

    ③ 在各加工之间建立合理的关联,必要时引入数据存储,使之形成一个有机的整体。

    (3) 定义数据字典

            它依据系统的数据流图,定义其中包含的所有数据流和数据存储的数据结构,直到给出构成以上数据的各数据项的基本数据类型。

            数据是对客体的一种表示,所有客体均可用三种基本结构表示,这三种结构分别是顺序结构、选择结构和重复结构。它们的特点如下:

    ① 顺序结构

            顺序结构是指数据A是由数据B和数据C顺序构成的,并记为“+”。例如:“学生成绩” 是由“学号”、“姓名”、“成绩”构成的,记为:学生成绩 = 学号 + 姓名 + 成绩,其中 = 表达的意思是“定义为”。

    ② 选择结构

            选择结构是由数据A或是数据B或数据C定义的,并记为“|”。例如:“性别”是“男”或是“女”,记为:性别 = 男|女。

    ③ 重复结构

            重复结构是指数据A是由多个重复出现的数据B构成的,并记为“{ }”。例如:“学生成绩表”是由多个“学生成绩”构成的,记为:学生成绩表 = {学生成绩}

            在数据字典中,为了使定义的结构便于理解和阅读,一般按3种条目来组织,即数据流条目、数据存储条目和数据项条目。其中,数据流条目给出DFD图中所有数据流的结构定义;数据存储条目给出DFD图中所有数据存储的结构定义;数据项条目给出所有数据项的类型定义。

    (4) 描述加工

            它依据系统的数据流图,给出其中每一加工的小说明。由于需求分析的目的是定义问题,因此对DFD图中的每一加工只需给出加工的输入数据和输出数据之间的关系。对此可根据实际情况采取以下3种表达工具:

    ① 结构化自然语言

            如果一个加工的输入数据和输出数据之间的逻辑关系比较简单,可以使用结构化自然语言予以表述。

    ② 判定表

            如果一个加工的输入数据和输出数据之间比较复杂,可以采用一定的表达工具,例如判定表或判定树等,以避免产生不一致的理解。

            一个判定表由4个区组成,Ⅰ区内列出所有的条件类别,Ⅱ区内列出所有的条件组合,Ⅲ区内列出所有的操作,Ⅳ区内列出在相应的组合条件下,某个操作是否执行或执行情况。示例图如下:

    Ⅰ 条件类别Ⅱ 条件组合
    Ⅲ 操作Ⅳ 操作执行

    ③ 判定树

            判定树也是一种描述加工的工具。 

    4、应用中注意的问题

    (1) 模型平衡问题

    ① 系统DFD中每个数据流和数据存储都要在数据字典中予以定义,并且数据名一致;

    ② 系统DFD中最底层的加工必须在小说明中予以描述,并且加工名一致;

    ③ 父图中的某加工的输入输出数据流和分解这个加工的子图的输入输出数据流必须保持一致,特别是保持顶层输入数据流和输出数据流在个数上、在标识上均是一样的;

    ④ 在加工小说明中,所使用的数据流必须是在数据字典中定义的,并且名字是一致的。

    (2) 信息复杂性控制问题

     ① 上层数据流可以打包;

    ② 为了便于理解,一幅数据流图中的图元个数要控制在一定的数量以内;

    ③ 检查与每个加工相关的数据流,是否有太多的输入输出数据流,并寻找可降低该加工接口复杂性的、对数据流进行划分的方法;

    ④ 分析数据内容,确定是否所有的输入信息都用于产生输出信息。

    5、需求验证

            需求验证应验证需求规格说明书中的每一单一需求是否满足5个性质,即必要性、无歧义性、可测性、可跟踪性、可测量性;验证需求规格说明是否满足4个性质,即重要性和稳定性程序、可修改性、完整性和一致性。

    二、结构化设计

            结构化设计的主要任务是在需求分析的基础上,定义满足需求所需要的结构,即针对给定的问题,给出该问题的软件解决方案。其中,结构化设计又进一步细分为总体设计和详细设计。

    1、总体设计

    (1) 总体设计的目标及表示

            总体设计阶段的基本任务是把系统的功能需求分配到一个特定的软件体系结构中。表达这一软件体系结构的工具有以下几种:

    ① Yourdon提出的模块结构图

            模块结构图是一种描述软件宏观结构的图形化工具。在结构图中每个方框代表一个模块,框内注明模块的名字或主要功能。连接上下层模块的线段表示他们之间的调用关系。带注释的箭头表示模块调用过程中传递的信息。处于较高层次的是控制模块,它们的功能相对复杂而且抽象;处于较低层次的是从属模块,它们的功能相对简单而且具体。依据控制模块的内部逻辑,一个控制模块可以调用一个或多个下属模块;同时,一个下属模块也可以被多个控制模块所调用,即尽可能的复用已经设计出的低层模块。

    ② 层次图

            层次图主要用于描绘软件的层次结构。在层次图中,每个方框代表一个模块,方框间的连线表示模块的调用关系。层次图适合自顶向下设计软件的过程中使用。

    ③ HIPO图

            实际上,HIPO图是由H图(层次图)和IPO图两部分组成的。为了使用HIPO图具有可跟踪性,除最顶层的方框外,为每个方框都加了编号。对H图中的每个方框,应有一张IPO图,用于描述这个方框所代表的模块的处理逻辑。IPO图的基本形式是在左边的输入框中列出有关的输入数据,在中间的处理框中列出主要的处理以及处理次序,在右边的输出框中列出产生的输出数据。另外,还用类似向量符号(箭头线)清楚地指出数据通信的情况。

    (2) 总体设计步骤

            总体设计的基本步骤是,首先将系统的DFD图转化为初始的模块结构图,再基于“高内聚低耦合”这一软件设计原则,通过模块化,将初始的模块结构图转化为最终的、可供详细设计使用的模块结构图(MSD)。

            待建的数据流图一般可以分成两类,即变换型数据流图和事务型数据流图。

    ① 变换型数据流图

            具有较明显的输入部分和变换部分之间的界面、变换部分和输出部分之间界面的数据流图,称为变换型数据流图。左边的虚线是输入和变换之间的界面,右边的虚线是变换与输出之间的界面。左边虚线处的输入称为逻辑输入,右边虚线处的输出称为逻辑输出。最开始的输入称为物理输入,最终结束的输出称为物理输出。

            DFD图所对应的系统,在高层次上来来讲由3个部分组成,即处理输入数据的部分、数据变换部分以及处理数据输出部分。那么数据处理工作也分为3个部分,即获取数据、变换数据、输出数据。

    ② 事务型数据流图

            当数据到达一个加工T,该加工T根据输入数据的值,在其后的若干动作序列(事务)中选出一个来执行,这类数据流图称为事务型数据流图。

            加工T完成的任务有:接收输入数据、分析并确定对应的事务、选取与该事务对应的一条活动路径。

            事务型数据流图所描述系统的数据处理模式为“集中——发散”式。其中,每一路径完成一项事务处理并且一般可能还要调用若干个操作模块。而这些模块又可以共享一些细节模块。因此,事务型数据流图可以具有多种形式的软件结构。

     

            结构化设计方法基于“自顶向下,功能分解”的基本原则,针对两种不同类型的数据流图,分别提出了变换设计和事务设计。其中,变换设计的目标是将变换型数据流图映射为模块结构图,而事务设计的目标是将事务型数据流图映射为模块结构图。

            总体设计分为3个阶段。第一阶段为初始设计,在对给定的数据流图进行复审和精华的基础上,将其转换为初始的模块结构图。第二阶段为精化设计,依据模块“高内聚,低耦合”的原则,精化初始的模块结构图,并设计其中的全局数据结构和每一模块的接口。第三阶段为复审阶段,对前两个阶段所得到的高层软件结构进行复审,必要时还可能需要以该软件结构做一些精化工作。

            在实践中,一个大型的软件系统一般是变换型流图和事务型流图的混合结构。在软件总体设计中,通常以变换设计为主,事务设计为辅进行结构设计。即首先利用变换设计,把软件系统分为输入、中心变换和输出3个部分,设计上层模块,然后根据各部分数据流图的结构特点,适当地利用变换设计和事务设计进行细化,得到初始的模块结构图,再按照“高内聚低耦合”的原则,对初始的模块结构图进行精化,得到最终的模块结构图。

    (3) 模块化以及启发式规则 

    ①  模块化

            模块是执行一个特殊任务的一个过程以及相关的数据结构。模块通常由接口和模块体(接口的实现)组成。

            结构化设计方法是一种典型的模块化方法,即把一个待开发的软件分解成若干简单的、具有高内聚低耦合的模块,这一过程称为模块化。

    ⒈ 耦合

            耦合是指不同模块之间相互依赖程序的度量。耦合的产生主要基于以下几个因素:

    ● 一个模块对另一个模块的引用;

    ● 一个模块向另一个模块传递数据;

    ● 一个模块对另一个模块施加控制。

            常见的模块耦合类型有:内容耦合、公共耦合、控制耦合、标记耦合、数据耦合。

    ⒉ 内聚

            内聚是指一个模块内部各部分之间相互关联程度的度量。

            常见的模块内聚类型有:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。

    ② 启发式规则

            从实践中总结的一些启发式规则有:

    ● 改进软件结构,提高模块独立性

    ● 力求模块规模适中

    ● 力求深度、宽度、扇出(需要控制和协调的下级模块数量)和扇入(直接调用它的上级模块的数量)适中

    ● 尽力使用模块的作用域在其控制域之内

    ● 尽力降低模块接口的复杂度

    ● 力求模块功能可以预测

    2、详细设计

            通过详细设计,具体描述模块结构图中的每一模块,即给出实现模块功能的实施机制,包括一组例程和数据结构,从而精确地定义了满足需求所规约的结构。详细设计的目标是将总体设计阶段所产生的系统高层结构映射为以这些术语所表达的低层结构,也是系统的最终结构。

    (1) 结构化程序设计

            结构化程序设计方法是一种基于结构的编程方法,即采用顺序结构、选择结构以及重复结构进行编程,其中每一结构只允许一个入口和一个出口。它的本质是使程序的控制流程线性化,实现程序的动态执行顺序符合静态书写的结构,从而增强程序的可读性,有利于理解、测试和排错。

    (2) 详细设计工具

            详细设计工具通常分为图形、表格和语言3种。

    ① 程序流程图

            程序流程图又称为程序框图。在程序流程图中,使用的主要符号包括顺序结构、选择结构和循环结构。它的主要优点是对控制流程的描绘很直观,便于初学者掌握。但它也有很多缺点,比如:

    ● 它诱使程序员过早的考虑程序的控制流程,而不去考虑程序的全局结构;

    ● 它所表达的控制流,往往不受任何约束可随意转移,从而会影响甚至破坏好的系统结构;

    ● 它不易表示数据结构。

    ② 盒图(N-S图)

            采用盒图进行设计时,首先给出一个大的矩形,然后为了实现该模块的功能,再将该矩形分成若干个不同的部分,分别表示不同的子处理过程,这些子处理过程又可以进一步分解成更小的部分,其中每次分解都只能使用给定的基本符号,最终形成表达该模块的设计。

    ③ PAD图

            PAD图采用二维树形结构来表示程序的控制流。采用PSD图设计的模块一定是结构化的,并且所描述的程序结构也是十分清晰的。左边的竖线是程序的主线,是第一层控制结构,随着程序层次的增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线,竖线的条数总是程序的控制层次数,从而使PAD图表现出的处理逻辑易读、易懂、易记。

    ④ 类程序设计语言(PDL)

            PDL也称为伪码,它不仅可以作为一种设计工具,还可以作为注释工具直接插在源程序中,以保持文档和程序的一致性,提高了文档的质量,可以使用普通的正文编辑程序或文字处理系统,很方便地完成PDL的书写和编辑工作,已经存在的一些PDL处理工具,可以自动由PDL生成程序代码。

            PDL的缺点是水如图形工具那样形象直观,并且当描述复杂的条件组合与动作间的对应关系时,不如判定表或判定树那样清晰直观。

    (3) 设计规约

            设计规约通常包括概要设计规约和详细设计规约,它们是相应设计过程的输出文档。

            概要设计规约指明高层软件体系结构,它的的主要内容包括:系统环境、软件模块的结构、模块描述、文件结构和全局数据文件的逻辑结构、测试需求等。

            详细设计规约是对软件各部分属性的描述,它的主要内容包括:各处理过程的算法、算法所涉及的全部数据结构的描述。

    展开全文
  • 软件工程结构化分析设计

    千次阅读 2013-10-06 23:44:50
    软件工程结构化分析设计

         进行完需求分析,下一步该进行系统结构分析和设计了。现在主流的设计理念为结构化开发和面向对象开发,本次主要讲解结构化开发。     

      结构化开发分为结构化分析和设计两个阶段。结构化分析是面向数据流的分析方法,基本思想是“分解”和“抽象”。结构化设计是根据用信息域表示的软件需求,以及功能和性能需求,进行数据设计、系统结构设计、过程设计。

      为了方便大家理解,我把这两个阶段的一些步骤画出了思维导图,希望能帮助大家学习好软件工程这门课。

     

    展开全文
  • 软件工程--结构化设计

    千次阅读 热门讨论 2018-06-17 21:30:08
    结构化设计方法是在模块化、自顶向下逐步细化及结构化程序设计技术基础之上发展起来的。在管理上通常将软件设计划分为总体设计和详细设计两个阶段。面向数据流的设计以需求分析阶段产生的数据流图为基础,按一定的...
  • 软件工程 银行业务管理和现金结算系统 --- 结构化设计文档
  • 软件工程】第四章 结构化分析

    千次阅读 2019-01-08 13:57:10
    结构化方法 面向对象方法 面向数据结构方法 敏捷开发方法 Open source … 对比: 软件开发方法:软件开发过程中所遵循的办法和步骤。 软件开发方法学:指的是规则、方法和工具的集成。 4.1.2 结构化方法的组成...
  • 软件工程------需求结构化分析方法SA

    千次阅读 2019-06-05 13:59:55
    SA方法的建模主要是3方面的: 功能建模:采用数据流图DFD; 行为建模:采用状态转换图(考的少); 数据建模:采用ER图
  • 软件工程.第四章.结构化分析方法.结构化分析模型0 目录4 结构化分析方法4.2 结构化分析模型4.2.1课堂重点4.2.2测试与作业5 下一章 0 目录 4 结构化分析方法 4.2 结构化分析模型 4.2.1课堂重点 4.2.2测试与...
  • 软件工程.第五章.结构化分析方法1.结构化设计的概念0 目录5 结构化分析方法15.1 结构化设计的概念5.1.1课堂重点5.1.2测试与作业6 下一章 0 目录 5 结构化分析方法1 5.1 结构化设计的概念 5.1.1课堂重点 ...
  • 面向对象方法与结构化方法都是软件开发过程中的方法。在传统的软件开发过程中多采用结构化技术完成软件开发的一系列工作,但这种方法并不适应发型软件产品的开发,而随着硬件发展,对于大型软件产品的需求又逐步提高...
  • 软件工程】第五章 结构化设计

    万次阅读 2019-02-23 12:48:43
    5.1 结构化设计的概念 5.1.1 设计的定义 何谓设计: 一种软件开发活动,定义实现需求规约所需的软件结构 目标: 依据需求规约在一个抽象层上建立系统软件模型,包括软件体系结构(数据和程序结构),以及详细...
  • 软件工程需求分析方法

    千次阅读 2019-11-28 17:12:02
    详细介绍软件工程需求分析方法,转载自别处,
  • 软件工程软件工程过程与方法

    万次阅读 2016-06-23 17:29:48
    尽管程序员领着一份不错的薪水,可是他们也同样付出了巨大的精力与时间。随着软件规模的日益庞大,用户...而软件工程正是研究如何以系统性的、规范化的 、可定量的过程化方法高效开发与管理、维护软件的交叉性学科。
  • 软件工程课程设计报告_学生成绩管理系统的结构化分析
  • 软件工程学籍管理系统的作业(概要设计说明书+学籍管理系统结构化图+学生成绩管理结构分析)
  • 结构化方法和面向对象方法的比较

    千次阅读 2018-10-31 16:50:00
    结构化方法和面向对象方法的比较 翁松秀 北京航空航天大学  摘要:编程之精髓在于编程思想,而不同的编程方法有不同的编程思想。结构化程序设计方法一直以来都是编程人员基本的编程方法,而近年来流行的面向对象...
  • 结构化方法由结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。结构化分析:是根据分解与抽象的原则,按照系统中数据处理的流程,用数据流图来建立系统的功能模型,从而完成需求分析...
  • 结构化方法、面向对象方法的区别

    千次阅读 2016-06-22 09:32:16
    结构化方法、面向对象方法的区别 1.结构化方法遵循的基本原则 结构化方法的基本思想就是将待解决的问题看作一个系统从而用系统科学的思想方法来分析和解决问题结构化方法遵循以下基本原则 (1)抽象...
  • 结构化方法是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法,也称为新生命周期法,是生命周期法的继承与发展,是生命周期法与结构化程序设计思想的结合。其基本思想是用系统工程的思想和工程化...
  • 面向对象软件工程方法学与传统方法学的异同

    千次阅读 多人点赞 2017-06-16 16:44:21
    面向对象软件工程方法学与传统方法学的异同 ...面向对象软件工程方法学 ...传统方法学又称生命周期方法学或结构化范型。一个软件从开始计划起,到废弃不用 止,称为软件的生命周期。在传统的软
  • 详谈软件工程之软件开发方法(一)

    千次阅读 多人点赞 2019-08-16 14:52:16
    详谈软件工程之软件开发方法(一)一、软件开发方法1、结构化法:2、面向对象方法:3、面向服务方法:4、原型法: 其适用于需求不明确的场景,包括抛弃型原型和演变型原型。二、软件开发模型1、瀑布模型:2、增量与...
  • 软件工程方法

    千次阅读 2017-03-02 16:16:06
    它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。 面向对象方法学 与传统方法相反,面向对象方法把数据和行为看成是...
  • 软件工程方法与实践(ppt)

    热门讨论 2010-07-04 08:14:56
    软件工程方法与实践》分别从传统的结构化开发范型和面向对象开发范型两个方面,把软件工程的概念和理论知识融入到实践当中,通过丰富的案例分析与设计,更深入地理解软件开发中各个阶段的技术、方法和管理过程。...
  • 基于构件的体系结构软件开发中最体现创造力的地方,可以通过“修建桥梁”来理解为什么要贯彻基于构件的体系结构以指导我们每次开发的演进增量过程。可视建模是为了消除自然语言的二义性而规定的一套符号体系,由...
  • 软件工程测试方法

    千次阅读 2017-10-30 19:30:12
    利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。  白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、...
  • 结构化方法尽管是早期的方法,但可以初步了解软件开发的细化过程是如何进行的。理解有关结构化分析分解、抽象等一些重要思想。 如何结构化一个现实问题 面向数据结构的方法 该方法是Jackson 提出的,简称...
  • 软件工程】认识软件体系结构

    千次阅读 2013-06-17 22:35:54
     软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一定义注重...
  • 浅谈软件系统的结构化设计

    千次阅读 2015-06-07 21:40:13
    按照软件系统的开发流程,软件的形成依赖于结构化的分析和设计,而结构化设计又可以分为总体设计和详细设计。在总体设计中,需要明确整个系统的结构并进行模块的划分,同时需要确定每个模块的功能、接口及各模块间的...
  • 浅谈《软件工程》常用的几种软件开发方法

    千次阅读 热门讨论 2020-10-06 21:27:12
    软件工程 在上个世纪60年代中期爆发了众所周知的软件危机。为了克服这一危机,在1968、1969年连续召开的两次著名的...结构化方法结构化方法是应用最为广泛的一种开发方法。按照信息系统生命周期,应用结构化系..

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 268,556
精华内容 107,422
关键字:

软件工程结构化方法