软件工程:(三)需求分析

简介:

       需求分析是软件定义时期的最后一个阶段,因此来讲,做好需求分析是十分重要的。通过学习软件工程的相关内容,总结了这部分的相关知识,下面这幅图是关于这方面知识的总体分析:

                            

一.任务

     需求分析的任务就是借助当前的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么”的问题。下面这幅图可以较简单的表达需求分析的相关说明:

              


二.指导性原则

    在章节的学习中并未明确提出软件需求分析阶段过程中的原则,查阅资料总结下面六点指导性原则:

    1.在开始建立分析模型前,先理解问题;

    2.开发原型,使得用户能够了解将如何发生人机交互;

    3.记录每个需求的起源及原因;

    4.使用很多个需求视图;

    5.给需求赋予优先级;

    6.努力删除含糊性(不清楚的部分)。

三.数据流图

    数据流图是描述数据处理过程中的工具,其相关介绍如下:

    1.含义

    数据流图是从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的传输变换过程。数据流图是结构化系统分析的主要工具,它表示了系统内部信息的流向,并表示了系统的逻辑处理的功能。

    2.特性

  (1)抽象性;

  (2)概括性;

  (3)层次性。

   3.图形元素

                          

    4.用途

   数据流图的作用主要有以下几条:

 (1)系统分析员用这种工具可以自定向下分析系统信息流程;

 (2)可在图上画出需要计算机处理的部分;

 (3)根据数据存储,进一步做数据分析;

 (4)根据数据流向,定粗话存取方式;

 (5)对应一个处理过程,用相应的语言、判定表等工具表达处理方法。

四.小结

     通过学习软件需求分析可以更加明确在需求分析阶段的任务和处理方法,知道“系统必须做什么”,以便为下面的概要设计做好基础,这个阶段总体来讲还算是 蛮容易接受的,希望后面的部分可以及时总结。



目录
相关文章
|
分布式计算 并行计算 编译器
NumPy 高级教程——并行计算
NumPy 高级教程——并行计算【1月更文挑战第3篇】
739 26
|
开发框架 Java 关系型数据库
Java毕业论文参考文献参考例子整理
Java毕业论文参考文献参考例子整理
623 0
|
数据采集 存储 算法
数据挖掘1——课后习题
数据挖掘1——课后习题
607 0
|
12月前
|
Java 应用服务中间件 Maven
idea+maven+tomcat+spring 创建一个jsp项目
这篇文章介绍了如何在IntelliJ IDEA中使用Maven和Tomcat创建一个JSP项目,包括配置Maven依赖、设置Tomcat服务器、编写JSP页面、创建控制器和配置文件,以及项目的运行结果。
584 0
idea+maven+tomcat+spring 创建一个jsp项目
|
算法 数据挖掘 数据库
【数据挖掘】频繁项集挖掘方法中Apriori、FP-Growth算法详解(图文解释 超详细)
【数据挖掘】频繁项集挖掘方法中Apriori、FP-Growth算法详解(图文解释 超详细)
1954 0
|
算法 数据库 存储
概要设计与详细设计的区别
概要设计与详细设计的区别     概要设计就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有什么关系。
13011 0
|
监控 数据可视化 算法
通过阿里云百炼的流程管理功能,搭建一个专属的流程能力
阿里云百炼平台结合流程画布与智能体,实现业务流程自动化。通过拖拽配置节点、对接智能体应用,确保数据交互与调度。智能体动态调度提升效率,提供可视化监控。但学习成本、性能优化、错误处理和兼容性是挑战。
1212 7
|
前端开发 Java 调度
Spring Webflux 是 Spring Framework 提供的响应式编程支持
Spring Webflux 是 Spring Framework 提供的响应式编程支持
221 2
|
XML 数据可视化 算法
目标检测YOLO数据集的三种格式及转换
目标检测YOLO数据集的三种格式及转换
|
分布式计算 并行计算 数据处理
NumPy的并行与分布式计算实践
【4月更文挑战第17天】本文探讨了如何使用NumPy进行并行和分布式计算以提升效率。介绍了利用`numexpr`加速多核CPU计算,设置`NUMPY_NUM_THREADS`环境变量实现多线程,并通过Dask和PySpark进行分布式计算。Dask允许无缝集成NumPy,而PySpark则将NumPy数组转换为RDD进行并行处理。这些方法对处理大规模数据至关重要。