程序员应如何提高系统分析能力(转)
来源: javafan
最近领导安排我来负责公司招聘面试。面试中发现,有一两年工作经验的应聘人员,系统分析能力普通较差,不知道该如何做一个系统、如何设计数据库。与他们的交谈中发现,他们对Struts、Hibernate、Spring这样的技术很看中,工作中也是大部分负责这部分的编码工作,参与设计很少。 回想99年刚参于工作时,马上就被分配到一个大型项目中,分析、设计、编码工作都要参与。经过三个月的锻练,我及项目组其它刚参加工作的同事,都有了较高的分析能力。半年后,我就担任另一项目的项目经理,并非常成功地完成了系统设计工作。 谈到这些,并不是在自夸。也没有说现在的程序员能力差的意思。但这两年刚毕业的程序员系统分析能力不高确是事实。我认真分析了一下,认为:主要是采用的开发技术不同而造成的。 以前开发的业务系统大部分是C/S结构的,采用的工具大部分是PB、VB等。这些工具的显著特点就是上手快,开发快,因此,开发人员将更多的精力放在了分析、设计上,这样自然而然的就在开发过程中提高了分析设计能力。 而现在流行的是基于J2EE技术的B/S结构。各种JAVA框架、技术层出不穷。程序员将精力都花在学习这些框架、技术上,没有时间去提高分析设计能力。其实,如果能真正领悟这些框架技术的思想也罢了,现在好多程序员所谓的“精通Struts、Hibernate”也就仅限于会使用而已,并没有学到其设计思想。再看他们写的代码,大部分是依着葫芦画瓢。很多基本的操作,比如新增,都会依照Struts规范写上好几个类,每天都在做着相似的重复劳动,而自己还认为很有成就感。这样简单重复的编程,使得程序员很少有创新机会,也忽略了程序算法,难怪有一半的面试人员连个基本的冒泡排序都写不上。 要成为一个真正有能力的高级程序员,要注重算法、设计模式,提高代码的质量,更应注意提高系统分析设计能力。否则,你会使用再多的框架,最终也只是一个普通程序员而已。 那么应如何提高自己的分析设计能力呢。最好的办法就是从那些简单、重复的编程工作中解脱出来,如可以采用一些开发平台轻松地实现这些工作。而将精力放在实现复杂业务逻辑及系统分析设计工作上。 我们公司研发的华丹CHARISMA快速开发平台(简称CHARISMA平台,www.huadan.biz),就是开发平台中的皎皎者,目前拥有一大批客户群,包括联想集团、九三学社、大唐电力、齐车集团、科大恒星、中国电科院等。 通过CHARISMA平台,对于系统中那些常见的新增、更新、删除,综合查询、报表等模块,再也不用你去手工编程实现,通过平台,你可以快速定制出来。除了这些简单的模块,CHARISMA平台还可以零编码实现很多复杂的业务,利用CHARISMA平台开发一个业务系统,80%以上的模块不用编写代码。 利用CHARISMA平台开发业务系统,是基于WEB页面进行设计及实现业务模块的,80%以上模块不用编写代码,可以充分发挥你的设计能力,所见即所得,这样在开发过程中,不自觉地就提高了自己的分析设计能力。 CHARISMA平台凝结了华丹公司多位IT精英的多年开发经验,以及众多客户的宝贵建议,从里面你会学到很多系统开发思想,理解如何实现一个业务系统。所以,如果你真能把CHARISMA平台的思想理解透,那么你的系统分析设计能力已相当高了。
分享到:
相关推荐
作为一名专业的 IT 大师,我将详细解释系统分析师需要具备的知识和能力,并告诉大家如何由一位程序员成长成一位系统分析师。 首先,需要明确的是,程序员和系统分析员不存在谁高级谁低级的分别,他们是两种职业,对...
软考程序员是针对信息技术领域初级技术人员的一项国家资格认证考试,旨在测试考生的基础编程能力、系统分析能力和软件工程实践能力。 在这些年的试卷中,你可以找到以下几个关键知识点: 1. **基础编程语言**:...
以下是对程序员应具备的12种能力的详细解析: 1. **编程语言能力**:精通一门编程语言是程序员的基础,这意味着深入理解语法、特性以及如何高效地解决问题。这需要时间和实践的积累,而不仅仅是速成课程。 2. **...
程序员需要花费一定时间撰写技术文档,尤其是高级程序员和系统分析师,其工作比重更大。 3. **规范化、标准化的代码编写习惯**:代码规范不仅可以提高代码的可读性和可维护性,也有利于不同开发者之间的协作。许多...
通过对这些试卷的深入学习和答案分析,考生可以全面了解考试的题型、难度、重点和趋势,从而有效提高复习效率,增强应试能力。 这份资料主要包含以下几个方面的重要知识点: 1. **基础知识**:程序员级别的考试会...
**四、需求理解与分析能力** 1. **需求理解**:准确理解客户需求是项目成功的基础。这意味着不仅仅要关注功能需求,还需深入挖掘背后的业务逻辑和性能指标。 2. **性能考量**:在进行系统设计时,必须综合考虑系统...
这要求具备逻辑思维、分析能力和调试技巧,能够通过分解问题、理解需求到设计解决方案。 2. **创造力**:在编写代码时,创新和独特性是关键。合格的程序员需要有想象力,能够设计出高效、可扩展且易于维护的系统。 ...
【程序员虚拟面试系统】是一种专为程序员设计的模拟面试平台,旨在帮助开发者通过模拟实际面试场景来提升自己的技能和应对面试的能力。这个exe版工具提供了一个便捷的方式,让程序员可以在家里或者任何地方进行自我...
在能力方面,程序员必须具备分析问题和解决问题的能力。这不仅包括理解问题所需数据的类型和数量,还要能识别数据间的关系,选择合适的存储结构(比如数组或链表),确定有效的算法(如排序或搜索算法),实施算法的...
2006年的程序员考试是对当年全国范围内程序员技能的一次全面考核,旨在评估和提高程序员的基础理论知识、编程能力和问题解决能力。这份考试分析解答提供了深入的洞察,帮助考生理解和掌握考试的重点与难点。 1. **...
解决问题的能力包括逻辑思维、分析能力和创新思维,能够快速定位问题所在,并提出有效的解决方案。 ### 3. 沟通与团队协作 良好的沟通技巧和团队协作精神对于程序员而言至关重要。项目开发往往不是一个人的战斗,...
这份资源大全旨在帮助系统管理员提高工作效率,确保系统的稳定运行,同时也为学习和提升相关技能的程序员提供了丰富的参考资料。 在备份与克隆软件方面,资源大全列举了如Amanda、Bacula、Backupninja、Backuppc等...
良好的英文读写能力有助于程序员紧跟技术前沿,提高个人竞争力。 ### 8. 系统安全与加密技术 随着网络安全威胁的日益增多,了解如何保护系统免受攻击,以及加密数据的重要性变得越来越重要。这包括防火墙配置、...
9. **软技能**:良好的沟通能力、问题分析能力和自我学习能力同样重要,这将影响到面试者是否能在团队中高效协作和持续成长。 《第三章 三种考试(电子)》可能是对面试形式的深入探讨,涵盖了在线测试、电话面试和...
理解网络原理能帮助我们优化应用程序的性能,提高系统的可靠性。 数据库管理是存储和处理数据的核心。复习资料可能包括SQL语言、关系型数据库如MySQL、NoSQL数据库如MongoDB、事务处理、索引优化、数据库设计等方面...
通过这些试题,考生可以了解考试的出题趋势,熟悉考试题型,同时通过解答分析,能更好地理解和掌握各知识点,提高解决问题的能力。在准备软考初级程序员的过程中,考生应注重基础知识的积累,结合实际编程经验,多做...
1. **软件工程基础**:软件工程是程序员进行项目开发的基础,它涉及需求分析、系统设计、编码实现、测试与维护等阶段。理解软件生命周期,掌握需求获取和文档编写技能,以及如何运用敏捷开发方法进行高效协作,都是...
软件水平考试测试系统是针对程序员进行的一项专业能力评估,它主要涵盖了计算机科学和技术的基础知识,以及编程语言、数据结构、算法、操作系统、网络、数据库等多个方面的内容。这个测试系统旨在检验程序员在实际...
- 性能优化:考虑数据库索引、查询优化,减少不必要的数据传输,提高系统响应速度。 - 用户体验:设计简洁易用的界面,提供良好的导航和反馈机制,提升用户满意度。 5. 维护与升级: - 日志与错误跟踪:记录系统...