1、需求评审的重要性 在软件项目中,需求分析是最开始的工作,同时也是最重要的工作。需求分析如果做得不够详细或者是偏离用户需求或者是存在缺陷的话,往往会给项目带来灭绝性的灾难,不重视需求过程的项目团队将自食其果。因此,如何保证需求分析的正确、准确性,成了决定软件项目成败的关键因素。在实际的项目过程中,需求阶段往往是由一两位需求分析人员与用户沟通用户需求,然后根据自己的理解输出软件需求说明书及软件原型。 接下来的项目计划、软件设计、编码、测试等各个环节都以此为基准。俗话说,当局者迷,旁观者清,经验再丰富的需求分析人员也可能犯错,所谓智者千虑,必有一失,这是永远不变的客观规律。另外,受需求分析人员的理解及用户的表达等因素的影响,需求在传递过程中往往存在很大偏差。 需求分析人员输出的需求分析说明书,到设计人员、编码人员、测试人员那里往往又会有不同的理解。因此,软件需求分析说明书的正确性必须得到彻底的验证,利益相关方必须彻底理解需求,并达成一致。要达成这一目标、降低需求风险,需求评审是一个行之有效的方法。 目前,很多小型软件企业在需求阶段,往往是需求人员写完需求后再跟用户沟通一下,就直接进入设计开发阶段了,设计、编码、测试人员前期没有参与进来,根本没有进行需求评审。也有不少企业的需求评审存在“走过场”的情况,其他人员根本不关心软件需求,认为软件需求就是需求分析人员的事情,他们怎么写大家怎么做就可以了,在提需求异常时简单找几个错别字提一下应付了事,没有提出有效的需求异常。也有的时候,在需求评审会议中,大家的关注点常常会不知不觉的转向设计,结果需求评审会议成了设计讨论会议,大家想得最多的是需求如何实现,而不是需求文档本身有无问题。 或者是因为没有做好前期准备工作,导致评审时间长、效率低,结果很多问题不了了之。这样的评审,最终效果可想而知。 2、需求评审的关键 下文根据笔者多年参与软件项目管理的切身体会及经验,从不同角度对需求评审方法进行论述。 2.1 充分准备评审 好的软件需求说明书,是进行有效需求评审的前提。 首先,需求人员在与用户确认需求的过程中,一定不要放过任何一个细节,仔细体会用户的每一个要求。对于用户的要求,需求人员需要对其加以梳理:哪些是合理的需求,哪些是不合理的需求,还有一些可能是必要的但是用户没想到的需求。 软件需求说明书不应该只是用户意愿的表达,而应该是从软件层面上对用户需求的总结。 软件需求说明书对需求用例的描述一般分为基本流和扩展流,基本流是大家很容易想到的主要业务流程,而实际设计开发及测试过程中,最耗费时间的是实现扩展流的过程。因此不能只注重基本流,好的软件需求说明书,扩展流一定远远多于基本流,扩展流写得越完善,说明需求人员考虑得越周全。 而实质上,如果扩展流写得不完善,后期的设计、开发及测试人员往往在相应的细节处理上无所适从。 2.2 分层次评审 用户的需求是可以分层次的,一般而言分成以下层次: ①目标性需求,定义整个系统需要达到的目标; ②功能性需求,定义了整个系统必须完成的任务; ③操作性需求,定义了完成每个任务的具体的人机交互;目标性需求是企业的高层管理人员所关注的,功能性需求是企业的中层管理人员所关注的,操作性需求是企业的具体操作人员所关注的。 对不同层次的需求,其描述形式是有区别的,参与评审的人员也是不同的。如果让具体的操作人员去评审目标性需求,可能会很容易地导致“捡了芝麻,丢了西瓜”的现象,如果让高层的管理人员也去评审那些操作性需求,无疑是一种资源的浪费。 分层次评审,可以让不同类型的参与人分别评审他们关注的内容,从不同的角度找到需求的异常,提高评审效率。
软件工程师职称评定的级别及标准
一、见习程序员(AP:assistant programmer) 1、计算机相关专业毕业;英语通过国家四级。 2、具有较强的学习能力,可以编写代码,达到公司的工作要求。 二、程序员(P:programmer) 基本要求: 1、本科学历,半年以上工作经验;英语通过国家四级。 2、达到工作承担要求;具有一定的沟通能力和工作责任心。 技术能力要求: 1、负责编写代码,掌握一种主流语言/开发工具,一种主流操作系统,一种主流数据库。 2、了解和掌握开发作业(PD设计、编码和测试等)的规范和技巧。 3、所编写的代码质量较好。 4、能够按照要求编写文档,文档结构条理清晰,内容详实准确。 5、具有独立理解所担当模块的业务理解能力和问题阐述能力。 6、能阅读**文技术文档。 三、高级程序员(SP:senior programmer) 基本要求: 1、获得程序员资格1年以上;或满足程序员级别标准,2年以上相关行业工作经验。 2、完成年度工作量指标;具有较强的沟通能力和责任心。 3、所承担的项目满意度达到满意以上。 技术能力要求: 1、精通一种主流语言及对应的开发工具;精通数据结构。 2、具有较好的业务理解能力和技术调查能力。 3、编写高质量代码并具有代码审查能力。 4、具有详细设计能力。 5、熟悉系统测试工具,对系统问题具有改善的能力。 6、能够带领2个以上员工开展工作,成功领导过3个以上不少于5人月的项目/模块的团队项目。 7、**语达到*级水平或者具有同等水平,能够阅读*文资料,按照要求编写*语技术文档。 8、了解质量管理体系和项目管理知识。 四、软件工程师(SE:software engineer) 基本要求: 1、获得高级程序员资格2年以上;或满足高级程序员级别标准,4年以上相关行业工作经验。 2、完成年度工作量指标;具有较强的客户沟通能力。 3、担当过一个20人月以上的项目或累计超过60人月项目的技术负责工作。 4、所负责的项目客户满意度达到满意以上。 技术能力要求: 1、精通并熟练运用2种以上的开发工具,至少一种数据库知识,至少一种操作系统知识。 2、能够很快完成新项目的技术调查工作,能够完成复杂算法的设计,能够设计可重用的和柔韧的软件结构。 3、具有系统设计能力及系统提案能力。 4、对系统或项目的技术框架有深入的认识和较丰富的经验。 5、具有某一领域的行业知识。 6、具有项目领导能力。 7、*语达到*级水平或者具有同等水平,能够阅读、编写*语技术文档,具有简单的口语沟通能力。 8、掌握质量管理体系和项目管理知识。 五、资深软件工程师(SSE:senior software engineer) 基本要求: 1、获得软件工程师资格2年以上;或满足软件工程师级别标准,6年以上相关行业工作经验。 2、完成年度工作量指标;具有较强的客户沟通能力。 3、担当过一个50人月以上的项目或累计超过100人月项目的技术负责工作。 4、带领的项目客户满意度满意以上。 5、完成年度培训工作。 技术能力要求: 1、精通并熟练运用2种以上的开发工具,至少一种数据库知识,至少一种操作系统知识。 2、具有整体系统设计能力及系统提案能力。 3、具有较强的技术筹划能力、技术指导能力和处理疑难问题的能力。 4、深入了解某一领域的行业知识。 5、具有大型项目领导能力。 6、*语达到*级并相当于*级水平,熟练会话和编写*语技术文档。 7、熟练掌握质量管理体系和项目管理知识,并能够推进软件开发过程改进。 六、主任软件工程师(CSE:chief software engineer) 基本要求: 1、获得资深软件工程师资格2年以上;或满足资深软件工程师级别标准,8年以上相关行业工作经验。 2、5年项目负责人以上经验,累计超过120人月的技术负责人工作。 3、带领的项目客户满意度满意以上。 4、完成年度培训工作。 5、具有很强的沟通能力,问题判断与解决能力,创新能力。 技术能力要求: 1、精通至少一种主流编程语言。掌握至少一种数据库或至少一种中间件。熟练掌握至少一种操作系统。 2、熟练掌握软件需求分析/大型项目的策划。 3、熟练掌握软件的系统设计。 4、熟悉软件的高级项目管理和质量控制,具有分析和规避重大质量问 题的能力。 5、精通至少一种部门项目相关的业务知识。 6、*语达到*级水平或相当于*级的水平,熟练会话和编写*语技术文档。 职称管理工作和相关标准将随着公司的发展而不断调整完善。
麻烦采纳,谢谢!
作为一个软件测试人员,需求评审应该做些什么?
需求评审对于软件测试人员来说就像是最初的“产品测试”,在理解的基础上发现产品设计上缺陷,其中包括逻辑错误,功能缺失,细节问题等等,这样就会有效的在前期规避很多后期开发中产生的bug,减少了很多后期返工的成本。可偏偏需求评审往往是最不重视的一环,甚至可以说是没有这个环节,追其原因无非因为项目时间紧迫或者觉得没有必要,其实这是本末倒置和得不偿失的。
产品需求作为程序的源头,只有控制好最开始部分,才不会到最后去亡羊补牢。我有过很多血的教训,所以才深深的体会到需求评审的重要性。
说了需求评审的重要性,接着就来谈谈如何进行需求评审,一般还是分为3步:
第一步就是要完全读懂产品需求,这个过程只需要理解而不是去挑刺,因为要明白这个需求的目的是什么,为什么这样做,怎么做等等,只有在理解的基础上才能去发现问题,而不是一知半解的去挑毛病,有些需求设计的是不合理,但也许有其特殊的用意,或者只是没有更好的方案,不能为了挑毛病而去挑。
第二步就是分析和找问题;这就有点类似写测试用例的时候设计测试方案了,把逻辑梳理出来,看看有没有不对或者遗漏的点,整理出来反馈给产品经理。除了考虑有问题的地方,没问题的地方也是需要分析的,比如有些设计非常合理,但会增加代码的复杂度或者不利于后续的扩展和修改,同时也可能会给测试带来成倍的工作量,这些也是需要指出的,因为测试要考虑的东西一定要比产品经理多,用户使用习惯,程序复杂度,与线上系统的兼容性等等,不然直接让产品经理做测试不就好了吗?
第三步就是细节问题的纠正,可以是界面,可以是文字,开发一般都是复制黏贴或者照着样子画葫芦,这些小问题后期其实也可以测试出来的,但其锅不在于开发,早点发现问题早点解决也是好事一件,至少不用提bug走一套bug处理流程了,也算给大家省点工作量,积少成多也是极好的。
当然需求评审能解决的问题也是有限的,一方面计划往往赶不上变化,中间会有部分需求的改动,另外一方面有些深层次的问题只有在测试之后才会发现。但无论如何对于测试来说还是非常有必要的,如果能重视起来不仅仅对项目的效率提高不少,而且也能让后期测试压力减小,何乐而不为呢?
软件开发过程一般有几个阶段?每个阶段有什么作用?
1、首先制定项目计划,最初计划是里程碑性质的。可以先按瀑布模型设置,里程碑点主要为需求评审、设计评审、经过代码开发和单元测试后进行集成测试、部署上线是一个很重要的里程碑,一般用户会期望系统何时能使用,进入试运行期。
2、需求开发阶段:怎么样写好需求很关键,这个需要实践经验锻炼自己。如果有项目成员,可以一起做需求,这个阶段对于业务理解、分析、如何开展调研以及文字表述、业务流程图描述还有文档编辑能力都有不少要求。一般分为《用户需求说明书》和《需求规格说明书》,小项目可以写一个《需求分析报告》,《用户需求说明书》是用用户的语言进行描述,让用户和开发团队对于需求的达成一致的理解,《需求规格说明书》,则是对用户需求的分析,形成系统要具有的功能,这个是真正提供用户可交互操作的文档,也就是后期设计和代码开发的重要基线。
另外,作为了解需求,拿出用户UI和用户交流也是一项比较重要的需求获取手段,虽然这个属于设计的范畴
3、系统设计阶段:
系统总体架构,结合用户对系统环境、开发语言以及运行的网络硬件等要求,确定开发工具等,对应用系统关系进行架构性设计,通过需求阶段对用户的分析归类,用图的方式描述出用户和各子系统或模块的全局视图,以及和其他系统的关系。也就是搞清楚系统的边界问题。
概要设计中除了高层架构设计,还需要设计网络拓扑图,以及系统部署图。概要设计比较重要的还有就是子系统、模块进行合理的划分。模块的名称很大程度上会成为用户的主要菜单,如何用用户的角度去取比较清楚的子系统和模块是很重要的。
4、代码开发和单元测试阶段:这个阶段一般来说需要改进瀑布模型,类似跌代开发,把模块进行合理划分,把项目总体计划的代码开发测试阶段划分为多个时间段,每个时间段都包括代码开发、单元测试和集成测试,这个阶段还需要对需求变更进行跟踪控制,如果需求有变更,那么要把需求文档、设计文档都重新跟上。跌代开发的好处就是不让代码开发阶段拉的过程,没有进行及时的自我检查,不小心到了提交时间,却不是用户想要的,还有可能都不是自己想要的。
项目经理重要的责任是控制好进度,能及早发现风险,并能拿出好的预防和解决办法的措施。合理安排好开发团队的任务,合时的任务安排和衔接,你会觉得非常有艺术感,这个要自己体会了。另外,关注项目团队各人员的状况,保持高的战斗力,及时发现并能鼓励团队共同朝一个目标前进。
5、测试工作,测试是项目的很重要的环节,怎么测试,怎么准确测试,怎么有效测试,怎么覆盖测试,时间、人手、经验扽个方面都会有制约。高级测试人员能够分析系统各测试要点,在需求、设计阶段都要参与,提早了解如何去测试,能写出测试用例。
6、文档工作,文档在项目开发中也占有重要位置,除非你觉得代码是项目唯一的成果,那么你把文档抛掉吧,什么都在你的脑子里,团队中人员一走,项目的一部分也就带走了。代码开发其实也需要文档,代码是成果,代码注释是成果,模块开发卷宗也是重要的成果,因为程序员在开发时候的逻辑是怎么样的,对于今后查问题很有作用。除非你的系统设计程度到了方法、类,把代码逻辑也都设计好了,那么程序员就CODEING去吧。
7、QA是对项目过程的质量保障,有些公司吧QA和测试工作合成一个岗位叫做QA&测试人员,或者就叫QA人员。QA是对项目全过程的监管,独立于项目之外。监督项目经理在各项目里程碑提交相关成果,入库形成基线。
软件工程师职称评定的级别及标准
一、见习程序员(AP:assistant programmer) 1、计算机相关专业毕业;英语通过国家四级。 2、具有较强的学习能力,可以编写代码,达到公司的工作要求。 二、程序员(P:programmer) 基本要求: 1、本科学历,半年以上工作经验;英语通过国家四级。 2、达到工作承担要求;具有一定的沟通能力和工作责任心。 技术能力要求: 1、负责编写代码,掌握一种主流语言/开发工具,一种主流操作系统,一种主流数据库。 2、了解和掌握开发作业(PD设计、编码和测试等)的规范和技巧。 3、所编写的代码质量较好。 4、能够按照要求编写文档,文档结构条理清晰,内容详实准确。 5、具有独立理解所担当模块的业务理解能力和问题阐述能力。 6、能阅读**文技术文档。 三、高级程序员(SP:senior programmer) 基本要求: 1、获得程序员资格1年以上;或满足程序员级别标准,2年以上相关行业工作经验。 2、完成年度工作量指标;具有较强的沟通能力和责任心。 3、所承担的项目满意度达到满意以上。 技术能力要求: 1、精通一种主流语言及对应的开发工具;精通数据结构。 2、具有较好的业务理解能力和技术调查能力。 3、编写高质量代码并具有代码审查能力。 4、具有详细设计能力。 5、熟悉系统测试工具,对系统问题具有改善的能力。 6、能够带领2个以上员工开展工作,成功领导过3个以上不少于5人月的项目/模块的团队项目。 7、**语达到*级水平或者具有同等水平,能够阅读*文资料,按照要求编写*语技术文档。 8、了解质量管理体系和项目管理知识。 四、软件工程师(SE:software engineer) 基本要求: 1、获得高级程序员资格2年以上;或满足高级程序员级别标准,4年以上相关行业工作经验。 2、完成年度工作量指标;具有较强的客户沟通能力。 3、担当过一个20人月以上的项目或累计超过60人月项目的技术负责工作。 4、所负责的项目客户满意度达到满意以上。 技术能力要求: 1、精通并熟练运用2种以上的开发工具,至少一种数据库知识,至少一种操作系统知识。 2、能够很快完成新项目的技术调查工作,能够完成复杂算法的设计,能够设计可重用的和柔韧的软件结构。 3、具有系统设计能力及系统提案能力。 4、对系统或项目的技术框架有深入的认识和较丰富的经验。 5、具有某一领域的行业知识。 6、具有项目领导能力。 7、*语达到*级水平或者具有同等水平,能够阅读、编写*语技术文档,具有简单的口语沟通能力。 8、掌握质量管理体系和项目管理知识。 五、资深软件工程师(SSE:senior software engineer) 基本要求: 1、获得软件工程师资格2年以上;或满足软件工程师级别标准,6年以上相关行业工作经验。 2、完成年度工作量指标;具有较强的客户沟通能力。 3、担当过一个50人月以上的项目或累计超过100人月项目的技术负责工作。 4、带领的项目客户满意度满意以上。 5、完成年度培训工作。 技术能力要求: 1、精通并熟练运用2种以上的开发工具,至少一种数据库知识,至少一种操作系统知识。 2、具有整体系统设计能力及系统提案能力。 3、具有较强的技术筹划能力、技术指导能力和处理疑难问题的能力。 4、深入了解某一领域的行业知识。 5、具有大型项目领导能力。 6、*语达到*级并相当于*级水平,熟练会话和编写*语技术文档。 7、熟练掌握质量管理体系和项目管理知识,并能够推进软件开发过程改进。 六、主任软件工程师(CSE:chief software engineer) 基本要求: 1、获得资深软件工程师资格2年以上;或满足资深软件工程师级别标准,8年以上相关行业工作经验。 2、5年项目负责人以上经验,累计超过120人月的技术负责人工作。 3、带领的项目客户满意度满意以上。 4、完成年度培训工作。 5、具有很强的沟通能力,问题判断与解决能力,创新能力。 技术能力要求: 1、精通至少一种主流编程语言。掌握至少一种数据库或至少一种中间件。熟练掌握至少一种操作系统。 2、熟练掌握软件需求分析/大型项目的策划。 3、熟练掌握软件的系统设计。 4、熟悉软件的高级项目管理和质量控制,具有分析和规避重大质量问 题的能力。 5、精通至少一种部门项目相关的业务知识。 6、*语达到*级水平或相当于*级的水平,熟练会话和编写*语技术文档。 职称管理工作和相关标准将随着公司的发展而不断调整完善。
麻烦采纳,谢谢!
软件开发流程有哪些,软件后期维护怎么做
软件后期的维护怎么做呢?依据我们的软件开发经验,下面为大家进行介绍
做好更新计划:
做好更新计划主要是涉及两方面的考虑,第一就是内部开发人员可以有一个详细的更新步骤以及任务安排,第二就是对客户来说也是一个很好的项目实施的结果展示。更新计划也可看成是项目的阶段性成果,作为与客户相互沟通的一部分文档资料。
2. 实时告诉客户每次的更新成果:
这个主要是为了将每次的更新成果实时的告诉客户,有些客户他不管你做的项目到底进行的怎么样了,他要的只是结果,有段时间他可能很忙,他就不管,但是他一有空闲他就会向你询问项目的进展情况,这时你告诉他已经更新过了还是….,所以最郁闷的就是你更新过了,客户又打电话过来问你项目的进展情况。这样的事我在项目进行过程中深有体会,派一个项目组员过去将进行系统更新,但是组员又没告诉客户他这次来更新的工作内容,只是提前告诉客户某天我们回来人进行系统的更新,所以客户也对系统的更新情况不了解,所以最好的做法就是实时告诉客户工作的具体内容。
3. 实时从客户那里获取最新的意见:
这个主要是涉及到具体的功能的实现问题,比如某个功能在跟客户交流的时候他说要实现一下,但是按照我们开发者的思维去思考的话总是按照技术角度去考虑问题,有些客户提出的问题会不放在心上,这样与客户交流回来后进行系统更新计划,但是有时你做的这些工作不是客户想要的,他说出来的也许就是对他来说最重要的功能,所以为了减少工作量,一定要听取客户的意见,实时的把握客户的需求,这样每次做的工作才能满足客户的最大需求。
总之,在去客户那里配置更新后的系统前,每次都做好更新计划和实时步骤以及更新成果。
软件开发活动中,何时开展评审
1、需求评审的重要性 在软件项目中,需求分析是最开始的工作,同时也是最重要的工作。需求分析如果做得不够详细或者是偏离用户需求或者是存在缺陷的话,往往会给项目带来灭绝性的灾难,不重视需求过程的项目团队将自食其果。因此,如何保证需求分析的正确、准确性,成了决定软件项目成败的关键因素。在实际的项目过程中,需求阶段往往是由一两位需求分析人员与用户沟通用户需求,然后根据自己的理解输出软件需求说明书及软件原型。 接下来的项目计划、软件设计、编码、测试等各个环节都以此为基准。俗话说,当局者迷,旁观者清,经验再丰富的需求分析人员也可能犯错,所谓智者千虑,必有一失,这是永远不变的客观规律。另外,受需求分析人员的理解及用户的表达等因素的影响,需求在传递过程中往往存在很大偏差。 需求分析人员输出的需求分析说明书,到设计人员、编码人员、测试人员那里往往又会有不同的理解。因此,软件需求分析说明书的正确性必须得到彻底的验证,利益相关方必须彻底理解需求,并达成一致。要达成这一目标、降低需求风险,需求评审是一个行之有效的方法。 目前,很多小型软件企业在需求阶段,往往是需求人员写完需求后再跟用户沟通一下,就直接进入设计开发阶段了,设计、编码、测试人员前期没有参与进来,根本没有进行需求评审。也有不少企业的需求评审存在“走过场”的情况,其他人员根本不关心软件需求,认为软件需求就是需求分析人员的事情,他们怎么写大家怎么做就可以了,在提需求异常时简单找几个错别字提一下应付了事,没有提出有效的需求异常。也有的时候,在需求评审会议中,大家的关注点常常会不知不觉的转向设计,结果需求评审会议成了设计讨论会议,大家想得最多的是需求如何实现,而不是需求文档本身有无问题。 或者是因为没有做好前期准备工作,导致评审时间长、效率低,结果很多问题不了了之。这样的评审,最终效果可想而知。 2、需求评审的关键 下文根据笔者多年参与软件项目管理的切身体会及经验,从不同角度对需求评审方法进行论述。 2.1 充分准备评审 好的软件需求说明书,是进行有效需求评审的前提。 首先,需求人员在与用户确认需求的过程中,一定不要放过任何一个细节,仔细体会用户的每一个要求。对于用户的要求,需求人员需要对其加以梳理:哪些是合理的需求,哪些是不合理的需求,还有一些可能是必要的但是用户没想到的需求。 软件需求说明书不应该只是用户意愿的表达,而应该是从软件层面上对用户需求的总结。 软件需求说明书对需求用例的描述一般分为基本流和扩展流,基本流是大家很容易想到的主要业务流程,而实际设计开发及测试过程中,最耗费时间的是实现扩展流的过程。因此不能只注重基本流,好的软件需求说明书,扩展流一定远远多于基本流,扩展流写得越完善,说明需求人员考虑得越周全。 而实质上,如果扩展流写得不完善,后期的设计、开发及测试人员往往在相应的细节处理上无所适从。 2.2 分层次评审 用户的需求是可以分层次的,一般而言分成以下层次: ①目标性需求,定义整个系统需要达到的目标; ②功能性需求,定义了整个系统必须完成的任务; ③操作性需求,定义了完成每个任务的具体的人机交互;目标性需求是企业的高层管理人员所关注的,功能性需求是企业的中层管理人员所关注的,操作性需求是企业的具体操作人员所关注的。 对不同层次的需求,其描述形式是有区别的,参与评审的人员也是不同的。如果让具体的操作人员去评审目标性需求,可能会很容易地导致“捡了芝麻,丢了西瓜”的现象,如果让高层的管理人员也去评审那些操作性需求,无疑是一种资源的浪费。 分层次评审,可以让不同类型的参与人分别评审他们关注的内容,从不同的角度找到需求的异常,提高评审效率。
软件工程师职称评定的级别及标准是什么?
一、见习程序员(AP:assistantprogrammer)
计算机相关专业毕业;英语通过国家四级。
具有较强的学习能力,可以编写代码,达到公司的工作要求。
二、程序员(P:programmer)
基本要求:
本科学历,半年以上工作经验;英语通过国家四级。
达到工作承担要求;具有一定的沟通能力和工作责任心。
技术能力要求:
负责编写代码,掌握一种主流语言/开发工具,一种主流操作系统,一种主流数据库。
了解和掌握开发作业(PD设计、编码和测试等)的规范和技巧。
所编写的代码质量较好。
能够按照要求编写文档,文档结构条理清晰,内容详实准确。
具有独立理解所担当模块的业务理解能力和问题阐述能力。
能阅读**文技术文档。
三、高级程序员(SP:seniorprogrammer)
基本要求:
获得程序员资格1年以上;或满足程序员级别标准,2年以上相关行业工作经验。
完成年度工作量指标;具有较强的沟通能力和责任心。
所承担的项目满意度达到满意以上。
技术能力要求:
精通一种主流语言及对应的开发工具;精通数据结构。
具有较好的业务理解能力和技术调查能力。
编写高质量代码并具有代码审查能力。
具有详细设计能力。
熟悉系统测试工具,对系统问题具有改善的能力。
能够带领2个以上员工开展工作,成功领导过3个以上不少于5人月的项目/模块的团队项目。
**语达到*级水平或者具有同等水平,能够阅读*文资料,按照要求编写*语技术文档。
了解质量管理体系和项目管理知识。
四、软件工程师(SE:softwareengineer)
基本要求:
获得高级程序员资格2年以上;或满足高级程序员级别标准,4年以上相关行业工作经验。
完成年度工作量指标;具有较强的客户沟通能力。
担当过一个20人月以上的项目或累计超过60人月项目的技术负责工作。
所负责的项目客户满意度达到满意以上。
技术能力要求:
精通并熟练运用2种以上的开发工具,至少一种数据库知识,至少一种操作系统知识。
能够很快完成新项目的技术调查工作,能够完成复杂算法的设计,能够设计可重用的和柔韧的软件结构。
具有系统设计能力及系统提案能力。
对系统或项目的技术框架有深入的认识和较丰富的经验。
具有某一领域的行业知识。
具有项目领导能力。
*语达到*级水平或者具有同等水平,能够阅读、编写*语技术文档,具有简单的口语沟通能力。
掌握质量管理体系和项目管理知识。
五、资深软件工程师(SSE:seniorsoftwareengineer)
基本要求:
获得软件工程师资格2年以上;或满足软件工程师级别标准,6年以上相关行业工作经验。
完成年度工作量指标;具有较强的客户沟通能力。
担当过一个50人月以上的项目或累计超过100人月项目的技术负责工作。
带领的项目客户满意度满意以上。
完成年度培训工作。
技术能力要求:
精通并熟练运用2种以上的开发工具,至少一种数据库知识,至少一种操作系统知识。
具有整体系统设计能力及系统提案能力。
具有较强的技术筹划能力、技术指导能力和处理疑难问题的能力。
深入了解某一领域的行业知识。
具有大型项目领导能力。
*语达到*级并相当于*级水平,熟练会话和编写*语技术文档。
熟练掌握质量管理体系和项目管理知识,并能够推进软件开发过程改进。
六、主任软件工程师(CSE:chiefsoftwareengineer)
基本要求:
获得资深软件工程师资格2年以上;或满足资深软件工程师级别标准,8年以上相关行业工作经验。
5年项目负责人以上经验,累计超过120人月的技术负责人工作。
带领的项目客户满意度满意以上。
完成年度培训工作。
具有很强的沟通能力,问题判断与解决能力,创新能力。
技术能力要求:
精通至少一种主流编程语言。掌握至少一种数据库或至少一种中间件。熟练掌握至少一种操作系统。
熟练掌握软件需求分析/大型项目的策划。
熟练掌握软件的系统设计。
熟悉软件的高级项目管理和质量控制,具有分析和规避重大质量问题的能力。
精通至少一种部门项目相关的业务知识。
*语达到*级水平或相当于*级的水平,熟练会话和编写*语技术文档。
职称管理工作和相关标准将随着公司的发展而不断调整完善。
工程师:
工程师指具有从事工程系统操作、设计、管理、评估能力的人员。工程师的称谓,通常只用于在工程学其中一个范畴持有专业性学位或相等工作经验的人士。
工程师(Engineer)和科学家(Scientists)往往容易混淆。科学家努力探索大自然,以便发现一般性法则(General principles),工程师则遵照此既定原则,从而在数学和科学上,解决了一些技术问题。科学家研究事物,工程师建立事物。科学家探索世界以发现普遍法则,但工程师使用普遍法则以设计实际物品。
工程师是职业水平评定(职称评定)的一种。其下,有技术员,助理工程师等职称;其上有高级工程师,教授级高级工程师等职称。当然,这也只是对从事工程建设或管理人员技术水平的一种标定而已。
按职称(资格)高低,分为:研究员或教授级高级工程师(正高级)、高级工程师(副高级)、工程师(中级)、助理工程师(初级)。
通常所说的工程师,是指中级工程师。工程师职称是要上级主管部门评定,全国通用。其中,要考中级英语职称考试和应用计算机考试。
在欧洲大陆一些国家,工程师称谓的使用被法律所限制,必须用于持有学位的人士,而其他没有学位人士使用,属于违法。在美国大部份州及加拿大一些省份亦有类似法律存在,通常只有在专业工程考试取得合格才可被称为工程师,而法律的范围一般只在蓄意欺诈的情况下才会执行。
转载请注明出处51数据库 » 软件开发里业务评审 软件开发活动中何时开展评审