1、软件需求工程备课34软件需求工程备课资料教材:毋国庆 梁正平第三章 需求获取需求获取过程:3.1 确定项目的目标和范围根据项目目标把项目相关人员定位到一个共同的和明确的方向上,并决定软件系统的范围。 目标需求:从开发商角度 为客户提供便利的自动售货功能; 通过管理系统向顾客提供品种较齐全的消费品; 吸引顾客对商品的兴趣; 高可靠性从零售商的角度 能吸引和方便更多的顾客; 代替人工操作,节省开支;从开发人员角度 使用较为先进的开发技术和工具; 建立高科技系统。3.2 确定调查对象3.3 实地收集信息1. 步骤向掌握全局的 负责人调查;向部门负责人调查;向业务人员调查;2. 方式座谈会书面咨询利用
2、用例表示3. 需求信息分类目标需求用例说明业务规则功能需求性能需求外部接口需求限制数据定义4. 确定非功能需求可靠性可扩充性安全性互操作性易使用性可维护性可移植性可重用性3.4 使用场景技术的需求获取场景是指用户与软件系统实现某个目标二进行交互活动过程的描述。是对使用系统经历的描述1. 场景的构成执行者;进入场景前系统状态;执行者的目的;动作和事件序列(包括正常或非正常事件流)。2. 场景的表示非形式化表示形式化表示自然语言转台图结构化语言流程图图形时序图动漫画等代数描述图等3.5 使用用例的需求获取用例描述可发生的所有事件序列,描述软件系统与外部执行者的交互顺序,而场景描述起哄的一部分,因此
3、,用例也可以说是场景的集合,一个场景是用例的实例。例如;ATM机的用例模型和取现金的用例。场景技术特点: 把软件系统的需求信息文本化; 有助于实现软件系统前,明确用户与软件系统的相互作用; 可以把当前系统存在的问题作为实例记录下来; 可以成为项目相关人员间的共同语言; 具体、易理解;第四章 需求分析基本任务:提炼、分析和审查已收集到的需求信息,找出真正的和具体的需求;具体工作: 建立系统关联图; 构建用户接口模型; 分析需求可行性; 确定需求的优先级; 需求过程; 建立数据词典。4.1 建立系统关联图根据需求获取阶段确定的系统范围,用图形表示系统与外部实体间的关联。关联图含义:用于描述系统与外
4、部实体间的界限和接口,而且明确通过接口的信息流和物质流。类似于结构化需求建模中的0层图。关联图图例:系统表示为椭圆,内有名字; 带标识的有向边表示系统系统与外部实体间的关系和信息(物质)流向; 方框表示系统外部实体。实例:4.2 分析需求的可行性 目的:在允许的成本和性能要求以及系统范围内,分析每项需求得以实施的可能性。目的是明确风险。风险类型: 性能风险; 安全风险; 过程风险; 实现技术风险; 数据库风险; 日程风险; 外部接口风险; 稳定风险。4.3 构建用户接口原型含义:一个可能的局部实现。目的:对于软件开发人员或用户不能明确化的需求,通过建立相应的用户接口原型然后评估该原型,使得项目
5、相关人员能更好理解所要解决的问题。分类:抛弃型原型、进化型原型。构建方法:纸上原型化人工模拟原型化自动原型化4.4 确定需求的优先级别4.5 需求建模4.6 建立数据词典 1. 含义是定义目标系统中使用的所有数据元素和结构的含义、类型、数量值、格式和度量单位、精度及允许取值范围的共享数据仓库。2. 作用确保软件开发人员使用统一的数据定义,提高需求分析、设计、实现和维护过程的可跟踪性。3. 注意每个项目建立一个独立的数据字典,而不是每个需求出现的地方定义每个数据项。第五章 需求建模方法与技术5.1 软件工程中的模型1. 模型分类描述性模型:能真实和较完整地反映客观世界(如:照片);规约性模型:能
6、用于创造新事务的规约(如需求模型);探测性模型:过渡性的、经常被修改而非最终决定的模型。2. 软件工程中的模型概念与数学和逻辑学中的模型概念不一样软件工程中的模型数学和逻辑中的模型对客观世界的问题领域进行抽象,并用某描述方法表示的结果满足理论的客观世界中的对象集合例:开发过程模型、数据流模型、实体关联模型、状态转移模型等5.2 结构化的需求建模方法1. 作用主要用于分析系统的功能,是一种直接根据数据流划分功能层次的分析方法。3. SA方法的特点表达问题时尽可能使用图形符号方式,使非计算机专业人员也易于理解;设计数据流图时只考虑系统必须完成的基本功能,不需要考虑如何具体地实现这些功能。4. SA
7、基本思想化整为零,各个击破5. SA方法的描述手段一套分层的数据流图一本词典其它补充材料6. 数据流图描述系统内部处理流程、用于表达软件系统需求模型的一种图形工具。数据流(X,Y,Z)一组数据项组成的数据;从源点流向加工,从加工流向加工,从加工流向终点,从加工流向文件,从文件流向加工;流向或流出文件的数据流可以不指定名称,而给出文件名。加工(P1,P2)对数据进行的操作或变换称为加工; 文件 存放数据的逻辑单位; 源点和终点表示数据的来源和最终去向,主要代表软件系统外的实体。 例:7. 分层的DFD8. 画分层DFD的步骤确定软件系统的输入/输出数据流、源点和终点;将基本系统模型加上源点和终点
8、,构成顶层DFD;画出各层的DFD数据词典用于描述数据的具体含义和加工的说明,由数据词典和加工就可构成软件系统的逻辑模型(或需求模型)。 数据流条目:定义数据流,说明由哪些数据项组成数据流,数据流的定义也采用简单的形式符号方式,如= + | 等订票单可定义为: 订票单=顾客信息+订票日期+出发日期+航班号+目的地+ 顾客信息=姓名+性别+身份证号+联系电话选修课程数据流可定义为: 选修课程=课程表+教师+教材 课程表=课程名+星期几+上课时间+教室 教师=主讲教师名+辅导教室名 DFD中所有数据定义完毕后,汇总。 文件条目:定义文件,说明组成文件的所有数据项,同时说明文件的组成方式。 航班表文
9、件=航班号+出发地+目的地+时间 组成方式=按航班号大小排列 加工条目:说明加工内容5.3 SA方法的分析步骤1. 理解和分析当前的现实环境,以获得当前系统的具体模型2. 建立当前系统的逻辑模型:强调做什么3. 建立目标系统的逻辑模型4. 进一步完善5.4 面向对象的需求建模方法1. 需求分析内容问题分析主要任务是收集并确认用户的需求信息,描述静态关系,建立关于对象的分析模型。应用分析主要任务是动态描述系统中对象的合法状态序列,并用动态模型表达对象的动态行为、对象之间的消息传递和协同工作的动态信息。对象的动态行为与静态结构密切相关并受其约束,静态结构限制了对象状态的取值范围,而动态结构又反映了
10、对象状态的变化序列。面向对象设计2. 分析过程 面向对象建模技术(OMT)的基本思想是将面向对象的分析过程视为一个模型的构建过程:构件描述系统静态数据结构的对象模型类图构件描述系统控制结构的动态模型状态转换图和序列图构件描述系统功能结构的功能模型数据流图4. 基于OMT的需求建模步骤5. 有关图形工具 扩充的状态转换图序列图 实例:见教材第六章 需求定义需求规格说明1. 需求规格说明的作用是软件设计和实现的基础是测试和用户验收软件系统的重要依据能为软件维护提供重要的信息2. 需求规格说明的结构和内容3. 需求规格说明文档的编写要求4. 需求规格说明的描述语言第七章 需求验证1. 需求验证的目的
11、和意义发现和修复需求规格说明书存在的问题,并避免在软件系统设计和实现时出现返工。要求各方面人员从不同的技术角度对需求规格说明文档作出综合性评价。存在的问题:没有很好的方法证明一个需求规格说明是正确的。从4个方面进行验证: 一致性 完整性 现实性(可行性) 有效性审查过程:审查的内容: 需求是否完整? 需求是否一致? 需求是否可理解? 需求是否明确? 需求是否可实现? 需求是否可跟踪? 需求是否易于修改? 需求规格说明文档是否完整? 2. 需求验证的内容和方法3. 需求评审审查人员的确定和分工正式的审查过程审查的内容需求评审面临的困难4. 需求测试基于人工,对每个需求通过设计一个或多个可能的测试用例,使这些用例能用于检查系统是否满足需求。通过跟踪每个测试用例的执行路径,系统分析员可以发现一些布正确和遗漏的需求等。5. 编写用户使用手册草案6. 解释需求模型
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1