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