软件工程—chapter3 需求分析

本文介绍了软件工程中的需求分析阶段,包括需求分析的目的、使用的工具和技术,如数据流图和状态迁移图等,并提供了实例帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

  • 说来也有些惭愧,关于软工的学习,自己没有及时的总结,不过老话是怎么说的呢,之前欠下的总是要还的,乖乖来这里写总结。

  • 软件需求分析,主要解决的Need 和Do 的事,我们做软件的时候,要实现什么样的功能,如何把软件做到让用户满意,很关键的一个步骤就是做需求分析。


思维导图

把软件工程的重要部分提取出来,贴一个直观明了的思维导图,培养自己的逻辑思考。
这里写图片描述


导图细化

静态分析法工具

  • 数据流图

    • 定义
      Date Follow Diagram ,从数据加工传递的角度,描述信息的流动情况,同时无需考虑实现的一种图示方法。
    • 主要要素

      • ○:数据加工变换

      • □:数据源或终点(外部实体)

      • →:数据流

      • 〓:数据存储文件

      • 列举银行取款的例子

      这里写图片描述


    • 关系
      这里写图片描述

    • 原则

      • 图形符号只限四种元素

      • 加工至少有一个输入流和一个输出流

      • 编号,按层给加工框编号,每个元素有名字

      • 随时重画

    • 特点
      • 概念强, 容易发现问题并纠正
      • 不直观,工作量较大
  • 数据字典-DD

    • 定义
      与数据流图结合使用,对数据流图中的各个元素进行详细的说明。

    • 基本要素
      数据流、数据项、数据结构、数据存储、处理逻辑、外部实体

      • 简单说一下数据结构,一种表示关系
        这里写图片描述
  • 结构化英语

个人的理解就是用英语关键字表示数据的逻辑关系,主要起描述标识的作用。


动态分析方法

  • 状态迁移图

    • 定义
      描述一个实体状态的改变,显示的是该实体在不同事件下如何做出反应的。

    • 举例

      下图是一个模型:S:状态,t:事件
      这里写图片描述

      下图是列车在不同事件下状态的改变,套用上面的模型理解。
      这里写图片描述

  • Petri网
    也是描述状态的变化,这里的变化不是在一个圈中了,而是形成一个稍微复杂的网状结构。看了这张图就会明白一些了!
    这里写图片描述


结语

到这里,软件开发的准备工作也要结束了,从计划到需求分析,帮助我们更好的开发设计软件。总结一下,也让我们的思路更加清晰。

### 关于软件工程需求分析的参考书籍和文献 对于希望深入了解软件工程需求分析的人来说,《软件工程》第4版修订版是一本不可多得的经典著作[^1]。此书中不仅涵盖了为何软件工程的知识对从业者至关重要,还特别强调了理解过程模型的重要性以及敏捷方法的应用。尤其值得注意的是,在第二部分中具体论述了开发和维护的主要步骤,这其中包括详尽的需求获取与定义流程。 另外一篇值得查阅的文章深入探讨了大模型在软件需求工程中的应用,它提供了有关背景、核心概念、算法原理等方面的深刻见解,并通过实际项目案例展示了这些技术如何提升开发效率和质量[^2]。 针对需求分析的具体操作指南可以在《软件工程-第三章 需求分析》找到详细的说明。这部分内容专注于确保各子系统之间的复杂度保持相对平衡,从而有利于后续的设计工作能够顺利并行推进[^3]。 ```python # 示例代码用于展示如何基于上述资源构建一个简单的文献检索函数 def find_reference(topic, source_type="book"): references = { "software_engineering": [ {"title": "软件工程", "edition": "第四版修订版"}, {"article_title": "大模型在软件需求工程中的应用"} ], "requirement_analysis": [{"chapter": "第三章 需求分析"}] } if topic.lower() == 'software engineering': for ref in references['software_engineering']: if isinstance(ref, dict) and 'title' in ref.keys(): print(f"- {ref.get('title')} ({source_type})") find_reference('software engineering') ```
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值