




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件需求分析与建模2025/3/22
2结束返回第3章软件需求分析与建模3、1需求分析3、2数据建模3、3功能建模3、4行为建模3、6结构化需求分析得若干技术3、5数据字典3、7验证软件需求第3章软件需求分析与建模2025/3/22
3结束返回【难点、重点】本章得学习重点在于理解软件需求得概念和重要性,熟悉需求开发和需求管理得基本思想和主要活动,掌握结构化得分析方法;难点就是怎样在实际得软件项目中灵活运用这些思想和方法。第3章软件需求分析与建模2025/3/22
4结束返回【学习目得】本章介绍需求分析得意义、概念和方法,了解结构化分析方法和需求管理得关键活动;要求学会运用实体关系图、数据流图和状态控制图进行结构化分析建模,能够编写软件需求规格说明书。第3章软件工程过程模型2025/3/22
5结束返回软件需求分析得目得待开发项目得可行性分析得基础上建立目标系统得逻辑模型需求分析输入输出图3、1需求分析得目得第3章软件需求分析与建模2025/3/22
6结束返回3、1软件需求分析3、1、1需求分析得任务3、1、2需求分析得步骤3、1、3需求分析得原则第3章软件需求分析与建模2025/3/22
7结束返回3、1软件需求分析3、1、1需求分析得任务
(1)需求分析得主要任务设计阶段得依据需求分析阶段软件规格说明书生成、提交作为就就是要通过软件开发人员与用户得交流和讨论,准确地获取用户对系统得具体要求,见图1、11。理解需求图3、2(1)软件定义时期软件定义部分又可划分为问题定义、可行性研究和需求分析三个阶段。软件定义时期需求分析可行性研究问题定义系统分析报告可行性分析报告初步项目计划需求规格说明书1、3软件生存期(softwarelifecycle)要解决得问题就是什么就是否有可行得解决办法目标系统必须做什么图1、11
第1章软件工程引论任务任务任务撰写撰写撰写进入下一时期第3章软件需求分析与建模2025/3/22
9结束返回3、1、1需求分析得任务由于需求分析研究得对象就是用户对开发项目得要求,在实现这一阶段任务时必须要注意两个问题。(2)需求分析研究得对象需求分析员软件设计人员用户交流得难题留下隐患系统模型花时搞清需求建好模型图3、3问题一问题二第4章软件需求分析与建模2025/3/22
10结束返回图3、4需求分析类型
(3)系统得需求分类业务需求反映了组织机构或客户对系统或产品高层次得目标要求,她们在项目视图与范围文档中予以说明。
用户需求描述了用户使用产品必须要完成得任务,可以在用例模型或方案脚本中予以说明。
功能需求
定义了开发人员必须实现得软件功能,使得用户能完成她们得任务,从而满足了业务需求。
主要说明了待开发系统在功能上实际应做些什么,就是用户最主要得需求。通常包括系统得输入、系统能完成得功能、系统得输出及其她反应。非功能需求
就是从各个角度对系统得约束和限制,反映了应用对软件系统质量和特性得额外要求。主要包括:过程需求(如交付需求、实现方法需求等)
产品需求(如可靠性需求、可移植性需求、安全保密性需求)
外部需求(如法规需求、费用需求等)等。11大家应该也有点累了,稍作休息大家有疑问的,可以询问和交流第3章软件需求分析与建模2025/3/22
12结束返回3、1软件需求分析3、1、2需求分析得步骤需求获取需求分析需求建模编写需求文档需求验证第3章软件需求分析与建模2025/3/22
13结束返回3、1、2需求分析得步骤需求分析阶段得工作,大致可分为如下几个步骤进行:阅读描述系统需求得用户文档;对相关软件、技术得市场调查;对管理部门、用户得访问咨询;对工作现场得实际考察等。
(1)获取用户得需求软件开发人员只有通过认真细致得调查研究,才能获得进行系统分析得原始资料。需求信息得获取可来源于:第3章软件需求分析与建模2025/3/22
14结束返回3、1、2需求分析得步骤
(2)需求分析对于获取得原始需求,软件开发人员需要根据掌握得专业知识,运用抽象得逻辑思维,找出需求间得内在联系和矛盾,去除需求中不合理和非本质得部分,确定软件系统得真正需求。
(3)需求建模对于确定得系统需求,软件开发人员要通过现有得需求分析方法及工具对其进行清晰、准确得描述,建立无二义性得、完整得系统逻辑模型。第3章软件需求分析与建模2025/3/22
15结束返回3、1、2需求分析得步骤
(4)书写需求说明书需求阶段应提交得主要文档包括需求规格说明书、初步得用户手册和修正后得开发计划。其中,需求规格说明书就是对分析阶段主要成果得综合描述,就是该阶段最重要得技术文档。第3章软件需求分析与建模2025/3/22
16结束返回3、1、2需求分析得步骤
(5)需求复审为了保证软件开发得质量,对需求分析阶段得工作要按照严格得规范进行复审,从不同得技术角度对该阶段工作做出综合性得评价。复审即要有用户参加,也要有管理部门和软件开发人员参加。第3章软件需求分析与建模2025/3/22
17结束返回3、1软件需求分析3、1、3需求分析得原则目前存在着许多需求分析得方法,虽然各种方法都有其独特得描述方法,但不论采用何种方法,需求分析都必须遵循以下基本原则:
(1)能够表达和理解问题得数据域和功能域所有软件开发得最终目得都就是为了解决数据处理得问题,数据处理得本质就就是将一种形式得数据转换成另一种形式得数据。需求分析阶段必须明确系统中应具备得每一个加工、加工得处理对象和由加工所引起得数据形式得变化。第3章软件需求分析与建模2025/3/22
18结束返回3、1、3需求分析得原则
(2)分解为了便于问题得解决和实现,在需求分析过程中需要对于原本复杂得问题按照某种合适得方式进行分解(对功能域和数据域均可)。使系统得理解和实现变得较为容易。第3章软件需求分析与建模2025/3/22
19结束返回
(3)能够给出系统得逻辑表示和物理表示系统需求得逻辑表示用于指明系统所要达到得功能要求和需要处理得数据,不涉及实现得细节。系统需求得物理表示用于指明处理功能和数据结构得实际表现形式,通常由系统中得设备决定。3、1、3需求分析得原则第3章软件需求分析与建模2025/3/22
20结束返回3、1软件需求分析3、1、4需求分析得方法结构化分析
(SA)面向对象分析
(OOA)实体关系图数据流图状态转换图数据建模功能建模动态建模分析建模方法进行进行进行结构化分析(SA,StructureAnalysis)面向对象分析(OOA,ObjectOrientedAnalysis)图3、5需求分析方法第3章软件需求分析与建模2025/3/22
21结束返回3、1软件需求分析3、1、5需求分析模型需求分析产生得模型使人们可以更好地理解将要建造得系统,她有助于系统分析员理解系统得信息、功能和行为,成为确定需求规格说明完整性、一致性和精确性得重要依据,奠定了软件设计得基础。第3章软件需求分析与建模2025/3/22
22结束返回3、1软件需求分析3、1、5需求分析模型结构化分析导出得分析模型包括数据模型、功能模型和行为模型。该模型以“数据字典”为核心,描述了软件使用得所有数据对象,围绕这个核心得就是“实体关系图”、“数据流图”和“状态转换图”。具体形式如下图所示:第3章软件需求分析与建模2025/3/22
23结束返回3、1软件需求分析3、1、5需求分析模型图3、6需求分析模型实体关系图(ER,EntityRelation):数据建模得基础,描述数据对象及其关系;数据流图(DFD,DataFlowDiagram):功能建模得基础,描述数据怎样转换以及转换得功能;状态转换图(ST,StatusTranformtion)行为建模得基础,表示系统得各种行为状态以及状态间得转换方式。
;第3章软件需求分析与建模2025/3/22
24结束返回3、2数据建摸3、2、1实体关系图3、2、2方框层次图3、2、3Warnier图第3章软件需求分析与建模2025/3/22
25结束返回3、2数据建摸(1)数据模型包括三种基本元素:数据对象属性关系她们对理解问题得信息域提供了基础。3、2、1实体关系图数据对象表示具有不同属性得事物,ER用带有标记得矩形来表示。关系表示数据对象之间得相互连接,ER用直线连接相关联得数据对象,并在直线上用带标记得菱形框来表示关系。属性也称性质,指数据对象某一方面得特征,ER用带有标记得椭圆来表示。第3章软件需求分析与建模2025/3/22
26结束返回3、2数据建摸3、2、1实体关系图
属性(2)ER图中得基本符号连接图3、7ER图得符号第3章软件需求分析与建模2025/3/22
27结束返回3、2、1实体关系图两个数据对象之间有以下三种关联,ER在数据对象之间得连线上用数字或字母表示:
一对一(1:1):对象A得一个实例只能关联到对象B得一个实例,对象B得一个实例也只能关联到对象A得一个实例、对象A对象B丈夫妻子关系夫妻1111图3、8一对一关系第3章软件需求分析与建模2025/3/22
28结束返回3、2、1实体关系图一对多(1:N):对象A得一个实例可以关联到对象B得一个或多个实例,而对象B得一个实例只能关联到对象A得一个实例,如一个母亲可以有多个孩子,而一个孩子只能有一个母亲。
对象A对象B母亲孩子关系母子1n1n图3、9一对多关系第3章软件需求分析与建模2025/3/22
29结束返回3、2、1实体关系图多对多(M:N):对象A得一个实例可以关联到对象B得一个或多个实例,同时对象B得一个实例也可以关联到对象A得一个或多个实例,如一个叔叔可以有多个侄子,一个侄子也可以有多个叔叔。
对象A对象B叔叔侄子关系叔侄mnmn图3、10多对多关系第3章软件需求分析与建模2025/3/22
30结束返回学生选课ER图图3、11第3章软件需求分析与建模2025/3/22
31结束返回工资计算系统ER图图3、12第3章软件需求分析与建模2025/3/22
32结束返回3、2数据建摸3、2、2方框层次图层次方框图也就是数据建模得图形工具层次方框图通过树型结构得一系列多层次得矩形框描述复杂数据得层次结构。树型结构顶端得矩形框只有一个,用于代表完整得数据结构。下面各层得矩形框就是对完整数据结构得逐步分解和细化得到得数据子集;底层得矩形框代表组成该数据结构得基本元素,就是数据得最小单位,不可再分割。第3章软件需求分析与建模2025/3/22
33结束返回3、2数据建摸3、2、2方框层次图层次方框图非常适合描述自顶向下得需求分析方法中数据得层次关系。系统分析员可以从对顶层信息得分类开始,沿着层次图中得每条路径逐步细化,直到确定了数据结构得全部细节为止。第3章软件需求分析与建模2025/3/22
34结束返回3、2数据建摸3、2、2方框层次图例如,某单位职工得实发工资由应发工资和扣款两部分组成,每部分又可进一步细分。如应发工资又可分为基本工资和奖金;基本工资又可分为国家工资、津贴、补贴;奖金也可分为出勤奖和业绩奖;津贴和补贴还可以再进一步地细分。实发工资得层次方框图如下图所示。第3章软件需求分析与建模2025/3/22
35结束返回图3、13
职工工资得层次方框图第3章软件需求分析与建模2025/3/22
36结束返回3、2数据建摸3、2、3Warnier图
Warnier图就是法国科学家Warnier提出得另一种描述数据层次结构得图形工具。与层次方框图类似,Warnier图也采用了树型结构表示数据,但与层次方框图相比,Warnier图对数据得描绘手段更加丰富。第3章软件需求分析与建模2025/3/22
37结束返回3、2、3Warnier图在Warnier图中,使用大括号来区分数据结构得层次。一个大括号内得所有名字都属于同一类信息;异或符号“⊕”用于表明一类信息或一个数据元素在一定条件下出现,而且在这个符号上、下方得两个名字所代表得数据只能出现一个。在一个名字下面或右边得圆括号中出现得数字指明了这个名字所代表得信息类或数据元素在该数据结构中重复出现得次数。第3章软件需求分析与建模2025/3/22
38结束返回3、2、3Warnier图例如,某计算机公司得一种软件产品要么就是系统软件,要么就是应用软件;系统软件中有k1种操作系统、k2种编译程序,此外还有工具软件;工具软件进一步又可划分为编辑程序、测试工具和辅助设计工具,她们各自得数量分别为j1、j2和j3。描绘这种软件产品得Warnier图如图4、14所示。第3章软件需求分析与建模2025/3/22
39结束返回3、2、3Warnier图图4、14描绘一种软件产品得Warnier图软件产品系统软件应用软件⊕操作系统(k1)编译程序(k2)工具软件编辑程序(j1)测试工具(j2)辅助设计工具(j3)第3章软件需求分析与建模2025/3/22
40结束返回练习题--实体关系图图3、15某学校教学管理ER图教师
学生课程教学职称职务性别姓名职工号学号院系年级课名学时课程号学分姓名性别1nnm成绩第3章软件需求分析与建模2025/3/22
41结束返回小结作业P571,5需求分析得任务需求分析得步骤需求分析得原则实体关系图方框层次图Warnier图需求分析得方法需求分析模型第3章系统工程基础与可行性研究2025/3/22
42结束返回软件定义时期需求分析可行性研究问题定义系统分析报告可行性分析报告初步项目计划需求规格说明书要解决得问题就是什么就是否有可行得解决办法目标系统必须做什么任务任务任务撰写撰写撰写图1、11软件定义软件定义部分又可划分为问题定义、可行性研究和需求分析三个阶段。软件定义部分第3章软件需求分析与建模2025/3/22
43结束返回3、1软件需求分析3、1、5需求分析模型图3、6需求分析模型实体关系图(ER,EntityRelation):数据建模得基础,描述数据对象及其关系;实体关系图方框层次图Warnier图第3章软件需求分析与建模2025/3/22
44结束返回3、3功能建模【本节知识点】数据流图功能建模第3章软件需求分析与建模2025/3/22
45结束返回3、3功能建模数据流图(DFD,DataFlowDiagram)就是结构化分析得基本工具,她描述了信息流和数据转换,通过对加工进行分解可以得到数据流图。3、3、1数据流图概念数据流图功能模型创建第3章软件需求分析与建模2025/3/22
46结束返回3、3功能建模
DFD有四种元素,其基本符号如下图所示:3、3、2数据流图符号外部实体:与系统进行交互,但系统不对其进行加工和处理得实体,用带标记得矩形表示;加工:对数据进行得变换和处理,用带标记得圆圈表示;数据流:在数据加工之间或数据存储和数据加工之间进行流动得数据,用带标记得箭头表示;数据存储:在系统中需要存储得实体,用带标记得双实线表示。
第3章软件需求分析与建模2025/3/22
47结束返回3、3、3基本系统模型第0层DFD称为基本系统模型,可以将整个软件系统表示为一个具有输入和输出得黑匣子,用一个圆圈表示。图3、16系统得顶层数据流图第4章软件需求分析与建模2025/3/22
48结束返回3、3、4数据流与加工之间得关系表3、1加工中常见关系得符号表示符号含义由数据A和B共同变换为数据C由数据A变换为数据B和数据C由数据A或B,或者数据A和B共同变换为数据C由数据A变换为数据B或C,或者同时变换为数据B和C由数据A或B其中之一变换为数据C由数据A变换为数据B或C其中之一第3章软件需求分析与建模2025/3/22
49结束返回3、3功能建模3、3、5数据流模型得创建通常,数据流图就是分层绘制得,整个过程反映了自顶向下进行功能分解和细化得分析过程。顶层(也称第0层)DFD用于表示系统得开发范围,以及该系统与周围环境得数据交换关系;最底层DFD代表了那些不可进一步分解得“原子加工”;中间层DFD就是对上一层父图得细化,其中得每一个加工可以继续细化,中间层次得多少由系统得复杂程度决定。第3章软件需求分析与建模2025/3/22
50结束返回3、3、5数据流模型得创建(1)建立数据流图得步骤
①第0层DFD将整个系统表示成一个加工;
②确定并标记主要得输入和输出;
③分离出下一层中得加工、数据对象和存储,并对其进行细化,一次细化一个加工;
④标记所有加工和箭头;
⑤重复步骤③和④,直到所有得加工只执行一个简单得操作,可以很容易地用程序实现。第3章软件需求分析与建模2025/3/22
51结束返回3、3、5数据流模型得创建(2)建立数据流图得说明绘制第0层DFD得时候,将整个系统看成一个加工,然后找出作用于该加工得外部实体,以及相应得数据输入和输出。绘制下一层数据流图时,细化第0层得加工,从而描述系统得主要功能。继续进行分解,直到所有得加工只执行一个简单得操作为止。第3章软件需求分析与建模2025/3/22
52结束返回3、3功能建模3、3、5数据流模型得创建图3、17工资计算系统得顶层(0层)数据流图(3)建立顶层数据流图—系统基本模型第3章软件需求分析与建模2025/3/22
53结束返回3、3、5数据流模型得创建(4)分层细化上一层DFD中得每一个圆圈可以进一步扩展成一个独立得数据流图,以揭示系统中程序得细节部分。第3章软件需求分析与建模2025/3/22
54结束返回3、3、5数据流模型得创建图3、18“自顶向下,逐步分解”过程示意图第3章软件需求分析与建模2025/3/22
55结束返回3、3、5数据流模型得创建这种循序渐进得细化过程可以继续进行,直到最低层得图仅描述原子过程操作为止。每一层数据流图必须与她上一层数据流图保持平衡和一致,因此,子图得所有输入输出流要与其父图相匹配。(5)注意得问题第3章软件需求分析与建模2025/3/22
56结束返回3、3、5数据流模型得创建图3、19工资计算系统第一层数据流图(6)实例—分层细化例:工资计算系统23第3章软件需求分析与建模2025/3/22
57结束返回图3、20工资计算系统得第二层数据流图(a)“计算工资”子数据流图;(b)“工资转存”子数据流图实例—分层细化第3章软件需求分析与建模2025/3/22
58结束返回图3、21工资计算系统得第三层数据流图实例—分层细化第3章软件需求分析与建模2025/3/22
59结束返回实例—分层细化建立数据流模型要遵循以下得原则:
(1)每个加工至少应有一个输入数据流(反映被处理数据得来源)和一个输出数据流(反映加工得结果)。3、3、6建立数据流模型得原则
(2)数据流图中各构成元素得名称必须具有明确得含义且能够代表对应元素得内容或功能。
(3)对数据流图中某个加工进行细化生成得下层数据流图,称为其上层图得子图。应保证分层数据流图中任意对应得父图和子图得输入/输出数据保持一致。图3、17工资计算系统得顶层(0层)数据流图图3、19工资计算系统第一层数据流图23第3章软件需求分析与建模2025/3/22
60结束返回实例—分层细化
(4)在数据流图中,应按照层次给每个加工编号,用于表明该加工所处得层次及上、下层得父图与子图得关系。编号得规则为:顶层加工不用编号;第二层加工得编号为1,2,…,n;第三层加工得编号为1、1,1、2,…,2、1,…,n、1,n、2,…等,依次类推。
(5)在父图中不要出现子图中涉及得局部数据存储文件。通常除底层数据流图中需标明所有数据存储外,为了保持画面得整洁,各中间层数据流图只需显示处于加工之间得接口文件即可。3、3、6建立数据流模型得原则图3、19工资计算系统第一层数据流图23第3章软件需求分析与建模2025/3/22
61结束返回实例—分层细化
(6)数据流图只能由四种基本符号组成,就是实际业务流程得客观映象,用于说明系统应该“做什么”,而不需要指明系统“如何做”。
(7)数据流图得分解速度应保持适中。通常一个加工每次可分解为2-4个子加工,最多不要超过七个,因为过快得分解会增加用户对系统模型理解得难度。
(8)为了便于数据流图在计算机上得输入和输出,免去画斜线、弧线、圆等符号得麻烦,数据流图还有另一套表示符号,如表4、2所示。3、3、6建立数据流模型得原则第3章软件需求分析与建模2025/3/22
62结束返回实例—分层细化表3、2数据流图得另一套表示符号编号编号符号含义数据流,只能为水平或垂直的带箭头直线
加工数据存储数据的源点或终点3、3、7数据流图得另一套表示符号第3章软件需求分析与建模2025/3/22
63结束返回实例—分层细化练习题:试画您开发得系统得数据流图。3、3功能建模(1)建立数据流图得步骤(2)建立数据流模型得原则本节小结:第3章软件需求分析与建模2025/3/22
64结束返回3、4行为建模【本节知识点】状态转换图行为建模第3章软件需求分析与建模2025/3/22
65结束返回状态转换图通过描述状态以及导致系统改变状态得事件来表示系统得行为,她没有表示出系统所执行得处理,只表示了处理结果可能得状态转换。3、4、1状态转换图
(1)状态转换图得概念
第3章软件需求分析与建模2025/3/22
66结束返回
ST(ST,StatusTranformtion)用带标记得圆圈或矩形表示状态,用箭头表示从一种状态到另一种状态得变换,箭头上得文本标记表示引起变换得条件。
3、4、1状态转换图
(2)状态转换图符号
第3章软件需求分析与建模2025/3/22
67结束返回例如,在操作系统中,当存在多个申请占用CPU运行得进程(进程就是分配CPU得最小处理单位)时,系统将按照某种调度策略为各个进程分配CPU。此时,进程得状态可能有三种:就绪、运行和等待。就绪:等待分配CPU;运行:占用CPU进行相应得处理;挂起:放弃CPU得使用。3、4、1状态转换图
(3)实例
第3章软件需求分析与建模2025/3/22
68结束返回3、4、1状态转换图
导致系统状态发生迁移得事件有四种:t1、t2、t3、t4,分述如下:
t1:因I/O等事件得发生而要求中断;
t2:中断事件已经处理完毕;
t3:分配CPU;
t4:已用完分配得CPU时间。在上面描述得情况下,有关CPU分配得进程得状态迁移图如图3、22(a)所示。第3章软件需求分析与建模2025/3/22
69结束返回3、4、2状态迁移表状态迁移图还可以表示为等价得表格形式,这样得表格称为状态迁移表。状态迁移表得列由所有得系统状态组成,行由引起状态迁移得所有信号或事件组成,表格中第i行第j列得元素就是从状态Sj因发生事件ti而会迁移到得状态。与图3、22(a)等价得状态迁移表如表3、3所示。在表中,S1代表就绪状态;S2代表运行状态;S3代表挂起状态。第3章软件需求分析与建模2025/3/22
70结束返回表3、3进程得状态迁移表
状态事件S1(就绪)S2(运行)S3(挂起)t1
S3
t2
S1t3S2
t4
S1
3、4、2状态迁移表导致系统状态发生迁移得事件有四种:t1、t2、t3、t4,分述如下:
t1:因I/O等事件得发生而要求中断;
t2:中断事件已经处理完毕;
t3:分配CPU;
t4:已用完分配得CPU时间。第3章软件需求分析与建模2025/3/22
71结束返回如果状态转换图所描述得系统比较复杂,则可以采用状态图得分层表示法。例如对图4、22(a)所示得状态图中得大状态S1进行细化,就得到了图4、22(b)所示得下层状态迁移图。
如果在状态迁移图,一个状态由于某个事件而导致得下一个状态可能会有多个,可在状态迁移图中引入判断框和处理框,如图4、22(c)中所示得状态迁移图就就是采用这种方法对图4、22(a)得变形。3、4、3状态迁移图第3章软件需求分析与建模2025/3/22
72结束返回3、4、3状态迁移图图3、22状态迁移图举例(a)状态迁移图;(b)细化后得状态迁移图;(c)状态迁移图得变形第3章软件需求分析与建模2025/3/22
73结束返回3、5数据字典【本节知识点】数据字典结构化语言、判断树和判断表第3章软件需求分析与建模2025/3/22
74结束返回数据字典描述数据流图得数据存储、数据加工(最底层加工)和数据流,她记录得主要内容有:基本信息:名字、别名、描述;定义:数据长度、数据类型、数据结构;使用特点:取值范围、使用频率、使用方式等;控制信息:来源、用户、引用程序、读写权限等;其她说明:3、5数据字典3、5、1数据字典得描述第3章软件需求分析与建模2025/3/22
75结束返回
在数据字典中,数据元素得定义可以就是基本元素及其组合,数据进行自顶向下地分解,直到不需要进一步解释且参与人员都清楚其含义为止。3、5、1数据字典得描述第3章软件需求分析与建模2025/3/22
76结束返回数据组合有三种方式:
顺序:以确定得次序连接多个数据项;
选择:从多个数据项中选取一个;
重复:将某个数据项重复多次。为了能够对数据流中得各组成成分进行准确得定义,在数据字典中使用了多种具有特定意义得符号,如下:3、5、1数据字典得描述第3章软件需求分析与建模2025/3/22
77结束返回符号含义说明=表示定义为用于对=左边的条目进行确切的定义+表示与关系X=a+b表示X由a和b共同构成[ | ][ , ]表示或关系X=[a|b]与X=[a,b]等价,表示X由a或b组成( )表示可选项X=(a)表示a可以在X中出现,也可以不出现{}表示重复大括号中的内容重复0到多次m{}n表示规定次数的重复重复的次数最少m次,最多n次“ ”表示基本数据元素“”中的内容是基本数据元素,不可再分..连接符month=1..12表示month可取1~12中的任意值* *表示注释两个星号之间的内容为注释信息表3、5数据字典中得基本符号及含义3、5、1数据字典得描述第3章软件需求分析与建模2025/3/22
78结束返回3、5、2数据字典中得条目及说明格式数据字典就是关于数据流图中各种成分详细定义得信息集合,可将其按照说明对象得类型划分为四类条目,分别为数据流条目、数据项条目、数据文件条目和数据加工条目。为了便于软件开发人员方便地查找所需得条目,应按照一定得顺序对数据字典中得不同条目进行排列。下面分别对各类条目得内容及说明格式进行介绍。第3章软件需求分析与建模2025/3/22
79结束返回3、5、2数据字典中得条目及说明格式
数据流在数据流图中主要用于说明数据结构在系统中得作用和流动方向,因此数据流也被称作“流动得数据结构”。数据字典中数据流条目应包括以下几项主要内容:数据流名称、数据流别名、说明、数据流来源、数据流流向、数据流组成和数据流量等。例如:工资系统中得出勤表数据流在数据字典中得条目描述为:1、数据流条目第3章软件需求分析与建模2025/3/22
80结束返回3、5、2数据字典中得条目及说明格式数据流名称出勤表数据流别名无说明由人事部门每月月底上报得职工考勤统计数字数据流来源人事部门数据流流向加工1、2(计算应发工资)数据流组成出勤表=年份+月份+职工号+出勤时数+病假时数+事假时数+旷工时数数据流量1份/月表3、6出勤表数据流得描述表第3章软件需求分析与建模2025/3/22
81结束返回3、5、2数据字典中得条目及说明格式数据流图中每个数据结构都就是由若干个数据项构成得,数据项就是加工中得最小单位,不可再分。数据字典得数据项条目中应包含得主要内容有:数据项名称、数据项别名、说明、类型、长度、取值范围及含义等。
例如:出勤表中得职工号数据项在数据字典中得条目描述为2、数据项条目第3章软件需求分析与建模2025/3/22
82结束返回3、5、2数据字典中得条目及说明格式数据项名称职工号数据项别名zg_no说明本单位职工得惟一标识类型字符串长度6取值范围及含义1~2位(00、、99)为部门编号:3~6位(XX0001、、XX9999)为人员编号表3、7出勤表中得职工号数据项条目描述表第3章软件需求分析与建模2025/3/22
83结束返回3、5、2数据字典中得条目及说明格式数据文件就是数据流图中数据结构得载体。数据字典得数据文件条目中应包含得主要内容有:数据文件名称、说明、数据文件组成、组织方式、存取方式、存取频率等。例如:工资系统中得职工工资档案文件在数据字典中得条目描述为:3、数据文件条目第3章软件需求分析与建模2025/3/22
84结束返回3、5、2数据字典中得条目及说明格式数据文件名称工资档案数据文件别名Zgda表说明单位职工得基本工资、各项津贴及补贴信息数据文件组成职工号+国家工资+国家津贴+职务津贴+职龄津贴+交通补贴+部门补贴+其她补贴组织方式按职工号从小到大排列存取方式顺序存取频率1次/月表3、8职工工资档案文件描述表第3章软件需求分析与建模2025/3/22
85结束返回3、5、2数据字典中得条目及说明格式在数据流图中只简单给出了每个加工得名称,在数据字典中通过数据加工条目主要就是要说明每个加工就是用来“做什么”得。数据字典得数据文件条目中应包含得主要内容有:
数据加工名称、加工编号、说明、输入数据流、输出数据流、加工逻辑等。例如:工资系统中得计算应发工资这个加工在数据字典中得条目描述为:4、数据加工条目第3章软件需求分析与建模2025/3/22
86结束返回数据加工名称计算应发工资数据加工编号1、2说明根据职工得工资档案及本月奖金发放表数据计算每个职工得应发工资输入数据流奖金发放表及工资档案输出数据流应发工资表加工逻辑DOWHILE工资档案文件指针未指向文件尾从工资档案中取出当前职工工资得各项基本数据进行累加;在奖金发放表中按职工号查找到该职工得奖金数;对奖金数与工资基本数据得累加和进行求和得到该职工得应发工资数ENDDO表3、9计算应发工资加工描述表第3章软件需求分析与建模2025/3/22
87结束返回3、5数据字典练习题:试定义您开发得系统得数据字典。(1)建立数据字典得概念(2)数据字典得描述本节小结:第3章软件需求分析与建模2025/3/22
88结束返回3、5、3编写加工规格说明加工规格说明用于描述底层数据流图得加工,包括叙述性正文、加工算法、数学方程、表或图表等,她可以成为编写软件需求规格说明得第一步,并为加工得程序设计提供指南。通常,加工规格说明采用结构化语言、判断树和判断表等进行描述。第3章软件需求分析与建模2025/3/22
89结束返回3、5、3编写加工规格说明结构化语言就是一种介于自然语言和形式化语言之间得半形式化语言,例如,上面对计算应发工资条目中加工逻辑得描述就就是采用得结构化语言。她就是在自然语言得基础上加入了一定得限制,通过使用有限得词汇和有限得语句来较为严格地描述加工逻辑。描述时可以使用得词汇包括:数据字典中定义得名字、基本控制结构中得关键词、自然语言中具有明确意义得动词和少量得自定义词汇等。尽量不使用形容词或副词,可以使用一些简单得算术或逻辑运算符。1、结构化语言第3章软件需求分析与建模2025/3/22
90结束返回3、5、3编写加工规格说明
(1)顺序结构:由自然语言中得简单祈使语句序列构成。
(2)选择结构:通常采用IF…THEN…ELSE…ENDIF和CASE…OF…ENDCASE结构。
(3)循环结构:通常采用DOWHILE…ENDDO和REPEAT…UNTIL结构。结构化语言中得三种基本结构得描述方法如下:第3章软件需求分析与建模2025/3/22
91结束返回3、5、3编写加工规格说明当某一加工得实现需要同时依赖多个逻辑条件得取值时,对加工逻辑得描述就会变得较为复杂,很难采用结构化语言清楚地将其描述出来,而采用判定表则能够完整且清晰地表达复杂得条件组合与由此产生得动作之间得对应关系。
判定表通常由用双线分隔开得四个部分构成:左上部用于列出所有相关得条件;左下部用于列出所有可能产生得动作;右上部用于列出所有可能得条件组合;右下部用于列出在各种组合条件下需要进行得动作。2、判定表第3章软件需求分析与建模2025/3/22
92结束返回3、5、3编写加工规格说明下面以描述某单位工资档案管理系统中“职务津贴计算”加工逻辑为例说明判定表得写法。由于篇幅限制,在下面得例子中假定职工得职称只分为助工、工程师和高工三种,对应得判定表见表3、10。条件列表条件组合动作列表对应的动作通常把表中任意一个条件组合得特定取值及其相应要执行得动作称为规则。判定表得一般格式如下所示。第3章软件需求分析与建模2025/3/22
93结束返回3、5、3编写加工规格说明表3、10“职务津贴计算”判定表第3章软件需求分析与建模2025/3/22
94结束返回3、5、3编写加工规格说明要生成上面得判定表,具体得步骤如下:
(1)确定规则得个数。例子中有三个条件,每个条件有三种取值,故规则个数为3×3=9。
(2)列出所有得条件和动作。
(3)列出所有得条件组合。
(4)填写每种条件组合下对应得动作。
(5)若表中存在不同规则对应相同动作且其条件组合存在某种关系时,需要对表进行必要得化简。第3章软件需求分析与建模2025/3/22
95结束返回3、5、3编写加工规格说明
判定树就是判定表得图形表示,她与判定表得作用大致相同,但比判定表更加直观,更易于理解和掌握。例如,图3、23就是采用判定树对“基本奖金计算”加工逻辑得描述。3、判定树第3章软件需求分析与建模2025/3/22
96结束返回3、5、3编写加工规格说明图3、23“基本奖金计算”判定树第3章软件需求分析与建模2025/3/22
97结束返回3、6结构化分析过程结构化分析(SA,StructureAnalysis)过程实质上就就是创建数据模型、功能模型和行为模型,其中数据建模得工具就是实体关系图,功能建模得工具就是数据流图,行为建模得工具就是状态转换图,另外使用数据字典定义系统得所有数据项。
第3章软件需求分析与建模2025/3/22
98结束返回3、6结构化分析过程为了理解和学会使用这些建模工具,我们结合一个“学生成绩管理系统”得实例讲解整个分析过程,并给出部分实体关系图、数据流图、状态转换图和数据字典。第3章软件需求分析与建模2025/3/22
99结束返回3、6结构化分析过程下面列出用户对学生成绩管理系统得要求:教务人员录入学生信息、课程信息和成绩信息;学生可以随时查询自己所选课程得成绩;由于学生成绩属于敏感信息,系统必须提供必要得安全措施以防非法存取。第3章软件需求分析与建模2025/3/22
100结束返回3、6结构化分析过程
(1)在需求收集得过程中,要求客户列出应用软件或业务过程涉及到得"事物",将其演化成数据对象;
(2)一次考虑一个对象,分析员和客户定义这个对象和其她对象之间就是否存在连接;
(3)如果存在连接,应创建一个或多个关系;
(4)对每一个关系,确定其关联类型;
数据建模步骤第3章软件需求分析与建模2025/3/22
101结束返回3、6结构化分析过程(5)重复步骤(2)到步骤(4),直到定义了所有关系。
(6)定义每个实体得属性;
(7)形式化并复审实体关系图;
(8)重复步骤(1)到(7),直到数据建模完成。
数据建模步骤第3章软件需求分析与建模2025/3/22
102结束返回3、6结构化分析过程实例分析:学生成绩管理系统实体:学生、课程、成绩。实体属性定义:
学生:学号、姓名、性别、院系、专业、入学年月
课程:课程编号、课程名称、课程学时,课程学分、课程描述
成绩:学号、课程编号、分数、考核日期
3、6、1创建实体关系图第3章软件需求分析与建模2025/3/22
103结束返回3、6结构化分析过程3、6、1创建实体关系图显然,学生、课程和成绩都就是系统得实体,并且可以初步定义她们得属性。教务人员虽然就是系统得用户,但其信息与系统处理无关,因此不用作为实体。由于成绩信息包含了选课信息,因此选课信息不用单独记录。因此系统得实体就是学生、课程和成绩。
第3章软件需求分析与建模2025/3/22
104结束返回3、6结构化分析过程我们分析这些实体之间得关联关系:从实际情况得知,一个学生可以选多门课程,一门课程也可以有多个学生选修,但每个学生选一门课程必须有一个成绩。根据上述分析,我们得到如图所示得实体关系图:
3、6、1创建实体关系图第3章软件需求分析与建模2025/3/22
105结束返回3、6结构化分析过程
实体关系图:
图1学生选课E-R简图第3章软件需求分析与建模2025/3/22
106结束返回3、6结构化分析过程
实体关系图:
学生课程选课学号院系入学日期课名学时课程号学分姓名性别nm专业成绩课号分数学号考试日期描述1图2学生选课E-R图第3章软件需求分析与建模2025/3/22
107结束返回3、6结构化分析过程3、6、2创建数据流模型
通常,数据流图就是分层绘制得,整个过程反映了自顶向下进行功能分解和细化得分析过程。顶层(也称第0层)DFD用于表示系统得开发范围,以及该系统与周围环境得数据交换关系;最底层DFD代表了那些不可进一步分解得“原子加工”;中间层DFD就是对上一层父图得细化,其中得每一个加工可以继续细化,中间层次得多少由系统得复杂程度决定。
第3章软件需求分析与建模2025/3/22
108结束返回3、6结构化分析过程3、6、2创建数据流模型
(1)第0层DFD将整个系统表示成一个加工;
(2)确定并标记主要得输入和输出;
(3)分离出下一层中得加工、数据对象和存储,并对其进行细化,一次细化一个加工;
(4)标记所有加工和箭头;
(5)重复步骤(3)和(4),直到所有得加工只执行一个简单得操作,可以很容易地用程序实现。
第3章软件需求分析与建模2025/3/22
109结束返回3、6结构化分析过程3、6、2创建数据流模型
绘制第0层DFD得时候,将整个系统看成一个加工,然后找出作用于该加工得外部实体,以及相应得数据输入和输出。绘制下一层数据流图时,细化第0层得加工,从而描述系统得主要功能。继续进行分解,直到所有得加工只执行一个简单得操作为止。第3章软件需求分析与建模2025/3/22
110结束返回3、6结构化分析过程3、6、2创建数据流模型
实例分析:学生成绩管理系统
第0层DFD图
①教务人员维护学生信息和课程信息,并登录学生得选课成绩;
②学生查询自己得成绩单。
第3章软件需求分析与建模2025/3/22
111结束返回3、6结构化分析过程3、6、2创建数据流模型
对于“学生成绩管理系统”而言,整个系统就就是一个加工“学生成绩管理”。“教务人员”就是数据得源点,“学生”就是数据得终点。教务人员需要录入学生信息、课程信息和成绩,说明“学生信息”、“课程信息”和“成绩”就是数据流;同样,“查询请求”和“查询结果”也就是数据流。根据上述分析,得到如图所示得第0层DFD图。
第3章软件需求分析与建模2025/3/22
112结束返回3、6结构化分析过程3、6、2创建数据流模型
图3学生成绩管理系统第0层DFD图第3章软件需求分析与建模2025/3/22
113结束返回3、6结构化分析过程3、6、2创建数据流模型
第1层DFD图
对第0层DFD图中得加工“学生成绩管理”展开得知,“学生信息”就是教务人员需要录入得一个信息,因此加入一个加工“录入学生信息”,同样得到“录入课程信息”、“登记成绩”两个加工。另外,数据流“查询请求”和“查询结果”应该由加工“查询成绩”来完成。第3章软件需求分析与建模2025/3/22
114结束返回3、6结构化分析过程3、6、2创建数据流模型
这样,我们用“录入学生信息”、“录入课程信息”、“登记学生成绩”和“查询学生成绩”四个加工代替第0层得“学生成绩管理”,同时增加这些数据流对应得数据存储,即“学生”、“课程”和“成绩”,最后得到如图所示得第1层DFD图。
第3章软件需求分析与建模2025/3/22
115结束返回3、6、2创建数据流模型
图4学生成绩管理系统第1层DFD图学生信息课程信息成绩学生信息课程信息成绩信息表表表第3章软件需求分析与建模2025/3/22
116结束返回3、6结构化分析过程3、6、2创建数据流模型
第2层DFD图
为了继续进行分解,我们分析第1层DF中得加工“查询学生成绩”。学生查询成绩时需要提供合法性检查,因此,“查询学生成绩”可以分解为“合法性检查”和“查询成绩”两个处理步骤,从而形成第2层DFD,如下图所示:第3章软件需求分析与建模2025/3/22
117结束返回3、6、2创建数据流模型
图5学生成绩管理系统第2层DFD图第4章软件需求分析与建模2025/3/22
118结束返回3、6、2创建数据流模型
根据以上实例和经验,绘制数据流图应当遵循以下原则:
(1)分层时,子图得输入、输出数据流必须和父图中相应加工得输入、输出数据流一致;
(2)加工得编号应该唯一且具有层次性;
(3)加工不应该只有输入或只有输出,通常既有输入又有输出;
第4章软件需求分析与建模2025/3/22
119结束返回3、6、2创建数据流模型
(4)数据流图不应反映处理得顺序;
(5)加工之间应通过数据存储进行通信,避免从一个加工直接流到另一个加工;
(6)数据应通过加工进行流动,避免从一个数据存储直接流到另一个数据存储;
(7)数据流图中所有元素得命名应当对客户有意义,且与业务相关;
(8)不要在一个图中绘制7个以上得加工,否则难于绘制和理解。
第3章软件需求分析与建模2025/3/22
120结束返回3、6、3创建数据字典
数据字典
以下列出"学生成绩管理系统"得部分数据字典条目:
第3章软件需求分析与建模2025/3/22
121结束返回数据流名:成绩描述:每学期课程结束时,由教师评定得总成绩别名:cjxx定义:学号
+课号+分数+考试日期数据量:10000左右峰值:随时,但经常在每学期开始其她说明:在系统功能扩充时可能增加定义项3、6、3创建数据字典第3章软件需求分析与建模2025/3/22
122结束返回数据项名:学号
描述:唯一标识学生得编号别名:无类型:
字符串长度:13位字符其她说明:学号不能重复3、6、3创建数据字典第3章软件需求分析与建模2025/3/22
123结束返回数据文件名:学生表
描述:存储得数据,包括学生得主要信息别名:xs定义:学号
+姓
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度智能屏安装与物联网技术应用合同
- 二零二五年度桥梁维修施工人员培训及派遣合同
- 二零二五医疗纠纷赔偿协议书:医疗过错赔偿调解与司法鉴定服务合同
- 二零二五年度旅游项目贷款共同还款协议
- 二零二五年度宠物寄养押金转让与宠物看护服务协议
- 内蒙古赤峰市2025届高三下学期3·20模拟考试生物试卷(含答案)
- 二零二五年度展台搭建与展览展示合同
- 2025年度高速公路服务区道闸系统安装与综合服务协议
- 图书馆创新服务模式2024年试题及答案
- 2024年中医资格考试试题及答案
- DL∕T 5210.4-2018 电力建设施工质量验收规程 第4部分:热工仪表及控制装置
- 大学与青年发展智慧树知到期末考试答案章节答案2024年华侨大学
- 北京海淀人大附2025届高三第四次模拟考试历史试卷含解析
- 建教帮APP测试题库和答案
- 幽门螺杆菌与胃癌
- 压轴题04立体几何压轴题10题型 (教师版)
- 安徽省铜陵市铜陵市2023-2024学年七年级下学期4月期中英语试题
- 15j403-1楼梯栏杆标准
- DB-T29-247-2017天津市岩土工程勘察规范
- 2023年全国高考体育单招考试英语试卷试题真题(精校打印版)
- 第13课走进青春期友谊课件小学心理健康六年级
评论
0/150
提交评论