您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件工程-4-需求分析
3软件需求分析软件需求分析是软件开发早期的一个重要阶段。它在问题定义和可行性研究阶段之后进行。需求分析的基本任务是软件人员和用户一起完全弄清用户对系统的确切要求。这是关系到软件开发成败的关键步骤,也是整个系统开发的基础。软件需求分析阶段要求用需求规格说明书(SRS)来表达用户对系统的要求。规格说明书可用文字方式表示,也可用图形表示。本章将介绍需求分析的任务、步骤、需求分析方法(面向数据流图分析方法、面向对象的分析方法)。3.1需求分析的任务软件需求分析的任务深入描述软件的功能和性能确定软件设计的约束和软件同其它系统元素的接口细节定义软件的其它有效性需求需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么”的问题。通常软件开发项目是要实现目标系统的物理模型目标系统的具体物理模型是由它的逻辑模型经实例化,即具体到某个业务领域而得到的举例数据库中存放的是职工的某学校医疗费管理系统所属部门、职工号、姓名职工报销时应填写:所属部门、职工号、姓名、日期校内门诊、校外门诊、住院费、子女医疗费医疗费分类:该校规定,每年每个职工的医疗费有一个限额(如80元),限额在年初确定,其限额规则如下:1、每个职工一年内报销的医疗费不超过限额时,全部报销2、超额,则超出部分只可报销90%,其余10%由职工个人负担3、职工子女的医疗费也有限额(如40元)1、医疗费管理系统每天记录当天报销的若干职工或职工子女的医疗费的类别、金额。2、在当天下班前让系统自动结帐、统计当天报销的医疗费总额,供出纳员核对。3、每笔帐要保存备查,每天所报销的费用要和各个职工已报销的金额累计起来,以便检查哪些职工已超额。4、系统还要配有适当的查询功能。5、年终结算后,下一年度开始时要对数据库文件进行初始化。6、当职工调离本单位,职工调如本单位或在本单位内部门间调动,数据库文件应能及时得到修改。请完成对上述系统的需求分析用户对系统的要求该系统规模不太大,可以和用户单位的其他管理系统使用相同的计算机硬件设备、相同的操作系统和相同的关系数据库管理系统。如果,可以使用汉化了的数据库管理系统,但在建立数据库结构时,凡是用英文名称来代表字段名时,则必须在数据字典中予以说明。1、确定系统的环境要求3、系统的功能(1)具有表格形式屏幕的输入格式(2)具有重复录入数据的功能(3)具有查询和统计汇总的功能(4)职工的调入和调出以及对数据库的初始化2、系统性能要求(1)数据不能随意更改2)保证数据的准确性由于医疗费管理系统涉及到会计经费问题,数据不能随意更改但数据输入又难免会出错。因而在每输入一个职工的医疗费后,屏幕提示“数据有误吗?”。若是在核对时有误,可及时更改,避免输入错误。一天报销结束时,在数据存档前,再让出纳员核对一下经费总额,若出纳员支出的金额总数有误时,应让计算机显示每笔帐目,供一一仔细核对,此时在允许修改一次。当正式登帐后,数据就绝对不允许在修改了,由此保证财务制度的严格性,保证数据的安全性。二、建立目标系统的逻辑模型通常软件软件开发项目是要实现目标系统的物理模型,即确定待开发软件系统的系统元素,并将功能和数据结构分配到这些系统元素中。它是软件实现的基础。但是目标系统的物理模型是由它的逻辑模型经实例化,即具体到某个业务领域而得到的。与物理模型不同,逻辑模型忽视机制和细节,只描述系统要完成的功能和要处理的数据。为此,该阶段的主要任务是,借助于当前系统的逻辑模型导出目标系统的逻辑模型,也就是解决目标系统“做什么”的问题。用户调查具体模型建立系统模型的工作流程逻辑抽象当前系统逻辑模型当前系统计算机化评审修改正式模型完善细节目标系统目标系统初始模型系统模型用户1、建立目标系统逻辑模型的步骤图形工具数据流图数据字典2、建立目标系统逻辑模型的图形工具----学生购买教材的具体模型举例请建立计算机售书系统的逻辑模型张秘书学生购书王会计发票李出纳领书赵保管单证明书----学生购买教材的逻辑模型审查有效性学生有效开发票发票开领书单领书单发书购书单书----学生购买教材的逻辑模型审查并开发票学生发票各班学生用书表教材存量表无效书单开领书单领书单学生完善目标系统并补充细节,的出目标系统的正式逻辑模型三、需求规格说明书与评审软件需求说明书----SRS(SoftwareRequirementSpecification)主要包括以下的内容:SRS引言数据描述数据流图数据字典功能描述性能描述特殊需求一、数据流图3.2面向数据流的方法----DFD(DataFlowDiagram)是用来描述系统逻辑模型的一种图形工具。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。DFD储户检验付款登录存折帐卡办理取款手续的DFD图检验不合格现款付款信息1、数据流图中的主要图形元素------转换数据流的处理过程----可以是数据库文件或任何形式的数据组织。箭头向内则表示写入文件或查询文件,箭头向外则表示从文件中读取数据或得到查询结果数据转换外部实体------位于软件系统边界之外的信息生产者或消费者数据流------在转换之间有向流动的数据项或数据集合数据存储文件----系统逻辑模型数据的加工或变换输入输出软件系统外部实体外部实体……外部实体外部实体……----学生购买教材的逻辑模型审查并开发票学生发票各班学生用书表教材存量表无效书单开领书单领书单学生外部实体数据的加工2、数据流图中的其它图形元素ABC------有A则B或者C,或者两者都有*ABC+ABC------有A则B与C,或者两者同时有------有A则B或C,但不会同时有B与C-----标识多个数据流与加工之间关系的符号------当A或B有一个存在就有CABC*ABC------只有当A与B都存在,则有C3、分层的数据流图F0F11F12F13F14F15F21F22F23F24F25第n层第n+1层第n+2层人工销售教材系统流程图学生开购书证明购书证明开购书发票发票收书费领书单发书学生举例学生教材购销系统购书单领书单缺书单进书通知进书通知保管员1销售购书单领书单学生缺书单进书通知2采购保管员第1层第2层教材存量表F1缺书登记表F2外部实体外部实体教材销售子系统无效书单购书单1.3登记并开领书单1.2开发票1.1审查有效性1.4登记缺书1.5补售教材采购学生学生进书通知有效书单发票领书单暂缺书单1销售购书单领书单缺书单进书通知2采购进书通知缺书登记表教材存量表学生保管员第2层补售书单第3层教材存量表F1缺书登记表F2F1书号单价数量各班用书表F3售书登记表F4外部项1销售购书单领书单缺书单进书通知2采购进书通知缺书登记表教材存量表学生保管员采购子系统第2层第3层缺书单2.3修改教材库存和待购量销售进书通知进书通知2.1按书号汇总缺书2.2按出版社统计缺书保管员教材存量表F1待购教材表F5教材一览表F6缺书登记表F2.便于实现.便于使用---采用逐步细化的扩展方法,可避免一次引入过多的细节,有利于控制问题的复杂度;---用一组图代替一张总图,方便用户及软件开发人员阅读。4、分层DFD图的优点.注意父图和子图的平衡5、画分层DFD的指导原则发票1.3开领书单领书单(a)父图1.3.1学生领书单1.3.21.3.3教材(a)子图.区分局部文件和局部外部项.掌握分解的速度一般来说,每一个加工每次可分为2-4个子加工,最多不得超过7个。.遵守加工编号规则顶层加工不编号。第二层的加工编号为1,2,3,…,n号。第三层编号为1.1,1.2,1.3…n.1,n.2…等号,依此类推。1销售购书单领书单缺书单进书通知2采购进书通知缺书登记表教材存量表学生保管员采购子系统第2层第3层缺书单2.3修改教材库存和待购量销售进书通知进书通知2.1按书号汇总缺书2.2按出版社统计缺书保管员教材存量表F1待购教材表F5教材一览表F6缺书登记表F2局部外部项局部文件练请画出学生成绩管理系统的DFD图习二、数据字典----DD(DataDictionary)数据字典的任务是:对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。DD1、数据字典的定义数据流名:说明:简要介绍作用即它产生的原因和结果。数据流来源:即该数据流来自何方。数据流去向:去向何处。数据流组成:数据结构。每个数据量流通量:数据量、流通量。(1)数据流词条的描述数据流名:发票说明:用作学生已付书款的依据数据流来源:来自加工“审查并开发票”数据流去向:流向加工“开领书单”。数据流组成:学号+姓名+书号+单价总价+书费合计审查并开发票发票数据元素名:类型:数字(离散值、连续值),文字(编码类型)长度:取值范围:相关的数据元素及数据结构(2)数据元素词条的描述年=“1900”..“3000”月=“01”..“12”日=“01”..“31”摘要=1{字母}4金额=“00000000.01”..“999999999.99”……(3)数据文件词条的描述数据文件名:简述:存放的是什么数据。输入数据:输出数据:数据文件组成:数据结构。存储方式:顺序,直接,关键码。存取频率:……审查并开发票学生发票各班学生用书表教材存量表加工名:加工编号:反映该加工的层次简要描述:加工逻辑及功能简述输入数据流:取值范围:相关的数据元素及数据结构……(4)加工逻辑词条的描述1.3审查并开发票学生发票各班学生用书表教材存量表名称:外部实体名简要描述:什么外部实体有关数据流:数目:(5)外部实体词条描述1销售购书单领书单缺书单进书通知2采购进书通知缺书登记表教材存量表学生保管员2、数据字典定义符号符号含义例子=被定义为+与[]x=a+b,则表示x由a和b组成x=[a,b],则表示x由a或由b组成{}或重复x={a},则表示x由0个或多个a组成()可选表示在两个*之间的内容为词条的注释m{}n重复x=3{a}8,则表示x中至少出现3次a,最多出现8次*…*注释符x=(a),则表示a在x中出现,也可不出现储户检验付款登录存折帐卡--------办理取款手续的DFD图检验不合格现款付款信息练习请为下列给出的DFD图编写DD日期年月日摘要支出存入余额操作复核户名:储蓄网点名称:帐号:开户日:性质:印密:-------存折格式日期(年月日)摘要支出存入余额操作复核户名:储蓄网点名称:帐号:开户日:性质:印密:存折=户名+所号+帐号+开户日+性质+(印密)+1{存取行}20户名=2{字母}24所号=“001”..“999”帐号=“00000001”..“99999999”开户日=年+月+日性质=“1”..“6”印密=“0”存取行=日期+(摘要)+支出+存入+余额+操作+复核日期=年+月+日年=“1900”..“3000”月=“01”..“12”日=“01”..“31”摘要=1{字母}4支出=金额金额=“00000000.01”..“999999999.99”……3、数据字典的实现数据字典的实现人工方法自动方法将每一字典中的词条写在一张卡片上,由专人管理和维护利用“字典管理程序”在计算机中对字典进行管理和维护。三、加工说明----(ProcessSpecification)加工说明是:对DFD中每个加工给予说明。它是从系统功能的角度对DFD作出了注解,与DD一样是DFD必不可缺少的辅助资料。PS加工说明组成输入数据加工逻辑输出数据加工说明描述工具结构化语言判定表判定树描述把输入数据流变换为输出数据流的加工过程,是加工说明的主体。----学生购买教材的逻辑模型审查并开发票学生发票各班学生用书表教材存量表无效书单开领书单领书单学生自然语言+结构化形式结构化语言选择结构如果条件策略Ifconditionpolicy如果条件则策略1否则策略2情况1条件策略1……情况n条件策略nIfconditionthenpolicy1Otherwisepolicy2case1conditionp
本文标题:软件工程-4-需求分析
链接地址:https://www.777doc.com/doc-4385372 .html