这个问题说简单点就是工作量评估的问题,但工作量评估要想准确,对人一定要有很高的要求,这个人既包括软件项目管理人员,也包括软件项目执行人员。
其实就本问题而言,会牵扯到很多的技术,有些技术可不是一般水平的研发人员就能搞定的,下面也会有具体说明。
好了,我们回归本问题:
完成微信类的社交软件项目,它的难点到底在哪里?
社交类软件项目,一般架构都是BS或CS,就层级来说,有二层三层多层。其实就是有一个客户端,有多个服务器。客户端其实就是我们最常见的社交软件的界面。服务端,一般用户肯定是看不到的,那么应该有应用服务,文件服务,图片服务,语音服务,视频服务,安全服务,认证服务,数据库服务等。
这里面社交软件的界面研发设计相对简单,各种功能都考虑到即可,但是我们不要忘记,社交软件重要的功能是信息交互,人与人之间的信息交互,那么你如何将各种信息传给别人同时你又如何接受别人传给你的信息,而这又涉及一对一,一对多等情况。
开发的难点很多:
没有全能的开发人员,所以开发一个社交软件,一个7人的团队,必须有人懂架构,有人懂性能,有人懂数据库,有人懂前端,有人懂网络。
尤其是性能,牵扯到的知识面牵扯到的技术非常多而且也非常难。
就拿性能调优来说,比如在大量人员同时使用时,消息发不出去或者消息丢失或者有人老是掉线。那么你首先要定位问题出在哪里,是软件造成的还是硬件造成的还是网络造成的。
如果是软件,还要定位是前端的原因还是后台的原因。如果是后台,还要定位是应用服务器的原因还是数据库的原因。
如果是网络,还要确定网络协议,数据包加密解密,网络传输等。
而上面每一点,如果要真正解决,那么必须要具备高深的专业知识与技能。
相信说了这么多,你应该明白了,一个看似简单的社交软件,其实涉及到的知识以及技术非常多,难点也非常多,所以我们不要只通过表面去看待一个软件项目。
下一篇:IPHONE
上一篇:ios开发版和公众版区别?