需求分析入门

news2024/10/7 14:30:03

认识管理软件

什么是管理软件

管理软件就是用来辅助企业进行管理的软件,既包括对企业“人、财、物”相关的资产信息的管理,也包括对企业“供、产、销”相关的业务活动信息的管理。管理软件的重点在于管理信息的收集、流转,资源的共享、集成,任务的下发、驱动,工作流程的审批、监控,管理决策的支持、验证等。

注意:需要管理的并不仅仅是企业。学校、政府机关等都需要管理。在这里使用“组织”两个字比较准确,但为了表述方便,后面统一称之为“企业”。

【案例】一款典型的管理软件

认识两个常用的名词:“软件”与“系统”。
软件仅指开发出来的代码,软件在企业中正式使用起来后,才构成系统,也就是说系统不仅包括软件,还包括数据,还包括围绕软件、数据的相关流程、规范。
软件可以复制无数份,而每个系统都是独一无二的。
在这里插入图片描述![在这里插入图片描述](https://img-blog.csdnimg.cn/5fd13a36d19c4b66bc653fb3fdf6c0a7.png

什么是好管理软件

![在这里插入图片描述](https://img-blog.csdnimg.cn/f5a235898c9041cbbf752960428751e9.png

管理软件的发展

在这里插入图片描述注意:这个过程只是一种行业性的示意过程,并不是说每个企业都一定会经过这些过程,对于具体的企业,使用管理软件的发展过程是由其行业特性、管理方式、管理者思想、地区习惯、竞争对手等各方面因素决定的

常用的管理软件

在这里插入图片描述各种业务管理系统
各行各业广泛存在着各种业务管理系统,每个单位都有可能根据自己的要求引进或者开发管理软件。如——
学校:操行记录管理系统
长途运输公司:汽车票销售系统
医院:处方管理系统
公安:暂住证管理系统

管理软件的实施方式

在这里插入图片描述

认识需求分析

需求分析的定义

需求分析是软件开发的一个步骤,主要作用是充当软件研发与客户之间的桥梁,工作内容主要包括:

  • 对客户的信息化需求进行分析
  • 将客户不规范的、随意的需求,转换成规范的、严谨的、结构化的需求
  • 将客户不正确的需求转换成正确的需求
  • 将客户不切实际的需求转换成可以实现的需求
  • 将客户不必要的需求砍掉
  • 将客户漏掉的需求补上

举个例子
小王是某软件公司的需求分析师(小王运气不错,接下来,他会成为本书所有案例中的首席需求分析师)。最近公司刚签了一份软件开发合同,需要给一家企业开发一套库存管理系统用以管理该企业原材料、半成品、成品三个仓库的储存物料,小王负责这个项目的需求析工作。在到企业现场之前,他先准备了一份需求调查问卷发给各个仓库保管员与仓库会计,获得答卷后他做了仔细研究,觉得自己对这几个仓库的管理已经有了初步理解。然后他来到企业工作现场,收集了仓库用到的所有单据,如入库单、出库单、验收单等,分析这些单据后他搞清了仓库目前的信息处理情况,然后跟分管仓库的企业副总、物流经理、保管员、仓库会计做了单独的访谈,获得了他们对信息化管理的想法。

需求调研完成后,小王进行了系统规划。有些需求明显超出了项目范围,需要做控制,如副总提出能否在系统中管理生产任务,明显超出了这个库存系统的范围;有些需求,没有人提出来,但为了仓库的信息化管理是必需的,小王建议加进去,如仓库每个月给财务的结存报表,有了系统后明显不应该再由人工做这件事了。经过整理、讨论、沟通、说服等过程后,小王最终跟客户确定了需求。根据确定的需求,小王跟客户讨论确定了未来在信息化管理系统下的管理方式,包括相关人员应该如何工作,各岗位与信息化系统相关的工作职责,使用者的计算机终端如何布置,在什么情况下需要使用软件,等等。

然后小王开始进行软件设计。先根据软件需要处理的信息,以及信息流动的过程,设计了数据模型,确定本系统需要哪些业务实体,每个实体包括哪些属性,各个实体之间的关系等:然后,进行功能建模,确定需要提供哪些功能点,每个功能点包括哪些子功能,每个功能的业务规则等;接下来,使用一款原型设计工具进行软件功能界面的设计,在设计的过程中,安排时间给相关用户讲解自己的设计思想,告诉用户在工作过程中需要如何使用本软件,一边听取用户的意见,一边修改;另外,遇到一些技术上不容易实现的地方,还会征求开发人员的意见,经过几次外部、内部评审会后定稿了;最后,根据设计成果撰写了原型说明书。小王将数据模型、界面原型、原型说明书交给研发部门据以开发。软件开发完成上线后,用户提出有些功能不符合管理要求,需要修改,提出了需求变更要求,小王根据用户要求设计了需求变更解决方案,撰写了需求变更说明书,交给研发部门修改软件。

需求的获取方法

需求获取就是通过需求调研获取用户对信息化的需求。常用的需求调研方式包括:

  • 观察法

  • 体验法

  • 问卷调查法

  • 访谈法

  • 单据分析法

  • 报表分析法

  • 需求调研会法

系统规划

系统规划的过程就是根据用户的需求规划企业的信息化管理体系的过程。
主要包括三个步骤:

  • 需求确定
  • 整理需求
  • 设计系统蓝图

数据建模

数据建模就是设计数据库的表结构,这项工作可以在功能设计之前,也可以在功能设计之后,也可以同时进行,不同的团队有不同的工作方式。一般来说,越是复杂、大型的系统,数据建模工作越重要,也越应该尽早进行。良好的数据库结构可以让数据流清晰,可以降低功能设计与开发的难度,特别是一旦发生了需求变更,可以灵活应对。对软件开发有点经验的人都知道,一旦软件投入使用,修改数据库结构是非常致命的。
数据建模需要考虑——

  • 实体关系
  • 范式
  • 表的关系
  • 字段

参考文献
在这里插入图片描述
在这里插入图片描述

功能设计

软件的功能,从本质上说就是对数据进行输入、加工、输出的过程。对于面向数据库的软件,由于是以数据库为核心的,可以理解为两个方面:
一是数据的收集与处理;
二是围绕数据库对其中的数据进行的四大操作,即增、删、改、查

功能建模,指根据系统规划的要求设计:
系统由哪些功能构成
每个功能应该输入什么
经过功能处理后应该输出什么
每个功能又包括哪些子功能,不断分解下去,直到最底层

在这里插入图片描述

原型说明书

原型说明书是针对设计好的软件原型撰写的一种偏向于说明功能与操作逻辑的文档,主要描述——

  • 每个功能点的主要用户
  • 用户使用该原型的操作场景
  • 有什么权限控制要求
  • 每个操作背后是怎么运算的
  • 对数据有什么要求

需求变更

需求变更伴随着软件的整个生命周期。有些需求变更处理起来非常简单,影响面小,工作量也小,而有些需求变更处理起来非常麻烦,伤筋动骨,工作量巨大。

在软件的各个阶段都有可能发生需求变更。
需求变更发生得越早,解决起来代价就越小。

作为设计人员,要尽力降低需求变更的可能性,但对需求变更也要有个清醒的认识,就是需求变更是无法回避的,犯不着怨天尤人,面对需求变更需要有个积极良好的心态,毕竟有时候需求变更也未必就是坏事。

如何成为一个需求分析师

什么是需求分析师

需求分析师包括以下工作职责:

进行需求调研,获取用户需求;

  • 进行系统规划,设计客户信息化管理的蓝图;
  • 设计数据模型;
  • 设计软件功能;
  • 设计软件界面,绘制软件原型;
  • 召开需求评审会,收集各方面的意见,根据意见修改设计;
  • 指导开发,协助测试;
  • 进行软件变更需求分析,设计变更解决方案。

性格要求

在这里插入图片描述

掌握IT知识

需求分析师需要掌握的IT知识:

  • 软件工程理论
  • 项目管理理论
  • 关系数据库
  • 软件文档
  • 办公工具
  • 编程语言
  • 网络与硬件
  • 软件架构
  • 云计算
  • 软件界面

掌握企业管理知识

需求分析师需要掌握的企业管理知识:

  • 企业运作流程
  • 财务会计
  • 采购
  • 销售
  • 库存
  • 生产
  • 计划
  • 成本
  • 质量
  • 人力资源
  • 组织

精通一种开发模型

本书介绍“快速原型”开发模型,这是开发中小型管理软件的最佳模型。“快速原型”开发模型大概步骤如下:

  • 通过各种方式理解客户业务,获得客户需求。
  • 根据客户的业务流程,管理方式,以及客户对信息化的需求进行系统规划。
  • 根据规划结果设计数据库。
  • 根据规划结果设计软件功能。
  • 根据规划结果设计原型界面。
  • 撰写原型说明书。
  • 需求评审。
  • 根据评审结果修改设计。
  • 开发、测试。
  • 内部试用软件,发现问题,改善软件。
  • 用户试用软件,发现问题,改善软件。
  • 软件上线,进入维护期,应对需求追加与变更,促使软件不断成长。

软件需求分析实战》,清华大学出版社出版,作者杨长春

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

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

相关文章

【Redis】Redis 的学习教程(六)Redis 的缓存问题

在服务端中,数据库通常是业务上的瓶颈,为了提高并发量和响应速度,我们通常会采用 Redis 来作为缓存,让尽量多的数据走 Redis 查询,不直接访问数据库。 同时 Redis 在使用过程中(高并发场景下)也…

JavaScript中详解数组的算法

在 JavaScript 中,数组是一种常见的数据结构,它可以存储多个元素,并且可以通过索引来访问和修改这些元素。数组算法是对数组进行各种操作和处理的方法和技巧。下面是一些常见的数组算法: 遍历数组:可以使用 for 循环、…

谁爱待在Android谁待,再也卷不动了

在当前经济环境下,Android开发行业确实面临着竞争激烈、岗位减少的困境。因此,寻求具有更多岗位和良好市场前景的开发方向变得尤为重要。在此背景下,音视频开发和车载开发无疑是两个值得关注的领域。 音视频开发的前景 互联网和智能手机的普…

每日一题——旋转图像

旋转图像 题目链接 方法一:利用辅助数组 通过对示例的观察和分析,我们可以得到这样的结论: 对于原数组的下标为i行元素,顺时针旋转九十度后,都变成了下标为(n-1-i)列元素。如图所示&#xff…

代理模式 静态代理和动态代理(jdk、cglib)——Java入职第十一天

一、代理模式 一个类代表另一个类去完成扩展功能,在主体类的基础上,新增一个代理类,扩展主体类功能,不影响主体,完成额外功能。比如买车票,可以去代理点买,不用去火车站,主要包括静态代理和动态代理两种模式。 代理类中包含了主体类 二、静态代理 无法根据业务扩展,…

蜜桃星球 | 主理人,轻创业翻身副业,情趣赛道行业陪跑服务

我们为什么能在年纪轻轻的时候赚到钱? 一个重要原因就是,接触互联网后,我们所进入的所有行业,都是轻资产领域。 从流量到运营,所有的行业都是轻资产行业,都是不需要囤货的生意,只需要一根网线…

代替forever下一个部署node的持久化工具---pm2

最近有个后端项目,用的是node,在持久化的时候会挂掉,详细了解到用的是nohup,然后先详细了解了一下nohup nohup是一个Linux命令,用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行1nohup的英文全称…

react学习之路:InputNumber的parser在ts里面报类型错误

错误提示&#xff1a; Type ‘(value: string | undefined) > string’ is not assignable to type ‘(displayValue: string | undefined) > 0 | 2 | 20’. Type ‘string’ is not assignable to type ‘0 | 2 | 20’. 代码示例&#xff1a; <InputNumbermin{0}m…

电视盒子哪款好?数码党私藏网络电视盒子排行榜

电视盒子称得上是家家户户必备了&#xff0c;但是不同品牌和不同产品之间的体验差异较大&#xff0c;让大家在挑选电视盒子时都会纠结电视盒子哪款好&#xff0c;我身为资深数码粉&#xff0c;接下来将给各位分享数码粉心中最值得入手的网络电视盒子排行榜&#xff0c;看看电视…

关于xml中返回string类型代码中用list接收的问题,扫描

1.结论,xml中返回为string的话,在list中只会取出来第一个元素 //根据value查询GetMapping("getTest")public List<HashMap> getTest() {List<HashMap> list dictService.getTest();return list;} <select id"getTest" resultType"jav…

伦敦银交易时间怎么选择?

伦敦银和伦敦金都是全球性的交易品种&#xff0c;一般的现货贵金属交易平台&#xff0c;都可以同时经营这两个品种&#xff0c;而且它们的交易时间是一致的&#xff0c;以香港市场的平台为例&#xff0c;基本上交易时间都会从北京周一的早上7点&#xff0c;延续到周六凌晨5点左…

Shell脚本进阶:提升你的自动化脚本编程技巧

摘要&#xff1a;本文将介绍一些Shell脚本进阶技巧&#xff0c;帮助你提高自动化脚本编程的效率和可靠性。我们将涵盖一些常用的Shell脚本编程技巧&#xff0c;并提供相关的代码示例&#xff0c;以便读者更好地理解和应用这些技巧。 1. 函数的使用 Shell脚本中的函数可以帮助我…

【Day-24慢就是快】代码随想录-二叉树-二叉树的层序遍历

给你一个二叉树&#xff0c;请你返回其按 层序遍历 得到的节点值。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 ———————————————————————————————————————— 借助辅助队列来实现层序遍历。也就是图论中的广…

AI助乡行——点燃乡村振兴新引擎

随着数字化浪潮的袭来&#xff0c;乡村振兴战略的推进离不开数字化、智慧化等现代化治理能力和方式&#xff0c;人工智能等高新技术正不断与农村经济、社会、治理等加速融合。在智慧农业的背景下&#xff0c;我们可以解决一系列困扰农民的问题&#xff0c;包括如何增加经济作物…

vue去掉循环数组中的最后一组的某个样式style/class

vue去掉循环数组中的最后一组的某个样式style/class 需求&#xff1a;要实现这样的排列 现状 发现&#xff0c;最后一个格子并没有跟下面绿色线对齐。 最后发现 是因为 每个格子都给了 margin-right&#xff1a;36px&#xff0c;影响到了最后一个格子 所以要 将最后一个格子的…

安装并使用srs直播

一、安装srs sudo docker run -d -p 1935:1935 -p 1985:1985 -p 8080:8080 --name srs registry.cn-hangzhou.aliyuncs.com/ossrs/srs:v4.0.34二、vue展示 1、引入库 npm install --save flv.js2、导包 import flvjs from "flv.js";3、完整案例 <template><…

Python中的迭代器和生成器介绍

一、迭代器&#xff08;Iterators&#xff09; 迭代器是Python中用于遍历数据集合的一种机制。它是一个实现了迭代协议的对象&#xff0c;可以通过iter()函数来获得迭代器。迭代器需要实现两个方法&#xff1a;__iter__()和__next__()。其中&#xff0c;__iter__()返回迭代器自…

NI RF 无线设计与测试产品 ,你所需要了解的一切

无线设计与测试 随着无线通信的界限不断突破&#xff0c;NI专门针对快速原型验证和生产测试提供了各种软件无线电设备、发生器、分析仪和收发仪。 矢量信号收发仪 VSTRF信号发生器软件无线电 USRP网络分析仪频谱和信号分析仪RF和微波开关功率传感器RF信号调理 矢量信号收发仪…

大数据精准营销怎么满足用户的个性化需求?

近年来在AI和媒体的带动下&#xff0c;大数据分析不断介入&#xff0c;各行各业都开始陆续依仗大数据营销这棵大树&#xff0c;以此来更加高效、便捷、智能、精准的服务于用户。 这就像追求恋人一样&#xff0c;投其所好方能成为眷属。 大数据精准营销的好处&#xff1a; 相…

SOC总线学习记录之ICB(Internal Chip Bus)

蜂鸟E203总线&#xff1a; 采用自定义总线协议 ICB&#xff08;Internal Chip Bus&#xff09;&#xff0c;该总线用于蜂鸟 E203 内核内部使用&#xff0c;同时也可作为 SoC 中的总线使用。 ICB 总线的初衷是为了能够尽可能地结合 AXI 总线和 AHB 总线的优点&#xff0c;兼具高…