软工概论学习(三)

软工概论学习(三)

目录

需求分析的基本任务

软件需求分析是软件生存期中重要的一步,也是决定性的一步,他的基本任务是:

  • 准确地回答系统必须做什么这个问题
  • 深入描述软件的功能和性能需求
  • 确定软件设计的约束和软件同其他系统元素的接口细节
  • 定义软件的其他有效性需求

back

需求获取的任务和原则:

遇到的困难有:

  • 系统的边界不清楚
  • 需求不准确性问题
  • 需求的易变问题

back

需求获取的任务:

  • 发现和分析问题,并分析问题的原因/结果关系
  • 与用户进行各种方式的交流,并使用调查研究方法收集信息
  • 按照三个成分即数据、过程和接口观察问题的不同侧面
  • 将获取的需求文档化,形式有用例、决策表、决策树等

back

遵循的原则:

  • 深入浅出的原则
  • 以流程为主线的原则

back

需求获取的过程:

  • 开发高层的业务模型
  • 定义项目范围和高层需求
  • 包括哪些部分,项目的哪些东西。高层需求:客户的需求
  • 识别用户类和用户代表

系统的不同用户之间在很多方面存在差异,例如

  • 使用产品的频率
  • 用户在应用领域的经验和使用计算机系统的技能
  • 所用到的产品功能
  • 所支持业务过程所进行的工作
  • 访问权限和安全级别
  • 获取具体的需求
  • 与用户进行交流
  • 现有产品和竞争产品的描述文档
  • 系统需求规格说明
  • 当前系统的问题报告和改进需求
  • 市场调查和用户问卷调查
  • 观察用户如何工作
  • 确定目标系统的业务工作流
  • 调研用户的组织结构、岗位设置、职责定义,从功能上区分子系统数量,划分系统的大致范围,明确系统的目标
  • 调研每个子系统的工程流程、功能与处理规则,收集原始信息资料,用数据流程图来表示物流、资金流、信息流三者的关系
  • 对调研内容事先准备,针对不同管理层次的用户询问不同的问题,列出问题清单。将操作层、管理层、决策层的需求既联系又区分开来,形成一个具有层次的需求
  • 需求整理与总结
  • 必须对上面步骤取得的需求资料进行整理和总结,确定对软件系统的综合要求,即软件的需求
  • 并提出这些需求实现条件,以及需求应达到的标准
  • 这些需求包括功能需求、性能需求、环境需求、可靠性需求、安全保密要求、用户界面需求、资源使用需求、软件成本消耗与开发进度需求灯

back

软件需求分析阶段的任务

  • 需求获取

  • 需求分析

  • 完整性:每项获取的需求都应给出清楚的描述,使得软件开发工作额能够取得设计和实现该功能所需的全部必要信息
  • 正确性:获取的每项需求必须是准确无误的,并且需求描述无歧义性
  • 合理性:各项需求之间、软件需求与系统需求之间应是协调一致的,不应存在矛盾和冲突
  • 可行性:包括技术可行性、经济可行性、社会可行性
  • 充分性:获取的需求是否全面、周到
  • 需求定义

撰写需求规格说明书,将已经过分析的需求清晰、全面、系统、准确地描述成正式的文档,这一步定义需求的工作就是编写需求规格说明(SRS)

  • 需求验证
  • 为了确保已定义的需求准确无误,并且是可以验证的,最终系统测试的根据就是用户需求。
  • 并能为客户(或用户)理解和接受,需要对其进行严格的评审
  • 需求变更

back

数据流图的审核

几个原则:

  • 父图与子图平衡
  • 区分局部文件和局部外部项
  • 分解的速度不宜太快
  • 遵守加工编号的规则

back

实体关系图

ER图包含了实体(数据对象)、关系和属性等三种基本成分,通常用矩形框表示实体,用链接相关实体的菱形框表示关系,用椭圆形或圆角矩阵表示实体(关系)的属性,并用无向边把实体(关系)与其属性连接起来

back


如果需要转载,请标明出处

posted @ 2020-03-23 09:57  野生的Lemon柠檬  阅读(237)  评论(0编辑  收藏  举报

呱呱呱呱呱🐸