当前位置:文档之家› 结构化设计方法

结构化设计方法

结构化设计方法刘凤祥目录第一模块软件工程和软件过程 (3)瀑布模型 (4)快速原型模型 (5)增量模型(渐增模型) (6)螺旋模型 (7)喷泉模型 (8)第二模块结构化分析 (9)概述 (9)与用户通信的技术 (9)分析建模与规格说明 (10)实体——关系图 (11)数据流图 (11)状体转换图 (12)数据字典 (13)练习 (14)第三模块结构化设计 (14)第四模块结构化实现 (31)第五模块软件项目管理 (31)第六模块案例分析 (32)第一模块 软件工程和软件过程一、 概述1.谁有软件开发的经验?软件开发的大概过程是什么?曾遇到过什么问题?2. 计算机系统的发展所经历的四个阶段3. 软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题4. 产生软件危机的原因5. 消除或减少软件危机的途径 二、 软件工程①把系统化的、规范化的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;②研究①中提到的途径。

三、 软件工程的基本原理1. 用分阶段的生命周期计划严格管理2. 坚持进行阶段评审3. 实行严格的产品控制4. 采用现代程序设计技术5. 结果应能清楚地审查6. 开发小组的人员应该少而精7. 承认不断改进软件工程实践的必要性 1)60年代中期以前 无软件设计的文档资料2)出现了软件作坊,“软件危机”出现,1968年提出“软件工程”的概念 3)20世纪70年代中期开始,10年。

主要特点是出现了微处理器 4)软硬件的综合效果五、生命周期模型瀑布模型图1.2传统的瀑布模型1. 阶段间具有顺序性和依赖性2. 推迟实现的观点(尽量晚的开始程序的编写)3. 质量保证的观点优点:可强迫可发人员采用规范化的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。

缺点:软件产品交付用户前,用户仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品图1.3实际的瀑布模型快速原型模型(实线箭头表示开发过程,虚线箭头表示维护过程)图1.4快速原型模型优点:不带反馈环,软件产品的开发基本上是线性顺序进行的,有助于保证用户的真实需要得到满足增量模型(渐增模型)图1.5增量模型优点:1. 能在较短时间内向用户提交可完成图1.6风险更大的增量模型螺旋模型图1.7简化的螺旋模型图1.8完整的螺旋模型喷泉模型图1.9喷泉模型六、练习1.软件就是程序。

()2.软件工程方法学包含三个要素:方法、工具和过程。

()3.目前使用最广泛的软件工程方法学分别是:传统方法学和。

4.软件是程序、以及相关文档的完整集合。

5.简述软件工程的基本原理。

6.论述软件生命周期的不同阶段,以及各阶段的基本任务7.采用增量模型开发软件时,目标是一次就把一个满足所有需求的产品提交给用户。

()8.需求分析和规格说明是比较简单的过程,应快速完成。

()9.螺旋模型是在每个阶段之前都增加了风险分析过程的模型。

10.快速原型模型是文档驱动的。

()11.瀑布模型的成功很大程度上是由于它基本上是一种____驱动的模型。

12.螺旋模型的成功很大程度上是由于它基本上是一种____驱动的模型。

第二模块结构化分析概述1.需求分析是发现、求精、建模、规格说明和复审的过程2.结构化分析:是一种建立模型的活动,通常建立数据模型、功能模型和行为模型三种。

3.结构化分析方法应该遵守的准则①数据模型(E_R图)②功能模型(数据流图)③行为模型(状态转换图)④对三种模型进行分解,用层次的方式展示细节⑤分析过程应该从要素信息移向实现细节与用户通信的技术1.访谈形式:正式非正式:开放式问题,鼓励被访问者表达自己的想法具体技术:调查表情景分析技术目的:了解用户的真正需求。

2.简易的应用规格说明技术面向团队的需求收集法初步访谈开发者和用户都写出“产品需求”选定会议地址、日期和时间,并选举一个协调人邀请开发者和用户双方组织的代表出席会议,在会议日期前把写好的产品需求分发给每位与会者每位与会者在开会前几天认真复审产品需求会议开始,第一个议题:是否需要这个新产品讨论,删除或增添表项或组合不同列表。

这个阶段严格禁止批评与争论创建新组合列表,得出一致意见分小组为列表中的一个或多个项目制订出小型规格说明细化、求精每位与会者制订出产品的一整套确认标准,并提交会议讨论由一名或多名与会者根据会议成果起草完整的规格说明优点:开发者和用户部分彼此,集思广益密切合作即时讨论和求精有能导出规格说明的具体步骤3.软件原型特征:快速、容易修改快速构建和修改原型的三种方法和工具:第四代技术(4GT)、可重用的软件结构、形式化规格说明和原型环境分析建模与规格说明软件需求规格说明框架Ⅰ.引言A .系统参考文献B .整体描述C .软件项目约束Ⅱ.信息描述A .信息内容B .信息流1 .数据流2 .控制流Ⅲ.功能描述A .功能分解B .功能描述1 .处理说明2 .限制3 .性能需求4 .设计约束5 .支撑图C .控制描述1 .控制规格说明2 .设计约束〖ZK)〗Ⅳ.行为描述A .系统状态B .事件和动作Ⅴ.确认标准A .性能范围B .测试种类C .预期的软件响应D .特殊考虑Ⅵ.参考书目Ⅶ.附录结构化分析实质上是一种创建模型的活动,分析模型的核心是“数据字典”,围绕这个核心有以下三种不同的图实体——关系图关系、属性、联系(3种联系)数据流图数据流图有四种成分:源点或终点、处理、数据存储和数据流。

假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。

对于每个需要再次定货的零件应该列出下述数据;零件编号、零件名称、定货数量、目前价格、主要供应者和次要供应者。

零件入库或出库称为事务,通过放在仓库中的CRT 终端把事务报告给定货系统。

当某种零件的库存数量少于库存量临界值时就应该再次定货。

一旦把数据流图的四种成分都分离出来以后,就可以着手画数据流图了状体转换图在需求分析过程中应该建立起目标系统的行为模型。

状态转换图(简称状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。

状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。

状态规定了系统对事件的响应方式。

系统对事件的响应,既可以是做一个(或一系列)动作,也可以是仅仅改变系统本身的状态,还可以是既改变状态又做动作。

事件就是引起系统状态转换的控制信息符号图3.3状态图中使用的主要符号表3.1组成数据流图的元素可以从描述问题的信息中提取图3.4电话系统的状态图数据字典数据字典:描述数据的信息的集合,是对系统中使用的所有数据元素的定义的集合。

维护数据字典几乎是不可能的,因此,应该使用CASE工具来创建和维护数据字典。

1.E_R图用来描述数据模型。

()2.DFD用来描述数据模型。

()3.数据流图中的箭头表示____。

4.____是引起系统状态转换的控制信息。

5.E_R图中矩形框代表,菱形框代表实体集间的联系,椭圆框代表实体集的属性6.银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。

用数据流图描绘本系统的功能,并用实体联系图描绘系统中的数据对象。

7.复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员来排除故障,故障排除后回到闲置状态。

试用状态转换图描绘复印机的行为。

8.目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还可能会延误抢救时机。

某医院打算开发一个以计算机为中心的患者监护系统,医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。

试写出问题定义,并且分析开发这个系统的可行性。

分别用E_R 图、数据流图和状态图描绘患者监护系统的数据、功能和行为模型。

9.分析模型的核心是数据字典_。

/view/fe2b9a3231126edb6f1a1021.html第三模块结构化设计软件设计在软件工程中处于技术核心地位软件设计任务时应该遵循的基本原理模块化:可分解、可组装、可理解、连续性、保护性抽象逐步求精信息隐藏模块独立高内聚:一个模块内部各个元素彼此结合的紧密程度低耦合(数据耦合、控制耦合、内容耦合)启发规则1. 改进软件结构提高模块独立性2. 模块规模应该适中3. 深度、宽度、扇出和扇入都应适当4. 模块的作用域应该在控制域之内图5.2模块的作用域和控制域5. 力争降低模块接口的复杂程度6. 设计单入口单出口的模块7. 模块功能应该可以预测层次图和HIPO图图5.3正文加工系统的层次图图5.4带编号的层次图(H图)结构图图5.5结构图的例子——产生最佳解的一般结构图5.6判定为真时调用A,为假时调用B图5.7模块M循环调用模块A、B、C 面向数据流的设计方法概念1. 变换流2. 事务流图5.8变换流图5.9事务流3. 设计过程图5.10面向数据流方法的设计过程变换分析1. 例子2. 设计步骤图5.11数字仪表板系统的数据流图图5.12具有边界的数据流图图5.13第一级分解的方法图5.14数字仪表板系统的第一级分解图5.15第二级分解的方法图5.16未经精化的输入结构图5.17未经精化的变换结构图5.18未经精化的输出结构图5.19精化后的数字仪表板系统的软件结构事务分析图5.20事务分析的映射方法PAD图图6.5PAD图的基本符号判定表当算法中包含多重嵌套的条件选择时,用程序流程图、盒图、PAD图或后面即将介绍的过程设计语言(PDL)都不易清楚地描述。

然而判定表却能够清晰地表示复杂的条件组合与应做的动作之间的对应关系。

一张判定表由四部分组成,左上部列出所有条件,左下部是所有可能做的动作,右上部是表示各种条件组合的一个矩阵,右下部是和每种条件组合相对应的动作。

判定表右半部的每一列实质上是一条规则,规定了与特定的条件组合相对应的动作。

相关主题