软件工程需求分析.ppt
《软件工程需求分析.ppt》由会员分享,可在线阅读,更多相关《软件工程需求分析.ppt(118页珍藏版)》请在三一办公上搜索。
1、需求分析,本节学习目的,通过本节的学习,了解软件开发过程中需求分析的重要性,掌握业务流程的概念以及用例(use case)文档和软件需求规格说明文档的撰写。,本节学习内容,可行性分析软件需求分析业务流程图 用例分析软件需求规格说明,系统需求分析与结构设计,当我们在着手做任何一件工作以前,必须明确工作的性质、任务,制定完成任务的计划,这是非常必要的。同样对于软件产品的开发,显然也应该解决好这样类似的问题,明确该软件产品开发的任务,以及完成任务的价值从而制定出完成任务的计划。那么问题的定义和可性行研究就是制定软件系统的计划的第一步。所以在软件工程中把这一步称为 计划时期,系统需求分析与结构设计,系
2、统需求分析与结构设计之工作内容,分析系统需求,分配软件和硬件的功能分析硬件与软件的关系,定义软件和硬件之间的接口定义软件研制项目,编制软件可行性分析报告和软件开发计划(草稿)评估系统的可行性编制软件接口说明(必要时),方案分析,项目考虑业务考虑技术分析制造评估人的因素环境接口法律法规,Who?,计算机系统分析和设计人员为主;未来可能承担其软件研制任务的需求分析人员参加,系统需求分析与结构设计要求,分析待开发系统的特定的预期使用要求,规定系统需求;根据评价准则评价系统需求,将评价结果形成文档;建立系统的顶层结构;根据评价准则评价系统结构和需求,将评价结果形成文档。,系统需求分析与结构设计,可行性
3、分析(研究)报告;系统/子系统设计说明;接口设计说明。,分析系统需求,分配软件和硬件的功能 分析硬件与软件的关系,定义软件和硬件之 间的接口 定义软件研制项目,编制软件可行性分析报告和软件开发计划(草稿)评估系统的可行性 编制软件接口说明(必要时),可行性分析报告运行概念说明(Optional)系统/子系统需求规格说明系统/子系统设计说明接口需求规格说明(Optional)接口设计说明(Optional),评审工作,项目研制任务书或合同任务提出方的需求,评审工作,软件功能描述的正确性软硬件功能划分的合理性和可行性接口要求及接口设备要求的合理性质量要求的合理性开发环境要求的合理性和可行性开发进度
4、要求的合理性和可行性开发技术的合理性和可行性开发成本的合理性和可行性,可行性分析报告,项目背景客户需求商务前景市场计划技术方案实施周期财务分析风险管理,项目背景,项目来源 项目来源涉及到项目的环境,商务实施条件,客户合作关系等要素。项目干系人 项目涉及的干系人,利益和影响分析。,客户需求,商务需求 客户为了实现商务目标而制定的计划和目标。功能需求 为了实现商务需求而制定的技术要求和流程。潜在需求 项目未来可能或必然的需求。,客户需求实例,商务需求“系统能够实现医院的招投标采购,集中并规范医药交易市场。”功能需求“医院利用电子药房客户端的采购系统,将采购药品的规格、数量、包装等信息发布到交易系统
5、的最新采购的数据库中。”潜在需求“实现医院与药品批发企业的物流配送管理。”,商务前景,项目完成以后的商务影响 是否可持续发展?-项目维持是否可更新换代?-项目升级是否可扩展壮大?-项目扩展,市场计划,市场定位 目标市场分析、市场容量、市场资源竞争对手分析目标市场分析、市场容量、市场资源销售计划目标市场分析、市场容量、市场资源,技术方案,拓扑结构 架构设计模块与功能设计开发平台,实施周期,按照软件项目管理规范建立里程碑 里程碑实施周期实例,财务分析,成本核算 人员、软件、硬件、经营管理费用等收益预测 收入来源、收入数量、收入模式资金计划,风险管理,风险评估 风险识别、风险分析、风险优先级风险控制
6、 风险管理计划、风险化解、风险监控,可行性分析(研究)报告,引言引用文档可行性分析的前提可选的方案所建议的系统经济可行性(成本-效益分析)技术可行性(技术风险评价)法律可行性用户使用可行性其他与项目有关的问题注解附录,Requirements Analysis,Requirements analysis A process of discovery,refinement,modeling,and specification.During the process,both the developers and customers take an active role.Focus on:“wha
7、t”instead of“how”Input:-Software Project Plan-System specification(if one exists)Output:Software requirements specification document-provides the software engineer with models that can be translated into data,architectural,interface,and procedure design.-customer and developer can check the quality
8、of the software and provide the feedback.Who perform requirements analysis:system analysts,Why Software Requirement Analysis is Important,Risks which is due to the improper requirement process,Lack of users participant,and the final product is unacceptable.Over-budget and lower quality due to the re
9、quirement change frequently.Unclear requirement specification leads cost consuming and rework effort.User adds some unnecessary features.Lack of some key requirements due to over-brief specification,and cause the plan and project checking out of order.Ignoring some key requirements of users.,不正确需求分析
10、带来的风险,没有用户的参与,最终产品不满意需求经常变化导致预算超支及质量不过关需求不清楚导致资金浪费及返工 用户增加不必要的功能需求过于简洁导致计划与审查混乱忽视用户的主要需求,The relative cost for correcting an error,40-60%of software defects and failures are attributed to bad requirements-Leffingwell 1997,Software Requirement Engineering,Software Requirement Engineering,Requirement
11、Development,Requirement Management,Req.Doc,Problems Capture,Analysis,Validate,Software Requirement Layers,provided by customers and end users.no technical detail required,provided by development team and advanced technical engineers To specify services and features the system will provide.,软件需求各组成部分
12、之间的关系,Software Requirement,Functional Requirement,Non-Functional Requirement,To define system functions and services which is expected,To Specify system constraints,Product Requirement,Organization Req.,External Req.,Reliability,Efficiency,Usability,Portability,Performance,Storage,Delivery,Standard,
13、Construction,legal,Privacy,moral,Requirements Development Process,Problems Capture,Requirementsanalysis,RequirementsSpecification,Requirements Validation,System models,Requirements documents,Definition ofrequirements,Specificationof requirements,Feasibility Study,Feasibilityreport,功能需求性能需求安全保密要求用户界面
14、需求资源使用需求软件成本消耗与开发进度需求,软件质量属性AvailabilityEfficiencyFlexibilityIntegrityInteroperabilityReliabilityRobustnessUsabilityMaintainabilityPortabilityReusabilityTestability,Problems Capture,需求获取,清楚地理解所要解决的问题完整地获取用户需求How to get the requirements?,传统的需求获取方法,与客户和领域专家面谈问卷法观察文档和软件系统的研究,现代的需求获取方法,原型法联合应用开发(JAD)快速应
15、用开发(RAD),What is JAD(Joint Application Development)?,JAD(Joint Application Development)is a methodology that involves the client or end user in the design and development of an application,through a succession of collaborative workshops called JAD sessions.Chuck Morris and Tony Crawford,both of IBM,
16、developed JAD in the late 1970s and began teaching the approach through workshops in 1980.,JAD会议参加者,领导,文书,客户,开发人员,涉及人员,需求者,系统分析员,开发者,Typical Requirement Sources,Problem Statement,Real Work Places,Some other systems,Enhancement Requirement,Others,Typical Requirement Defining Method,CommunicationDrawi
17、ng System Relationship DiagramEstablishing Operational Concepts and ScenariosObserving Users work flowAbstracting from Industries StandardAnalyzing Business CasesMarketing Researching,Q&A Meeting with all requirement Stakeholders,The first Group of questions focus on the goal of customer Who is the
18、initial request of this project?Who will use this solution?What is benefit from this project?Have other solutions?,The second Group of questions should give requirement analyst a better understand about the project Can you describe the output of the solution?Can you describe the destination platform
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 需求 分析
链接地址:https://www.31ppt.com/p-4096098.html