从零做软件开发项目系列之二——需求调研

在接到软件开发任务之后,第一件要做的事情就是进行需求调研工作,基于前期的沟通以及合同向用户了解具体需求,从而有针对性地开展后续工作。整个调研过程分为调研准备,调研实施,需求分析。
在这里插入图片描述

1 调研准备

俗话说,不打无准备之仗,在正式调研之前,软件开发方需要做一些调研前的准备工作,做软件项目也和做其他项目一样,都是渐进明细,刚开始的时候,对项目认识没有那么深刻,所以调研前准备的问题一般也是基于常识知识,后期随着对项目了解的深入,问题才会更加深刻且具体。

1.1 明确调研对象

一个是了解用户的组织架构,思考哪些部门哪些人员会使用软件或对软件开发工作起到作用,依据这些部门或人员对软件项目的影响程度,来制定调研的具体措施。将重点放在对软件有关键影响的部门或人员身上,如软件主要用户或者业务部门领导等,一般情况下,领导会对软件开发提出方向性、笼统的要求,以及完成的标准,用户会对软件提一些具体的使用要求。

1.2 准备调研内容

针对不同的调研对象,应该有不同的调研内容,当然也有一些共性的问题,下面是一些基础的共性问题,(1)组织架构及部门职责;(2)人员分配(用户权限)及每个人的岗位职责;(3)所使用单据;(4)有无处理业务的软件;(5)软件处理的业务问题有哪些;(6)提高业务处理效率的改进措施;(7)通过本软件解决哪些问题等等,这都是一些通用的问题,针对具体的对象,还需要提出一些有针对性地具体问题,特别是工作的细节,以及处理工作的方法,都对准确把握用户需求,有很多大帮助。

1.3 采取合理的调研方式

进行调研,可以根据自身和用户的具体情况,采用不同的需求调研方式,以下是一些常用的调研方式。

  • 调查问卷:使用设计好的用户调查表,以书面的形式收集用户需求。具体调研问卷的常用问题参见附件。
  • 用户访谈:与用户面对面的访谈,可以一对一或一对多,要求准备一个问题列表,用来获取有关用户问题和潜在解决方案的整体特征的信息。
  • 开会讨论:头脑风暴会议,对跨部门、跨岗位的业务,可以把相关人员召集在一起,提出对现在问题的理解和思考,让大家提出问题、愿望和潜在解决方案的建议。
  • 需求研讨:将所有相关用户集中在一起,进行一次深入的、有重点的会议,从项目用户那里收集全面的“愿望列表”,并区分有限顺序。
  • 用例讨论:一个有组织的集体讨论会议,用来确定系统的主角、边界、用例和事件流等用例相关内容。
  • 制作示意板:使用工具向用户说明系统如何适应组织的需求,系统如何运转。
  • 原型开发:开发软件系统的早期缩型,显示新系统的部分功能,以确定用户需要。

在这里插入图片描述

1.4完成调研计划

初步梳理出需要调研的部门人员,以及调研内容和调研方式后,就要和用户联系,了解不同用户的时间安排,或让负责人协调,确定大致的调研时间,根据情况制定调研计划。
调研计划中应该包含调研背景,调研目标,调研部门人员以及时间安排,调研的内容,系统环境,业务工作情况等。后续的调研工作可以基本上依据调研计划开展。可以在资源栏目获得项目需求调研计划模板的文档。

2 调研工作

2.1 调研过程中的沟通记录

在实际开展调研工作的过程中,根据项目渐进明细的规律,前期以调研问卷、用户访谈、需求讨论的方式开展工作,后期可以根据前期的调研结果,画出流程图或者做出原型,再和用户进行更深入的讨论。
在调研过程中,对于同一个问题,可以向不同岗位的人进行调研问询,因为不同的人,所处的岗位不同,本身掌握的知识不同,对一个问题,可能有不一样的想法。比如,针对数据的检索问题,有用户提出来对某类数据有检索需求,而询问另外的用户,则说这类数据,已经在数据编号中体现出来的了。提出需求的用户实际上是对他们的业务数据不是太熟悉,所以提出的需求,在系统中也可以不体现,而是通过帮助或者说明书的方式,阐述清楚业务数据的编码规则即可。
在每次调研结束,还要做好记录工作,记录时间、地点、参加人员以及大家的发言内容,然后根据大家的发言,整理需求。也可以对不太明确的问题,通过打电话、微信、email等方式进行持续沟通。这样持续的调研,有利于不断地深入了解用户需求,对后续开发会有很大帮助。

2.2 调研过程中资料的收集整理

在与用户沟通的过程中,注意收集相关的资料。首先是组织架构的资料,对应的部门,职位,人员的数据,还有每个人或每类人的岗位职责,这些数据是创建用户表以及角色、权限划分的基础关键资料。其次是工作过程中的表单,可能在软件系统中也是以表单的形式呈现,而且表单信息里面如果涉及到审批签字,在软件里面就是审批流程,也需要实现表单数据在不同人员之间的流转。第三是报表资料,一般的报表都是统计信息,在软件系统中是以统计功能出现,可以做成统计工具,导入导出报表等。第四是相关的软件情况,特别是以前开发的同类型软件或者上下游软件,里面会有一些数据,有的可以处理后导入到新的软件系统中,直接使用。第五就是相关的历史数据,比如用户以excel、word等形式甚至是手写稿保存的数据,处理后导入系统,可以作为软件的基础数据。

3 需求分析

需求调研的最终目的是明确用户需要,为用户开发适合他们的软件系统。一轮调研完成后,就需要对调研的内容进行分析,这个分析的过程非常重要,是连接用户与设计的桥梁,需要非常清楚用户的深层次需求,将用户的问题转换为软件解决办法。比如开发的业务管理系统,调研中会了解到现在的工作运行情况如何,流程中每个环节怎么衔接的,通过各部门配合完成整个工作流程。如果使用软件系统,是否需要替换现有工作方式。这可能涉及到工作流程改造,一般情况下,尽量不要更改原有的工作流程,软件只是提供便利,不做流程的修改,这样符合用户的使用习惯,有利于软件的推广。

附件:需求调研问卷

问题1:您属于哪个部门,你们部门有几个人,部门主要负责哪些工作,您个人主要负责哪些工作?
问题2:您在工作中需要处理哪些业务文件,有哪些业务相关的单据?
问题3:目前是否使用软件系统处理日常业务?使用何种软件?您使用软件主要用来做什么?
问题4:在工作过程中,有哪些业务处理起来不够顺畅或者效率不高,应该进行什么样的改进?
问题5:我们开发一套业务管理的软件系统,您对我们的系统有哪些希望和建议?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/99070.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go语言恶意代码检测系统--对接前端可视化与算法检测部分

Malware Detect System 1 产品介绍 恶意代码检测系统。 2 产品描述 2.1 产品功能 功能点详细描述注册账号未注册用户注册成为产品用户,从而具备享有产品各项服务的资格登录账号用户登录产品,获得产品提供的各项服务上传恶意样本用户可以将上传自己的…

leetcode 279. 完全平方数

2023.8.18 与零钱兑换相似&#xff0c;本题属于完全背包问题&#xff1a;完全平方数为物品&#xff0c;整数n为背包。 直接上代码&#xff1a; class Solution { public:int numSquares(int n) {vector<int> dp(n1 , INT_MAX);dp[0] 0;for(int i1; i*i<n; i){for(in…

九耶丨阁瑞钛伦特-Spring boot与Spring cloud 之间的关系

Spring Boot和Spring Cloud是两个相互关联的项目&#xff0c;它们可以一起使用来构建微服务架构。 Spring Boot是一个用于简化Spring应用程序开发的框架&#xff0c;它提供了自动配置、快速开发的特性&#xff0c;使得开发人员可以更加轻松地创建独立的、生产级别的Spring应用程…

高效实用小工具之Everything

一&#xff0c;简介 有时候我们电脑文件较多时&#xff0c;想快速找到某个文件不是一件容易的事情&#xff0c;实用windows自带的搜素太耗时&#xff0c;效率不高。今天推荐一个用来搜索电脑文件的小工具——Everything&#xff0c;本文将介绍如何安装以及使用everything&…

FPGA中锁存器(latch)、触发器(flip-flop)以及寄存器(register)详解

文章目录 1 定义1.1 锁存器&#xff08;latch&#xff09;1.2 触发器&#xff08;flip-flop&#xff09;1.3 寄存器&#xff08;register&#xff09; 2 比较2.1 锁存器&#xff08;Latch&#xff09;危害即产生原因2.2 寄存器和锁存器的区别2.3 锁存器和触发器的区别 3 结构3.…

如何将常用的jdbc方法封装起来???

你是否还在为每次新建项目连接数据库而烦恼&#xff1f;&#xff1f;&#xff1f;&#xff08;教你一次代码&#xff0c;简单完成每次连接&#xff09; 1.建立maven项目 还没下载安装或者不会建立maven项目的可以看这里哦&#xff1a;maven的下载安装与配置环境变量&#xff0…

主机防护的重要性和方式

01 主机防护的重要性 主机防护是网络安全的重要组成部分。在互联网时代&#xff0c;网络攻击成为了一种常见的威胁&#xff0c;而主机防护则是保护计算机系统免受网络攻击的重要手段。 主机防护可以防范各种网络攻击&#xff0c;如病毒、木马、黑客攻击等&#xff0c;从而保…

如何利用 ChatGPT 进行自动数据清理和预处理

推荐&#xff1a;使用 NSDT场景编辑器助你快速搭建可二次编辑的3D应用场景 ChatGPT 已经成为一把可用于多种应用的瑞士军刀&#xff0c;并且有大量的空间将 ChatGPT 集成到数据科学工作流程中。 如果您曾经在真实数据集上训练过机器学习模型&#xff0c;您就会知道数据清理和预…

《Kubernetes部署篇:Ubuntu20.04基于外部etcd+部署kubernetes1.24.16集群(多主多从)》

一、架构图 如下图所示: 二、环境信息 1、部署规划 主机名K8S版本系统版本内核版本IP地址备注k8s-master-631.24.16Ubuntu 20.04.5 LTS5.15.0-69-generic192.168.1.63master节点 + etcd节点k8s-master-641.24.16Ubuntu 20.04.5 LTS5.15.0-69-generic192.168.1.64master节点 + …

【算法刷题之数组篇(1)】

目录 1.leetcode-59. 螺旋矩阵 II&#xff08;题2.题3相当于二分变形&#xff09;2.leetcode-33. 搜索旋转排序数组3.leetcode-81. 搜索旋转排序数组 II(与题目2对比理解)&#xff08;题4和题5都是排序双指针&#xff09;4.leetcode-15. 三数之和5.leetcode-18. 四数之和6.leet…

ByteV“智农”平台--数字乡村可视化

“智农”平台基于自主可控的数字孪生技术、物联网技术、大数据技术&#xff0c;构建全流程的新型农业一体化管理平台&#xff0c;围绕产运销管理全流程&#xff0c;实现生产->存储->包装->运输->销售的全链条管理。融合农业数据管理、农业数据预警显示、多维数据综…

回归预测 | MATLAB实现IPSO-SVM改进粒子群优化算法优化支持向量机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现IPSO-SVM改进粒子群优化算法优化支持向量机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现IPSO-SVM改进粒子群优化算法优化支持向量机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xf…

Java智慧工地系统源码(微服务+Java+Springcloud+Vue+MySQL)

智慧工地系统是依托物联网、互联网、AI、可视化建立的大数据管理平台&#xff0c;是一种全新的管理模式&#xff0c;能够实现劳务管理、安全施工、绿色施工的智能化和互联网化。围绕施工现场管理的人、机、料、法、环五大维度&#xff0c;以及施工过程管理的进度、质量、安全三…

WPF国际化的实现方法(WpfExtensions.Xaml)

https://blog.csdn.net/eyupaopao/article/details/120090431 resx资源文件实现 resx资源文件&#xff0c;实现的过程比第一种复杂&#xff0c;但resx文件本身编辑比较简单&#xff0c;维护起来比较方便。需要用到的框架&#xff1a;WpfExtensions.Xaml 为每种语言添加.resx资…

Nginx的介绍

本资料转载于传智教育-解锁你的IT职业薪未来&#xff0c;仅用于学习和讨论&#xff0c;如有侵权请联系 视频地址&#xff1a;04-Nginx的优点_哔哩哔哩_bilibili 资源文档&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1RlFl92FdxRUqc858JSxPSQ 提取码&#xff1a;12…

Postman接口自动化测试实例

一.实例背景 在实际业务中&#xff0c;经常会出现让用户输入用户密码进行验证的场景。而为了安全&#xff0c;一般都会先请求后台服务器获取一个随机数做为盐值&#xff0c;然后将盐值和用户输入的密码通过前端的加密算法生成加密后串传给后台服务器&#xff0c;后台服务器接到…

每个.NET开发都应掌握的C#委托事件知识点

上篇文章讲述了C#接口的知识点&#xff0c;本文将介绍C#委托事件知识点。C#作为.NET开发的核心语言之一&#xff0c;提供了丰富的特性来支持面向对象编程和事件驱动的模型。其中&#xff0c;委托和事件是C#中不可或缺的关键概念&#xff0c;每个.NET开发者都应该深入理解它们的…

常用字符串匹配算法

一、BF匹配 BF算法中的BF是Brute Force的缩写&#xff0c;中文叫作暴力匹配算法&#xff0c;也叫朴素匹配算法。 BF算法的时间复杂度很高&#xff0c;是O(nm)&#xff0c;但在实际的开发中&#xff0c;它却是一个比较常用的字符串匹配算法。 第一&#xff0c;实际的软件开发中…

JVM——配置常用参数,GC调优策略

文章目录 JVM 配置常用参数Java内存区域常见配置参数概览堆参数回收器参数项目中常用配置常用组合 常用 GC 调优策略GC 调优原则GC 调优目的GC 调优策略 JVM 配置常用参数 Java内存区域常见配置参数概览堆参数&#xff1b;回收器参数&#xff1b;项目中常用配置&#xff1b;常…

【nodejs】用Node.js实现简单的壁纸网站爬虫

1. 简介 在这个博客中&#xff0c;我们将学习如何使用Node.js编写一个简单的爬虫来从壁纸网站获取图片并将其下载到本地。我们将使用Axios和Cheerio库来处理HTTP请求和HTML解析。 2. 设置项目 首先&#xff0c;确保你已经安装了Node.js环境。然后&#xff0c;我们将创建一个…