需求分析入门

认识管理软件

什么是管理软件

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

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

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

认识两个常用的名词:“软件”与“系统”。
软件仅指开发出来的代码,软件在企业中正式使用起来后,才构成系统,也就是说系统不仅包括软件,还包括数据,还包括围绕软件、数据的相关流程、规范。
软件可以复制无数份,而每个系统都是独一无二的。
需求分析入门_第1张图片需求分析入门_第2张图片

什么是好管理软件

需求分析入门_第3张图片

管理软件的发展

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

常用的管理软件

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

管理软件的实施方式

需求分析入门_第6张图片

认识需求分析

需求分析的定义

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

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

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

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

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

需求的获取方法

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

  • 观察法

  • 体验法

  • 问卷调查法

  • 访谈法

  • 单据分析法

  • 报表分析法

  • 需求调研会法

系统规划

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

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

数据建模

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

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

参考文献
需求分析入门_第7张图片
需求分析入门_第8张图片

功能设计

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

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

需求分析入门_第9张图片

原型说明书

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

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

需求变更

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

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

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

如何成为一个需求分析师

什么是需求分析师

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

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

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

性格要求

需求分析入门_第10张图片

掌握IT知识

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

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

掌握企业管理知识

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

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

精通一种开发模型

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

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

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

你可能感兴趣的:(软件需求分析,需求分析,数据库)