借书员: 所有借阅者的用例,再加上 为借阅者査找某一书籍 登记已归还的书籍 续借一本书 登记缴纳的罚款 添加新的借阅者 更新借阅者的个人信息(地址、电话号码等) 图书管理员: 所有借阅者和借书员的用例,再加上 添加藏书 删除藏书 改变系统中对已有书籍的记录信息 会计系统(独立运行) 获得借阅者支付的超期罚款 安交通大学刘海岩
西安交通大学 刘海岩 11 借书员: 所有借阅者的用例,再加上 • 为借阅者查找某一书籍 • 登记已归还的书籍 • 续借一本书 • 登记缴纳的罚款 • 添加新的借阅者 • 更新借阅者的个人信息(地址、电话号码等) 图书管理员: 所有借阅者和借书员的用例,再加上 • 添加藏书 • 删除藏书 • 改变系统中对已有书籍的记录信息 会计系统(独立运行) • 获得借阅者支付的超期罚款
3、分析与综合 用文字和图形描述不同视图以揭示更深的、易混淆 的问题,确保与所有风险承担者达成共识。 (1)分析需求的可行性:允许的成本、性能;与其 他需求的冲突;外界因素的依赖和技术障碍等 2)对于渐增式开发要确定需求的优先级别,以便 确立产品版本。 (3)建模:图形化的表示分析模型可以增强对软件 需求的理解,也为软件设计奠定了基础。 模型包括: 安交通大学刘海岩
西安交通大学 刘海岩 12 3、分析与综合 用文字和图形描述不同视图以揭示更深的、易混淆 的问题,确保与所有风险承担者达成共识。 (1)分析需求的可行性:允许的成本、性能;与其 他需求的冲突;外界因素的依赖和技术障碍等。 (2)对于渐增式开发要确定需求的优先级别,以便 确立产品版本。 (3)建模:图形化的表示分析模型可以增强对软件 需求的理解,也为软件设计奠定了基础。 模型包括:
数据流图(DFD一功能模型) 实体关系图(ERD一信息模型) 状态转换图(STD一行为模型) 类图(信息模型) 顺序图(行为模型) 合作图(行为模型)等等。 (4)使用原型法,减少项目风险。 5)建立数据字典。 4、编写需求文档 安交通大学刘海岩
西安交通大学 刘海岩 13 数据流图(DFD-功能模型) 实体关系图(ERD-信息模型) 状态转换图(STD-行为模型) 类图(信息模型) 顺序图(行为模型) 合作图(行为模型)等等。 (4)使用原型法,减少项目风险。 (5)建立数据字典。 4、编写需求文档
5、需求验证 需求验证的重要性:如果在后续的开发或当系统投入 使用时才发现需求文档中的错误,就会导致更大代价的返工 由需求问题而对系统做变更的成本比修改设计或代码错误的 成本要大的多。假设需求阶段引入1个错误的需求,设计时 对这个需求需要5~10条设计实现,1条设计需要5~10条程序, 1条程序需要3~5种测试组合测试 原始需求 确的规格说明错误的规格说明一个错误的需求,纠正成本100元 确的设计错误的设计对错误需求的设计×10纠正成本100元 的编咼错误的编码对错误设计的编码对错误需求的编码×10 L测试到的错误没有测试到的错误 安交通大学刘海岩
西安交通大学 刘海岩 14 5、需求验证 需求验证的重要性:如果在后续的开发或当系统投入 使用时才发现需求文档中的错误,就会导致更大代价的返工。 由需求问题而对系统做变更的成本比修改设计或代码错误的 成本要大的多。假设需求阶段引入1个错误的需求,设计时 对这个需求需要5~10条设计实现,1条设计需要 5~10条程序, 1条程序需要3~5种测试组合测试。 原始需求 正确的规格说明 错误的规格说明 正确的设计 错误的设计 对错误需求的设计 正确的编码 错误的编码 对错误设计的编码对错误需求的编码 正确功能 测试到的错误 没有测试到的错误 一个错误的需求,纠正成本100元 ×10 纠正成本1000元 ×10 ×5
对需求文档需执行以下类型的检查 (1)有效性检查 检查不同用户使用不同功能的有效性 (2)一致性检查 在文档中,需求不应该冲突 (3)完备性检查 需求文档应该包括所有用户想要的功能和约束 (4)现实性检查 检查保证能利用现有技术实现需求 安交通大学刘海岩
西安交通大学 刘海岩 15 对需求文档需执行以下类型的检查: (1)有效性检查 检查不同用户使用不同功能的有效性。 (2)一致性检查 在文档中,需求不应该冲突。 (3)完备性检查 需求文档应该包括所有用户想要的功能和约束。 (4)现实性检查 检查保证能利用现有技术实现需求