APP开发公司开发一款app的详细流程?
总的APP开发流程:
需求沟通——》原型的设计——》开发实施——》整合测试——》部署交付——》培训及运营——》bug维护——》新版开发
西太科技app开发详细流程
1,需求沟通
a) 大体需求沟通
这个阶段主要做技术可行性分析和验证。个人的想法技术上是不是可行有的是需要验证的,否则盲目的实施可能造成很大的浪费,很多项目都是死在一个不可逾越的技术点上。
b) 详细需求沟通和设计阶段
你要做软件总要告诉开发人员你想实现什么样的功能,这个告诉的过程就是需求沟通了。
本来这是两个阶段:详细需求沟通和页面设计。后来我们在项目的实施阶段发现他们分开不了,因为需求沟通的时候大部分甲方都希望能“看图说话”,所以现在我们把这两个阶段归结为一个阶段。
这个阶段由项目经理和甲方进行详细的沟通梳理出详细的需求文档,并指导ui设计出效果图让Ue把图片穿起来做成一个可以点击的原型。
2,开发实施阶段
原型也有了,具体需求文档也有了,那接下来就该是进入开发阶段了。
2.1硬件架构的配置
硬件架构的配置是否分布式、是否需要oss(文件服务器)和rds(独立的数据库服务器)、是否需要流媒体服务器
2.2系统开发环境部署和其他准备工作
人员配置,项目管理系统的创建(可以帮助实现监控和进度监控),svn、git协同开发的部署,开发群的创建,各种帐号(阿里云、阿里备案帐号、苹果开发者及证书、推送帐号、云片短信帐号、其他分享帐号、百度地图帐号、短信服务器商帐号)材料的准备(由乙方协助甲方),还有备案等方面需要的材料的准备等等等。
2.3数据库的设计
这个过程虽然消耗时间不多,但是这是整个实施过程中的重点中的重点,数据库是整个软件的灵魂所在。对一个架构师来说数据库设计完毕后,基本整个软件90%的设计开发已经在他的脑海中形成。数据库的设计不但要考虑到你所有的业务需求,还要考虑需求的实现。数据库的设计不但能够体现出软件的架构思想、设计模式还能体现出你的业务模式和业务逻辑。一个不合理的数据库设计会让整个开发变得冗杂不堪。这个阶段应该有详细的数据库文档。
2.4 整体架构设计和搭建框架
这个阶段主要是功能的治理、开发的架构和框架的实现。太复杂的大型软件就不做讨论了那个需要一些软件治理的方法基本是游离于软件设计之上的东西,那是一种理念。中小型的软件也会存在治理的考虑,如:把实时性要求较高但是又比较耗费连接的推送消息功能单独做一个服务器,或者把搜索功能也单独做一个服务器,而开发外在API提供给其他模块使用。又比如用户行为的分析,这是一个大数据计算范畴,占用系统资源非常大,我们也可以专门部署一个行为分析服务器来提供专门的分析服务。而架构是针对软件实现的一种考虑,如我们常说的MVC。架构下面一般会在做框架,框架是更细致的设计约束,我们每个项目无论前端和后台都会采用我们自己研发的一些框架来解耦开发提高开发效率。其实整个过程都是在解耦和建立军规,是一个约束软件开发人员主观能动性的过程。像日本的外包基本都是约束到代码的实现,开发人员只需要把描述语言翻译成编程语言。
2.5 后台接口的开发
时间过去大半了,还没有看到任何界面的出现。也许不了解开发过程的人会觉得很不正常进度太慢,但是恰恰相反:一开始就搞界面,进度神速的项目很多做出来的就是个玩具,能看不能用,一用全是洞,想要打补丁,根本行不通。所以也有些朋友在网上抱怨,外包出去的项目已经进行到80%了(估计是看到80%的页面都呈现出来了),但是后面20%就是推进不了,或者开发方一致推诿。这个阶段应该有详细的后台接口文档。
2.6前端的并行开发
如果把软件比作高楼大厦,到了这个阶段其实就相当于地基打好了,大楼的钢筋混凝土架子也好了,砌墙的砖头水泥等材料也拉到工地了,就等砌墙了。顺便回答一个很多人关心的问题,软件是否人多了就能开发的快些?在前面的阶段答案都是否定的,甚至架构师多了还会耽搁时间(理念不同)。而这个阶段答案是肯定的,这个阶段允许更多的工程师参与进来并行开发。不太了解其他公司的框架,但是毋庸置疑的是一个好的前端也会有数据层和缓存的考虑,所以这个阶段应该会产生前台接口文档。
3,整合测试
其实开发的过程程序员会做很多测试去掉大多的bug,但是像写作文自己总是找不到自己的错别字,程序也一样。另外毕竟是很多人开发,就算每个人的模块没问题,不见得整合到一起就没有问题。所以整合测试是必须的和重要的,国外甚至测试人员会占到开发团队的50%。
这个阶段应该有功能交互测试文档和适配及压力测试文档,后台压力测试数据
4,交付、部署及发布appstore
测试通过了,就要部署准本运营了。其他的不提了,只是苹果的app需要提交到苹果商店进行审核,这个过程会消耗10天左右的时间。
5,培训及运营
部署好了,就要对相关的操作人员进行培训,并试运营-》运营。
6,bug的修复
运营过程中发现的小问题即使修正。
7,二次开发
随着业务的发展,出现新的需求或者用户太多要改架构,那就需要做二次开发了。
以上就是开发一款APP软件的详细流程了,北京西太科技是一家专业的APP开发公司,专门针对原生态APP的移动开发商,专注于手机APP开发、微信开发、网站开发等综合型互联网企业。