软件工程-需求工程

一.需求的类型:

  • 用户需求:
    客户角度,采用自然语言配合图表对目标系统应提供的服务以及系统操作要受到的约束进行声明。

自然语言,图表,直观图形

  • 系统要求:
    一种结构化文档,要运用一些专业的模型详细描述系统的功能及其约束。系统需求文档也称为功能描述。

图形化,数学系统模型

二.功能需求与非功能需求:

  • 功能需求:
    对系统应提供的功能,系统在特定的输入下做出的反应及特定条件下的行为描述
    某种情况下还要包括系统不应该做什么。

描述系统应提供的功能或服务
功能需求描述应该具备全面性(包括所有用户要求)和一致性(系统服务描述没有冲突矛盾)

  • 非功能需求:
    对系统提供服务或功能时受到的约束进行描述。如时间约束、开发过程约束和标准等。

产品需求:用户界面应该能够正确处理错误操作,并给出提示和帮助信息。
机构需求:系统的开发过程和可交付文档应遵照 相关定义。
外部需求:系统不应对系统操作人员公开客户除名字与索引代码之外的任何个人信息。

  • 领域需求:
    系统的应用领域。可能是功能需求也可能是非需求功能。

非功能需求更重要!

三.需求描述问题:

需求描述就是在需求文档中记录用户需求和系统需求。
需求描述具有**:清晰性,明确性,易读性,完整性,一致性**。

四.需求工程过程:

1.可行性研究
2.需求导出与分析
3.需求描述
4.需求有效性验证
5.需求管理

  • 可行性研究:
    信息评估,信息汇总,书写报告。

  • 需求导出与分析:
    需求发现,需求的分类与组织,优先排序和冲突解决,需求文档化。
    (1)多视点需求定义:直接视点,间接视点,领域视点。
    (2)访谈:封闭式访谈,开放式访谈。

  • 需求导出与分析
    (1)深入实际

五.结构化分析方法:

结构化分许建模是面向数据流的。
在这里插入图片描述
核心 :
数据词典:它描述了所有的在目标系统中使用的和生成的数据对象。

围绕核心三种图:
实体——关系图(ERD):数据对象及数据对象之间的关系。
数据流图(DFD):数据在系统中如何被传送或变换。
状态——迁移图(STD):描述系统对外部事件如何响应,如何动作。

ERD用于数据建模,DFD用于功能建模,STD用于行为建模。

功能建模和数据流图: 数据传递、变换的关系,自顶向下逐层分解
分层数据流图:就是自外向内,自顶向下,逐层细化,完善求精。(较为复杂)

矩形:外部实体,代表数据源和数据池(终点)
椭圆:加工,代表接收输入,经过变换,继而产生输出的处理过程。
单箭头:数据流,代表数据的流向和路径。
双横线:数据存储,代表加工的数据所存储的地方。
在这里插入图片描述

五.面向对象分析方法:

面向对象的分析是相对于结构化分析方法而言,关注的是应用领域的对象建模。

  • 需求导出:创建导出文档(导出文档:SRS)
    导出文档包括:项目简介,约束与假定,风险,功能性需求,非功能性需求,项目术语。(文档应详细)
    功能性需求部分包括:主要特性,参与者,用例,应用,用例详细需求。

  • 用例图(Use Cases):
    用例图表示了系统内的参与者与用例之间关系,是对系统外部可见功能的描述。

小人:参与者就是代表与系统进行交互的角色。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值