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

news2024/9/28 5:31:09

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

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.coloradmin.cn/o/906925.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于微信小程序的宠物领养平台的设计与实现(Java+spring boot+微信小程序+MySQL)

获取源码或者论文请私信博主 演示视频: 基于微信小程序的宠物领养平台的设计与实现(Javaspring boot微信小程序MySQL) 使用技术: 前端:html css javascript jQuery ajax thymeleaf 微信小程序 后端:Java…

【工程实践】使用pandas的记录

前言 工作中处理数据时,经常需要使用pandas,记录一些工作中使用pandas的习惯。 1. 合并数据 #读取原始数据 data1 pd.read_excel(/home/zhenhengdong/WORk/Classfier/Dates/Original/1.xlsx) data2 pd.read_excel(/home/zhenhengdong/WORk/Classfier/…

石油化工钻井消防vr虚拟教学实训增加学员参与感

随着石油化工企业的生产规模和数量不断扩大,石油化工火灾事故常有发生,给企业及当地居民造成难以挽回的严重损失,为了避免石油化工火灾安全事故发生,VR安全培训公司深圳华锐视点制作的石油化工火灾vr模拟应急救援系统,…

java+springboot+mysql小区自来水实时监控管理系统

项目介绍: 使用javaspringbootmysql开发的小区自来水实时监控管理系统,系统包含超级管理员,系统管理员、用户角色,功能如下: 超级管理员:管理员管理;楼栋管理;租户管理、用水管理&…

远程真机测试为什么需要应用性能指标监控?

我们在使用app、小程序等手机应用的时候,经常会发生“卡死“等现象。”卡死“会让用户认为你的app不可信,从而引发删除等情况。我们辛辛苦苦、花费大量精力和费用推广的app就失败了。 因此,我们就需要知道,app在使用时候&#…

ROS_LINUX入门学习笔记=2=

B站ros机器人工匠阿杰入门教程 rqt_robot_steering 控制小乌龟 在index ros .rog中查找相关的包:rosindex 下图是rqt_robot_steering的简介 其中可以查看github源码地址 website可以查看效果图 下载相关的包 sudo apt install ros-kinetic-rqt-robot-steering r…

项目实战笔记2:硬技能(上)

序: 本节串讲了项目管理硬技能,有些术语可以结合书或者网上资料来理解。没有想书上讲的那样一一列举。 做计划 首先强调为什么做计划? 计划就是各个角色协同工作的基准(后面做风险监控、进度的监控),贯穿于…

【华为认证】HCIA真题20道(看看HCIA的技术你掌握了多少)

正在备考华为认证的小伙伴应该知道,除了理论知识外,刷题也相当重要,周工这里有一份HCIAHCIP-Datacom带解析的最新题库 点赞留言 即可领取。 下图所示,主机A和主机B使用哪种网络设备可以实现通信?( &…

设计模式-工厂设计模式

核心思想 在简单工厂模式的基础上进一步的抽象化具备更多的可扩展和复用性,增强代码的可读性使添加产品不需要修改原来的代码,满足开闭原则 优缺点 优点 符合单一职责,每个工厂只负责生产对应的产品符合开闭原则,添加产品只需添…

骨传导耳机品牌推荐,精选十大骨传导耳机品牌推荐

随着手机作为大众日常生活不可分割的一部分,使用耳机也成为了许多人的日常。相较于有线耳机,有越来越多的人愿意去选择无线耳机,骨传导耳机的受众也进一步提高了,那么面对市面上眼花缭乱的品牌,该如何选择呢&#xff1…

怎样清理电脑内存?分享4个快速清理方法!

“求救求救!电脑总是没内存怎么办啊?明明没有存很多东西啊,电脑容量也很大,总是没内存真的很影响心情哎!有什么方法可以解决这个问题吗?” 电脑内存的清理是维护系统性能的重要步骤之一。如果电脑内存不足&…

Powered by Paraverse | 平行云助力彼真科技打造演出“新物种”

01 怎么看待虚拟演出 彼真科技 我们怎么看待虚拟演出? 虚拟演出给音乐人或者音乐行业带来了哪些新的机会?通过呈现一场高标准的虚拟演出,我们的能力延伸点在哪里? 先说一下我们认知里的虚拟演出的本质: 音乐演出是一…

一天赚四五十的副业,可以试试这几种

大家都希望能够有额外的零花钱,尤其是对于学生和不收入稳定的人来说。今天,我将分享一些简单实用的赚钱技巧,帮助你每天赚取四五十的零花钱,让你的钱包更丰盈。 第一种:蚂蚁路客和友活来了 支付宝旗下两款接任务拍门…

消息队列——RabbitMQ(一)

MQ的相关概念 什么事mq MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是 message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中&#xff…

智汇云舟携三大系列产品亮相第68届中国安防工程商集成商大会

8月18日,由中国安全防范产品行业协会指导,永泰传媒主办的中国安防工程商(系统集成商)大会暨第68届中国安防新产品、新技术成果展示在广州盛大开幕。 来自华南各省、市安防协(学)会及全国安防工程商、系统集…

使用本地电脑搭建可以远程访问的SFTP服务器

文章目录 1. 搭建SFTP服务器1.1 下载 freesshd 服务器软件1.3 启动SFTP服务1.4 添加用户1.5 保存所有配置 2. 安装SFTP客户端FileZilla测试2.1 配置一个本地SFTP站点2.2 内网连接测试成功 3. 使用cpolar内网穿透3.1 创建SFTP隧道3.2 查看在线隧道列表 4. 使用SFTP客户端&#x…

C++系列-浅拷贝和深拷贝

浅拷贝和深拷贝 浅拷贝深拷贝 如果属性有在堆区开辟内存的,一定要自己提供拷贝构造函数,进行深拷贝,以免堆区内存重复释放。 浅拷贝 浅拷贝会带来的问题是堆区空间重复释放 因为是浅拷贝,在调用第二个对象的析构函数时&#xff0…

React前端开发架构:构建现代响应式用户界面

在当今的Web应用开发中,React已经成为最受欢迎的前端框架之一。它的出色性能、灵活性和组件化开发模式,使得它成为构建现代响应式用户界面的理想选择。在这篇文章中,我们将探讨React前端开发架构的核心概念和最佳实践,以帮助您构建…

Googel Earth Engine 配置Python 环境

1. 安装并配置python环境 此处不再赘述 2. 安装 earthengine-api pip install earthengine-api C:\Users\xixi>pip install earthengine-api Collecting earthengine-apiUsing cached earthengine_api-0.1.363-py3-none-any.whl Requirement already satisfied: google-c…

验证评估守护关基安全 赛宁数字孪生靶场创新实践

​​近日,由赛宁网安主办,ISC互联网安全大会组委会协办的第十一届互联网安全大会(ISC 2023)安全运营实践论坛圆满结束。赛宁网安产品总监史崯出席并作出主题演讲:《基于数字孪生靶场如何开展验证评估》,同时…