软件开发工作量如何评估
1。
需求确定的情况很少,因为客户的需求总是在变,即使确定下来,验收的时候也会提出新的问题,这个要靠项目经理沟通,用户当前的问题在这个版本中解决还是下期合同来做。
因此来说,需求大体确定以后,拆分子系统组成---子系统的组成模块--细分模块组成,这个是相对粗粒度的,然后就要考虑你手头队伍对细分模块的开发实现能力,大体就知道工作量了,如果不赶工期,时间要放长,软件开发,没有一帆风顺的,肯定会有很多问题,简单来说就是常见的需求变更。
展开全部2。
评估成员工作量,首先要了解队伍组成,哪些人规划流程清晰,哪些人对技术攻关能力更好,哪些人适合测试,哪些人编码快速,哪些人对数据库精通,哪些人对界面布局更擅长,哪些人有技术的同时更善于沟通。
所以通常都是更善于沟通的做组长,及时把流程清晰的告诉组员,反馈每个组员的工作进度,协同组员进度并决定何时由何人做技术攻坚,何时组织测试。
3。
项目完成以后就好统计了,每个小组的代码行数,实现的功能模块数量,供其他小组调用的模块,用时多少天,涉及多少领域等,其实这个统计不能说a组完成项目的40%,b组60%这样,比较合理的应该是在某个方面,各个小组的组成比例的表格,然后有个小组工作的总结比较合适。
如代码统计,a组2w行,占40%,b组3w,占60%。
模块数量:a组6个,占60%,b组4个占40%,并附模块结构的说明。
当然,各个公司的管理不一样,统计方式不一样,反正一个原则就是尽量兄弟们多说点好话,因为一个软件做成,每个环节都不能差的,再好的汽车,如果没有一个很普通的小小铁板当刹车踏板,你敢开吗。
...
软件质量评估的软件质量的有关概念
软件质量定义为:与软件产品满足需求所规定的和隐含的能力有关的特征或特性的全体。
具体包括:(1) 软件产品中所能满足用户给定需求的全部特性的集合;(2) 软件具有所有的各种属性组合的程度;(3) 用户主观得出的软件是否满足其综合期望的程度;(4) 决定所用软件在使用中将满足其综合期望程度的合成特性。
如图1所示,软件质量框架是一个“质量特征—质量子特征—度量因子”的三层结构模型。
在这个框架模型中,上层是面向管理的质量特征,每一个质量特征是用以描述和评价软件质量的一组属性,代表软件质量的一个方面。
软件质量不仅从该软件外部表现出来的特征来确定,而且必须从其内部所具有的特征来确定。
第二层的质量子特征是上层质量特征的细化,一个特定的子特征可以对应若干个质量特征。
软件质量子特征是管理人员和技术人员关于软件质量问题的通讯渠道。
最下面一层是软件质量度量因子(包括各种参数),用来度量质量特征。
定量化的度量因子可以直接测量或统计得到,为最终得到软件质量子特征值和特征值提供依据。
按照软件质量国家标准GB-T8566--2001G,软件质量可以用下列特征来评价:a.功能特征:与一组功能及其指定性质有关的一组属性,这里的功能是满足明确或隐含的需求的那些功能。
b.可靠特征:在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。
c.易用特征:由一组规定或潜在的用户为使用软件所需作的努力和所作的评价有关的一组属性。
d.效率特征:与在规定条件下软件的性能水平与所使用资源量之间关系有关的一组属性。
e.可维护特征:与进行指定的修改所需的努力有关的一组属性。
f.可移植特征:与软件从一个环境转移到另一个环境的能力有关的一组属性。
其中每一个质量特征都分别与若干子特征相对应。
如何提高平面设计能力
平面设计是什么?平面设计好不好学?这些问题我们在这里就不说了,平常我们自认为自己的平面设计能力很强,但真正叫你设计的时候又没有思路,不知道怎么设计,这基本都是因为能力不够的原因。
现在我们就来谈谈怎样提高平面设计水平!软件操作能力做设计,软件就好比我们手里的刀,你的刀法越好,做起事来也就越得心应手嘛。
设计理论基础知识有一把好刀,不知道怎么用,那也是一把废刀,软件能力在强,你头脑里也应该有点料啊,不然设计时只会用软件,而没有创意。
素材积累及素材来源素材对于设计师来说真的很重要,你不可能说每一次设计都要自己设计元素吧!那就要找素材,等你上网找素材,发现找了半天都没有中意的,时间也浪费了,所以,平常积累素材很重要,网上素材很多,关键看你怎么找,所以素材来源也颇为重要。
求教国家软考新增的软件过程能力评估师含金量怎么样?这个前景好吗...
刚开始的考试社会认知度会比较低,含金量一方面看细分行业前景,一方面看考试通过率。
其实考试就是一个自我学习提升的过程,不要把结果看得那么重要。
那三个都是技术性较强的。
如果你的经历不是那么丰富,建议考试软设或数据库工程师;如果你对数据库感兴趣,直接上数据库工程师;如果未来你想往管理方面转或者你现在从事的就是管理类的,就考那个软件过程能力评估师,当然还有其他的。
应用软件是怎样设计的?
软件系统的开发是按阶段进行的,一般划分为以下阶段:可行性讨论;需求分析;系统设计(概要设计、详细设计);程序开发;编码,单元测试;系统测试;系统维护。
软件开发过程中要明确各阶段的工作目标、实现该目标所必需的工作内容以及达到的标准。
只有在上一个阶段的工作完成后,才能开始下一阶段的工作。
1.可行性讨论 明确系统的目的、功能和要求,了解目前所具备的开发环境和条件,论证的内容有:① 在技术能力上是否可以支持;② 在经济上效益如何;③ 在法律上是否符合要求;④ 与部门、企业的经营和发展是否吻合;⑤ 系统投入运行后的维护有无保障。
可行性讨论的目的是判定软件系统的开发有无价值。
分析和讨论的内容形成“系统开发计划书”,主要内容有: (1) 开发的目的及所期待的效果; (2) 系统的基本设想,涉及的业务对象和范围; (3) 开发进度表,开发组织结构; (4) 开发、运行的费用; (5) 预期的系统效益; (6) 开发过程中可能遇到的问题及注意事项。
2、系统需求分析 系统需求分析是软件系统开发中最重要的一个阶段,直接决定着系统的开发质量和成败,必须明确用户的要求和应用现场环境的特点,了解系统应具有哪些功能、数据的流程和数据之间的联系。
需求分析应有用户参加,到使用现场进行调研学习,软件设计人员应虚心向技术人员和使用人员请教,共同讨论解决需求问题的方法,对调查结果进行分析,明确问题的所在。
需求分析的内容编写成“系统需求分析报告”。
3.系统设计 可根据系统的规模分成概要设计和详细设计两个阶段。
概要设计包括:① 划分系统模块;② 每个模块的功能确定;③ 用户使用界面概要设计;④ 输入输出数据的概要设计;⑤ 报表概要设计;⑥ 数据之间的联系、流程分析;⑦ 文件和数据库表的逻辑设计;⑧ 硬件、软件开发平台的确定;⑨ 有规律数据的规范化及数据惟一性要求。
系统的详细设计是对系统的概要设计进一步具体化,其主要工作有:① 文件和数据库的物理设计;② 输入输出记录的方案设计;③ 对各子系统的处理方式和处理内容进行细化设计;④ 编制程序设计任务书。
程序说明书通常包括程序规范、功能说明、程序结构图,通常用HPIPO(Hierarchy Plus Input Process Output)图描述。
4、程序开发 根据程序设计任务书的要求,用计算机算法语言实现解题的步骤,主要工作包括:① 模块的理解和进一步划分;② 以模块为单位的逻辑设计,也就是模块内的流程图的编制;③ 编写代码,用程序设计语言编制程序;④ 进行模块内功能的测试、单元测试。
程序质量的要求包括:① 满足要求的确切功能;② 处理效率高;③ 操作方便,用户界面友好;④ 程序代码的可读性好,函数、变量标识符合规范;⑤ 扩充性、维护性好。
降低程序的复杂性也是十分重要的。
系统的复杂性由模块间的接口数来衡量,一般地讲,n个模块的接口数的最大值为n(n-1)/2;若是层次结构,n个模块的接口数的最小值为n-1。
为使复杂性最小,对模块的划分设计常常采用层次结构。
要注意编制的程序或模块应容易理解、容易修改,模块应相互独立,对某一模块的修改应对其他模块的功能不产生影响,模块间的联系尽可能少。
5.系统测试 测试是为了发现程序中的错误,对于设计的软件,出现错误是难免的。
系统测试通常由经验丰富的设计人员设计测试方案和测试样品,并写出测试过程的详细报告。
系统测试是在单元测试的基础上进行的,包括:① 测试方案的设计;② 进行测试;③ 写出测试报告;④ 用户对测试结果进行评价。
6、文档资料 文档包括开发过程中的所有技术资料以及用户所需的文档,软件系统的文档一般可分为系统文档和用户文档两类。
用户文档主要描述系统功能和使用方法,并不考虑这些功能是怎样实现的;系统文档描述系统设计、实现和测试等方面的内容。
文档是影响软件可维护性、可用性的决定因素,有句话讲,系统编程人员的每一张纸片都要保留,所以文档的编制是软件开发过程中的一项重要工作。
系统文档包括:开发软件系统在计划、需求分析、设计、编制、调试、运行等阶段的有关文档。
在对软件系统进行修改时,系统文档应同步更新,并注明修改者和修改日期,如有必要应注明修改原因,应切记过时的文档是无用的文档。
用户文档包括:① 系统功能描述;② 安装文档,说明系统安装步骤以及系统的硬件配置方法;③ 用户使用手册,说明使用软件系统方法和要求,疑难问题解答;④ 参考手册,描述可以使用的所有系统设施,解释系统出错信息的含义及解决途径。
7、系统的运行与维护 系统只有投入运行后,才能进一步对系统检验,发现潜在的问题,为了适应环境的变化和用户要求的改变,可能会对系统的功能、使用界面进行修改。
要对每次发现的问题和修改内容建立系统维护文档,并使系统文档资料同步更新。
用什么标准评估一个良好的软件成功案例?
一、 项目实施进度评估。
ERP项目是复杂项目,其涉及的部门、人员、资金、资源等对于任何一个企业来说都是空前的,而在上一节中我们通过项目三角形分析出来,项目的进度是否能够按照设计规划的进行是影响项目效果的关键因素,所以评估项目的成功与否,首先必须评估项目的进度是否按照预期的进度进行,如果每一步或者每一阶段,都能够严格的按照进度进行,相信项目会成功的,否则就是项目设计出现了问题。
一般来说现在评估项目实施进度的方法可以使用目前最为常用的项目管理工具,其中Microsoft 的Project就是不错的工具之一。
其实很多项目的实施失败原因是虎头蛇尾,开始的时候大家心气十足,进度基本可以按照计划进行,而到了后来,每个人的工作都是交叉的,往往会受到其他工作的影响而忽视了项目的进度,致使项目进行不下去。
所以除了有相应的制度保障之外,一定要有工具,再者说了搞IT的人不用IT工具,那不是“卖盐的喝淡汤”吗?当然现在的IT行业非常普遍。
二、 项目成本评估。
项目成本是评价一个项目是否成功的第二个关键因素,同样在项目三角形中成本占了一条边,所以成本的变化将直接影响项目的成功,如果一味追求项目的功能和进度,而忽视成本,那将不是搞项目,而是在赌博。
现在的ERP项目本身的费用就很高,而且没有公开价格,国家价格监督都没有依据,全靠软件商的一张嘴,说多少是多少,会侃价的省点,不会侃价的就多花点。
但是一旦我们已经和软件公司和服务公司(咨询公司)达成了一致意见,关键的问题就在于如何有效的利用双方同意的费用达成预期的任务目标,而往往在项目的开始企业的管理者认为项目刚刚开始,投入还不多,而不注重有效控制成本,而到项目实施一段时间之后,发现项目的预算已经不能保证项目的完成了,或者半途而废,或者追加投入,而追加投入又会遇到企业资金是否充足的影响。
所以我们建议在项目开始之前一定尽量准确的做出项目预算,并拿出专款,避免在途中因资金影响项目进展。
另外成本控制要从采购、人员工时等多方面严加控制。
并建议分阶段进行成本评估,如果每个阶段都能够在成本控制范围之内最终的项目一定保证在成本范围内成功,关键在于当出现项目费用超出预算成本的时候要及时调整,确保总体成本控制在范围之内。
三、 项目功能评估。
ERP是功能性产品,最终项目是否成功很重要的一点要看功能,看功能是否达到了预期的要求。
ERP的功能从总体上来说分为几大部分:进销存管理,或者现在有的公司定义的内部物流管理;财务管理,包括总账、应收账、应付账、固定资产等;计划管理,在企业中大都会涉及到两种生产模式的计划方法,分别是单件小批量生产模式的MRP计划方法和大规模流水线生产模式的JIT计划方法;粗能力计划和细能力计划等核心资源管理;另外还包括人力资源管理;设备管理;工、模、量、夹具管理;质量管理等外围资源管理。
一般来说,软件商在签约之前都会给企业的管理者演示他们的功能,我告诉企业一个秘诀,在观看演示的时候一定要刨根问底的看功能,而不能走马观花的浏览。
两者之间的区别就在于不要被软件商的演示者的各种托辞搪塞过去,一定要亲眼看到他们说能够实现的功能,不要相信没有数据不能演示、不是最新版本等解释理由。
如果他们说有什么功能就当场拿出来。
否则就是没有,在事实面前任何理由都是苍白的。
在项目结束之前,对照双方约定的功能清单,逐个推敲,如果每一个功能都实现了,项目一定能够成功。
四、 项目效果评估。
功能具备只是基本的要求,关键还要看效果,这一点可能有人不容易理解,其实在ERP管理软件中有很多功能从表面上看功能和效果是有很大的区别的,比如MRP计划,可能大多数的ERP软件现在都能实现这个功能,但是是否准确,是否可以通过MRP计划直接指导生产,甚至直接根据计划产生的结果安排采购,这并不是任何一家软件都可以做到的,这里面涉及到计算方法是否科学,是否符合行业的规范,考虑的因素是否完整,预置的参数是否科学,比如提前期设计的是否合理,安全库存设计的是否合理等等都会直接影响计划的结果,其实真正的软件公司的功底就在这里区别。
五、 可操作性评估。
ERP软件的最终目的是让企业的广大职工都能够使用,所以可操作性如何是项目成功与否的另一项重要指标。
企业的大多数使用者,尤其是一线的职工,计算机的水平都不会太高,如何让软件具有很容易操作的界面,让普通的职工也能够使用软件来操作,确保每一位使用者都能够方便快捷的使用ERP软件是项目成功的重要条件。
有很多软件功能很强,但是就是操作起来难度也很大,非专业人士无法使用,这绝对不是优秀的ERP软件,优秀的软件应该是只要熟悉业务的人就可以操作,所谓所见即所得。
六、 项目的延续性评估。
ERP项目是企业赖以发展的长期投资项目,绝对不是消费型项目,所以项目是否能够伴随着企业的发展而持续得到应用是评估项目成败的另一向重要指标。
持续性体现为升级能力、功能的扩展能力、客户化能力、跨平台能力等几方面:现在的软件平台每几个...
现在的公司需要的程序员要具备什么能力啊
最佳答案作一个真正合格的程序员,应该具有的素质。
1:团队精神和协作能力 团队精神和写作能力是作为一个程序员应具备的最基本的素质。
软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。
独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。
可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。
2:文档习惯 文档是一个软件系统的生命力。
一个公司的产品再好、技术含量再高,如果没有缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。
作为代码程序员,必须将30%的工作时间写用于技术文档。
没有文档的程序员势必会被淘汰。
3:规范化的代码编写习惯 知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。
一些所谓的高手甚至叫嚣高手写的代码一般人看不懂,我只能说他不是一名合格的程序员。
4:需求理解能力 程序员要能正确理解任务单中描述的需求。
在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
5:模块化思维能力 作为一个优秀的程序员,他的思想不能在局限当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。
这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。
模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
6:测试习惯 测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。
程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。
7:学习和总结的能力 程序员是很容易被淘汰的职业,所以要善于学习总结。
许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,我们只能说他是一名熟练的代码民工,他永远都不会有质的提高。
一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。
这样才能逐步提高,从程序员升级为软件设计师、系统分析员、项目经理。
作为高级程序员,乃至于设计师而言,除了应该具备上述全部素质之外,还需要具备以下素质: 1、 需求分析能力 2、 整体框架能力 3、 流程处理能力 4、 模块分解能力 5、 整体项目评估能力 6、 团队组织管理能力