1. 承接一个外包开发项目后,开发流程以及如何做好
依据我们软件项目开发的经验,来给大家介绍下
1.项目接洽
这个过程主要是和客户洽谈,了解客户大概需求并且为客户回馈信息。通俗的就是说首先你要知道客户想要做个啥软件,这软件主要是用来干啥的。你要跟客户说明白你能不能做这个项目,以及你做这个项目所具备的优势。
ps:这步很重要,首先你得让客户信任你的能力,其次得搞清客户的心里价位是否在你的承受价位内,不然做其他的工作都是没意义的。
2.项目立项
前期和客户谈完后,如果客户对你的团队或个人能力信任,报价也觉得合适。那这个项目就算是正式启动了。这个阶段一般你得把客户的大概需求细化,整理出“合适”的需求分析文档。为什么要强调“合适”。因为很多软件开发公司特别是日本公司有“文档病”,不管什么文档都要求写的累牍连篇,最后写完根本没人去看。
所以自己接项目时写的需求分析要讲究实用,要求你在写的过程中要了解一下几点:1.将笼统的需求分解成众多功能点,开发这些功能点的难度及大致时间。2.细化后的需求点如有不甚明了的地方需要和客户确认。3.细化需求后还要形成文档,作为开发合同的一部分。
3.项目正式开发
如果是团队开发,你作为项目负责人要有以下能力:1.对团队各个成员的水平要非常了解。2.确定项目实现技术方案,依据就是团队成员的能力及你自己对此技术的把握(很多情况要你亲自顶上去救火)。3.估算出项目整体完成周期。
4.项目完成
项目完成后下对客户交付,客户验收通过后收尾款。如有超过合同的需求,要算作二次开发需要加收开发费。这点也很重要,国内客户很多改来改去还不想加钱,如果你碍于面子默许了,相信我,这是你噩梦的开始。。。
2. 请问做网站后端开发,一般是哪些流程
1.前端框架一般指用于简化网页设计的框架,比如,jquery,extjs,bootstrap等等,这些框架封装了一些功能,比如html文档操作,漂亮的各种控件(按钮,表单等等)。
2.使用前段框架可以降低界面开发周期和提高界面的美观性。
3.有些框架比较轻量,比如jquery,有些框架比较重量,比如extjs。一般来说重量的框架会封装更多的功能,比如extjs,封装的grid控件有很强的数据展示和操作功能。
1.对用户的价值:
大部分产品对用户的核心价值是功能和内容提供的,而不是由表现层和交互。譬如支付、电商、新闻、交友。
后端解决有还是无的问题,开天辟地。
前端解决有了以后好用的问题,锦上添花,在竞争激烈的领域确实至关重要。
2.技术广度和难度:
广度上后端工作在服务器领域,能控制的硬件基本没有极限,CPU、存储、网络、集群等等,因此技术领域极广。一个优秀的后端需要掌握或了解大量技术如:并发、业务架构、数据库、几打流行框架、性能调优、分布式计算、集群架构、容灾、安全、运维等等,一层知销和挖透了还有下一层。几十年计算机发展历史中大量的技术沉淀在服务器端。
Web前端一直工作在一个浏览器盒子里,先天不足,能承载的可能性太小,技术广度不足。
深度上,现代计算机领域的难题如大规模负载,海量数据处理,实时计算也是后端的,前端集中在表示层,这一层虽然也很复杂,但能称之为难题的技术几乎没有,也很容易复制。
前端要说深度也不是没有,但这一步需要跨到图形领域(如网页游戏),不是常见场景。
说到底前端代码能控制的硬件确实不如后端,因此在技术上,前端更容易。现在为什么说前端会比后端更值钱呢?那是因为前端对硬件的控制能力提升了(html5odejsmobile),而后端分化得比较厉害,有一批后端专门只写业务逻辑,框架是别人写的,系统架构是别人搭的,服务器跑在云里,连机器物理地址都不知道。世人眼里可能觉得这种写MVC代码的人才斗裤是后端,这种被限制在一个“虚拟盒子”里的后端确实不怎么难上手。
一般而言网上说的互联网行业的技术含量排名大概是这样:
产品经理<设计师<前端<后端<其他更高级职位,比如算法工程师等等。
在广大中小公司,很多产品经理都是不会代码,不会设计。很多技校学艺术设计的毕业生,当上了美工。这些都是真,所以能力低,干的人多,自然搭盯就低。然而,你问Google设计师挣多少了嘛?
门槛低不等于技术含量低。
3. 请问软件开发外包的流程是什么软件开发外包有哪些注意事项
常规的APP开发公司一般会把APP分为三大阶段
第一阶段:需求分析+报价阶段
第二阶段:开发阶段
第三阶段:产品发布阶段
在这三大阶段中又分为几个阶段,接下红匣子会一一先大家说明
那么在三大阶段可以细分统概为5小点:
第二阶段:开发阶段
1.项目启动:开发需要根据产品需求文档进行评审,并对开发周期、测试时间、预发布时间、正式发布时间进行评估。
2.程序开发流程:前端开发-程序开发-界面对接-第三方访问(支付宝支付功能等。)-定期项目会议沟通和项目开发进度控制-开发预算审核。
3.程序测试:面向产品的平台多机同步测试,包括App内容测试、App性能测试、App功能测试、App视觉测试、调试和bug修复。通过测试后,与客户沟通,确认没有bug后开始验收。由客户测试,并提出修改建议。
4. 后端开发都需要那些技术
后端主要是让服务器、应用、数据库能够彼此交互,需要考虑如何实现功能、数据的存取、平台的稳定性与性能等。常用的脚本语言有php、 java 、 python、C、C++等,以java为例主要用到的技术包括但不限于Struts、spring、springmvc 、Hibernate、Http协议、Servlet、Tomcat服务器等
第一,Servlet技术。Servlet技术是Java后端的重要技术之一,作为Java Web开发的核心组件,Servlet承担了Web MVC结构中的核心作用(功能导航)。传统的Model2结构(Servlet+JavaBean+JSP)虽然在目前已经很少使用了,但是Web开发的基本结构依然没有改变。Servlet技术的应用涉及到Web容器、会话(HttpSession)、安全、同步、Web应用部署等相关内容。
第二,Java操作数据库。后端开发免不了与数据库打交道,所以掌握Java的数据库操作是一个基本要求。Java操作数据库涉及到的内容有JDBC、JNDI、RMI、DAO等内容,其中使用RMI+JDBC是构建java数据库开发的一个常见的解决方案,而JNDI则是对各种资源的定义。
第三,Spring框架。Spring+SpringMVC+MyBatis是目前一个比较常见的后端开发方案,Spring的原理就是构建了一个“业务组件容器”,SpringMVC则是Web MVC的一个具体实现框架,而MyBatis则是一个基于DAO的实现框架。从性能的角度来说,Spring是EJB的轻量级解决方案,得到了广大Java程序员的欢迎。如果有Servlet以及数据库操作的基础,那么学习这几个框架的使用是一件非常轻松的过程。虽然基于Spring的编程比较方便,但是Spring也有缺点,比如配置文件过于繁琐。
第四,结合hadoop构建Java的分布式开发。Java的分布式开发是提高Java后端处理能力的重要内容,RMI是Java分布式开发比较常见的解决方案,学习起来也比较简单
5. 程序员怎么接外包
现在外包的软件项目不断增长,但随之而来的,承接外包的软件公司、软件团队也越来越多,包括很多个人SOHO一族也加入到承接软件的竞争行列中来了,因此现在对于软件项目的争夺也很激烈。作为一个多年从事外包项目接单的软件开发人士,我想从以下几方面谈谈我的经验,希望对您会有所帮助。
第一点, 到哪里接项目
软件团队或SOHO最为关心的一点是在哪里可以找到项目做,也就是到哪里可以找到有外包需求的客户。
对于一般人来说,广交朋友然后通过熟人介绍还是接项目的第一途径,但这要求你的朋友或熟人要在企业或公司里有比效重要的管理位置,对于像那些每天只能是埋头写代码的程序员这仿举让显然是不太现实的。
所以大家不能等着项目来找你,而是要主动的出击去找项目。现在网上有很多软件外包网站,在这里你可以找到不少的软件外包信息。比如软件商务网(bizsofts.com)上就有大量的软件外包信息。不过这里每天外包的项目虽然很多,但竞争也很激烈。一般一个外包信息发出后一天内就会有无数个竞争者,所以能第一时间与客户取得联系答脊是非常关键的。
因为客户一般都是先入为主的,一般来说,如果第一个谈项目的人他觉得满意了,就会对其他的竞争者不再予以考虑,所以你要经常上网站上看看有什么最新的项目,并立即与项目的发包方取得直接的联系。其他比如软件外包网、维客网、中国软件网,还有CSDN的外包频道上也有很多外包的信息,大家可以自己上去看看。
第二点, 如何与客户谈需求
接项目最重要的一步是与客户谈需求。客户对软件的需求是项目规划和实施的根本,所以在与客户谈需求时,一定要让用户将所有的想法尽可能的阐述清楚,并把所有的要求罗列出来。这时候不应该害怕“勾引”起客户的潜在需求而增加设计开发的工作量。而应该直接明白地要客户把项目的要求一条条地列出来。
这时先把条理、归纳、分析先都扔到一边去,用纸笔将用户最原始、最完整的要求准确地记录下来。假如项目在你对客户的需求没有完全了解清楚的情况下就匆匆上马,那么就会随时发生意想不到的变更,轻则使项目延期或超出预算,重则使得原来已经做好的软件要彻底推倒重来。
第三点, 如何合理地报价
在完全了解客户的需求后,下一步就是要确备局定一个合理的报价。接包方要从跟客户的交谈中尽量地了解出客户的准确意思,思考客户想要的是怎样的一个软件,项目复杂的程度多大,客户的要求有多高,客户的性格如何,能够接受的价格范围等等,这些因素对于软件项目的报价都是密切相关的。如果客户要的是一个小型的软件系统,不太苛求有多全面的功能,只要满足某一方面的需要,并且客户又是一个比较随和的人,那么项目可以报一个接近成本的价格;相反如果客户要求的是一个面面俱到的管理系统,需要有各方面的功能,缺一不可,并且客户又是那种对项目要求严格苛刻,绝不变通的人,那就要充分考虑各种不稳定的因素,报一个比较高的价格。
第五点, 如何能收到项目款
这是整个项目中最后也是最难的一个环节。即使你的项目做得再好,如果没有收到款,那你前面的一切努力都等于是零。要想项目能顺利地收到款项,那么从项目未开始之前的谈判阶段就要对这一点加以注意。
首先要判断对方是否是真心外包项目。这里有几点经验拿来给大家分享一下:如果你看到项目中说“请提供完整的解决方案和成功案例发到某某邮箱”,这应该只是想套取设计方案而已,发几张你们公司或团队的推介广告和报价单给他即可。
还有的客户张口就要源码要设计文档设计方案的,这种人目的性太强了,如果你真给了他就再也不理你啦。还有的外包方死活不肯介绍自己,不肯告诉自己是谁、怎么称呼、怎么联系、是什么公司、做什么业务的,与这种连最基本的诚信都没有的客户就根本没有必要谈下去。其次是判断对方是否有充足的资金和实力,项目要求是否合理(技术、周期等各方面)。
这个可以在需求的谈判中可以有意识地来加以探明,如果对方的项目很大却老是强调项目非常简单,这应该是不想付足项目款;有的发包方坚持不肯给预付款,老是要求项目完成后再交全部款项,这应该是没有诚心付款。还有的项目要30天才能完成却只给几天的开发时间,这种项目外包方也是很值得怀疑的。