程序员就是写代码的?错!

您所在的位置:网站首页 项目的实施流程是什么 程序员就是写代码的?错!

程序员就是写代码的?错!

#程序员就是写代码的?错!| 来源: 网络整理| 查看: 265

要说程序员是干什么的,可能大家会说,就是写代码的。其实这个说法并不准确。

整个软件项目做下来,大体可以简单分为这么几部分工作。

一 是市场跟踪

在捕捉到市场信息(比如说某公司需要一个xx类型的软件系统)后,与需求方进行接洽,确定双方合作意向。如确定可以合作,进入下一步;如因硬性标准无法满足或某些方面无法协商一致,那么就此终止,下面的工作就没有必要进行了。

二 是需求调研

确定对方的业务需求是什么,有哪些方面;了解对方的业务痛点在哪里,期望值是什么;确定其他方面的要求,如工期要求、性能要求、软硬件环境要求,等等。市场跟踪与需求调研并没有严格意义上的时间界线,通常都会有一段时间的交叉,在市场跟踪的同时,也会进行初步的调研。只有在供需双方进行充分沟通并就相关信息达成一致意见后,才会最终确定合作关系,也就是签订合同。

三 是系统设计

系统设计也可以分为以下几项工作:原型设计,是跟需求方进行沟通的最直观有效的方式,可以让需求方提前看到以后交付的产品是什么样的,如果需要修改,对双方来说,此时的成本也并不高;架构设计,根据需求内容,制定系统实现的核心架构,确定开发框架和开发规范,确定各部分业务功能之间的关系及协同方式,确定主要难点并澄清技术细节等;数据库设计,确定各部分业务需求如何进行库表设计,例如:需要设计成多少张表,每表里有哪些字段才是最合适的,字段类型、长度等怎么样定义更加合理,索引如何定义、是否需要进行分库分表等等;功能设计,确定如何通过系统功能来满足所有业务需求,确定数据如何在数据库中存储与查询,确定内外部接口如何使用,确定系统页面如何展现与操作,等等。

四是系统开发

到了这里,就要写代码了,也是在外部人士看来,程序员要做的事情。或许,在外人看来,编码就是对着屏幕,敲敲键盘,动动鼠标,然后一行行的代码也就随之生成了。但其实,思考的时间要比纯粹写代码的时候还要长。谋定而后动,不只适用于行军打仗,开发也是一样。写代码之前,要考虑清楚如何实现,要有清晰完整的思路后才能动手。如果是想到哪儿写到哪儿,不出bug才怪。写bug只是一句玩笑,而不是工作内容。

五是系统测试

系统测试的目的不是为了证明系统多么完美,而是要尽可能多地发现系统中隐藏的问题。从测试规模来说,可以分为单元测试、集成测试等;从测试方式来说,可以有白盒测试、黑盒测试。黑盒测试,就是功能测试,在打开的系统界面上输入内容,点击按钮、链接等,检查是否达到了预期效果。白盒测试,是对代码的测试,比如说分支覆盖测试、逻辑覆盖测试等;从测试过程来说,又有编写测试用例(即通过哪些测试点来确定系统功能的准确性)、系统测试、系统回归测试(在测试出的Bug等问题修复完成后,再次进行测试验证)等工作要做。

六 是系统上线验收

系统测试完成后,供方需要将系统部署到需方要求的正式环境中,并交付给需方试用。一般会有3个月左右的试用期,在此期间,需方会对系统功能、性能、易用性等方面进行确认,如有不满足需求的地方,由供方进行调整。在确认无误或双方协定好某些遗留问题或新增/调整功能的完成时间后,系统试用期结束,进入运维期。

七 是系统运维

系统交付后,一般会有6个月或1年的运维期,根据项目性质、规模或双方协商内容,可能会有不同。在此期间,供方需要保证系统正常运行,并进行一些维护性工作,当系统出现故障时,需要在规定的时间内进行解决。同时,随着需方的深入使用,可能产生新的需求或变更内容,双方开始下一轮的合作。

八 是系统下线

系统也是有生命周期的,并不会一直存在下去,就像人有生老病死一样。在需求发生重大变化,当前功能无法满足使用需要,或是当前使用的软件已经无法匹配硬件的发展水平,又或者系统使用的技术出现重大安全漏洞时,就会考虑是对现有系统进行升级还是重新开发,如果从技术和成本等多方面考虑,没有升级的必要,那么当前的系统也就走到了生命的尽头。就像任意命令执行漏洞,使得曾经风光无限的struts2瞬间跌落神坛,一大批软件系统也随之退出了历史舞台。几乎成为标配的SSH,也变成了SSM,然而,此S已非彼S。

以上就是软件项目的整个生命周期的大体介绍。屏幕前的你,是否也是程序员,做的是哪部分工作?或者不是程序员的你,对哪部分感兴趣?欢迎与我留言交流。

(创作不易,欢迎转载,但请注明出处)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3