第3章结构化分析与设计课件.ppt
《第3章结构化分析与设计课件.ppt》由会员分享,可在线阅读,更多相关《第3章结构化分析与设计课件.ppt(120页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章章 结构化分析与设计结构化分析与设计1软件工程3.1 概述概述3.1.1 结构化分析与设计的由来结构化分析与设计的由来 1.瀑布模型的首次实践瀑布模型的首次实践 结构化分析结构化分析(SA,Structured Analysis)与结构化设计与结构化设计(SD,Structured Design)是是瀑布模型的首次实践。瀑布模型的首次实践。2软件工程 2.SA 与与 SD 的流程的流程结构化分析结构化分析(工具工具:DFD、PSPEC)分析模型分析模型(分层分层DFD图图)+SRS结构化设计结构化设计(工具工具:SC图图)初始设计模型初始设计模型(初始初始SC图图)最终设计模型最终设计
2、模型(最终最终SC图图)注:注:DFD:数据流图(:数据流图(Data Flow Diagram)PSPEC:加工说明(:加工说明(Process SPECification)SRS:软件需求规格说明书:软件需求规格说明书(Software Requirement Specification)SC:结构图(:结构图(Structure Chart)3软件工程3.基本任务与指导思想基本任务与指导思想(1)结构化分析结构化分析SA有两个主要任务有两个主要任务:建立分析模型建立分析模型 通过对问题及其环境的理解、分析和综合,通过对问题及其环境的理解、分析和综合,建立分析模型。该模型包括问题所涉及的信
3、息建立分析模型。该模型包括问题所涉及的信息流、功能、性能、用户界面及设计约束等,它流、功能、性能、用户界面及设计约束等,它是形成需求说明书、进行软件设计的基础。是形成需求说明书、进行软件设计的基础。4软件工程 编写编写需求需求规格规格说明书说明书(SRS)在完全弄清用户对软件系统的确切要求的基在完全弄清用户对软件系统的确切要求的基础上,用础上,用“需求规格说明书需求规格说明书”(SRS)把用户)把用户的需求表达出来。的需求表达出来。需求需求规格规格说明书为开发人员和用户提供软件说明书为开发人员和用户提供软件开发完成时质量评价的依据开发完成时质量评价的依据。SRS应该具有准确性;应该具有准确性;
4、SRS应该防止二义性;应该防止二义性;SRS应该直观、易读、易于修改。应该直观、易读、易于修改。5软件工程 SA的主要指导思想的主要指导思想 抽象与分解抽象与分解 (Abstraction and decomposition)抽象抽象(Abstraction)是控制复杂性的基本策是控制复杂性的基本策略之一。在软件工程中,从系统定义到实现,略之一。在软件工程中,从系统定义到实现,每进展一步都可以看做是对软件解决方法的抽每进展一步都可以看做是对软件解决方法的抽象化过程的一次细化。在软件需求分析阶段,象化过程的一次细化。在软件需求分析阶段,在最高抽象级别上,用在最高抽象级别上,用“做什么做什么”来描
5、述问题。来描述问题。然后不断具体化(分解)。抽象的层次愈低,然后不断具体化(分解)。抽象的层次愈低,呈现的细节愈多。呈现的细节愈多。6软件工程(2)结构化设计结构化设计软件设计分两个阶段完成软件设计分两个阶段完成:软件设计软件设计=总体设计总体设计+详细设计详细设计 总体设计又称概要设计,进行总体设计又称概要设计,进行总体结构设计总体结构设计和系统接口设计,和系统接口设计,把用数据流图(把用数据流图(DFD)表示的)表示的系统分析模型转换为用结构图(系统分析模型转换为用结构图(SC)表示的系)表示的系统结构模型。统结构模型。详细设计用以确定各个软件组件详细设计用以确定各个软件组件(模块模块)的
6、操的操作作(算法算法)和和数据结构数据结构。7软件工程 SC 图分两步完成:图分两步完成:初始设计模型初始设计模型(初始初始SC图图)最终设计模型最终设计模型(最终最终SC图图)初始初始SC图图 总体设计总体设计 最终最终SC图图 软件设计软件设计 详细设计详细设计:完成模块说明完成模块说明软件设计的指导思想软件设计的指导思想分解与细化分解与细化 采用采用“自顶向下、逐步细化自顶向下、逐步细化(Top-Down Stepwise Refinement)”的开发方法。的开发方法。8软件工程3.1.2 SA模型的组成与描述模型的组成与描述例例3.1 教材销售系统教材销售系统第第一一步步:通通过过对
7、对现现实实环环境境的的调调查查研研究究,获获取取当当前前系系统统的的具体模型具体模型(物理模型物理模型)。学学生生图图3.1 学生购买教材的当前系统模型学生购买教材的当前系统模型(物理模型物理模型)购书购书申请申请张张秘书秘书购书购书发票发票王王会计会计购书购书证明证明李李出纳出纳领书领书单单赵赵保管保管学学生生书书9软件工程学学生生图图3.2 学生购买教材的逻辑模型(当前系统)学生购买教材的逻辑模型(当前系统)购书购书单单审查审查有效性有效性购书购书发票发票开开发票发票有效有效购书单购书单开领开领书单书单领书领书单单发书发书学学生生书书第二步:分析需求,第二步:分析需求,建立建立系统分析模型
8、系统分析模型(逻辑模逻辑模型型),包括,包括当前系统和目标系统的逻辑模型当前系统和目标系统的逻辑模型。10软件工程学学生生图图3.3 目标系统的逻辑模型目标系统的逻辑模型购书购书单单审查并审查并开发票开发票发票发票开开领书单领书单领书单领书单发书发书学学生生书书11软件工程第三步:第三步:编写需求规格说明书编写需求规格说明书。第四步:第四步:验证需求,完善和补充对目标系统的验证需求,完善和补充对目标系统的描述描述。学学生生图图3.4 改进了的目标系统逻辑模型改进了的目标系统逻辑模型购书单购书单审查并审查并开发票开发票发票发票开开领书单领书单领书单领书单学学生生无效书单无效书单12软件工程软件开
9、发是要实现软件开发是要实现目标系统的物理模型目标系统的物理模型。需求分析的。需求分析的任务就是借助于任务就是借助于当前系统的逻辑模型导出目标系统的当前系统的逻辑模型导出目标系统的逻辑模型逻辑模型,解决目标系统,解决目标系统“做什么做什么”的问题。的问题。目标系统目标系统当前系统当前系统物理模型物理模型逻辑模型逻辑模型模型化模型化抽象化抽象化物理模型物理模型逻辑模型逻辑模型具体化具体化实例化实例化导导出出怎么做怎么做做什么做什么13软件工程图图3.5 SA3.5 SA模型的组成模型的组成实体联系图实体联系图(E-R图图)状态状态变换变换图图 (STD)数据流图数据流图数据流图数据流图(DFD)(
10、DFD)数据对象说明数据对象说明加工说明加工说明数据数据字典字典 DD控制说明控制说明1.SA模型的组成模型的组成14软件工程早期的(早期的(传统的)结构化分析传统的)结构化分析模型是模型是面向数面向数据流据流的,采用的,采用“自顶向下、逐层分解自顶向下、逐层分解”的分的分析策略,以数据字典(析策略,以数据字典(DD,Data Dictionary)、数据流图(数据流图(DFD,Data Flow Diagram)、和加、和加工说明(工说明(PSPEC,Process SPECification)为主为主要工具,建立系统的逻辑模型(功能建模)。要工具,建立系统的逻辑模型(功能建模)。15软件工
11、程扩充后的结构化分析模型,将建模技术扩展扩充后的结构化分析模型,将建模技术扩展到数据建模和行为建模,以数据字典(到数据建模和行为建模,以数据字典(DD,Data Dictionary)、实体、实体-联系图联系图(Entity-Relation Diagram,E-R图图)、状态、状态-迁移图迁移图(State Transform Diagram,STD)等为工具,等为工具,从不同视点建立系统的分析模型。从不同视点建立系统的分析模型。本课程主要讲述传统的结构化分析模型本课程主要讲述传统的结构化分析模型16软件工程2.SA模型的描述工具模型的描述工具传统的传统的结构化分析采用结构化分析采用3种描述
12、工具种描述工具:数据流图数据流图(DFD)、数据字典数据字典(DD)和和 加加工规格说明工规格说明(PSPEC)。17软件工程(1)数据流图数据流图(DFD)组成符号组成符号(数据流图中的数据流图中的 4 种图形元素种图形元素)加工加工(Prosess):对数据流进行操作或变换。对数据流进行操作或变换。数据源点或终点数据源点或终点(又称又称外部实体外部实体:系统外的:系统外的人员或组织人员或组织)数据流数据流(Data Flow):数据在系统内传播的路径。数据在系统内传播的路径。数据文件数据文件(Data File 或或Data Store):文件与加文件与加工之间的数据流可以不命名;从文件流
13、出的工之间的数据流可以不命名;从文件流出的数据流表示读文件或查询文件;数据流表示读文件或查询文件;流向文件的流向文件的数据流表示写文件或修改文件。数据流表示写文件或修改文件。18软件工程审查并审查并开发票开发票1开开领书单领书单2学学生生学学生生教材存量表教材存量表购书单购书单无效书单无效书单发票发票领书单领书单各班各班学生用书表学生用书表图图3.7 教材销售系统的数据流图教材销售系统的数据流图19软件工程 DFD的性质的性质 DFD 不能表示控制结构,如选择结构不能表示控制结构,如选择结构或循环结构。或循环结构。在需求分析中在需求分析中,常常用一组常常用一组DFD图由粗图由粗到细地表示不同级
14、别上的功能模型,称之到细地表示不同级别上的功能模型,称之为分层数据流图。为分层数据流图。20软件工程(2)数据字典数据字典(DD)数据字典的作用数据字典的作用:对软件系统中的每个对软件系统中的每个数据规定一个定义条目,以保持数据在数据规定一个定义条目,以保持数据在系统中的一致性。系统中的一致性。数据字典数据字典中主要包括以下三类条目中主要包括以下三类条目:数据流、数据流、数据文件数据文件 和和 数据项数据项。21软件工程数据字典定义式中的符号数据字典定义式中的符号 符符 号号 含含 义义 举举 例例 定义为定义为 与与 x=ab.|.或或 x=a|b.或或 m.n 重复重复 x=a,x=3a8
15、(.)可选可选 x=(a).连结符连结符 x=1.9*注释注释 综合的例综合的例:x=a|b +c+(d)22软件工程数据流数据流(条目条目):给出给出DFD中数据流的定义,列中数据流的定义,列出数据流的各组成数据项出数据流的各组成数据项,通常写成公式的形状。通常写成公式的形状。例例3.3 发票学号发票学号+姓名姓名+书号书号+单价单价+数量数量+总价总价+书费合计书费合计 对较长和较复杂的数据流对较长和较复杂的数据流,可分层次描述,使可分层次描述,使条目更清楚。如上述数据流条目更清楚。如上述数据流“发票发票”可表示为:可表示为:发票发票(学号学号)姓名发票行书费合计姓名发票行书费合计发票行书
16、号发票行书号+单价单价+数量数量+总价总价23软件工程数据文件数据文件(条目条目):对数据文件的定义。对数据文件的定义。例例3.4文件名:各班学生用书表文件名:各班学生用书表组成组成:系编号专业和班编号年级系编号专业和班编号年级+书号书号 也可写成公式的形状,如:也可写成公式的形状,如:各班学生用书表各班学生用书表=系编号专业和班编号年系编号专业和班编号年级级+书号书号24软件工程数据项数据项(条目条目):包含在数据流或数据文件中的包含在数据流或数据文件中的数据项,一般都应在字典中设置相应的条目。数据项,一般都应在字典中设置相应的条目。例如:例如:系编号系编号=2数字数字2 *二位数字,如二位
17、数字,如01,12*年级年级=F/M/J/S *F:一年级一年级(Freshman);M:二年级二年级(sophoMore);J:三年级(三年级(Junior););S:四年级四年级(Senior)*25软件工程(3)加工规格说明加工规格说明:(Process SPECification,PSPEC)对数据流图的每一个基本加工,必须有一个对数据流图的每一个基本加工,必须有一个加工说明加工说明,其主要内容如下所示其主要内容如下所示:(1)加工名加工名;(2)加工编号加工编号;(3)输入数据流;输入数据流;(4)输出数据流;输出数据流;(5)加工逻辑加工逻辑;(6)执行频率。执行频率。其中最重要的
18、是加工逻辑。其中最重要的是加工逻辑。26软件工程加工逻辑描述基本加工如何把输入数加工逻辑描述基本加工如何把输入数据流变换为输出数据流的加工策略,而据流变换为输出数据流的加工策略,而不需描述实现加工的细节。不需描述实现加工的细节。加工逻辑通常采用加工逻辑通常采用结构化语言结构化语言(Structured Langauge)、)、判定表判定表(Decision Table)、或或 判定树判定树(Decision Tree)作为描述工具。作为描述工具。27软件工程结构化语言结构化语言(Structured Language)是一种介于自然语言和形式化语言之间的语言。是一种介于自然语言和形式化语言之间
19、的语言。结构化语言可使用顺序、选择、循环等控制结结构化语言可使用顺序、选择、循环等控制结构,其中选择和循环结构可分为内外二层,外层构,其中选择和循环结构可分为内外二层,外层有严格的语法,内层语法比较灵活,可以用自然有严格的语法,内层语法比较灵活,可以用自然语言来表示。语言来表示。结构化语言的三种基本控制结构:结构化语言的三种基本控制结构:顺序结构顺序结构选择结构:选择结构:if_then_else 或或 switch_do ;循环结构:循环结构:while_do 或或 for_do 或或 do_while 。28软件工程例例3.6 售书系统中售书系统中“审查并开发票审查并开发票”的加工逻辑的加
20、工逻辑对购书单上的的每一个书号对购书单上的的每一个书号if (学生用书表中无此书号学生用书表中无此书号)then 把书号写到出错通知上把书号写到出错通知上else 按书号检索按书号检索“教材存量表教材存量表”,获得该书的单价和库存获得该书的单价和库存量量 if (库存量库存量10000 10000 10000 10000 10000 10000 10000 10000预收贷款预收贷款 50%50%50%50%50%50%50%50%月薪月薪10001000100010001000100010001000奖金率奖金率8%8%5%5%6%6%4%4%鼓励奖鼓励奖50030030020035软件工程
21、判定树判定树(Decision Tree)判定树也是用来表达加工逻辑的一判定树也是用来表达加工逻辑的一种工具。有时它比判定表更直观。种工具。有时它比判定表更直观。36软件工程 推销推销金额金额 预收货款预收货款 推销员工资推销员工资 奖金率奖金率 1000 8%+5001000 8%+500 50%50%1000 8%1000 8%10000 10000 1000 5%+3001000 5%+300 50%50%1000 5%1000 5%推销奖金策略推销奖金策略 1000 6%+3001000 6%+300 50%50%1000 6%1000 6%1000010000 1000 4%+200
22、 1000 4%+200 50%50%1000 4%1000 4%图图3.10 3.10 判定树的示例判定树的示例37软件工程(思考题思考题)下面是货运收费策略:计算铁路运费时,若下面是货运收费策略:计算铁路运费时,若收件地点在本省以内,快件每公斤收件地点在本省以内,快件每公斤1.5元,慢件元,慢件每公斤每公斤1元。若收件地点在外省,快件每公斤元。若收件地点在外省,快件每公斤2元,慢件每公斤元,慢件每公斤1.5元。请分别用判定表和判定元。请分别用判定表和判定树表示。树表示。38软件工程(1)判定表判定表(货运收费策略货运收费策略)决策规则号决策规则号1234收件地点收件地点本省本省本省本省外省
23、外省外省外省货运类型货运类型快件快件慢件慢件快件快件慢件慢件每公斤每公斤1.0 元元每公斤每公斤1.5 元元每公斤每公斤2.0 元元39软件工程(2)判定树判定树货运收费货运收费策略策略本省本省快件快件每公斤每公斤1.5元元外省外省货运类型货运类型收件地点收件地点运费运费慢件慢件每公斤每公斤1 元元快件快件每公斤每公斤2 元元慢件慢件每公斤每公斤1.5元元40软件工程3.1.3 SD模型的组成与描述模型的组成与描述 1.SD模型的组成模型的组成过程设计过程设计接口设计接口设计体系结构设计体系结构设计(SC图图)数据设计数据设计图图3.11 SD模型的组成模型的组成41软件工程2.SD模型的描述
24、工具模型的描述工具体系结构设计是用来确定软件结构的,其描述工具体系结构设计是用来确定软件结构的,其描述工具为结构图(为结构图(Structure Chart),简称简称SC图图。(1)SC图的组成符号图的组成符号:SD方法约定方法约定:(1)用矩形框表示模块用矩形框表示模块;(2)用箭头或直线表示模块间的调用关系用箭头或直线表示模块间的调用关系;(3)在调用线的两旁用短箭头表示传入和传出模块的在调用线的两旁用短箭头表示传入和传出模块的数据流。数据流。ABCX,YZZ42软件工程传入模块传入模块XY传出模块传出模块YX变换模块变换模块XY控制模块控制模块XXYYSC图中允许使用的图中允许使用的6
25、种模块种模块源模块源模块X漏模块漏模块X(a)(b)(c)(d)(e)(f)43软件工程(a)传入模块传入模块 从下属模块取得数据,经过某从下属模块取得数据,经过某些处理些处理,再将其传送给上级模块。它传送的数再将其传送给上级模块。它传送的数据流叫做逻辑输入流。据流叫做逻辑输入流。(b)传出模块传出模块 从上级模块获得数据,进行某从上级模块获得数据,进行某些处理,再将其传送给下属模块。它传送的数些处理,再将其传送给下属模块。它传送的数据流叫做逻辑输出流。据流叫做逻辑输出流。(c)变换模块变换模块 它从上级模块取得数据,进行它从上级模块取得数据,进行特定的处理,转换成其它形式特定的处理,转换成其
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 结构 化分 设计 课件
限制150内