侧边栏壁纸
  • 累计撰写 21 篇文章
  • 累计创建 9 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

软件工程需求分析

DENLEE
2022-01-13 / 0 评论 / 1 点赞 / 156 阅读 / 2,682 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-04-29,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

需求层次

1、业务需求

指反应企业或客户对系统高层次的一个目标追求,通常来自项目投资人、购买产品的客户、客户单位的管理人员、市场营销部门或产品策划部门等。

2、用户需求

用户需求描述的是用户的具体目标,或者用户要求系统必须能够完成的任务,也就是说,用户需求描述了用户能用系统来做什么。通常采用用户访谈和调查问卷等方式,对用户的使用场景进行整理,从而建立用户需求。

3、系统需求

是指从系统的角度来说明软件需求,包含功能需求,非功能需求和设计约束。
需求层次

质量功能部署

定义

质量功能部署(QFD)是一种将用户需求转化成软件需求的技术,其目的是最大限度地提升软件工程过程中用户的满意度。

分类

  1. 常规需求
    用户认为系统应该实现的功能或性能,实现越多用户会越满意。
  2. 期望需求
    用户想当然以为系统应具备的功能或性能,但并不能正确自己想要得到的这些功能或性能需求。如果期望需求没有得到实现,会让与用户感到不满意。
  3. 意外需求
    也称为兴奋需求,是用户要求范围外的功能或性能。

需求获取

需求获取的方法

  1. 用户访谈
  2. 调查用卷
  3. 采样
  4. 情节串联板
    使用工具向用户说明或演示系统如何适合企业的需要,并说明系统将如何运转。
  5. 联合需求计划
    通过高度组织的群体会议来分析企业内的问题并获取需求的过程,相对成本较高,但十分有效。

需求分析

需求特性

无二义性
完整性
一致性
可测试性
确定性
可跟踪性
正确性
必要性

需求分析工作

分析人员把杂乱无章的用户要求和期望转换为用户需求。

需求分析方法

结构化分析(SA)

  • 建立的模型的核心是数据字典
  • 三个层次的模型
    • 数据模型,E-R图
    • 功能模型,数据流图(Data Flow Diagram)DFD
    • 行为模型(状态模型),状态图(State Transform Diagram)STD

面向对象分析(OOA)

  • 用例模型
  • 分析模型

软件需求规格说明书

定义

软件需求规格说明书(software requirement specification)SRS,是需求开发活动的产物,编制该文档的目的使项目干系人员与开发团队对系统的初始规定有一个共同的理解,使之成为整个开发工作的基础。

SRS包含内容

  1. 范围
  2. 引用文件
  3. 需求
  4. 合格性规定
  5. 需求可追溯性
  6. 尚未解决的问题
  7. 注解
  8. 附录

需求验证

定义

需求验证也称为需求确认

需求验证确定的内容

  1. SRS正确描述了预期的,满足项目干系人需求的系统行为与特征。
  2. SRS中软件需求是从系统需求、业务规格和其他来源中正确推导而来的。
  3. 需求是完整和高质量的。
  4. 需求是表示所有地方都是一致的。
  5. 需求为继续进行系统设计、实现和测试提供了足够的基础。

需求验证的方法

  1. 需求评审,对SRS进行技术评审
  2. 需求测试

UML

定义

UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。

UML的结构

  • 构造块
  • 规则
  • 公共机制

UML中事物的关系

  • 依赖
    一个事物发生改变会影响另外一个事物的语义。
  • 关联
    关联描述一组对象之间链接的结构关系。
  • 泛化
    泛化是指一般化和特殊化的关系,描述特殊元素的对象可替换的一般元素对象。
  • 实现
    实现是类与类之间的语义定义关系,其中一个类指定了由另外一个类保证执行的契约。

UML2.0中的图

1、非交互图

  1. 类图
    类图描述一组类、接口、协作,和他们之间的关系,类图给出系统静态设计视图,活动类的类图给出了系统的静态进程视图。
    类图
  2. 对象图
    对象图描述一组对象及他们之间的关系。
    对象图
  3. 构件图
    构件图描述一个封装的类和它的接口、端口、以及由内嵌的构件和连接件构成内部结构。
    构件图
  4. 组合结构图
    组合结构图秒速结构化类(例如:构件和类)的内部结构,包括结构化类与系统其余部分的交互点。
    结构图
  5. 用例图
    用例图描述一组用例、参与者及它们之间的关系
    用例图
    PS:看见有小人的90%都可能是用例图
  6. 状态图
    状态图描述一个状态,它由状态、转移、事件和活动组成,状态图给出了对象的动态视图。
    状态图
  7. 活动图
    活动图将进程或其他计算机结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图,它强调对象间的控制流程。
    活动图
  8. 部署图
    部署图描述对运行时的处理节点及在其中生存的构件配置。部署图给出了架构的静态部署视图,通常一个节点包含一个或多个部署图。
    部署图
  9. 制品图
    制品图描述计算机中一个系统的物理结构,纸品包括文件、数据库和类似的物理比特集合。制品图通常与部署图在一起使用。制品也给出了他们的实现的类和构件。
    制品图
  10. 包图
    包图描述由模型本身分解而成的组织单元,以及他们之间的依赖关系。
    包图
  11. 交互概览图
    交互概览图是活动图和顺序图的混合物。
    交互概览图

2、交互图

  1. 顺序图(也称序列图)
    顺序图是一种交互图,交互图展示了一种交互,它由一组对象或参与者以及它们之间可能发送的消息构成。交互图关注于系统的动态视图。顺序图是强调消息的时间次序的交互图。
    顺序图
  2. 通信图
    通信图也是一种交互图,它强调收发信息的对象或参与者的结构组织,顺序图强调的时序,通信图强调的对象之间的组织机构关系。
    通信图、
  3. 定时图(也称计时图)
    定时图也是一种交互图,它强调消息跨越不同对象或参与者的实际时间,而不仅仅只是关心消息的相对顺序。
    定时图

UML视图

逻辑视图

逻辑视图也称为设计视图,它表示设计模型中在架构方面具有重要意思的部分,即类、子系统、包和用例实现的子集。

进程视图

进程视图是可执行线程与进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构。

实现视图

实现视图对组成基于系统的物理代码的文件和构件进行建模。

部署视图

部署视图把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构。

用例视图

用例视图是最近本上的需求分析模型。

面向对象分析

OOA

面向对象分析法(Object-Oriented Analysis)

OOD

面向对象设计(Object-Oriented Design)

OOA与OOD的区别

OOA模型独立于具体实现,即不考虑具体实现有关的因素,这也是OOA和OOD的区别所在,OOA的任务是“做什么”,OOD的任务是“怎么做”。

面向对象分析阶段的核心工作

面向对象分析阶段的核心工作建立系统用例模型与分析模型

类与类的关系

1、关联关系

关联提供了不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起。

2、依赖关系

两个类A与B,如果B的变化可能会引起A的变化,则称为A依赖类B。

3、泛化关系

泛化关系描述了一般事物与该事物中的特殊种类之间的关系,也就是父类和子类之间的关系。

4、共享聚集

共享聚集关系通常简称聚合关系,它表示类之间的整体与部分的关系,其含义是“部分”可能同时属于多个“整体”,“部分”与“整体”的生命中期可以不同。

5、组合聚集

组合聚集关系通过组合关系,它也是表示类之间的整体与部分的关系。与聚合关系的区别在于组合关系中的“部分”只能属于一个“整体”。“部分”与“整体”的生命周期相同,“部分”随着“整体”的创建而创建,也随着“整体”的消亡而消亡。

1
博主关闭了所有页面的评论