background image

合格的

I

T

合格的

IT 项目系统分析员要具备的素质

作为系统分析员或高级程序员,也就是对于一个程序项目的设计者而言,需要具备以下素

 

质:

 

第一,需求分析能力

对于程序员而言,理解需求就可以完成合格的代码,但是对于研发项目的组织和管理者,

 

他们不但要理解客户需求,更多时候还要自行制定一些需求,为什么这么说呢? 一般而言,
进行研发任务,也许是客户提出需求,也许是市场和营销部门提出的需求,这时候对于研
发部门,他们看到的不是一个完整的需求,通常而言,该需求仅仅是一些功能上的要求,
或者更正规些,可能获得一个完整的用户视图;但是这都不够,因为客户由于非技术因素
多一些,他们可能很难提出完整和清晰,或者说专业性的性能需求,但是对于项目组织者
和规划者

,他必须能够清醒认识到这些需求的存在并在完成需求分析报告的时候适当的提出,

 

同时要完整和清晰的体现在设计说明书里面,以便于程序员编码时不会失去这些准则。 程
序设计者必须正确理解用户需求所处的环境,并针对性做出需求的分析,举例而言,同样
一个软件通过

ASP 租用方式发布和通过 License 方式发布,性能需求可能就是有区别的,

前者强调的是更好的支撑能力和稳定性,而后者则可能更强调在各种平台下的普适性和安

 

装使用的简捷性。

 

第二,项目设计方法和流程处理能力

程序设计者必须能够掌握不少于两到三种的项目设计方法(比如自顶至下的设计方法,比
如快速原型法等等),并能够根据项目需求和资源搭配来选择合适的设计方法进行项目的
整体设计。设计方法上选择不当,就会耽误研发周期,浪费研发资源,甚至影响研发效果。
一个程序设计者还需要把很多功夫用在流程图的设计和处理上,他需要做数据流图以确立
数据词典;他需要加工逻辑流图以形成整体的系统处理流程。一个流程有问题的系统,就
算代码多漂亮,每个模块多精致,也不会成为一个好的系统。当然,做好流程分析并选择

 

好项目设计方法,都需要在需求分析能力上具有足够的把握。

 

第三,复用设计和模块化分解能力

这个似乎又是老调重谈,前面基本素质上不是已经说明了这个问题吗?作为一个从事模块
任务的程序员,他需要对他所面对的特定功能模块的复用性进行考虑,而作为一个系统分
析人员,他要面对的问题复杂的多,需要对整体系统按照一种模块化的分析能力分解为很
多可复用的功能模块和函数,并针对每一模块形成一个独立的设计需求。举个例子,好比
是汽车生产,最早每辆汽车都是独立安装的,每个部件都是量身定做的,但是后来不一样
了,机器化大生产了,一个汽车厂开始通过流水线来生产汽车,独立部件开始具有一定的
复用性,在后来标准化成为大趋势,不同型号,品牌甚至不同厂商的汽车部件也可以进行
方便的换装和升级,这时候,汽车生产的效率达到最大化。软件工程也是同样的道理,一
个成熟的软件行业,在一些相关项目和系统中,不同的部件是可以随意换装的,比如微软
的许多桌面软件,在很多操作模块(如打开文件,保存文件等等)都是复用的同一套功能
模块,而这些接口又通过一些类库提供给了桌面应用程序开发者方便挂接,这就是复用化

 

的模块设计明显的一个佐证。 将一个大型的,错综复杂的应用系统分解成一些相对独立的,
具有高度复用性的,并能仅仅依靠几个参数完成数据联系的模块组合,是作为高级程序员
和系统分析员一项最重要的工作,合适的项目设计方法,清晰的流程图,是实现这一目标

 

的重要保证。

 

第四,整体项目评估能力