好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

软件工程课件swguide2-需求分析.doc

27页
  • 卖家[上传人]:公****
  • 文档编号:404676826
  • 上传时间:2023-09-30
  • 文档格式:DOC
  • 文档大小:265.50KB
  • / 27 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 软件需求分析一、复习要求1. 了解软件需求的目标和任务2. 了解软件软件需求的获取方法3. 了解可行性研究的方法和可行性研究报告的主要内容4. 掌握结构化分析方法5. 了解支持需求分析的原型化方法6. 了解需求规格说明和需求评审的主要内容二、内容提要1. 软件需求分析的目标和任务软件需求分析的目标是深入描述软件的功能和性能,确定软件设计的约束和软件同其它系统元素的接口细节,定义软件的其它有效性需求需求分析阶段研究的对象是软件项目的用户要求一方面,必须全面理解用户的各项要求,但又不能全盘接受所有的要求,另一方面,要准确地表达被接受的用户要求只有经过确切描述的软件需求才能成为软件设计的基础通常软件开发项目是要实现目标系统的物理模型作为目标系统的参考,需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么”的问题其实现步骤如图2.1所示 图2.1 参考当前系统建立目标系统模型2. 需求分析的过程需求分析阶段的工作,可以分成以下四个方面:(1) 问题识别首先系统分析人员要确定对目标系统的综合要求,即软件的需求。

      并提出这些需求实现条件,以及需求应达到的标准这些需求包括功能需求、性能需求、环境需求、可靠性需求、安全保密要求、用户界面需求、资源使用需求、软件成本消耗与开发进度需求,并预先估计以后系统可能达到的目标此外,还需要注意其它非功能性的需求如针对采用某种开发模式,确定质量控制标准、里程碑和评审、验收标准、各种质量要求的优先级等,以及可维护性方面的需求此外,要建立分析所需要的通信途径,以保证能顺利地对问题进行分析分析所需的通信途径如图2.2所示 图2.2 软件需求分析的通信途径(2) 分析与综合问题分析和方案的综合是需求分析的第二方面的工作分析员必须从信息流和信息结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的限制,判断是否存在因片面性或短期行为而导致的不合理的用户要求,是否有用户尚未提出的真正有价值的潜在要求剔除其不合理的部分,增加其需要部分最终综合成系统的解决方案,给出目标系统的详细逻辑模型3) 编制需求分析阶段的文档已经确定下来的需求应当得到清晰准确的描述通常我们把描述需求的文档叫做软件需求说明书同时,为了确切表达用户对软件的输入输出要求,还需要制定数据要求说明书及编写初步的用户手册。

      4) 需求分析评审作为需求分析阶段工作的复查手段,应该对功能的正确性、文档的一致性、完备性、准确性和清晰性,以及其它需求给予评价为保证软件需求定义的质量,评审应以专门指定的人员负责,并按规程严格进行评审结束应有评审负责人的结论意见及签字除分析员之外,用户/需求者,开发部门的管理者,软件设计、实现、测试的人员都应当参加评审工作3. 需求获取技术需求获取技术包括两方面的工作:§ 建立获取用户需求的方法的框架;§ 支持和监控需求获取的过程的机制获取用户需求的主要方法是调查研究1) 了解系统的需求软件开发常常是系统开发的一部分仔细分析研究系统的需求规格说明,对软件的需求获取是很有必要的2) 市场调查了解市场对待开发软件有什么样的要求;了解市场上有无与待开发软件类似的系统如果有,在功能上、性能上、价格上情况如何3) 访问用户和用户领域的专家把从用户那里得到的信息作为重要的原始资料进行分析;访问用户领域的专家所得到的信息将有助于对用户需求的理解4) 考察现场了解用户实际的操作环境、操作过程和操作要求对照用户提交的问题陈述,对用户需求可以有更全面、更细致的认识在做调查研究时,可以采取如下的调查方式:§ 制定调查提纲,向不同层次的用户发调查表。

      § 按用户的不同层次,分别召开调查会,了解用户对待开发系统的想法和建议§ 向用户领域的专家或在关键岗位上工作的人个别咨询§ 实地考察,跟踪现场业务流程§ 查阅与待开发系统有关的资料§ 使用各种调查工具,如数据流图、任务分解图、网络图等为了能够有效地获取和理清用户需求,应当打破用户(需方)和开发者(供方)的界限,共同组成一个联合小组,发挥各自的长处,协同工作4. 可行性研究和可行性研究报告(1) 可行性研究这是在软件项目计划阶段应该做的事情,包括四个方面的研究:§ 经济可行性 :进行成本∕效益分析从经济角度判断系统开发是否“合算”§ 技术可行性 :进行技术风险评价从开发者的技术实力、以往工作基础、问题的复杂性等出发,判断系统开发在时间、费用等限制条件下成功的可能性§ 法律可行性 :确定系统开发可能导致的任何侵权、妨碍和责任§ 方案的选择 :评价系统或产品开发的几个可能的候选方案最后给出结论意见2) 经济可行性分析员需要进行成本∕效益分析所谓成本,包括:① 购置并安装软、硬件及有关设备的费用;② 系统开发费用;③ 系统安装、运行及维护的费用;④ 人员培训费用而效益是指:① 系统为用户增加的收入或为用户节省的开支,这是有形的效益;② 给潜在用户心理上造成的影响,这是无形的效益。

      它可以转化为有形的效益3) 技术可行性分析员需要根据系统的功能、性能需求,建立系统模型然后对此模型进行一系列的试验、评审和修改最后由项目管理人员作出是否进行系统开发的决定如果开发技术风险很大,或者模型演示表明当前采用的技术和方法不能实现系统预期的功能和性能,或者系统的实现不支持各子系统的集成,则项目管理人员可以作出停止系统开发的决定4) 方案的选择分析员考虑问题解决的方案一般采用将一个大而复杂的系统分解为若干个子系统的办法来降低解的复杂性如何进行系统分解、如何定义各子系统的功能、性能和界面,实现方案不唯一可以采用折衷的方法,反复比较各个方案的成本∕效益,选择可行的方案5) 可行性研究报告可行性报告的形式可以有多种,但最重要的内容应当有:Ⅰ. 项目背景:① 问题描述 ② 实现环境 ③ 限制条件Ⅱ. 管理概要和建议:① 重要的研究结果 ② 说明 ③ 建议 ④ 影响Ⅲ. 候选方案:① 候选系统的配置 ② 最终方案的选择标准Ⅳ. 系统描述:① 系统工作范围的简要说明 ② 被分配系统元素的可行性Ⅴ. 经济可行性(成本-效益分析):① 经费概算 ② 预期的经济效益Ⅵ. 技术可行性(技术风险评价):① 技术实力 ② 已有工作基础 ③ 设备条件Ⅶ. 法律可行性:① 系统开发可能导致的侵权,违法和责任Ⅷ. 用户使用可行性:① 用户单位的行政管理,工作制度 ② 使用人员的素质Ⅸ. 其它与项目有关的问题:① 其它方案介绍 ② 未来可能的变化可行性研究报告首先由项目负责人审查(审查内容是否可靠),再上报给上级主管审阅(估价项目的地位)。

      从可行性研究应当得出“行或不行”的决断当然,在以后的开发阶段,还要其它“行还是不行”的决定 5. 结构化分析方法结构化分析方法最初由Douglas Ross提出,由DeMarco推广,由Ward和Mellor以及后来的Hatley和Pirbhai扩充,形成了今天的结构化分析方法的框架结构化分析方法是一种建模技术它建立的分析模型如图2.3所示 数据对象描述加工规格说明实体—关系图数据流图 数据 词典状态—迁移图控制规格说明图2.3 分析模型的结构在模型的核心是数据词典,它描述了所有的在目标系统中使用的和生成的数据对象围绕着这个核心的有三种图:实体—关系图(ERD)描述数据对象及数据对象之间的关系;数据流图(DFD)描述数据在系统中如何被传送或变换,以及描述如何对数据流进行变换的功能(子功能);状态—迁移图(STD)描述系统对外部事件如何响应,如何动作因此,ERD用于数据建模,DFD用于功能建模,STD用于行为建模1) 数据建模数据模型包括三种互相关联的信息:数据对象,描述对象的属性,描述对象间相互连接的关系§ 数据对象 :是需被目标系统所理解的复合信息的表示所谓复合信息是具有若干不同特征或属性的信息。

      数据对象可以是外部实体(如显示器),事物(如报表或显示),角色(如教师或学生),行为(如一个呼叫)或事件(如单击鼠标左键),组织单位(如研究生院),地点(如注册室)或结构(如文件)数据对象只封装了数据,没有包含作用于这些数据上的操作这与面向对象范型中的类和对象不同具有相同特征的数据对象组成的集合仍然称为数据对象,其中的某一个对象叫做该数据对象的一个实例§ 属性 :定义了数据对象的特征它可用来:① 为数据对象的实例命名;② 描述这个实例;③ 建立对另一个数据对象的另一个实例的引用如学生数据对象的属性可以有学号、姓名、性别、出生年月、籍贯等为了唯一地标识数据对象的某一个实例,定义数据对象中的一个属性或几个属性为关键码(key),书写为_id,例如在“学生”数据对象中用“学号”做关键码,它可唯一地标识一个“学生”数据对象中的实例§ 关系 :各个数据对象的实例之间有关联如一个学生“张鹏”选修两门课程“软件工程”与“计算机网络”,学生与课程的实例通过“选修”关联起来实例的关联有三种:① 一对一(1:1);② 一对多(1:m);③ 多对多(n:m)这种实例的关联称为“基数”基数表明了“重复性”如1位教师带学生班的30位同学,就是1:m的关系。

      但也有1位教师带0位同学的情形所以实例关联有是“可选”还是“必须”之分用“〇”表示关系是可选的,用“│”表示关系必须出现1次如图2.4所示这表明了关系的“参与性” 基数:1位教师 基数:多位学生 管带教师学生 参与性:必须的 参与性:可选的 图2.4 基数与参与性§ 实体—关系图 :数据对象及其关系可用ERD表示图2.5给出学生选修课程的ERD及描述学生属性的实体对象表 选课课程学生 数据对象表 学 号姓 名性 别出生年月籍贯……图2.5 简单的ERD和数据对象表(2) 功能建模和数据流最初,结构化分析方法仅讨论数据流建模目标系统被表示成如图2.6所示的数据变换流程图系统的功能体现在核心的数据变换中输出信息输入信息目标系统外部实体外部实体输出信息外部实体外部实体输入信息图2.6 数据流图(DFD)功能建模的思想就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。

      根据DeMarco的论述,功能模型使用了数据流图来表达系统内数据的运动情况,而数据流的变换则用结构化英语、判定表与判定树来描述§ 数据流图图2.7是描述储户携带存折去银行办理取款手续的数据流图从图中可以看到,数据流图的基本图形元素有四种,如图2.8所示图2.7 办理取款手续的数据流图图2.8 DFD的基本图形符号 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.