做一个项目什么最重要(代码部分最多占40%)
2013-08-25 21:36
309 查看
刚来到这家公司,被委于重任,负责公司的第一款产品------餐饮类的(具体是什么由于与公司签订的有保密协议,在这就不说了,大家知道是一个餐饮类的软件就行)的开发工作,接到此任务后感觉有点压力,因为公司没有一个整体的做软件的流程,我也不太了解老员工的性格,但是既然老总相信咱,就硬着头皮上吧。
首先是理解老总的需求,老总是一个不懂技术的人,需求就两句话,这可难为我了,他的两句话:想做一个餐饮类的软件,可以点菜。就这么多,我的天呢,这也叫需求,没办法。开始搜所此行业类的软件,然后找到了几个很不错的,综合了一下,和老总谈谈,需求总算明确了一些。这个需求阶段,我的感悟是老总不明白的,你得想法设法找一些问题,让他去确定,比如你可以说我们可不可以这样去做,然后引导者老总去思考。
开始没有流程,以我的经验,就是和老总商量每一个步骤都要出一个文档,当然了,需求结束后要出一个需求文档。这阶段浪费的时间不少,因为开始老板自己都不知道要做什么软件,所以在这阶段我下的功夫太多了。后来证明,这阶段下的精力还是不够多,因为这个软件后期又改了三次,因为需求不明确,所以告诫那些项目经理,需求一定要确定,不然的话后面太浪费时间了。
需求文档出来后,开始进行下面的产品设计阶段,原来我一般都是做项目的框架,很少去设计产品,这对我是一个很大的挑战。怎么办呢,我的想法还是那样,开始看大量的行业类的软件,开始总结人家的UI,然后出了几套方案,让美工炫出图,让后让老板确定用那一套。当然了,产品设计阶段不仅仅是UI交互,还有后台的数据库设计,接口设计,原型图。与数据相关的都是小case,所以数据这一块做的比较快。这一阶段的时间主要是浪费到了UI交互方面,因为这些如果不能创新的话,会影响客户量,因为不懂技术的人只看UI,此类的软件功能基本上都差不多,就看你做的好看不好看,这个标准很简单。当然了,我们设计UI的时候,不能仅仅考虑美工,更重要的是考虑简介,大方,做一款软件不能做的太复杂,越简单越好,特别是类似的移动端的软件,必须做到简单,尽量少的让用户输入东西,这些都是最基本的设计如那件的原则。在这一阶段,主要出的文档有:UI交互图,数据库设计文档,接口设计文档,原型图(主要侧重于业务流程)。
这些搞好后,开始进行令人兴奋的编码阶段,这阶段是最享受的阶段。
测试阶段:这阶段我做了一个很愚蠢的事情,就是没有好好去测试软件,就让老板去看,弄得很尴尬。当老板去测试后台的时候,当点击第二次就出现了一个bug,第三次有一个bug,第四次也有一个bug,老板最后来了句,你好好测测,再让我看。教训啊,很严重的教训。所以下面的测试,必须先过我这关,之后才能让老板看。
上面基本上就是整个项目的流程,中间出现了不少问题。
(1),需求明确问题:需求必须明确,确定,否则不要往下面进行。
(2),数据库设计问题:要几个人在一快去讨论确定,因为一个人的想法是片面的,有可能会考虑不周全。
(3),衔接问题:接口设计一定在写代码之前完成,并且能测试,达到能用的程度。我中间遇见的问题是,程序员等接口等了好几天,真是浪费时间啊。
(4),UI交互:做这个软件,UI换了3套。浪费了大量的时间,以此为鉴,一定得让老板考虑好,不然的话苦的是我们在一线的程序猿。
(5),切图方面:美工的切图速度太慢,也浪费了不少时间。由于ios切图和Android的切图差别太大,应该找两个美工一个负责ios,一个负责android,这样不必等美工去去切图。当然了美工要是老手,一个人就搞定了,可惜,我们的是新手的啊 ,太慢了。
(6),测试:如果我们把整个项目堪称是100%的话,前期的需求分析,产品设计占40%,中间的代码实现占40%,后期的测试占20%。由此可见测试的重要性,因此以这个软件为分界线,以后我会很重视测试环节。测试也有一定的技巧,我认为要有以下几点:一数据为空的时候,二,数据量很大的时候,三,压力测试,很重复某一个环节,四,交叉测试,让不同的人去测试。
此流程需要改进的地方:
(1),上下级交流问题,交流的及时性。
(2),同级的交流问题,什么事都要商量着来,不能自己太独立。
(3),美工作图,更加细化,最好能标出字体多大,一天线的高度是几个px
(4),多征求程序的意见,集中每个人的优势,寻找最佳答案。
首先是理解老总的需求,老总是一个不懂技术的人,需求就两句话,这可难为我了,他的两句话:想做一个餐饮类的软件,可以点菜。就这么多,我的天呢,这也叫需求,没办法。开始搜所此行业类的软件,然后找到了几个很不错的,综合了一下,和老总谈谈,需求总算明确了一些。这个需求阶段,我的感悟是老总不明白的,你得想法设法找一些问题,让他去确定,比如你可以说我们可不可以这样去做,然后引导者老总去思考。
开始没有流程,以我的经验,就是和老总商量每一个步骤都要出一个文档,当然了,需求结束后要出一个需求文档。这阶段浪费的时间不少,因为开始老板自己都不知道要做什么软件,所以在这阶段我下的功夫太多了。后来证明,这阶段下的精力还是不够多,因为这个软件后期又改了三次,因为需求不明确,所以告诫那些项目经理,需求一定要确定,不然的话后面太浪费时间了。
需求文档出来后,开始进行下面的产品设计阶段,原来我一般都是做项目的框架,很少去设计产品,这对我是一个很大的挑战。怎么办呢,我的想法还是那样,开始看大量的行业类的软件,开始总结人家的UI,然后出了几套方案,让美工炫出图,让后让老板确定用那一套。当然了,产品设计阶段不仅仅是UI交互,还有后台的数据库设计,接口设计,原型图。与数据相关的都是小case,所以数据这一块做的比较快。这一阶段的时间主要是浪费到了UI交互方面,因为这些如果不能创新的话,会影响客户量,因为不懂技术的人只看UI,此类的软件功能基本上都差不多,就看你做的好看不好看,这个标准很简单。当然了,我们设计UI的时候,不能仅仅考虑美工,更重要的是考虑简介,大方,做一款软件不能做的太复杂,越简单越好,特别是类似的移动端的软件,必须做到简单,尽量少的让用户输入东西,这些都是最基本的设计如那件的原则。在这一阶段,主要出的文档有:UI交互图,数据库设计文档,接口设计文档,原型图(主要侧重于业务流程)。
这些搞好后,开始进行令人兴奋的编码阶段,这阶段是最享受的阶段。
测试阶段:这阶段我做了一个很愚蠢的事情,就是没有好好去测试软件,就让老板去看,弄得很尴尬。当老板去测试后台的时候,当点击第二次就出现了一个bug,第三次有一个bug,第四次也有一个bug,老板最后来了句,你好好测测,再让我看。教训啊,很严重的教训。所以下面的测试,必须先过我这关,之后才能让老板看。
上面基本上就是整个项目的流程,中间出现了不少问题。
(1),需求明确问题:需求必须明确,确定,否则不要往下面进行。
(2),数据库设计问题:要几个人在一快去讨论确定,因为一个人的想法是片面的,有可能会考虑不周全。
(3),衔接问题:接口设计一定在写代码之前完成,并且能测试,达到能用的程度。我中间遇见的问题是,程序员等接口等了好几天,真是浪费时间啊。
(4),UI交互:做这个软件,UI换了3套。浪费了大量的时间,以此为鉴,一定得让老板考虑好,不然的话苦的是我们在一线的程序猿。
(5),切图方面:美工的切图速度太慢,也浪费了不少时间。由于ios切图和Android的切图差别太大,应该找两个美工一个负责ios,一个负责android,这样不必等美工去去切图。当然了美工要是老手,一个人就搞定了,可惜,我们的是新手的啊 ,太慢了。
(6),测试:如果我们把整个项目堪称是100%的话,前期的需求分析,产品设计占40%,中间的代码实现占40%,后期的测试占20%。由此可见测试的重要性,因此以这个软件为分界线,以后我会很重视测试环节。测试也有一定的技巧,我认为要有以下几点:一数据为空的时候,二,数据量很大的时候,三,压力测试,很重复某一个环节,四,交叉测试,让不同的人去测试。
此流程需要改进的地方:
(1),上下级交流问题,交流的及时性。
(2),同级的交流问题,什么事都要商量着来,不能自己太独立。
(3),美工作图,更加细化,最好能标出字体多大,一天线的高度是几个px
(4),多征求程序的意见,集中每个人的优势,寻找最佳答案。
相关文章推荐
- 做一个项目什么最重要(代码部分最多占40%)
- 备忘:一个ibatis项目应用的重要sql-mapping.xml部分代码
- 艾伟也谈项目管理,开始一个项目时最重要的是什么?
- 跟着汤阳光同志做一个OA项目(十四):审批流转约定与总流程和一些重要代码及最终的实体设计
- 最新广商小助手 项目进展 OpenGL ES 3D在我项目中引用 代码太多只好选重要部分出来
- 解决tomcat 热部署问题,避免每次修改某一个小部分代码就得重启一次项目。浪费时间
- 一个项目的部分代码
- 写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。另外,当你写下面的代码时会发生什么事?least = MIN(*p++, b)
- Github网站加载不完全,响应超时,如何解决 Github是一个代码托管平台和开发者社区,开发者可以在Github上创建自己的开源项目并与其他开发者协作编码。毫不夸张地说,高效利用Github是一
- 在Github上创建一个项目代码仓库
- PHP开发的一个小小项目,记录下实现思路(附上实现功能的示例代码)(一)
- 一个很简单却很全面的心理测试:什么对你最重要?
- 算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了。——佚名
- 一条直线可以把一个平面分成两部分,两条直线可分成4部分,20条直线最多可分几部分?
- SourceTree的基本使用 1. SourceTree是什么 拥有可视化界面的项目版本控制软件,适用于git项目管理 window、mac可用 2. 获取项目代码 1. 点击克隆/新建 2
- 如果你参与到一个项目中,发现他们使用 Tab 来缩进代码,但是你喜欢空格,你会怎么做?
- 如何在GITHUB上FORK一个项目来贡献代码以及同步原作者的修改
- 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:收款验收部分)
- Source Insight是一个面向项目开发的程序编辑器和代码浏览器
- 如何在github上fork一个项目来贡献代码以及同步原作者的修改