本章内容及分布需求工程概述需求获取需求分析需求定义需求验证需求管理需求工程概述软件需求是指顾客对系统在功能、行为、性能、设计约束等方面的期望。软件需求是指顾客处理问题或到达目的所需的条件或能力,是系统或系统部件要满足协议、原则、规范或其他正式规定文档所需具有的条件或能力,以及反应这些条件或能力的文档阐明。需求开发需求分类需求开发需求获取措施1顾客访谈1对1~3,有代表性的顾客。比较耗时,一般选择有代表性的顾客,开放式(问答式,比较发散)与封闭式(选择题)问题相结合。录音、备忘录、对信息分析综合2问卷调查顾客多,无法一一访谈。3现场观摩针对较为复杂的流程和操作过程。看4参与业务实践有效地发现问题的本质和寻找处理问题的措施。做5联合需求计划(JRP)高度组织的群体会议,各方参与,成本较高。以会议的形式获取需求,不是做需求的验证。6情节串联板一系列图片,通过这些图片来讲故事。原型7搜集资料把与系统有关的、对系统开发有益的信息搜集起来。8阅读历史文档对搜集数据性的信息较为有用。9抽样调查减少成本。样本大小=a*(可信度系数/可接受的错误)2注:a一般取0.25。例如,假如但愿订单样本集包括的所有状况具有90%的可信度,那么样本大小计算如下:样本大小=0.25*(1.65/(1-0.90))2=68.0625需求开发需求分类PIECES框架是系统非功能性分类的技术1性能Preformance性能用于描述企业目前的运行效率,可以分析目前业务的处理速度2信息Information信息和数据指标用于描述业务数据的输入、输出以及处理方面存在的多种问题。3经济Economics经济指标重要是从成本和收益的角度分析企业目前存在的问题。4控制Control提高信息的安全和控制水平。5效率Efficiency提高企业的人、财、物等的使用效率。6服务Service提高企业对客户、供应商、合作伙伴、顾客等的服务质量。需求开发需求分析1构造化需求分析瀑布模型、数据流图DFD、状态转换图STD、实体联络图ER2面向对象需求分析UML、顾客模型、类模型需求开发需求分析构造化需求分析SA需求开发需求分析构造化需求分析SA数据流图DFD需求开发需求分析构造化需求分析SA数据字典机票=姓名+日期+航班号+起点+终点+费用航班号=”Y7100”..”Y8100”终点=【长沙|上海|北京|西安】需求开发需求分析构造化需求分析SA数据流图平衡原则父图与子图之间的平衡子图内平衡异常现象:黑洞:一种加工只有输入数据流而无输出数据流奇迹:一种加工只有输出数据流而无输入数据流灰洞:若一种加工的输入数据流无法通过加工产生输出流需求开发需求分析构造化需求分析SA数据流图答题技巧需求开发需求分析构造化需求分析SA状态转换图STD需求开发需求分析构造化需求分析SAE-R图某医院预约系统的部分需求为:患者可以查看医院公布的专家专长简介及其就诊时间;系统记录患者信息,患者预约特定期间就诊。用DFD对其进行功能建模时,患者是(__);用ERD对其进行数据建模时,患者是(__)。A.外部实体B.加工C.数据流D.数据存储A.实体B.属性C.联络D.弱实体答案:AA(__)是一种最常用的构造化分析工具,它从数据传递和加工的角度,以图形的方式刻画系统内数据的运行状况,一般使用(__)作为该工具的补充阐明。A.数据流图B.数据字典C.ER图D.鉴定表A.数据流图B.数据字典C.ER图D.鉴定表答案:AB需求开发需求分析面向对象需求分析OOA概念对象:属性(数据)+措施(操作)+对象ID类(实体类/控制类/边界类)实体类:对应数据表,学生表—学生(实体类);边界类:接口性质,跟外界打交道的。继承与泛化:复用机制封装:隐藏对象的属性和实现细节,仅对外公开接口多态:不一样对象收到同样的信息产生不一样的成果接口:一种特殊的类,它只有措施定义没有实现重载:一种类可以有多种同名而参数类型不一样的措施消息和消息通信:信息是异步通信的需求开发需求分析面向对象需求分析OOAUML(统一建模语言)UML由构造块、规则、公共机制构成。构造块事物构造事物:最静态的部分,包括:类、接口、协作、用例、活动类、构件和结点。行为事物:代表...