- 1、本文档共170页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 需 求 分 析 软件工程教研室 主 要 内 容 需求及需求原因 需求分析的任务 需求分析的相关人员 需求分析的活动 目的: 明确“做什么” 准确、完整和规范化的软件 需求是软件开发成功的关键 一般问题的解决过程 5.1 需求及需求原因 5.1.1 问题领域 什么是问题(question)? Gause和Weinberg(1989)观点: “我们所感觉到的和所得到的事物之间的区别“ 问题领域:了解领域,确定问题范围 问题分析:理解真实世界中的问题和用户的 需要,并提出满足这些需要的解决 方案的过程. 领域分析 (domain analysis) 是软件工程师了解足够的背景信息的过程. 为软件开发的各个阶段做出合理的决策. 领域的术语 关注最重要的问题—快速开发 应用领域的总体视图—引导更好的抽象, 优化设计 创建适应性更强的系统 实例 开发一个新生注册系统 确定问题范围---想到所有子问题 确定问题范围 —从系统高层目标考虑 目标是:完成学生注册 功能: + 学生注册 + 记录成绩 + 打印成绩 + 编辑并查询可选课程的列表(包括说明和先 修课程列表) + 编辑并查询学位申请 + 编辑并查询某个学期教授的课程列表 + 通过对学位要求、先修课程、时间安排和兴趣 爱好的分析帮助学生选择课程 功能: -- 安排讲授课程的时间表 -- 分配讲课或考试的教室 -- 支付费用及相关的会计与账务 -- 录取申请 用一段话概括进行航班预定系统领域分析时 需要收集的信息. 安排航班飞行的时间表 交通费用的设置和购成 航空公司的售票和预定工作是如何进行的 航班预定业务中的各种人(旅行社和航空公司雇员)是如何工作的 己有的预定系统能完成哪些工作,如何完成的 法律、规章制度和规则管理着该行业 研究竞争性预定系统的功能 了解正在发生的从旅游代理商预定机票到旅客在线预定机票的过渡 需求中常用的术语 5.1.2 什么是需求? 从系统的外部发现系统所具有满足用户 的特点、功能、属性等(Alan Davis 93)。 用户所需要的并能触发一个程序或系统 开发工作的说明 (Jones 94)。 用户解决问题达到目标所需要的条件或权能,系统或系统部件要满足合同、标准、 规范或其他正式规定文档所具有的途径或 权能 (IEEE97)。 1979年美国财政部对美国联邦政府开发的 9个工程规模不大的软件项目进行了调查,结果为: 投资后未能交付的软件占20-21%, 交付后不能使用的软件占47%, 需要经过修改才能使用的占29%, 交付后可以使用的只占3-4%。 原因:需求没有做好 5.2 需求的任务 任务: 定义系统需要“做什么” 软件的功能需求 软件的质量需求 接口需求 环境需求 资源使用需求 制定需求规格说明 又如: (1)系统必须有能力支持100个以上的并发用户,每 个用户可以处理附录A中操作任务的任选组合, 平均响应时间应该小于1秒,最大响应时间应 小于5秒。 (2) 必须在对话窗口的中间显示错误警告,其中使 用红色的、 14点加粗Arial字体。 (3)系统必须有能力存储平均操作连续100天所产生 的事务。 (4) 通讯接口必须符合ISO七层架构。 正确性(correctness): 一个程序满足需求规约和实现客户 任务目标程度(每KLOC行代码缺陷数). 高效性(efficiency)即效率 一个程序完成其功能所需的资源 和代码数量. 注意:在预计的高峰负载条件下,必 须留出10%处理器能力和15%系 统可用内存,以备用 在定义性能、能力、效率目标 时,考虑硬件的最小配置. 灵活性(flexibility) 在产品增加新功能时或修改一个程序 时,所需工作量的大小. 互操作性 ( interoperability ): 产品与其系统交换数据和服务的难 易程度。 健壮性 ( robust
文档评论(0)