项目开发流程_最全项目开发流程,还有好多良心彩蛋,太爱了!

329cd03d883067333272f3bbb7ba8ea9.gif

89e5855c218d5d9703d58dbe94fb951f.png

百战程序员的咨询老师经常会遇到这样一些问题:完整的开发流程应该包括几个环节?每个环节的人员配置如何?每个阶段的工作都要用到哪些软件?针对以上问题,这篇文章将一一作答,为每个有同样问题的小伙伴消除疑惑。

软件项目开发过程一般需要以下九个阶段:产生想法需求—可行性分析—分析、策划、建模—UI设计—开发(前端+后端)—测试(黑盒+白盒)—上线部署—运维—迭代。下面将对这九个阶段进行具体的介绍和说明,好奇的小伙伴赶快搬好小板凳,拿好小本本——

01 产生想法

一个软件没有出现之前,只是有一部分人有一个想法,需要一个东西实现某种功能,这个时候一个想法出现了,就会有需求。这个需求一般由甲方或者boss提出。

参与角色:老板、甲方、产品经理

常用工具:Word、Excel、PPT等

a21dbc2f7462512de170911e5a62385a.png

02可行性分析

需求产生之后,接下来就需要从市场、政策、经济、技术、人员等各方面因素来分析这个软件项目开发的可实行性。做市场调研,通过请教行业专家或者分析市场同类型的产品,来判断这个项目的开发是否有发展前景。

参与角色:产品经理、甲方、老板

常用工具:Word、Excel、PPT等

03需求分析、原型策划、数据建模

待需求分析通过之后,进入到开发需求的分析和设计阶段。这部分主要由产品经理完成业务梳理。首先,明确每个项目的目标;其次,梳理项目涉及的角色;再来,每个角色要进行的事项;最后,再梳理整个系统分哪些端口,要有哪些业务模块,每个模块再包含哪些功能。确定软件的体系结构、数据结构、算法、模块功能,以及用户界面的设计等等,如果这些事情没有设计好,接下来的设计可能会变得一团糟。

参与角色:产品经理、甲方、老板;

常用工具:

通用工具:Word、Excel、PPT等;

产品经理专业软件:Axure、墨刀、Sketch、Principle;

68a9b87e5100cc71e84d52aa0974a5c1.png

开发软件:powerdesigner、Workbench(配合MySQL较好)

04UI页面设计

UI设计师根据产品的需求,输出界面效果图,并提供界面的标注,最后根据主要的界面,提供一套UI设计规范。UI设计规范主要是明确常用界面形式尺寸等,方便研发快速开发。UI设计常涵盖交互的内容。产品经理在界面效果图,输出需求规格,需求规格应包含最终要实现的内容的一切要素。

参与角色:产品经理、设计人员

6~10人团队,设计人员需要1~2人

常用工具:

PS(平面设计)、Illustrator(AI,插画、字体)、CorelDRAW(排版)、Dreamweaver(网页设计)

44ebaa686440b366f7add9ec2d6b3c7f.png

05开发

在软件编码阶段,开发人员根据软件系统详细设计对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。在规范化的研发流程中,编码工作在整个项目流程里最多不会超过1/2,通常在1/3的时间。编码时的相互沟通和应急的解决手段都是相当重要的。

参与角色:开发人员(前端、后端)

6~10人团队,前端人数:1-3;后端人员:1-3人,

常用工具:

Java:ideal、eclipse、vscode;

python :pycharm、vscode;

c/c++:vscode;

php:sublime;

前端:webstorm、vscode;

Git版本控制软件

jira、bugzilla(bug追踪管理软件)。

06测试

一款软件从开发出来到正式的发布,一定需要经过不断的测试,才能尽可能的发现更多的错误,然后做出相应的修改,而且修改之后还需要重新测试。

参与角色:测试人员

6~10人团队,测试人员0-1人,小团队的测试岗位可由产品经理(黑盒测试)和程序员(白盒测试)兼任。

常用工具:Python(写脚本)、jmeter(性能测试)、qtp、selenium(黑盒)、jira、bugzilla(bug追踪管理软件)

38d795f7c9a7f3e5a0fb69de8dfbedc5.png

c8e2c3f2876ee4ce4bd7510ba4e7a8e9.png

07上线部署 与客户或者上级达成一致后,系统进行试运行,稳定后上线。 6~10人团队需运维人员0~1人,小团队可由程序员兼任

参与角色:开发人员、运维人员

常用工具:Apache、Redis、NGINX、Tomcat等

d90df883b28ba8271fecb3b22b76cb15.png

08运维

运维人员根据用户在使用过程遇到的错误,或者由于硬件设备不断更新等外部因素引发的问题,或者为了完善用户的体验度等等而做出的相应的完善和维护。

参与角色:开发人员、运维人员

常用工具:Linux系统、Python(写脚本)

3618e6c6af3c115ac13462c6410df417.png

09升级、迭代

软件开发后续根据需求调整分析、软件功能拓展、优化系统等要进行升级迭代。将整个开发流程再次按照顺序依次完成。

参与角色:以上全部角色

常用工具:以上所有工具

31357a6210967cc81259ca0d1d4e6cf7.gif

软件项目开发流程详细描述了软件在开发过程中产品调研、设计、开发、测试等各个阶段中各个角色,包含产品经理、研发、测试、用户等需要处理的事情。每个阶段环环相扣,需要阶段间人员彼此不断的沟通、交流、反复测试、修改,最终才能让一个满足各方需求的产品成功面世。

不知这波介绍够不够良心,有没有消除小伙伴的困惑?不过不理解也不要紧,慢慢的深入一个行业就会越来越清楚了。百战程序员是在线教育的高端IT品牌,为自学者提供一个随时随地轻松学习编程的在线学习平台。很多人从百战出发,实现了自己的IT梦想。

想更了解IT行业,欢迎关注我们的公众号,后续将为大家继续推出更加良心的回复帖,更多彩蛋为你而来!

f47cd3e358da1adc7440a5bb749e8623.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值