什么是软件开发业务建模分析和结构化建模分析

软件开发业务建模分析

业务建模

三级需求:业务需求、用户需求、系统需求(也叫功能需求)

简单理解:
  • 业务需求:怎么实现盈利,怎么吸引用户。

    • ” OKR(Objectives and Key Results)“目标与关键成果法,业务需求的目标是吸引用户,获得盈利,所以在描述业务需求的时候,需要方法技巧。

      OKR的主要目标是明确公司和团队的“目标”以及明确每个目标达成的可衡量的“关键结果”。

    • SMART原则将目标一共分为五个维度:

      • Specific(具体的):我们的产品具体要做什么,要怎么做。
      • Measurable(可衡量的):我们的产品会给用户带来什么好处,这个好处用什么方式度量。
      • Attainable(可实现的):产品的可实现性,砍掉不切实际。
      • Relevant(相关的):抓住关键目标,砍掉产品的无关目标。
      • Time-Based(有时间限制的):有时间限制的就是砍掉无限拖延。前面确立的项目都很好,但是需要实现的时间太长则没有意义。
  • 用户需求:怎么让用户选择你的产品。

  • 系统需求:你的产品怎么能更好用一点。

    其中系统需求基于用户需求、业务需求基于你的功能如何让用户离不开你的产品。


详细解释:
  • 业务需求:业务需求来自公司、来自老板。业务需求描述的是愿景级的需求,主要描述宏观上产品解决了市场上的哪类人群的痛点和需求,这里会通过描述用户画像等完成产品故事的表达,主要站在整个系统(产品)和公司的角度进行分析,表示组织或客户高层次的目标
  • 用户需求:用户需求来自用户。对用户群体进行分类,从某一类用户的视角分析这一类用户对软件的需求。描述的是用户的目标,或用户要求系统必须能完成的任务
  • 系统需求:系统需求站在了产品的角度,把具体的用户需求,变成软件的功能要求。功能需求是基于业务需求和用户需求进行需求分析的结果。规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求

  • 第一步:构建系统上下范围图(顶层数据流图、0层数据流图),确定系统边界,确定与系统直接交互的外部实体。

  • 第二步:构建第1层数据流图,确定与系统直接交互的外部的相邻系统实体,确定业务事件的发生并引起的进出数据流

    • 业务事件存在系统外部,业务事件是可以引起系统内部一系列活动的外部事件(可以是人、物、时间等等)
    • 业务用例存在系统内部,业务用例可以响应一个业务事件的工作。
    • 外部业务事件触发内部业务用例进行数据交互(进出的数据流),输入的数据由业务事件提供,输出的数据由业务用例提供。
  • 第三步:研究每个业务用例,编写业务用例场景。这里对应用户需求。

  • 第四步:利益相关者决定要构建的最佳产品。

  • 第五步:基于第三步和第四步的结论,通过产品用例分析、站在系统角度编写用例场景。

  • 第六步:分析师为产品编写故事或需求。


系统功能架构图示例:

  • 对应数据流图,通常以3层结构为宜。
  • 其中第1层数据流图(中央监控、病症监控 ...),对应一个个业务用例(功能模块),这里以3 ~ 7个模块为宜。


软件开发结构化建模分析

  • 软件模型:对软件系统在各个开发阶段本质特性的描述,它要反映软件系统的形成过程。
    • 领域模型:也叫业务模型,描述软件所要服务的业务领域的业务状况和业务关系
    • 需求模型:描述软件可向用户提供的外在特性,包括软件的目标、功能、性能等。
    • 设计模型:软件中具体模块的设计方案(GoF23种设计模式),详细设计、界面和数据库等。
    • 实现模型:软件的具体编码实现,软件的实现结构。
    • 测试模型:测试软件的模型描述。
  • 软件建模方法:
    • 面向功能
    • 面向数据
    • 面向对象
  • 结构化分析的模型
    • 数据模型(ERD图 Entity Relationship Diagram)
    • 功能模型(DFD数据流图 Data Flow Diagram)
    • 行为模型:包括交互模型和状态模型。侧重对象之间的交互、状态和活动。(顺序图、状态图、活动图)

数据流图

图片来自:https://www.jianshu.com/p/2bf96cb928b3

业务流程图

posted @ 2021-11-09 17:29  靠谱杨  阅读(1402)  评论(0编辑  收藏  举报