您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件工程第3章--需求分析
统计资料:背景In1994,theStandishGroupsurveyedover350companiesabouttheirover8000softwareprojectstofindouthowwelltheywerefaring.Theresultsaresobering.ofthesoftwareprojectswerebeforetheywerecompleted.Moreover,inlargecompanies,onlyoftheprojectswereandcostwhattheywerebudgeted,andmetthosecriteriainsmallcompanies(Standish1994).第三章需求分析(RequirementsAnalysis)Thirty-onepercentCanceled9%deliveredontime16%第三章需求分析Tounderstandwhy,Standish(1995)askedthesurveyrespondentstoexplainthecausesofthefailedprojects.Thetopfactorswerereportedtobeincompleterequirements(13.1%)lackofuserinvolvement(12.4%)lackofresources(10.6%)unrealisticexpectations(9.9%)lackofexecutivesupport(9.3%)changingrequirementsandspecifications(8.7%)lackofplanning(8.1%)systemnolongerneeded(7.5%)第三章需求分析(RequirementsAnalysis)在可行性分析中,说明了软件功能和性能的总体概念。在需求分析中,将这种总体描述为具体的软件需求规格说明。用户软件人员需求规格说明书初步要求分析细化第三章需求分析本章主要内容:软件需求分析的任务需求分析的过程需求分析的原则需求分析的方法需求分析的工具需求规格说明书的编写§1.需求分析的任务任务:深入描述软件的功能和性能,确定软件设计的限制和软件与其它系统元素的接口细节,定义软件的其它有效需求。原则:全面理解用户的需求,又不全盘接受用户的要求。仍然回答“”,而不是“”,但更细致、精确(合同的拟定)。需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么”的问题。通常软件开发项目是要实现目标系统的物理模型目标系统的具体物理模型是由它的逻辑模型经实例化,即具体到某个业务领域而得到的用户调查具体模型建立系统模型的工作流程逻辑抽象当前系统逻辑模型当前系统计算机化评审修改正式模型完善细节目标系统目标系统初始模型系统模型用户1、建立目标系统逻辑模型的步骤----学生购买教材的具体模型举例请建立计算机售书系统的逻辑模型张秘书学生购书王会计发票李出纳领书赵保管单证明书----学生购买教材的逻辑模型审查有效性学生有效开发票发票开领书单领书单发书购书单书§1.需求分析的任务1、确定要求功能要求(functionalrequirements):系统必须做什么?性能要求(performancerequirements):做得怎样?例:responsetime,memory,back-upmemory,security,……运行要求(operationalrequirements):运行环境、软硬件配置等。未来可能的扩充要求(possibleevolution):如ICMIS各组的合并等等。§1.需求分析的任务2、分析数据⑴建立概念模型(conceptualmodels):E-RDiagram⑵形象描绘数据结构:DataHierarchy,WarnierDiagram,IPO⑶数据结构规范化(Normalization)3、导出逻辑模型:DFD+DD+IPO4、修正计划:重估成本、进度等§1.需求分析的任务5、开发原型系统(Prototyping):“样机试用”CDG一、数据流图面向数据流的方法----DFD(DataFlowDiagram)是用来描述系统逻辑模型的一种图形工具。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。DFD储户检验付款登录存折帐卡办理取款手续的DFD图注意控制流与数据流的箭头不一样检验不合格现款付款信息1、数据流图中的主要图形元素------转换数据流的处理过程----可以是数据库文件或任何形式的数据组织。箭头向内则表示写入文件或查询文件,箭头向外则表示从文件中读取数据或得到查询结果数据转换外部实体------位于软件系统边界之外的信息生产者或消费者数据流控制流------在转换之间有向流动的数据项或数据集合数据存储文件----系统逻辑模型数据的加工或变换输入输出软件系统外部实体外部实体……外部实体外部实体……----学生购买教材的逻辑模型审查并开发票学生发票各班学生用书表教材存量表无效书单开领书单领书单学生外部实体数据的加工结构化分析方法DFD步骤示例商店业务处理系统这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能数据流图绘制步骤首先确定系统的输入和输出根据商店业务,画出顶层数据流图,以反映最主要业务处理流程经过分析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图第一层数据流图加细每一个加工框销售细化采购细化数据字典的定义数据流名:说明:简要介绍作用即它产生的原因和结果。数据流来源:即该数据流来自何方。数据流去向:去向何处。数据流组成:数据结构。每个数据量流通量:数据量、流通量。(1)数据流词条的描述数据流名:发票说明:用作学生已付书款的依据数据流来源:来自加工“审查并开发票”数据流去向:流向加工“开领书单”。数据流组成:学号+姓名+书号+单价总价+书费合计审查并开发票发票数据元素名:类型:数字(离散值、连续值),文字(编码类型)长度:取值范围:相关的数据元素及数据结构(2)数据元素词条的描述年=“1900”..“3000”月=“01”..“12”日=“01”..“31”摘要=1{字母}4金额=“00000000.01”..“999999999.99”……(3)数据文件词条的描述数据文件名:简述:存放的是什么数据。输入数据:输出数据:数据文件组成:数据结构。存储方式:顺序,直接,关键码。存取频率:……审查并开发票学生发票各班学生用书表教材存量表加工名:加工编号:反映该加工的层次简要描述:加工逻辑及功能简述输入数据流:取值范围:相关的数据元素及数据结构……(4)加工逻辑词条的描述1.3审查并开发票学生发票各班学生用书表教材存量表名称:外部实体名简要描述:什么外部实体有关数据流:数目:(5)外部实体词条描述1销售购书单领书单缺书单进书通知2采购进书通知缺书登记表教材存量表学生保管员建立数据物理模型(PDM)采用PowerDesigner9.0工具软件生成SQL语句§2.分析过程1、沿DFD回溯:DFD的输出端是系统的最终目的。回溯确定每个数据元素的来源,可加细DFD及DD,并将相关算法记录在中。2、用户复查3、细化DFD:加细前后的I\O须相同。分解到须考虑具体实现的代码时即可仃止IPO图§2.分析过程4、修正计划5、文档:《需求规格说明书》6、审查和复审不需分解有补充修正无补充修正分析追踪数据流图用户复查细化数据流图需要分解§3.软件需求分析的原则必须能够表达和理解问题的数据域和功能域。必须按自顶向下,逐层分解的方式对问题进行分解和细化。要给出系统逻辑视图和物理视图。§4.需求分析的方法概念模型和规范化——对数据的分析1、概念模型:描述从用户角度看到的数据实体-联系图(Entity-RelationshipDiagram)⑴Entities例:,,StudentInstructorClass⑶Attributes例:,NameID#⑵Relations例:EnrolledinTeach111NMN§4.概念模型和规范化…………InstructorStudentEnrolledinTeachClassID#ID#NameNameSexSexTitleInstructorIDClassIDGradeStudentIDClassIDCreditID#Subject例:§4.概念模型和规范化2、范式(NormalForms):消除数据冗余的程度IBME.F.Godd(1970)例:StudentInstructorClassEnrolledinTeachID*NameSexAgeMajor…ID*NameSexAgeTitle…ID*SubjectCredit…StudentID*ClassIDGrade…InstructorID*ClassID*Keyword:可唯一地标识一个元组的属性1-NF:所有属性都是原子值,即不出现“表中有表”2-NF:在1-NF基础上,每个non-key-word都由整个keyword决定(而非依赖于keyword的一部分)。例:“Major”实际上由“ID”的第6、7位决定,可省去。3-NF:在2-NF基础上,non-key-word之间无从属关系。§5.需求分析图形工具1、层次方框图(Hierarchy)——描绘数据的结构例:ARoomhierarchybasedonaninteriordesigner’sperspective.RoomRoomwithlightsRoomwithwindowsGarageBasementKitchenBathroomRoomwithFurnitureLivingRoomFamilyRoomBedRoomDiningRoom§4.图形工具2、WarnierDiagram:{:层次(n1,n2):重复n1到n2次:二者择一头条新闻地区队头版国内新闻体育新闻职业队本地新闻拳击社论(1,1)经营简讯专栏(1,3)报纸社论读者来信(1,3)副刊商业新闻雇员简讯讽刺漫画(0,1)一般新闻体育新闻联播招生副刊商业新闻广告招聘广告求助细化例:§4.图形工具3、IPO图(Input/Process/Output):简要的算法描述1.校验主记录2.校验事务记录3.更新主记录旧的主文件事务文件有效的主记录有效的事务记录更新后的主文件输出O处理P输入I§5.验证要求(RequirementsValidation)正确性:Aretherequirementscorrect?一致性:Aretherequirementsconsistent?完整性:Aretherequirementscomplete?现实性:Aretherequirementsrealistic?Dotherequirementsdescribedsomethingthatisreallyneededbythecustomer?方法:人工审查初步用户手册Prototyping使用软件工具——完整性、一致性§5.验证要求例1:SoftwareRequirementsEngineeringMethodology(SREM)(TRWCorporation,1977)SREM=RequirementsStatementLanguage(RSL)+RequirementsEngineeringValidationSystem(REVS)REVSRSLRequirementsRSLStatementsAbstractSystemSemanticModel(ASSM)AnalyzerReports例2:ProblemStatementLanguage(PSL)/ProblemStatementAn
本文标题:软件工程第3章--需求分析
链接地址:https://www.777doc.com/doc-213319 .html