您的位置:首页 > 其它

工作总结2010-2012-软件工程篇

2012-11-11 15:39 211 查看
自1946年计算机面世以来,计算机程序历经半个多世纪的发展,其代码量和复杂程度成指数级增长,早已不在是一个人单枪匹马就能解决的了,软件开发中的分工也越发的细致,各部分的分工协作也越发的规范化。什么CMMI、IPD(集成产品开发)、scrum、极限编程等待一系列的理论与实践规范层出不穷,其目标始终只有一个,更快更高质量的完成软件开发,而众多规范的背后,虽然关注的重点方向、应用领域不经相同,但是软件开发的核心流程与步骤始终还是那么几个,而在本文中,我们将主要关注的就是这些共通的部分,以及这两年我这方面的感受,谈不上感悟,只能说说自己在这方面的感受,毕竟工作时间不长,或许当我写下一篇总结时就已经完全是另一番感受了,好,闲话少说,回归正题。

软件工程,特别是企业级或者工业级软件工程,其实可以分为两大类:项目和产品。二者的最大区别在于立项动机和需求的来源。项目的立项动机基本上来自甲方企事业单位,需求也由他们一并提供。而产品的立项动机更多的是来自公司内部,主要是来自公司上层,上层发觉某某类需求潜藏着巨大的商机,如是决定着手开发相关产品,去占领这部分的市场份额,获取商业利润,这类软件的需求有三个来源:老板、最终用户、竞争对手。下面我们将按照这两种类型详细介绍其生命流程与重点。
第一部分:项目类软件
这类软件的常见场景是,A公司由于业务发展需要或者其他各种原因,需要建一个什么什么系统,如是就在公司内部发起了一个项目,经过与公司领导层的沟通,得到首肯(有时这个发起人就是决策者),系统正式开始立项并申请资金,然后筹建小组并开始开始面向社会或者内部招标,这个招标书一般都会对应标公司的条件进行限制,比如系统集成资质啊、公司规模和注册资金多少啊、是否有国家高新企业认证啊、CMMI要达到几级啊、ISO2000啊、是否有相关专利啊、是否有过相关项目经历啊...等等,反正就是告诉你,这个应标不是谁都可以参与的,诶,看着没,首先得达到招标书上的这几点要求,否则凭什么相信你啊,也免得浪费大家的时间...
这个招标书里面,一般会写项目的背景和建设目标,项目的大致时间限制,然后会简单的说一些项目的需求,最后就是一些法务商务条款和投标条件等等。
满足招标条件并有意应标的公司就会将招标书买一份过来,仔细阅读其内容,并写一份应标书,在规定的时间内提交给A公司,参与A公司的招标会。
如果招标书的主要内容是我要什么,那么应标书的主要内容就是我将给你什么。应标主要分为两大部分:系统设计部分、商务法务部分(包括各种资质证明),商务法务部分一般由专门的相关专业团体完成,在原来的公司中主要是由咨询团队完成的,商务部分有一部分会仔细阐述项目总金额是多少,如何付款,什么2、5、3啊,7、2、1(签约首付70%,详细设计完成付20%,项目交付完成付10%)啊等等,法务部分主要说明版权归属问题;系统设计部分主要就是针对标书中的项目需求,完成一份系统设计,并给出项目计划,这部分一般由专业团队完成。另外说一句,一般公司都会有针对各类项目标书的模板文档,所以其实如果有过相关投标经验的话,这部分工作其实非常快就能完成。
投标是类似于市场或者销售的工作,所以口才啊、交际啊、销售技巧啊什么的特别重要,特别是在中国,标书其实并不是主要的。
A公司会组织专家小组对各家提出的方案进行评估,考虑各种因素,最终由公司的决策层拍板到底采取哪种方案。
招标这个过程其实很复杂,水很深....(中间省略一万字)经过几番角逐,假设B公司最终成功中标,那么其他公司就可以撤了,A公司和B公司将签署合同,开展下一步的深入合作,一起完成这个项目(一般这个时候B公司内会开始正对这个项目进行立项,便于方便进行项目监控)。B公司会指定专门的项目经理,项目经理召集人马,组织项目启动会,鼓舞士气,画饼ing...
然后就是项目计划(持续完善的)、项目风险评估,需求分析,产生软件需求规格说明书(一般甲方出)、用户需求说明书、系统需求说明书、需求跟踪矩阵等等,需求评审,然后就是系统概要设计、数据库设计、概要设计评审,软件测试计划、测试用例、测试评审,详细设计、详细设计评审,编码,单测,系统测试、集成测试、测试报告、系统试运行、系统交付验收、后期维护什么的。
如果用户有后续升级计划,那就重头再来一遍,不过如果与用户建立了信任的话,可能就省略的重新投标的阶段,直接签合同做二期。

第二部分:产品类软件
相比于项目类软件开发,产品类软件就没有招投标的那一系列的过程,但是就多了市场和运营的部分。
产品类软件的常见场景是,公司上层发现某某类产品存在极大的市场空缺或者潜藏极大的商机,决定做一个什么什么产品,如是在公司内部召集高层讨论,或者有时为了保密,直接召集核心人员讨论商榷,然后就认命产品经理,组织人员秘密开干了。
产品开发一般会经历以下阶段:
立项、产品定位、产品需求分析(用户调研、竞品分析等)、产品路线图、产品概要设计、产品详细设计、编码实现、单测、集成测试、发布(然后迭代开发后续版本,中间也有各种评审...)
发布之前市场部就组织相应的宣传活动,正式发布之后就有专门的运营团队开始运营或者销售团队开始销售,并有售后进行售后服务和技术支持。

本文出自 “紫鱼” 博客,请务必保留此出处http://ginocs.blog.51cto.com/6204882/1057239
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: