系统分析师的内容,系统分析师必备知识和技术

首页 > 教育 > 作者:YD1662024-06-12 10:43:02

我做过C 程序员、C#程序员、Java程序员、大数据工程师、软件测试工程师,做过MFC小程序,也写过Python爬虫,但都不是很喜欢。如今,有幸做一回系统分析师。

我不清楚别人家的系统分析师是干什么的,我只说我现在是干什么的。以此回答很多小伙伴的询问,(1)你是干什么的?(2)系统分析师是干啥的?

简洁一句话:我是专注需求工程的分析师,主要是分析需求。

是不是感觉不太懂,那么我就相对地细数一下我这三个月的收获。

整个工作主要包括需求获取、需求分析、定义需求、完成需求验证、参与需求管理几个主要环节,我现在是不写代码的(点名不允许写代码,可以私下写的,哈哈)。

系统分析师的内容,系统分析师必备知识和技术(1)

我这样划分,是想将需求开发和需求管理分开,采用的思想是开发库、受控库和产品库的思想。

需求分类(越详细,抽象层次越低)主要考虑:业务需求(整体全局)、用户需求(用户视角)和系统需求(计算机化)。而系统需求包括功能需求、非功能需求和设计约束。大家常见的性能需求属于肺功能需求,如界面打开速度锁遵循业界的258原则(2秒打开可接受,5秒打开可容忍,8秒打开垃圾产品)。

需求功能开发常常包含基本需求(明示,常规需求)、期望需求(隐含)和兴奋需求(多余)。而期望需求因为是隐含的,所以是项目的风险多发区域。比如:我们是开发或者是设计人员,没写某些期望需求,那么就不实现了,这种做法是不正确的。

pieces方法是衡量非功能性需求的,包括6个维度性能、信息、经济、控制、效率、服务。

需求开发主要包括需求获取、需求分析、需求定义和需求验证,这部分是我花时间最多的工作。

(1)需求获取的方式

  1. 用户访谈:1对1-3有代表性的用户。
  2. 问卷调查:用户多,无法一一访谈。
  3. 现场观摩:针对较为复杂的流程和操作。
  4. 联合需求计划(JRP):高度组织的群体会议,各方参与,成本较高。
  5. 情节串联板:一系列图片,通过这些图片来讲故事。
  6. 收集资料:把与系统有关的、对系统开发有益的信息收集起来。
  7. 参加业务实践:有效地发现问题的本质和寻找解决问题的办法。
  8. 阅读历史文档:对收集数据性的信息较为有用。
  9. 抽样调查:降低成本。 样本大小=α* (可信度系数/可接受的错误)2 注:α一般取0.25,

(2)需求分析包括结构化需求分析和面向对象的需求分析。

结构化需求分析,俗称3 1视图,3个模型和1个数据字典,这个并没有被淘汰,依旧经典。

系统分析师的内容,系统分析师必备知识和技术(2)

相对于结构化分析的3 1视图,面向对象的需求分析可以记做经典的4 1视图。

用例图:最终用户,需求分析模型

逻辑视图:系统分析、设计人员,类和对象

进程视图:系统集成人员。线程、进程、并发

实现视图:程序员。物理代码文件和组件

部署视图:系统和网络工程师。软件到硬件的映射

需求建模包括用例模型和分析模型。

系统分析师的内容,系统分析师必备知识和技术(3)

(3)需求定义(需求规格说明书,SRS)

严格定义法

原型法

(4)需求验证

需求评审包括正式评审和非正式评审

需求测试,不是软件测试那个针对代码的测试哦!

需求管理主要包括变更管理、版本控制、需求跟踪、需求状态跟踪、需求风险管理。

需求风险管理是工作中最容易犯的问题,可以结合一下几点考虑,避免返工。

  1. 无足够用户参与
  2. 忽略了用户分类
  3. 用户需求的不断增加
  4. 模棱两可的需求
  5. 不必要的特性
  6. 过于精简的SRS
  7. 不准确的估算

总而言之,我现在的工作很大程度上依赖于都业务的熟练程度,以及个人对业务、系统的把控,再加上专业知识,完成当前的分析任务,产出结果物。我要强调三点:

1.沟通,高效沟通很重要,在团队内外快捷有效的沟通,并能确认沟通结果。

2.专业知识真的不是很重要,就是你根本不知道我写的这些内容,你也一样可以做好;如果有更好,毕竟方法论是一种升华。

3.业务的熟练是重点,如果能做到想熟悉自己家一样,那你基本上一个不可替代的人物。

专业的路上没有捷径,也没有绝对的对与错,我分享我这三个月的收获,希望能给那些国内的某些企业提点建议,你们能不能也设几个系统分析师的岗位,搞得我们都没法投奔你们了!

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.