便,而且可能还具有用户没有具体指定的某些功能和特点。虽然用户没有提出这些具体要求,但是系统分析员根据自己的知识和经验断定,这些附加的能力在实践中将证明是很有价值的。
3:高成本的"十全十美"的系统
这样的系统具有用户可能希望有的所有功能和特点。系统分析员应该使用系统流程图或其他工具描述每种可能的系统,估计每种方案的成本和效益,还应该在充分权衡各种方案的利弊的基础上,推荐一个较好的系统(最佳方案),并且制定实现所推荐的系统的详细计划。如果用户接受分析员推荐的系统,则可以着手完成本阶段的另一项主要工作。”(引用《如何写系统分析书》一文)
经过系统分析的阶段,我们就比较容易和客户在系统如何部署、采用的数据库类型、设计模型和分析模型等方面达成一致的认识,如果能顺利地将客户的需求业务逻辑分析转化为程序逻辑,把原先用户可视化的界面原型和业务流程图映射成编码人员理解的模型和规范时,那么恭喜你,项目已经成功了一半。
三:系统分析的难点和技能要求:
网络应用的开发技术在日新月异地进步,从而使网站应用系统的开发模式具有多种选择性,达到同样的目标可以采用很多不同的方式,现代的应用系统越来越成为一个庞大的集成方案,需要考虑不同的操作平台、不同的应用服务器、不同的数据库、不同的编程语言、不同的传输介质等等,无疑对系统分析员来说是个严峻的考验,任何人都不可能精通甚至说掌握全部的技术,简单例子:现在有Windows,Unix,Linux等各种服务器操作平台,有SQL Server,Oracle,DB2,Sybase,MySQL等数据库,有JAVA,PHP,ASP,CGI,JSP,C++,VB,Delphi等等工具,谁能全部精通呢?如果不能,那么如何确定是Windows+SQL Server+ASP好还是Unix+Oracle+JAVA合适?况且各种软件和语言还在不断发展进步之中,超越窄带的互联网,今后还可以涉及到宽带所带来的变动,或者增加与无线移动的接口,因此系统分析员能否出色的胜任工作很大程度上决定了系统开发的成败。
系统分析的主要难点在于:
? 对客户隐藏的性能需求的分析:由于客户对尚未实施的系统无法预见,对今后的业务发展也无法预知,对性能需求的分析和定义更需要系统分析员协助客户去确定和挖掘;
? 确定项目设计方法:根据项目需求和资源的配置选择最合适的设计方式。
? 对系统模块的划分和代码复用的设计:模块最大化,代码复用度最高,是一个成熟的系统不断致力追求的,将大型复杂的应用系统分解成相对独立,具有高度复用的模块,各个模块之间采用规范的参数接口,将大大提高系统的开发效率和维护升级的方便性。即使在网站的模版设计或交互设计上,也尽可能采用嵌套可复用的模版或调用统一的样式表、JS文件等。
? 项目整体评估:系统分析员绝不应成为孤立的完美主义者,而需要根据项目的大局出发,比如公司的资源配置、人力状况、客户要求等因素评估项目整体和各个模块的工作量、进度和分配资源,制定出最合理的可行的实施方案。
系统分析员不但需要具备良好的沟通协调能力,更需要具备业务和技术领域两方面的专业技能,在项目小组中是非常关键的角色之一。
四:软件建模使系统开发迈向成熟
Web应用系统往往随着客户的需求增长,开发不断深入,最终变得非常复杂,而且以Web为核心的网站系统通常都具有高度的动态扩展和交互,要在不完整和不断改变的需求情况下,在有限的时间内完成一套容易修改和维护的健壮的系统,在UML(统一建模语言)出现之前是极其困难的。
大多的Web设计师或程序开发员为了让
项目经理胜任力免费测评PMQ上线啦!快来测测你排多少名吧~
http://www.leadge.com/pmqhd/index.html