软件工程导论3软件需求分析课件_第1页
软件工程导论3软件需求分析课件_第2页
软件工程导论3软件需求分析课件_第3页
软件工程导论3软件需求分析课件_第4页
软件工程导论3软件需求分析课件_第5页
已阅读5页,还剩397页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程导论(3)

——软件需求分析南京理工大学汪惠芬2005年9月8日软件工程导论(3)

——软件需求分析南京理工大学第三章软件需求分析需求分析要求:一致性完整性无二义性现实性可验证性可跟踪性易修理性SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0所有需求不互相矛盾,要一致用户每个必要的需求没有遗漏用户与开发人员对于需求的理解是完全一致的所有需求在项目资源保证下是可实现的能确切地验证已经定义的需求能否满足用户的要求,能验证软件产品能否满足规定的需求,性能指标是否达到具有可观的可度量准则定义的每个功能、性能可以追溯用户的原始需求,规定的需求能检索、分割、交叉查找软件的功能、性能以及需求便于修改、扩充12/24/20222软件工程导论第三章软件需求分析需求分析要求:SA方法JSDSADT需第三章软件需求分析需求分析方法:结构化分析方法SA面向数据结构的分析方法

—DSSD、JSD原型化方法SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/20223软件工程导论第三章软件需求分析需求分析方法:SA方法JSDSADT需第三章软件需求分析需求分析工具:数据流图DFD(DataFlowDiagram)、数据词典DD(DataDictionary)、判定表DT(DecisionTable)、判定树DT(DecisionTree)、结构化高级分析语言LSA(LanguageofStructuredAnalysis)、层次图HC(HierarchyChart)、输入处理输出图IPO(InputProcessOutput)、Warnier图、结构化分析与设计技术SADT(StructuredAnalysis&DesignTechnology)、软件需求工程方法SREM(SoftwareRequirementEngineeringMethodology)、问题描述语言PSL(ProblemStatementLanguage)、问题描述分析器PSA(ProblemStatementAnalyzer)。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/20224软件工程导论第三章软件需求分析需求分析工具:SA方法JSDSADT需第三章软件需求分析3.1软件需求分析概述3.2结构化分析方法3.3结构化数据系统开发方法3.4Jackson系统开发方法3.5系统动态分析3.6结构化分析与设计技术3.7IDEF0方法3.8软件需求分析的复审3.9本章小结SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/20225软件工程导论第三章软件需求分析3.1软件需求分析概述SA方法JS3.1软件需求分析概述★3.1.1软件需求分析的任务3.1.2软件需求分析的步骤3.1.3软件需求分析的原则SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/20226软件工程导论3.1软件需求分析概述★3.1.1软件需求分析的任务3.1.1软件需求分析的任务软件需求分析的根本任务是:系统必须做什么?具体任务如下:确定被开发系统的综合要求分析系统的数据要求SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0功能要求性能要求运行要求可靠性要求安全保密要求成本消耗要求用户接口要求资源使用要求开发进展要求12/24/20227软件工程导论3.1.1软件需求分析的任务软件需求分析的根本任务是:系3.1.1软件需求分析的任务软件需求分析的根本任务是:系统必须做什么?具体任务如下:导出目标系统逻辑模型根据确定的需求审定可行性报告,修正软件项目开发计划用原型模型、需求分析的验证工具或经人工审定需求的正确性编制软件需求规格说明书SRS(SoftwareRequirementSpecification)SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/20228软件工程导论3.1.1软件需求分析的任务软件需求分析的根本任务是:系3.1.2软件需求分析的步骤SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0抽象具体化当前系统目标系统怎么做当前系统物理模型做什么当前系统逻辑模型目标系统物理模型表达需求目标系统逻辑模型理解需求导出归纳模型化实例化12/24/20229软件工程导论3.1.2软件需求分析的步骤SA方法JSDSADT需求复软件需求分析的通信途径SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0管理人员分析人员用户软件开发小组原型软件需求规格说明软件计划12/24/202210软件工程导论软件需求分析的通信途径SA方法JSDSADT需求复审本章小结软件需求分析的工作流程SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202211软件工程导论软件需求分析的工作流程SA方法JSDSADT需求复审本章小结3.1.3软件需求分析的原则软件需求分析的基本原则如下:(1)能够表达和理解问题的信息域和功能域信息域:信息流信息内容信息结构SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0转换1转换2数据存储输入数据中间数据结果数据附加数据12/24/202212软件工程导论3.1.3软件需求分析的原则软件需求分析的基本原则如下:3.1.3软件需求分析的原则软件需求分析的基本原则如下:(2)能够对问题进行分解和不断细化,建立问题的层次结构SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0横向分解纵向分解12/24/202213软件工程导论3.1.3软件需求分析的原则软件需求分析的基本原则如下:3.1.3软件需求分析的原则SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0SABC213ABCA1B12.22.12.3B1CA1BB13.23.13.43.3S2.13.112.22.33.23.33.4ABCBCA2A13B1A1B1CB1BDFD0DFD1DFD2层次分解数据流图12/24/202214软件工程导论3.1.3软件需求分析的原则SA方法JSDSADT需求复3.1.3软件需求分析的原则软件需求分析的基本原则如下:(3)分别给出系统的逻辑视图和物理视图逻辑视图:给出软件要达到的功能和要处理的信息之间的关系,而不是实现的细节。物理视图:给出处理功能和信息结构的实际表现形式,这往往是由设备本身决定的。仅限于“做什么”的范围。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202215软件工程导论3.1.3软件需求分析的原则软件需求分析的基本原则如下:3.2结构化分析方法3.2.1数据流图DFD3.2.2数据词典DDSA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202216软件工程导论3.2结构化分析方法3.2.1数据流图DFDSA方3.2.1数据流图DFD数据流图:数据流图是描述数据处理过程的有力工具。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202217软件工程导论3.2.1数据流图DFD数据流图:SA方法JSDSADT3.2.1数据流图DFD数据流图中的主要图形元素SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0符号名称说明示例加工(逻辑处理,数据处理变换)输入数据在此进行变换产生输出数据,要注明加工的名字,对加工的命名通常用动宾结构(动名词短语)。数据输入的源点或数据输出的汇点表示图中要处理的数据的输入来源或处理结果送往何处,要注明源点或汇点的名字。数据流被加工的数据与流向。数据流是沿箭头方向传送的数据,一般以名词或名词性短语命名,也可没有命名。同一图上不能有同名的数据流,数据流不能交叉。文件(数据存储)用以保存数据,可以是数据库文件或任何形式的数据组织,必须用名词或名词性短语命名。指向文件的数据流表示写入文件或查询文件,离开文件的数据流表示从文件读取数据或得到查询结果。1.学生选课学生费用课程注册12/24/202218软件工程导论3.2.1数据流图DFD数据流图中的主要图形元素SA方法3.2.1数据流图DFD数据流图示例(学生选课系统)SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF01.学生选课学生2.课程注册3.表格打印学生教师开课清单课程注册选课单费用学生课表成绩记载单12/24/202219软件工程导论3.2.1数据流图DFD数据流图示例SA方法JSDSAD3.2.1数据流图DFD数据流与加工之间的关系在DFD中,如果有两个以上数据流指向同一个加工,或是从一个加工引出两个以上的数据流,这些数据流之间往往存在一定的关系。为表达这些关系,在这些数据流的加工附近可以加上不同的标记符号。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202220软件工程导论3.2.1数据流图DFD数据流与加工之间的关系SA方法J3.2.1数据流图DFD数据流与加工之间的关系SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0符号名称说明BAC有A,则有B或C,或者两者都有B∨C=A或B+C=ABA*C有A,则有B与C,两者同时有B∧C=A或B·C=ABAC有A,则有B或C,但不会同时有B与C或BC=A12/24/202221软件工程导论3.2.1数据流图DFD数据流与加工之间的关系SA方法J3.2.1数据流图DFD数据流与加工之间的关系SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0符号名称说明ACB当A或B有一个存在,则有CC=A∨B或C=A+BA*CB当A或B都存在,则有CC=A∧B或C=A·BACB只有A或只有B,但不会同时都存在,则有C或C=AB12/24/202222软件工程导论3.2.1数据流图DFD数据流与加工之间的关系SA方法J3.2.1数据流图DFD分层数据流图按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202223软件工程导论3.2.1数据流图DFD分层数据流图SA方法JSDSAD3.2.1数据流图DFD分层数据流图构造步骤:(1)确定系统边界,画出顶层数据流图,记为DFD/L0(2)自顶向下,对每个加工进行内部分解,画出分层数据流图,依次记为DFD/L1,DFD/L2.i,…,DFD/Ln.iSA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202224软件工程导论3.2.1数据流图DFD分层数据流图构造步骤:SA方法J3.2.1数据流图DFD分层数据流图总体结构SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0SFFDFD/L0213FFB1A3A2A1DFD/L11.21.11.3FA1A3DFD/L2.1B12.22.12.42.3A2A1A2DFD/L2.23.23.13.3A3FB1DFD/L2.312/24/202225软件工程导论3.2.1数据流图DFD分层数据流图总体结构SA方法JS3.2.1数据流图DFD分层数据流图示例——学生选课系统(DFD/L0)SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0学生教师选课单学生课表成绩记载单学生选课系统12/24/202226软件工程导论3.2.1数据流图DFD分层数据流图示例SA方法JSDS3.2.1数据流图DFD分层数据流图示例——学生选课系统(DFD/L1)SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF01.学生选课学生2.课程注册3.表格打印教师开课清单课程注册选课单费用学生课表成绩记载单12/24/202227软件工程导论3.2.1数据流图DFD分层数据流图示例SA方法JSDS3.2.1数据流图DFD分层数据流图示例——学生选课系统(DFD/L2.1)SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF01.1合法性检查学生1.2查已修课程成绩1.3计算课程冲突率开课清单学生成绩库选课单学生学号已选课程费用1.4计算课程注册费重修课程合法课程记录12/24/202228软件工程导论3.2.1数据流图DFD分层数据流图示例SA方法JSDS3.2.1数据流图DFD分层数据流图示例——学生选课系统(DFD/L2.3)SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF03.1打印学生课表学生3.2打印课程成绩单课程注册表学生课表课程成绩单教师12/24/202229软件工程导论3.2.1数据流图DFD分层数据流图示例SA方法JSDS3.2.1数据流图DFD分层数据流图构造步骤:(3)对数据流图进行复查求精。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0分析追踪数据流图用户复查细化数据流图需要分解不需要分解无补充修正补充修正12/24/202230软件工程导论3.2.1数据流图DFD分层数据流图构造步骤:SA方法J3.2.1数据流图DFD数据流图画法要求(1)数据流图上所有符号只限于前述四种基本图形元素,并且数据流图的主图必须包括这四种基本元素,缺一不可。(2)每个加工至少有一个输入数据流和一个输出数据流。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202231软件工程导论3.2.1数据流图DFD数据流图画法要求SA方法JSDS3.2.1数据流图DFD数据流图画法要求(3)可以在数据流图中加入物质流,帮助用户理解数据流图,但数据流图中不可夹带控制流和信息流。(4)初画时可以忽略琐碎的细节,以集中精力于主要数据流,一些枝节问题可以缓一步画出。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202232软件工程导论3.2.1数据流图DFD数据流图画法要求SA方法JSDS3.2.1数据流图DFD数据流图画法要求(5)控制单张数据流图的复杂性,一个加工的下级子加工应控制在7±2以内,流入、流出同一加工的数据流不能太多。(6)分解层次的均匀性。可将一个系统的全部分层数据流图看成一棵树,顶层加工为树根,所有底层加工为树叶,从树根到所有树叶的路径长度之差不应太大。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202233软件工程导论3.2.1数据流图DFD数据流图画法要求SA方法JSDS3.2.2数据词典DD数据词典数据词典是结构化分析方法的另一个工具,它与数据流图配合,能清楚地表达数据处理的要求。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202234软件工程导论3.2.2数据词典DD数据词典SA方法JSDSADT需求3.2.2数据词典DD数据词典的任务数据词典的任务是对于数据流图中出现的所有命名元素,包括数据流、加工、数据文件,以及数据的源、汇点等,在数据词典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。数据词典中的定义应是严密的、精确的,不可有半点含混,不可有二义性。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202235软件工程导论3.2.2数据词典DD数据词典的任务SA方法JSDSAD3.2.2数据词典DD词条描述:图形元素的名字别名或编号分类:加工,数据流,数据文件,数据元素,数据源、汇点等描述:该词条的功能、特点等定义:该词条的组成、数据结构等位置:数据流的来源、去出,加工框的编号、输入、输出,数据元素在哪个数据结构中等其它:数据流的数据量、流通量,数据文件的存储方式、存取要求,数据加工的加工顺序,外部实体的数量等SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202236软件工程导论3.2.2数据词典DD词条描述:SA方法JSDSADT需3.2.2数据词典DD数据结构的描述:在数据流图中,数据流和数据文件都具有一定的数据结构,必须以一种清晰、准确、无二义性的方式描述。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202237软件工程导论3.2.2数据词典DD数据结构的描述:SA方法JSDSA3.2.2数据词典DD数据词典定义式中的符号:SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0符号含义解释=被定义为+与x=a+b表示x由a和b组成[…,…]或x=[a,b],x=[a|b]表示x由a或由b组成[…|…]{…}重复x={a}表示x由0个a或多个a组成m{…}n重复x=3{a}8表示x中至少出现3次a,至多出现8次a(…)可选x=(a)表示a可在x中出现,也可不出现“…”基本数据元素x=“a”表示x为取值为a的数据元素..连接符x=1..9表示x可取1到9之中的任一值12/24/202238软件工程导论3.2.2数据词典DD数据词典定义式中的符号:SA方法J数据词典中条目的定义(1)数据流条目:定义一个数据流的数据项组成。其构成框架如下,其中方括号部分是条目构成的可选部分。数据流名称[别名列表]数据流组成[来源][去向][处理特点(使用频率,数据量等)][其它注释(格式,位置等)]SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202239软件工程导论数据词典中条目的定义(1)数据流条目:定义一个数据流的数据项数据词典中条目的定义数据流组成是数据流条目的主要部分,其构成是:<数据流名称>=数据项[<逻辑操作符>数据项…]常用符号:SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0=表示“定义为(等价于)”+表示“与”[|]括号内用“|”分隔的各项中选择出现一项()括号内部分可以不出现{}括号内部分重复出现12/24/202240软件工程导论数据词典中条目的定义数据流组成是数据流条目的主要部分,其构成数据词典中条目的定义数据流条目示例:数据流课程成绩单课程成绩单=课程编码+课程名[任课老师|指导老师]+{学号+姓名+成绩(+备注)}数据流合法选课记录别名选课记录,重修记录,已选记录合法选课记录=学号+课程时间表SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202241软件工程导论数据词典中条目的定义数据流条目示例:SA方法JSDSADT需数据词典中条目的定义(2)文件条目:作为数据的静态存储池,是记录的有序集合。其构成框架如下:文件名[别名列表]记录定义[文件组织][存储介质描述]SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202242软件工程导论数据词典中条目的定义(2)文件条目:作为数据的静态存储池,是数据词典中条目的定义文件条目示例:文件学生成绩学生成绩=学生学号+课程编号+成绩+备注组织:以学号为记录关键字升序排列注释:备注域用于标识课程类别(必修/限选/任选)SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202243软件工程导论数据词典中条目的定义文件条目示例:SA方法JSDSADT需求数据词典中条目的定义(3)数据项条目:数据项是组成数据流的成分,分为:基本数据项:整数、小数、字符串、日期、逻辑值等,在数据词典中通常要求定义其逻辑或物理格式。结构型数据项:由若干数据项组成,其说明结构与数据流条目结构类似。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202244软件工程导论数据词典中条目的定义(3)数据项条目:数据项是组成数据流的成数据词典中条目的定义数据项条目示例:课程编码:XXXXXXX(7位数字)第1位:系编号第2~3位:教研室编号第4~6位:课程序号第7位:课堂号课程时间表=课程编码+起始周+终止周+{星期+节+教室号}起始周、终止周=1..22星期=1..6节=1..12教室号:XXXXSA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202245软件工程导论数据词典中条目的定义数据项条目示例:SA方法JSDSADT需数据词典中条目的定义(4)加工说明:数据流图中每个底层加工(基本加工)要求在数据词典中有一个准确、简明的形式化或半形式化描述,其结构如下:加工:加工编号加工名[别名]输入数据流输出数据流加工的功能描述加工的逻辑描述(结构化语言/表格/图形)[附加说明]SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202246软件工程导论数据词典中条目的定义(4)加工说明:数据流图中每个底层加工(数据词典中条目的定义结构化语言LSA:结构化语言是一种介于自然语言和形式语言之间的半形式化语言,它是在自然语言基础上加了一些限制而得的语言,它是用有限的词汇和有限的语句来描述加工逻辑。其词汇表由命令动词、数据词典中定义的名字、有限的自定义词和逻辑关系词If-Then-Else、While-Do、Repeat-Until、Case-Of等组成。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202247软件工程导论数据词典中条目的定义结构化语言LSA:SA方法JSDSADT数据词典中条目的定义结构化语言基本控制结构:简单陈述句结构判定结构:SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0If<条件>Then<语句块1>;Else<语句块2>;Case<选择表达式>OfCase:<语句块1>;……Case:<语句块n>;Else<语句块n+1>;End12/24/202248软件工程导论数据词典中条目的定义结构化语言基本控制结构:SA方法JSDS数据词典中条目的定义结构化语言基本控制结构:重复结构:SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0While<条件>Do<循环体>Repeat<循环体>Until<条件>;For<循环初值;循环终止描述>Do<循环体>;12/24/202249软件工程导论数据词典中条目的定义结构化语言基本控制结构:SA方法JSDS数据词典中条目的定义结构化语言示例:SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0加工1.1合法性检查Begin读取选课单;While课程编码不空Do在开课清单中查找该课程If找到Then输出合法选可记录;取该生下一选修课程编码EndDo输出该生学号End加工1.2查已修课程成绩Begin根据学号在学生成绩库中查找该生的重修课程;输出重修课程编码;End注释:学生成绩记录中成绩不及格,备注=“必修”,则该课程重修12/24/202250软件工程导论数据词典中条目的定义结构化语言示例:SA方法JSDSADT需数据词典中条目的定义判定表DT:在某些数据处理问题中,某数据流图的加工需要依赖于多个逻辑条件的取值,即:完成这一加工的一组动作是由于某一组条件取值的组合而引发的,这时使用判定表来描述比较合适。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202251软件工程导论数据词典中条目的定义判定表DT:SA方法JSDSADT需求复数据词典中条目的定义判定表组成:SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0条件茬条件项动作茬动作项规则12/24/202252软件工程导论数据词典中条目的定义判定表组成:SA方法JSDSADT需求复数据词典中条目的定义判定表示例:SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF01234条件发货金额>$500>$500<$500<$500赊欠情况>60天≤60天>60天≤60天操作不发批准书√发出批准书√√√发出发货单√√√发赊欠报告√12/24/202253软件工程导论数据词典中条目的定义判定表示例:SA方法JSDSADT需求复数据词典中条目的定义判定表规则:通常将任一条件及其相应执行的动作称为规则,它在判定表中是纵向贯穿条件项和动作项的一列。在实际使用判定表时,常常先把它化简,如果表中有两条或更多的规则具有相同的动作,并且其条件项之间存在着某种关系,就可设法将它们合并。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202254软件工程导论数据词典中条目的定义判定表规则:SA方法JSDSADT需求复数据词典中条目的定义判定表规则化简示例:SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0YYNNYNXXYN-XYY-NNNXXY-NX12/24/202255软件工程导论数据词典中条目的定义判定表规则化简示例:SA方法JSDSAD数据词典中条目的定义判定树DT:判定树也是用来表达加工逻辑的一种工具,有时它比判定表更直观,用它来描述加工,很容易为用户接受,特别是在说明符合条件嵌套的加工逻辑时,用判定树描述结构清晰,易读易理解。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202256软件工程导论数据词典中条目的定义判定树DT:SA方法JSDSADT需求复数据词典中条目的定义判定树DT示例:SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0检查发货单金额>$500金额<$500欠款>60天——不发批准书欠款≤60天——发出批准书、发货单欠款>60天——发出批准书、发货单及赊欠报告欠款≤60天——发出批准书、发货单12/24/202257软件工程导论数据词典中条目的定义判定树DT示例:SA方法JSDSADT需数据词典中条目的定义方法选用原则:在表达一个基本加工逻辑时,结构化语言、判定表、判定树常被交叉利用,互相补充。对不太复杂的判定条件,或用判定表有困难时,使用判定树较好。若在一个加工逻辑中同时存在顺序、判断和循环时,使用结构化语言较好。对于复杂的判定,组合条件较多时,使用判定表较好。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202258软件工程导论数据词典中条目的定义方法选用原则:SA方法JSDSADT需求3.3结构化数据系统开发方法结构化数据系统开发方法DSSD(DataStructuredSystemsDevelopment),也称为Warnier-Orr方法,是由J.D.Warnier提出的。他提出利用三种基本构造,即顺序、选择、重复构造表示信息的分层结构,并进而由数据结构直接导出软件结构。Orr将其扩充,形成了结构化数据系统开发方法。该方法考虑了信息流和功能特性以及数据的分层关系。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202259软件工程导论3.3结构化数据系统开发方法结构化数据系统开发方法DSS3.3结构化数据系统开发方法3.3.1Warnier图3.3.2DSSD的分析方法SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202260软件工程导论3.3结构化数据系统开发方法3.3.1Warnier3.3.1Warnier图Warnier图是表示层次信息结构的一种精凑而直观的方式,很容易被人们理解。以报纸的自动编辑系统为例。通常报纸的版面采用以下格式:SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0头版部分头条新闻国内新闻当地新闻社论部分社论专栏读者来信讽刺漫画副刊部分体育新闻商业新闻广告12/24/202261软件工程导论3.3.1Warnier图Warnier图是表示层次信息3.3.1Warnier图上面给出的报纸概观是一个信息的层次结构,Warnier图可在细节的任一层次上表示层次结构。报纸的信息层次结构可表示如下:SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0报纸头版部分头条新闻国内新闻当地新闻社论部分社论(1,1)专栏(1,3)读者来信(1,3)讽刺漫画(0,1)副刊部分体育新闻商业新闻广告12/24/202262软件工程导论3.3.1Warnier图上面给出的报纸概观是一个信息的3.3.1Warnier图在Warnier图中,用大括号“{”表示层次关系,在同一括号下,自上到下是顺序排列的信息项。在有些信息项名字的后面附加了圆括号,给出该信息项重复的次数。例如:社论(1,1)表示社论占一栏;专栏(1,3)表示专栏占1到3栏;讽刺漫画(0,1)表示讽刺漫画可有可无,若有就占一栏。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202263软件工程导论3.3.1Warnier图在Warnier图中,用大括号3.3.1Warnier图Warnier图可以通过细化复合信息项进一步分解信息域。报纸副刊部分的细化结果可表示如下:异或符号表示对位于它上下两边的信息项条件的选择,不是经营信息,就是雇员信息,二者选一。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0副刊部分体育新闻地区队职业队拳击商业新闻经营简讯雇员简讯一般新闻广告招生招聘求助12/24/202264软件工程导论3.3.1Warnier图Warnier图可以通过细化复3.3.2DSSD的分析方法用DSSD方法进行分析时,不是从考察信息的层次结构开始,而是首先研究“应用环境”。即:分别站在信息的产生者和接受者的角度,观察信息如何在产生者和接受者之间流动。用类似于Warnier图的表示方法描述信息项和对信息项的处理,从而确定问题的功能。利用Warnier图建立问题结果的模型。使用这一方法进行需求分析,会涉及到信息项的所有属性:数据流、数据内容和数据结构。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202265软件工程导论3.3.2DSSD的分析方法用DSSD方法进行分析时,不DSSD方法的步骤(1)利用人们熟悉的数据流图表示系统业务的整体信息流。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0销售:接受、记录订购信息顾客发货:订购完成UPS订单号

顾客姓名

顾客地址

订购日期

货号

批号订单文件电话订购品名

规格

数量

单价

总计装运单发货部门订单号订单号品名

规格

数量

顾客地址

订购日期会计系统

管理报告12/24/202266软件工程导论DSSD方法的步骤(1)利用人们熟悉的数据流图表示系统业务的DSSD方法的步骤(2)确定系统的应用环境。主要围绕以下三个方面描述问题:要处理的信息项有哪些?谁是信息项的产生者和接受者?每个信息项的产生者和接受者如何看待顾客环境中的其它信息?DSSD以实体图为机制回答了这些问题。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202267软件工程导论DSSD方法的步骤(2)确定系统的应用环境。主要围绕以下三个DSSD方法的步骤(2)确定系统的应用环境。DSSD以实体图为机制回答了上述问题。实体图很像数据流图,但图中所有符号的含义却与数据流图完全不同。在实体图中,圆形框代表了信息的产生者和接受者(如人、机器、另一个系统等)。下面介绍电话订购系统的实体图。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202268软件工程导论DSSD方法的步骤(2)确定系统的应用环境。SA方法JSDSDSSD方法的步骤(2)确定系统的应用环境。(系统中的5个信息产生者和接者)SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0发货:订购完成销售:接受订购主管会计顾客12/24/202269软件工程导论DSSD方法的步骤(2)确定系统的应用环境。SA方法JSDSDSSD方法的步骤(2)确定系统的应用环境。(销售/电话订购部门业务的实体图)SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0发货:订购完成销售:接受订购可收帐目顾客批号订单号订单号货号地址顾客姓名订单号订购信息=

顾客姓名+

地址+

货号+

批号12/24/202270软件工程导论DSSD方法的步骤(2)确定系统的应用环境。SA方法JSDSDSSD方法的步骤(2)确定系统的应用环境。(可收帐目实体图)SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0主管会计顾客可收帐目银行装运单付款月数据月报表付款收据12/24/202271软件工程导论DSSD方法的步骤(2)确定系统的应用环境。SA方法JSDSDSSD方法的步骤(2)确定系统的应用环境。(顾客实体图)SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0发货:订购完成可收帐目顾客服务顾客装运单付款来函答复发货12/24/202272软件工程导论DSSD方法的步骤(2)确定系统的应用环境。SA方法JSDSDSSD方法的步骤(2)确定系统的应用环境。(顾客服务实体图)SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0发货:订购完成可收帐目顾客服务顾客查询回答帐目查询回答装运查询回答12/24/202273软件工程导论DSSD方法的步骤(2)确定系统的应用环境。SA方法JSDSDSSD方法的步骤(2)确定系统的应用环境。(系统的复合实体图)SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0主管会计顾客可收帐目银行装运单付款月数据月报表付款收据顾客服务查询回答销售:接受订购订购信息订单号发货:订购完成订单号订单号应用边界12/24/202274软件工程导论DSSD方法的步骤(2)确定系统的应用环境。(系统的复合实体DSSD方法的步骤(2)确定系统的应用环境。(应用层的实体图)SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0邮购处理系统银行顾客会计订单号订购信息付款查询装运单回答发货月数据收据存款1234567812/24/202275软件工程导论DSSD方法的步骤(2)确定系统的应用环境。SA方法JSDSDSSD方法的步骤(3)研究跨越边界的信息流,确定问题系统应当实现的功能。分析穿越边界的信息项的顺序,并对它们进行编号,使用类似Warnier图的表示方法,把信息和施加于信息上的加工(或称变换、功能),形成作业线图ALD(AssemblyLineDiagram),这个图起到了类似数据流图的作用。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202276软件工程导论DSSD方法的步骤(3)研究跨越边界的信息流,确定问题系统应DSSD方法的步骤作业线图的制作是以穿越边界的信息项的编号中最大编号信息流开始,直到编号最小的信息流,依相反顺序逐渐推画出来的,每个信息流项目是由前一个编号的信息流项与产生本信息项的过程结合起来而得的。图中加号(+)表示过程于信息之间的耦合,按照从左至右的方式读图,在这个作业线图中,每个加工过程用一个处理说明细化,该说明包括输出、动作、动作的频度及输入,然后用Warnier-Orr图表示每一个加工的过程细节。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202277软件工程导论DSSD方法的步骤作业线图的制作是以穿越边界的信息项的编号中DSSD方法的步骤电话订购业务系统的作业线图SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0订购信息订单号+发货+指定订单号装运单+办理发货付款+开装运单付款+办理付款收据+办理存款月报表+银行收款生成报表12/24/202278软件工程导论DSSD方法的步骤电话订购业务系统的作业线图SA方法JSDSDSSD方法的步骤(4)问题的结果。DSSD要求对系统的输出建立书面原型,以表明主要的系统输出和构成输出的信息项组织。有了这个原型就可以利用Warnier-Orr图描述信息的层次结构了。Warnier-Orr图和Warnier图的差别很小,只是在符号和格式上有一些小的变动。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202279软件工程导论DSSD方法的步骤(4)问题的结果。SA方法JSDSADT需DSSD方法的步骤电话订购系统要求输出的月报表原型SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0月报表帐号日期订单号顾客姓名帐单最新付费应付总额————————————————————————————————————————————————————————————————————存款总额:————————————————————————————————————————————————————存款总额:———————————————————————————————存款总额:—————月收入额:—————存款交易信息12/24/202280软件工程导论DSSD方法的步骤电话订购系统要求输出的月报表原型SA方法JDSSD方法的步骤对应于月报表原型的Warnier-Orr图。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0订单号顾客姓名帐号(1,dn)订购(1,n)帐单存款(1,d)日期最近成交额(0,1)月报表存款总额应付总额月收入额12/24/202281软件工程导论DSSD方法的步骤对应于月报表原型的Warnier-Orr图DSSD方法的步骤(5)物理需求。DSSD表示法包括实体图、作业线图以及逻辑角度建立软件需求模型的Warnier-Orr图。此外,作为需求分析的一部分工作,还需要确定物理需求。主要有以下几项:性能可靠性安全性硬件/软件接口SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202282软件工程导论DSSD方法的步骤(5)物理需求。SA方法JSDSADT需求3.4Jackson系统开发方法Jackson方法是一种典型的面向数据结构的分析和设计方法。JSP方法:把数据结构的描述映射成程序结构描述,设计出反映数据结构的程序结构。JSD方法:以活动(即事件)为中心,以连春活动的顺序组合构成进程。系统模型抽象为一组以通信方式互相联系的进程。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202283软件工程导论3.4Jackson系统开发方法Jackson方法是一3.4Jackson系统开发方法3.4.1进程模型3.4.2JSD方法的步骤3.4.3实体动作分析3.4.4实体结构分析3.4.5定义初始模型SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202284软件工程导论3.4Jackson系统开发方法3.4.1进程模型3.4.1进程模型从现实世界的活动抽象而形成系统模型时,时序往往是一个必须要考虑的重要因素。因此,在相应的系统模型抽象中,也必须要关注这些活动发生的先后次序。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202285软件工程导论3.4.1进程模型从现实世界的活动抽象而形成系统模型时,3.4.1进程模型传统的数据模型,只能表示系统的静态特性,表示数据对象及它们之间的静态关系,但缺乏表示系统动态特性的机制。在数据流图中,加工是一种数据变换,加工之间通过数据流发生联系,但数据流的“流动”并不表示时间上的先后次序。由于现实世界中的活动往往都是时序相关的,系统模型也应当能反映这种时序关系,因此JSD方法采用进程模型作为这类系统的抽象。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202286软件工程导论3.4.1进程模型传统的数据模型,只能表示系统的静态特性3.4.1进程模型进程是以一定次序安排的一串活动。一个系统中往往包含多个进程,而各个进程之间互相关联,有些进程活动是并行的,也有些进程活动是同步进行的:一个活动必须暂停,等带领一进程活动的发生。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202287软件工程导论3.4.1进程模型进程是以一定次序安排的一串活动。一个系3.4.1进程模型JSD的系统模型是互相通信的一组进程的集合。进程间的通信可采用三种方式:(1)进程活动同步发生(2)通过数据流通道发送/接收活动发生(3)访问公用存储信息SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202288软件工程导论3.4.1进程模型JSD的系统模型是互相通信的一组进程的3.4.2JSD方法的步骤概述:JSD方法把分析的重点放在构造与系统相关联的现实世界,并建立现实世界的信息域的模型上,它实际上是支持软件分析与设计的一组连续的技术步骤。JSD方法的最终目标是生成软件的过程特性描述。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202289软件工程导论3.4.2JSD方法的步骤概述:SA方法JSDSADT需3.4.2JSD方法的步骤步骤:实体动作分析实体结构分析定义初始模型功能描述决定系统时间特性实现SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0需求分析阶段软件设计阶段12/24/202290软件工程导论3.4.2JSD方法的步骤步骤:SA方法JSDSADT需3.4.3实体动作分析分析实体的动作,需要从一段自然语言给出的问题描述(通常是一个段落)入手。 SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202291软件工程导论3.4.3实体动作分析分析实体的动作,需要从一段自然语言3.4.3实体动作分析实例:基于软件控制的大学交通车服务系统某大学分布在相隔两公里多的两个校园区内。为帮助学生在两个校园之间来回穿行,以保证他们按时上课,学校计划建一个专用交通车服务设施。该社是利用一辆在轨道上运行的列车,在两个校园区的两个车站之间往返行驶。每个车站设有一个呼叫按钮。学生可按下按钮,要求搭乘列车。当列车到站时,他们也需按下调度按钮。若列车本来就停于此站,等学生上车后,列车就驶向对方站;若列车正在行驶中,呼叫者须等待,等列车停靠到对方站,搭乘上学生(如果有)返回;若列车正停靠在对方站上,得到信号后,列车就会赶来供搭乘。若没有学生呼叫,则列车总是停在某一车站上等待呼叫。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202292软件工程导论3.4.3实体动作分析实例:基于软件控制的大学交通车服务3.4.3实体动作分析通过对问题描述的分析,可从所有出现的名词中选出实体。上述实例中:校园、上课、学生、车站:与当前问题无直接关系,可排除大学:是两个校园的总称,也可排除列车、按钮:为问题系统的实体SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202293软件工程导论3.4.3实体动作分析通过对问题描述的分析,可从所有出现3.4.3实体动作分析每个动作在特定的时刻施加于实体上。可通过检查问题说明中出现的动词来选择。上述实例中:来回穿行、搭乘:涉及到“学生”,而“学生”并为被选为实体,可排除等待:代表了一种状态,而不是一种动作,也可排除到达、驶离、按下:为问题系统实体的动作SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202294软件工程导论3.4.3实体动作分析每个动作在特定的时刻施加于实体上。3.4.3实体动作分析应当注意:当选定了实体和动作的时候,实际上已经把要开发系统的范围划定了。当然,随着分析工作的逐渐展开,实体和动作的范围还可能会变动。 SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202295软件工程导论3.4.3实体动作分析应当注意:当选定了实体和动作的时候3.4.4实体结构分析在JSD方法中,实体的结构通过在一段时间内的动作来描述实体的历史情况。实体的三种典型动作为:顺序型:某个实体的多个动作时按时间顺序先后执行选择型:某个实体的多个动作在某一时刻只做一个重复型:某个实体的某个动作重复执行多次SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202296软件工程导论3.4.4实体结构分析在JSD方法中,实体的结构通过在一3.4.4实体结构分析顺序动作选择动作重复动作SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0ABCAB°C°AB*表示实体A的动作B、C按时间顺序先左后右执行表示实体A的动作B、C在某一时刻只做一个表示实体A的动作B重复执行多次12/24/202297软件工程导论3.4.4实体结构分析顺序动作3.4.4实体结构分析实体结构图示例:列车按钮SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0列车驶离(1)列车基体按钮按下*站(i)*驶离(i)到达(1)到达(i)12/24/202298软件工程导论3.4.4实体结构分析实体结构图示例:SA方法JSDSA3.4.5定义初始模型以上两步完成了现实世界的抽象描述,包括:选定实体和动作,用结构图建立实体和动作之间的关系这一步要对系统构造规格说明,使其成为现实世界的模型。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/202299软件工程导论3.4.5定义初始模型以上两步完成了现实世界的抽象描述,3.4.5实体结构分析规格说明可用系统规格说明图(SSD)表示,这种图使用的符号如下:SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0进程-0BD进程-1进程-0进程-1SV数据流连接状态向量连接BD:ButtonDataStreamSV:StatusVector12/24/2022100软件工程导论3.4.5实体结构分析规格说明可用系统规格说明图(SSD3.4.5实体结构分析系统规格说明图实例:SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0按钮-0BD按钮-1列车-0列车-1SV12/24/2022101软件工程导论3.4.5实体结构分析系统规格说明图实例:SA方法JSD3.4.5实体结构分析模型进程的内部细节可用结构正文(StructureText)来描述。结构正文给出了与结构图相同的信息,同样包括顺序、选择、重复三类,只不过它是以正文格式表达。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/2022102软件工程导论3.4.5实体结构分析模型进程的内部细节可用结构正文(S3.4.5实体结构分析结构图与结构正文表示:顺序动作选择动作重复动作SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0ABCAB°C°AB*AseqdoB;doC;AendAselect

doB;

or

doC;

AendAiteruntil(while)doB;Aend12/24/2022103软件工程导论3.4.5实体结构分析结构图与结构正文表示:SA方法JS3.4.5实体结构分析按钮-1的结构正文:BOTTON-1seq ReadBD; PUBH-BDYiterwhileSD PUSH; ReadBD; PUSH-BDYendBOTTON-1endSA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/2022104软件工程导论3.4.5实体结构分析按钮-1的结构正文:SA方法JSD3.4.5实体结构分析列车-1进程不能通过数据流连接与其现实世界的对应物建立联系,只能不断地查询开关状态来推知列车的到达和驶离。为了确保不会遗漏所有的动作,系统进程要经常检查现实世界的实体,因此,必须对这个模型进程进行细化,使它能够反映状态向量“在变化中”的量。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/2022105软件工程导论3.4.5实体结构分析列车-1进程不能通过数据流连接与其3.4.5实体结构分析细化的系统结构图:SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0按钮-0BD按钮-1列车-0列车-1SVLAMPCMDS12/24/2022106软件工程导论3.4.5实体结构分析细化的系统结构图:SA方法JSDS3.4.5实体结构分析细化的列车-1的结构图:SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0列车-1站(i)*驶离(i)列车基体到达(i)传送(1)基体到达(1)等待(1)基体驶离(1)传送(1)*等待(1)*传送(1)基体到达(1)等待(1)基体驶离(1)12/24/2022107软件工程导论3.4.5实体结构分析细化的列车-1的结构图:SA方法J3.4.5实体结构分析列车-1的结构正文:SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0SHUTTLE-1seqgetsvSV;WAIT-BDYiterwhileWAIT1getsvSV;WAIT-BDYendLEAVE(1);TRANS-BDY1iterwhileTRANS1getsvSV;TRANS-BDY1end

SHUTTLE-BDY1iter

STATIONseqARRIVE(i);WAIT-BDYiterwhileWAITigetsvSV;WAIT-BDYendLEAVE(i);TRANS-BDYiterwhileTRANSigetsvSV;TRANS-BDYend

STATIONend

SHUTTLE-BDY1endARRIVE(1);SHUTTLE-1end12/24/2022108软件工程导论3.4.5实体结构分析列车-1的结构正文:SA方法JSD3.4.5实体结构分析在上述结构正文中,操作getsv用以实现对现实世界实体状态向量的获取,系统进程在状态向量改变前将多次读取它。WAIT和TRANS的状态值表示到达ARRIVE和驶离LEAVE开关的值。现实进程列车-0(SHUTTLE-0)引起了开关状态的变化,系统进程列车-1(SHUTTLE-1)执行操作getsv感知这个变化。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/2022109软件工程导论3.4.5实体结构分析在上述结构正文中,操作getsv用3.5系统动态分析系统的需求规格说明通常用自然语言叙述,但使用自然语言所表现的方式和内容自由度太大,往往会出现歧义性。机械地验证规格说明的合理性是不合适的。为了直观地分析系统的动作,从特定的观点出发描述系统的行为,需要采用动态分析的方法。其中最常用的动态分析方法有状态迁移图、时序图、Petri网等。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/2022110软件工程导论3.5系统动态分析系统的需求规格说明通常用自然语言叙述3.5系统动态分析3.5.1状态迁移图3.5.2Petri网SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/2022111软件工程导论3.5系统动态分析3.5.1状态迁移图SA方法JS3.5.1状态迁移图状态迁移图是描述系统的状态如何响应外部的信号进行退役的一种图形表示。在状态迁移图中:圆圈“”:表示可得到的系统状态;箭头“”:表示从一种状态向另一种状态的迁移,在箭头上要写上导致迁移的信号或事件的名字。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/2022112软件工程导论3.5.1状态迁移图状态迁移图是描述系统的状态如何响应外3.5.1状态迁移图状态迁移图表示的关系还可以用状态迁移表来表达,表中第i行、第j列的元素是一个状态,它表示从现在的状态j因事件i而要移到的下一个状态。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/2022113软件工程导论3.5.1状态迁移图状态迁移图表示的关系还可以用状态迁移3.5.1状态迁移图由于系统中可得到的状态是有限的,因此在根据现在的状态和输入信号(到来的事件)确定下一个状态时,状态迁移图是一个很有效的图形方法。如何设置系统的状态,需要根据分析的目标和表达的目的而定。SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF012/24/2022114软件工程导论3.5.1状态迁移图由于系统中可得到的状态是有限的,因此3.5.1状态迁移图状态迁移图及状态迁移表示例:SA方法JSDSADT需求复审本章小结概述DSSD动态分析IDEF0S1S2S3t1t4t3t2状态事件S1S2S3t1S3t2S2t3S3t4S112/24/2022115软件工程导论3.5.1状态迁移图状

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论