00:00
那么今天我们课程的任务是什么呢?今天我们课程的任务是两大块,两大块儿,第一大块呢,我们学完这个试看了过后呢,一直没有去写一个项目啊,这个项目不管大小,咱们应该写一下,用一用。对吧,这是第一个,第二个呢,我们要讲一下阿卡,阿卡呢是这个SC里面底层的一个通讯,就是那个支持大并发的一个什么呢?一个框架啊,用的呢也是非常多的,所以说呢,我们会讲阿卡啊,到时也会讲的比较细致,比较细致,那么我们先来看一个项目啊,项目虽小,但是呢我们灵活的用一用,所以今天的代码量呢会大一点,大家今天可能动手的会比较多,听的少一点,但是动手的比较多,大家也喜欢多动手是吧?同学们最喜欢听的都是那种对吧?大项目,呃,其实大项目也是我特别喜欢讲的。因为讲项目总是让大家感觉到每天学到了很多东西,讲这个语法呢,总是感觉很多说,但是没有办法,所以很多老师都不愿意讲基本语法啊,讲基基础语言的老师呢,一般就感觉讲的很枯燥,讲项没这又搞了一个,又搞了一个很开心的样子是吧,那所以没办法,但是语言呢,又是其实又是最核心的,所以说没办法就把这个任务交给我了啊好,那现在呢,我们就来看一下这个项目吧,那我们还是综合应用下,我们讲这个项目呢,很简单,咱们就讲一个刊的客户信息管理系统。
01:31
呃,完成的功能呢,我们一步一步说来,打开我们的笔记。聊聊这个话题,那现在呢,我们要讲的一个内容是项目是看了客户信息管理系统,说白了就是真删改查,但是呢带点结构。好,同学们,我们来列一个小的小的标题对不对?好,这第15章先来看一下内容是什么,首先第一个先给大家说一下项目开发的流程,那么项目开发流程同学们在前面呢,老师写项目的时候应该都讲过,我这里呢,再给大家聊两句,一些心得体会啊,就是每个老师呢,对这个项目的可能这个呃理解啊都是不一样的,我说下咱们这个将来开发中,你们会怎么去写这个项目,你们会完成什么事情,好,我们先来探讨一下这个项目开发的流程。
02:29
项目开发。开发流程一个理解。好同学们,你们在学前面的时候,老师应该讲过我们项目开发流程应该分几个步骤,我找一个同学来说一下啊,找一位同学叫做。咱们找中间的一位同学吧,叫做杨长文同学,来说一下项目开发流程有几种啊,有几个步骤,第一步什么?项目开发流程第一步。需求分析,第二个呢。
03:05
第二个,该干什么事了?需求分析完了第二部。啊,第二步好像。有点忘了是吧?来,请坐下吧,请坐下,好,再找一位同学,再找一位同学叫做。叫做刘闯同学,来回答一下,来闯哥。第一步,需求分析,他说的是对的,第二步。啊,更加的迷茫的样子,请坐下啊,再找一位同学。叫做找位比较猛的啊呃,班长来说一下,班长比较猛,班长说一下那个项目开发流程。对的,Dear。设计模块非常好。第三步。
04:04
有有点儿忘了是吧,班长。好,请坐下,其实这个表情就是基本上就是说以后这个面试,你要别人问到你,你这样回答就很麻烦了,当然也会给你工资的,你说你要2万,估计你也有点有点打到处是吧,2万块钱,流程说的磕磕巴巴不行,那同学们注意啊,别人不但会问你开发流程是什么,而且要告诉你,还要问你开发流程每一步做什么事,你说你你们将来要拿2万,肯定是以别人会把你当做一个小组长的身份进去,每个单位给每个人的定价是有是有是有职位上的分配,就说好大的单位他是什么,他是以职位确定这个薪资的,明白我的意思吧,就说你将来干什么职位,这个工资就什么样子的。所以说你以后去应聘,应聘的时候,你说应聘个高级工程师,如果说你要拿2万块钱或者25000,别人不可能只是让你写代码。明白我的意思吧,就好像你你你到一个地方去当厨子。
05:02
厨子有高级厨子,有初级厨子。初级厨子就是。打杂的那高级厨师,你要是做的这个海鲜,什么鲍鲍,鲍鱼,海参这些玩意儿炒的是海参炒饭吗?对吧?海参炒饭它是叫海海参吗?对吧?就是你的职位决定你的薪资高低,不是说你觉得你很牛逼,别人就给你高工资,如果你牛逼,他会直接把你当做项目经理来用。所以说你们拿这个钱是有压力的。如果你你要拿25000,别人可能就把你当成一个架构师来用,如果你要拿3万,可能别人把你当成CTO来用,不,不可能说,诶,我的技术很牛逼,给你拿4万块钱,然后然后让你再写代码,怎么可能呢?所以说同学们一定要记清楚这个东西不是说乱给钱的啊,来同学们注意听老师这个思路啊,如果前面还没学明白的,听听这个流程,你们现在马上就要已经写过项目的人了,第一个阶段就是同学们刚才所说的需求分析。需求分析注意听,那么需求分析准确的讲,需求分析前期还有一个可行性分析,但是可行性分析呢,一般跟你们没有关系,但是你了解一下对你非常好,就是前期会有一个公司,它会有一个什么呢?有一个可行性,可行性分析,就什么叫可行性分析呢?就说我们这个项目能不能做。
06:23
就是准确说项目他要做什么事说一下啊,我这个语言很简单,但是很到位,他要他要做啥,干什么,干什么,一般是干什么,第二个谁来干。谁干?谁来做这个事儿,后面我这个讲需求分析也是这样给他讲的,干什么谁来干?会干成,还有一个,按理说应该还有一个完推,最后最后做完了后会会推出一个什么东西,就是说做出什么东西。这我就不写这了啊,第一个干什么呢?第一个就是说市场,市场。
07:00
能不能就说你这个有没有必要性,是说有没有市场。就说你这个东西做完了过后,有有有没有市场。或者是卖出去也好,或者说有没有客户要你这个东西,如果你分析完了过后,你说诶,我们要准备做一个APP,我们要做大数据一个产品,结果你发现根本没市场。你你说比你你你的公司会会做这个事吗?比如以前我们在在这个用友的时候,他首先说我要做一个财务软件,比如ERP,就是企业资源管理的一个东西,首先别人要用,如果这个不用对,那这个地方时代中呢,一般来讲啊,是市场人员,是我们的市场部。市场部可能还有一部分是销售部,因为销售部呢,销售部啊,销售部门,销售部门的人呢,他知道这个市场的具体情况,什么东西好卖,甚至有些公司还给这个市场部门和销售部门一个任务,你定时要给我说现在市场什么样子,应该需要什么东西,赶紧告诉我,我要去做,只是。
08:03
一般老师呢,他没有做过公司,对吧,我是自己做过公司的,虽然后面我自己把这个公司关了,那是因为我管理不行,明白吧,但是我的公司你也就凭含水敏三个字,对吧,我我我只能1000多人过来,对不对,那还是很厉害的了,你你用你的名字来十个人就差不多了,对不对,那开玩笑呢,我们当时做这个东西,我的体会就很深,很难,所以当时就是因为我没有想那么多,后面整整个做完了,我才发现他妈的应该这么做,知道吧。啊,现在现现在的毕竟还是有经验的嘛,好,那么这个地方呢,市场部和销售部他要干什么呢?他得去。完成这个任务,最后呢,他应该出一个可行性报告,出东西。出东西,你们将来要去做高职位,你就得跟他聊这个东西。啊,你说我要做一个什么项目经理,别人问你啥都不懂,一脸茫然的样子说你做过项目吗?我是你做过项目经理吗?刚开始是怀疑你有没有做过项目经理,后面直接怀疑你有没有写过这个东西,知道吗?再怀疑就是你是不是骗我们的是吧?所以说你这个东西不聊你不行的啊,听我几句话,那么这个地方要出一个什么可行性报告?
09:14
就是要出一个可行性报告,你要报告给谁呢?像有些是直接针对这个公司的老总,有些是直接针对CEO。说为什么市场部和销售部的人,他一般在公司的地位比较高呢?因为现在更多的是市场的决定很多东西,就说这个东西,你虽然有很很很厉害的人,你你辛辛苦苦写了很多东西出来,你发现卖不出去,没有盈利点。这个就是一个方向性的问题。你看好多公司死在什么地方的,好多公司前期都是很牛逼的样子是吧,像最经典就是诺基亚,那当时在我们那个时代多牛啊,诺基亚,提起诺基亚那就是高端产品,还有摩托摩拉,听过没有,全部死的差球不多了,都为什么?因为就是他们公司这个可行性,这帮市场和销售部这帮这帮哥们不给力,直接把公司干死了。
10:05
对不对,那你那你想一想是不是这个道理,因为你前期如果没有这个好的产品说不出来的,包括现在的京东、百度那些大老板也是很紧张,他们天天在想怎么做,百度曾经有一段时间压力很大,他被金丝头条压的很厉害,就是因为移动端他丢失了很多客户,李彦宏就压力很大,后面他发现移动端一段丢掉,他整个这个搜索就会出现很大的问题。后面他赶紧把这个移动端抓起来了啊,投入了大量的人力物力,他幸好做的早一点,不然的话他他的压力会非常大啊,所以这块呢,是属于我们这个整个公司的,就是将来你自己要去创业,这块是核心,那么这个完了过后呢,才是我们的需求分析,需求分析谁来做呢?好,我们先来说谁来做吧。需求分析我们先说,呃,是首先是有一个职位叫需求分析师。这个需求分析师呢,一般来讲这个人要具备什么能力呢?他要具备两个能力,第一个呢,他要懂技术,懂技术不一定要非常牛,他要懂技术,第二个呢,更重要的他要懂业务。
11:12
啊,各位同学就说需求分析师,一般来说是年轻人,可能是呃不太好,不太适合去做这个工作,尤其是假设这个项目标的是四五百万。四五百万的一个标的,就是这个项目的投,投入四五百万,那你一个不懂需求的人,不懂业务的人,你不能干,这个人呢,必须懂业务,我举个例子说,现在你们公司去接了一个海关的大数据项目。海关,你知道是干什么的吗?人家怎么怎么怎么出单,怎么入单怎么报关,你,你懂吗?我说我我不懂,我我就喜欢编程呢。你你编什么呀,关键是就上去给我写代码,写hello呀,领导说说业务先要分析,说这些人呢,要一般是在这个行业里面混了一段时间的,这是为什么,你看以前在拥有工作的时候,拥有每一年要从财经院校招很多人,就是比如到这个,呃首经贸对不对,或者是呃国家比较好的那个,就像像清华北大那个金融系的,我说诶你这个财务软件告诉软件你找这些人干什么,原因很简单,因为他要做财务软件,最基本的财务,税务政策,还有财务政策,资产,资产负债表是这些概念,你要有,所以说他要懂业务,你才能做东西的。第二个呢,这个人最好懂一点技术,因为不懂技术呢,也很麻烦,什么都答应别人,比如说诶客户,假设我们现在有个客户,这个客户是什么呢?假设是个银行客户。
12:38
假如是一个银行干银行的啊,银行这个银行说,诶,我们要一个什么东西,你说没问题,别人要一个什么东西,你说没问题,最后。做开发的人把你骂死是吧?而且你想一想做,你加一个功能,你后面不要认为加一个功能,后面加一个功能,你的这个投入很大,本身400万,你你把它做成一个巨无霸了。
13:00
一分钱没赚到,还赔了100万。对吧,而且最可怕的是中国的很多这个客户他不成熟。他会需要什么呢?他会经常说这样一句话,诶,那那那那个那个产品也有这个,给我给我加进行吗?好,你如果你需求分析师说没问题,加进去,等到他最后他会发现说不是我要的。这就更可怕了,就相当于说你把什什么功能都满足,结果你发现什么呢?人家不要你这个东西。这种可所以说需求分析师他要懂技术,懂懂业务,而且他要干什么呢?引导或就是还他要他要挖掘。他要挖掘。他要挖掘什么呢?挖掘这个用户就是客户,客户真正的需求。真正的什么叫真正的需求呢?就是有些客户他说不出来。他说不出来,我需要这个东西,但是你要挖掘出来。不是说全等客户说,诶我需要什么东西,不是你要自己去挖掘。这个就很难,你看那个微信为什么做那么成功,他这个东西其实你看它很多功能是简化了,他简化的很简,功能很简单,那么第二个呢,这个需求分析师,他有这个功能以后,他还要做一件什么事情呢?他把这个做完了以后,他就要做一个分析需求分析报告。
14:16
需求分析报告,这个分析需求分析报告呢,是一个白皮书啊白皮书。这个白皮书是一个模板,你会把它做出来,做出来过呢,就交给下一步流程呢,下一步流程呢,就到了我们的下一步流程是什么呢?是我们的设计阶段,各位设计阶段。那么这个设计阶段,设计阶段,设计阶段是干什么呢?诶,我写到这里,设计阶段。这个设计阶段,首先我们看谁来做。这个不同的公司不一样,有些公司呢,他直接是项目经理来做。啊,有些公司是项目经理。有些公司呢,他直接是架构师。
15:01
架构师来做,就是有可能是项目经理,有可能是架构师,那么项目经理和架构师有区别没有呢?在严格来说,这两两者两个职位是有区别的,项目经理一般来讲,他更关注的是项目整对这个项目整体负责人。那么架构师呢?更关注的是技术层面。像有些以技术为主的这种公司,比如说这个你们这个公司的这个创始人,他就是技术出身,一般来讲干技术的在这个公司就比较有地位。如果你这个公司,它的创始人是业务出身的。那么一般来讲,业务人员说话就比较算数,比以前我以前在一家,呃,在在在一家培训机构,对吧,那那那个老板是干什么的,厨子厨生,那他干厨子他他发现,但是人家干的时候啊,你不能笑他,笑他是厨子,并没有耻消他的意思就是说这些人头脑特别灵活,人家还是很赚了一笔,在2000就开始搞搞培训,那个时候搞培训的时候,你知道报名是干什么的,到了周六周日一堆人在那排队报名。
16:01
而且全是特别牛的,一般像这种北京科大的,北科大的全是那帮,就前期转行的,那是特别牛的啊,对不对,他就是想想想进入这个行业知道吧,好,那人家那个当时厨子出身的话,你想一想后边那个整个整个公司都是以市场为主,他他明显感觉到就对技术不关主,你看为什么上硅谷对技术关注啊,老童就是干技术出身的,对吧,所以这个是韩老师说的是很经典的,你将来去看这个这个公司他的创始人。是什么出身,那么干这他的这个部门的人就话语权比较重。啊,你看以前在新浪的时候,他那个创始人是王志东,王志东技术出身,说说当时那个开发部的人就特别牛逼是吧,有一个业搞业务的说,诶客户需要这个,这个我做不了啊,又又来一个说我要加工这个我也做不了是吧,他也不话说啊,因为这个有时候他是有这个传承的,那如果说他是市场出身的,那就不一样了,那么这个项目经理他做什么事情呢?第一个他要做的事情是决定。
17:04
使用什么技术,他要干这么件事情,使用什么技术,比如说我们是用Java呢,还是用SC来写呢,我们是用这个go语言呢,还是用PHP还是呢,好这个呢就是技术,第二个呢,我们要用什什么架构。哎,我们要用什么架构,比如说使用SM还是用SSH,对吧,使用linuxx还是用unixx好,包括数据库,那么这个完了过后呢,他这个大体的方面完了过后呢,他要做一件事情,就是要选人。说老师这个项目经理还要去选人吗?你们将来做项目经理,如果说别人问你怎么选人呢?你说我没有选过人,那一定是自己在干。为什么呢?你作为一个项目经理,你不去挑人吗?项目组他是做完一件事情就散了。不是说像你们理解的,到了公司里边去了啊,我这一个人四个人好像是报了团伙一样,四人帮一样,永远在在在一起,他是根据项目走的,比如说现在公司这边市场说我们要做一个。
18:06
海关的大数据项目,好你挑我发现我我现在要Linux要SC了,要这个要前端,我要用用一点什么什么这个H5的,那我作为项目经理,我他就给你权利说你开始找人吧。啊,哪些人,那么你如果项目经理,你要对你手下的每个人的特点很熟悉,这个人擅长什么,你就要让他干什么事,你不能说我这一一股脑的什么,都因为你项目经理工资高啊,你对项目要负责任,你得步兵排阵,前端我要找几个,根据我项目来说,我前端要两个。最前端要会什么框架,我要了如指掌,好,我的这个业务,我的SC或者Java,我需要什么人,还有一个部署,我要什么人,你得去聊这个事。对吧,你要选人好,那么选完人过后,后面最后你做一个项目经理和架构师,你要出什么东西呢?很简单,你要出一些这个设计图,设计图最经典的就像这个类图对吧,类图诶类。
19:05
类图,比如说时序图。时序图,比如说我们的这个部署图。部署部署图对吧,还有我们的这个呃,用用力图,用例图,用例图最重要的还有一个就是数据库,基本上要设计出来了,数据库一般来讲我们是先把数据库设计好,整个这个数据图完了,设计文档,整个这个设计文档都要有啊。设计文档。啊,设计文档要出来。还有一个特别重要的地方,在设计阶段,现在特别流行还要出一个东西是什么呢?就是界面,这个是同学们,以后你们做项目经理必须要做的这件事情一定要先把界面搞出来,但是说老师如果你只是你只是负责后台啊。你只是负责后台,那你一般来讲你不算价格,你不算这个项目经理,因为一个大数据,再牛逼的大数据,他必须要呈现给用户。
20:01
你你不能让你要说,诶我这个数据出来,你请你打开MYS口,谁来给你去插箱,怎么可能呢,他肯定要有界面嘛,所以说你在这个项目经理一定要要请定要有界面的,任何一样东西没有界面是跑不起来的,所以你要决定界面怎么写,那么为什么这个叫原型开发,老师应该讲过叫原型开发,只是有些老师可能没说出来叫原型开发。圆形啊,这个圆。原。原这个原原来的原原型原型型开发,原型开发可以避免很多问题,比如说曾经有一个我有个学生,他学完这个pap过后呢,他自己去接了一个活,接完这个活过后,总共别人说给他拿20万块钱,结果做完了过后呢,先去先给他付了10万块,10万块过后做完了过后交货的时候,人家说这个东西不是我要的,不但不给他付另外10万,还要让他把前期给了10万块钱返回来。因为我们现在这个软件行业啊,其实真正大型的公司很少,你手指头加脚趾头就能数出来有几家特别知名的公司。
21:06
但是大部分还是什么公司呢?创业型的或者中型公司,也就意味着同学们将来参加工作呢?虽然说大家都说有京东、百度什么腾讯,其实说实话我们。去的人并不是特别的多,咱们一个班要有十个人去,都已经非常非常牛逼了,那大量的人到哪去呢?同学们还是到这种创业型的中型公司去,那这样子你作为一个中型公司现在一般是怎么做的呢?他是这样做的,一般是先说我们这个一共要收40万块钱,我可能是先给你打20万块钱出来。先给你,先给你20万,等到你做完了过后,我阶段验收再给你另外20万,那如果我不满意,我就不给了,那么怎么解决这个问题呢?很简单。注意你们将来做这个项目经理,或者说你们自己接活,你们要怎么去跟他聊呢?你说比如说银银行要这个东西,你先让一个前端人员。用这种工具快速的生成界面,这个界面应该只是个静态界面。
22:03
这个界面也有相应的工具,甚至画出来的,你把这个界面画出来过后给这个客户,给这个客户看,说我们将来做出来这个样子,就是这样子的功能,也有这些功能,你觉得满意吗?这个银行客户再傻,他界面总能看懂吧。啊,将来长这个样子他肯定看到哦,他说诶这个颜色我有点不喜欢,给他调一调,你也不要给他降是吧,说反正你可以引导他一下,比较牛的一点的项目经理或者需求呢,他会引导这个人他不喜欢的变变成,诶诶你说的很对是吧,因为这个见面这个东西每个人看法不一样,所以你引导他说这个东就很好,如果他真的很坚持,你可以对界面的颜色进行一个调整,就是布局稍微调整一下。因为这个时候你的成本很低。可能就一天下午一天就解决了。但是你把这个界面做完了后,你说功能大概就是这么多,呃,功能你看就是这些,严格说就是这些好,他一看诶有这个按钮,有这个按钮,这个按钮他说可以好。
23:01
干完一件事情,最后让这个银行这个客户干什么呢?签字他们一般都会有签字的啊,就是确认,确认这个东西就是将来你要的东西好以后就没有话说了,如果以后你做出来说,别人说诶你这个东西不是我要的,你签字了呀。你签字了,你说这些话你负法律责任嘛,对吧,至少比你整到最后才给他看这个东西要好吧。他这边肯定有个交流的过程,好,交流完了过后东西他就要了,没问题,一般来说别人签了字你就认账,咱们中国人还是有个习惯啊,还是大部分人还是讲信用的,我不签了我就认,我不签那你就小心点了,我不签那这个东西不是我要的,他有很多原因,他原先给给了20万,发现自己资金比较紧张,本身不想要了是吧,那我横到不要是吧,还要让你把钱还回来,你想想你你压力大不大?而且你将来要做项目经理,你要对整个公司负责,因为你项目经理你做好了,受到你的大老板的认认同了,你才可能往上走。你不能说我做项目经理,我我就是投了你项目经理,最多一一一个月3万块钱,你还想一个月想挣七八万,你就得往上走啊,你得你得把这个东西做好啊。
24:09
其实老板他是能看到你的努力的,如果你自己都不去帮老板想问题,你想老板会把一个重要任务给你吗?不可能,最多你就在项目经理这个级别徘徊五年。对吧,工资也就3万左右,看到别人真的很多,你还上不去,所以大家一定要注意思想的转换,一定要实心,实心实意的为老板思考,至少你在这个公司里面干的这段时间,你就为他思考,因为你为他思考了,他才会为你想。当然如果说你做了很多工作,老板不欣赏你,你觉得我的付出没有得到回报,很简单。你在这里有成绩了,你拿出自己成绩,拿出自己经历,直接走,头也不回是吧,潇洒的挥一挥衣袖就走了啊,但是你的成长是很快的,好,这个做完了以后,你下一步该干什么呢?同学们,东西做完了以后,下一步就到了我们的实践阶段。
25:01
啊,实现阶段呢,就是谁来干呢?好,同学们,实现阶段就是我们的软件工程师,软件工程师俗称马龙啊,俗称马龙,这个时候你们就粉末生产登场了,也就是说准确的讲,你们是在这个时间阶段才会出现在这个位置,前期你可能都不知道人家在干什么事,那这个时候你要做什么事情呢?你就做一件事情,一般来讲哈,很多公司他这个文档会发给你看,你要首先要看懂文档。看懂文档,然后呢实现各个模块,准确的讲你是实现这个各个模块的,不会让你整个做完,当然有些公司呢,他也会让这个软件工程师去设计模块,设计部分模块,就是功能模块也是让你来设计的。就说这个模块呢,你来设计,设计完了过后呢,一般来讲会开会就说你设计完了过后,呃,可能小组啊,前期他会比如说一周呃,或者是那个几天开一个会,关到那个小屋子里边,关到小屋子里面就聊这个,诶你说这个对不对,然后就就聊聊这个东西大家满不满意,然后项目经理说诶你这个还可以,就开始做了,再更厉害的一点,公司就直接让你写了,就是小公司他没有那个经历,说他就相信你了,你就写好,最后你写完了过后呢,这边就是代码就出来了。
26:25
这你的模块代码,你要出的是模块代码,一般公司呢,每隔一段时间会看你的代码,如果这个公司既没有让你去设计,也没有看模块代码,你要小心点,这个公司可能活活不了太久了啊,就是没人没人管,纯粹去了过后就把你说你你干吧。这个公司一般来说就是特别小的公司,这种公司呢,它的生命力是比较弱的,就没人管,这个东西一定不会是好东西,软件没人管,比什么呀,比这最终做出来东西一定是一个非常不好的东西,你知道为什么像这个国外的,像这个比较牛的那种软件公司,他做的像IBM的,像微软的那些东西,你看他们那么牛的一个一一个一一个企业都经常报bug。
27:08
更别说咱们了,我我我就是说到这里,然后这个做完了以后呢,好,我们下一个阶段是谁来做呢?下一个进入到我们的测试阶段。测试阶段也是一个特别核心的阶段,我们写到这里叫测试阶段。好,测试,那么测试阶段我要多说一句话啊,测试阶段和实现阶段不是完全独立的,它是一个什么呢?螺旋递增的模式,也就是说这样子一个模式啊,同学们看到。就是你这个是一边在进行这个呃开发。啊,一边再进行这个,这是这个循环的就来了,过后循环啊,这个线线可能画的不对应,这这画过去了啊,这不好画了,应该换另外一根线,还有没有别的线这个。啊,就这还这个还这个线,然后把它粘过来转转一个方向是不是就可以了哦,这样子就好了,就这样子。
28:02
这个什么意思呢?就是说它是一边做开发,一边做测试,一边做开发一边做测试,它是一个螺旋递增,那这个地方也有一个专门的职位,谁来做呢?就是有一个职位叫软件测试工程师。测试工程师。测试工程师,这个工程师是软件测试工程师,软件测试工程师是专门做这个测试的,他要干什么呢?他要做这个用力测试。的测试用例,测试用例完成对软件的测试,对软件的测试,包括对你们这个底层的测试,那这里面呢,他一般会掌握什么功能呢?就像最经典式还有这个白盒测试。白盒白盒测试,还有这个黑盒啊,黑盒黑盒测试还有呢,叫这个黑核测试,有个概念叫灰合啊,灰合测试就是介于他们之间的灰。回合。
29:00
哎,这个灰色的啊,灰色。挥合措施。黑盒测试,那么嗯,什么叫白盒测试呢?白盒测试它比较简单,那白盒测试黑黑盒测试大家知道什么意思吧,就是这个功能测试了就功能就找一个大妈啪啪啪点哪地方出了问题,告诉你有问题。白盒测试呢,一般是高级一点的,就是他要自己写代码,写这个用力测试,用自己写代码来测试你的代码,所以说为什么你们将来会了代码过后你们转,如果说有些有些同学对测试感兴趣,那到测试工程师是非常轻松的一件事情。但是呢,有一点测试工程师一般来讲他的工资较低啊,他的工资较低,为什么工资较低呢?因为他的这个技术含量低一点,我在待一个公司里边。见过这个测试,真正测试做的比较好的就一家公司,就那个用友,用友那家公司是特别注重这个测试的,他基本上有一个规则就是一个,就是在国际上有一个规则是什么呢?是一个开发工程师,理论上应该配三个测试工程师。
30:11
它是这样的一个标准,才能写出很好的代码。那么反过来在中国呢,一般是三个软件公司配一个测试人员都配不到,但是用友确实能做到,我当时在用友做的时候呢,我们有个规则,所有开发人员先做一段测试,再做开发,他先让你知道流程,然后再做。呃,当时我们这个吃饭都不在一起嘛,就软件工程师和测试工程师不在一起吃饭,为什么呢?因为我们软件工程师写完代码过后就被他找bug,找完了过后他会告诉你去调,如果你调不了,你就会上黑名单。这个拥有他很厉害的,他这个测试工程师,每一个季度有个末尾淘汰,他有一个有一个系统,就是今天你比如说今天你作为一个测试工程师,你发现了几个bug,你排名第几,然后呢,如果你连续333个季度都排名倒数第一或者第二,直接就淘汰了。
31:07
说大公司实际上压力也不小,知道吗?而且找到这个U,找到这个什么叫一个bug呢?他找bug,实际上他是找bug,找这个bug呢,不是说乱找的,所以有些同学老师什么叫找bug呢?标准的bug是这样子的,第一步怎么做,第二步怎么做,第三步怎么做出问题。这要重现,如果说你说找了一个bug出来过后,人家按照你的这个流程一说,诶没有错啊,这就不是一个有效bug,这就是你没有找到这个bug。这种bug是最难调的,就说将来,如果同学们将来参加工作以后,你们将来跟测试工程师交流,如果有一个测试工程师,他告诉你有一个bug,你就必须让他说怎么怎么样才能复现,就他这个要复现,这个bug就叫复现,这个叫。复现这个bug如果不能复现,你可以不搭理他,你的这个项目经理也不会找你麻烦,但是如果说别人告诉你一个bug,你按照他的这个流程去执行就有问题,你就必须调,所以为什么我们我们不在一起吃饭呢?因为老觉得他是。
32:15
搞我们的嘛,说大家我们在这边吃饭是吧,软件公司测试人员在那边吃饭,大家怒目而视啊,怒目而视,呃,当时我也我也想起公司里面这个待遇比较好的,像用友啊,他这个吃饭还是比较到位的,以前我们说过去了过后早餐是吧,早点去早餐给你管了,中餐呢,相当的丰富,对吧,我我我以为这个这中餐一般般去了过一般都有30个菜到40个菜,而且有时候还有大龙虾啊,龙虾和不是大龙虾是小龙虾,然后呢,现场他会给你拉面,有有拉面师傅给你拉面,然后整完了过后呢,每个人还可以选选选这个水果,比如你选个什么苹果呀或者西瓜,那个也不限量啊,但是也不是完全不限量啊,也太太不像话了,也不行,去了过就跟三天没吃饭一样,那个很丢份的是吧,所以我们我第一天去了过后,我不是讲这事了吗?第一天去了过后看到诶他妈居然有龙虾很劲的吃,吃完了过后当天拉肚子,你知道吗?真的我很郁闷的,好这个这个测试阶段呢,就样一。
33:15
的流程,那么测试完了过后,我们应该做什么事情呢?各位朋友,下一个阶段就到了,我们下个阶段,下个阶段呢,还有一个流程叫做实施阶段,实施阶段也是你项目经理要管的实施阶段,你不去管,到时候出问题了,实施。什么叫实施阶段呢?这有一个专门的职位,叫实施工程师。实施工程师,什么实施工程师呢?实施工程师就说你这个项目做好了,你可能要去部署到对方去,就你要干什么呢,将。将我们的项目,将项目部署部署。啊,部署到部署到这个系统上,并配置配置好参数。
34:03
配置好参数,保证它能运行,正确运行。啊,你不要小看这个实施工程师,他首先啊,可能对他的编程能力要求不不高,但是至少有两点要求是很高的,第一个他对系统本身很了解,对这个产品本身很了解,你比如说德国有一个做ERP的特别牛的,他们那个ERP是非常贵的,一年一两百万。没有几家公司能用得上,但是用了过后,对你整个企业的管理起到一个事事事半功倍的效果。人家愿意花这个钱去了过,这个实时公司去了过,人家是按什么呀,是按小时收费的,横店呢,按分钟收费,按每刀来算。没有几个人能干,我曾经有一个学生在广州的时候,讲PP的,有个有个学生那个哥们干什么了,那哥们他说他年薪已经20万了。姓马,我说你20万,你来学这个干什么,他说他说我说你怎么知道20万,他说我就是干ERP实施的,就是把这个产品。
35:06
到那个对方那个公司去把它配好,因为这个有些产品它是不是放在公网上的,你们将来很多大数据不是在公网,它在私网那个系统怎么安装,怎么配置,怎么装插件,怎么去防范这个病毒,怎么关关这个端口一系列的东西。所以说我跟大家说了,你们将来要往上走,将来你们还可以去学点运维,那你就厉害了,你又会开发又会运维,你的价值上去了。好多同学问我说老师工资怎么上去?公司上去只有两条线,地铁线,要么你做开发特别牛,就是你能干别人干不了的事,比如说你做的这个这个算法也好,你做的这个功能模块,别人干不了,你的薪资你不用说,老板会来找你的,说诶小刘,今天今年你很辛苦啊。对吧,工资给你涨一涨呗,对吧,明年开始一个月给你加1万。是不是这就是这就这么简单,这是第一种方法,第二种你就是大拿什么都会。
36:03
而且还差不多都能管理。就这么简单,如果你两样说,我说老师,我这个学到一定程度上,我上不去了,这个时候我给大家讲啊,不是说你努力就一定程一定能做一个很牛的啊,你看有些人他就是工作了十年20年的一个开发工程师,因为他这些东西他还是很模模糊糊的。纯粹把这个当成一个什么呢?当做一个。糊口的这种事儿就不不应该干,你还不如去干摆摆摆摊。卖卖麻辣串比子挣的多是不是?所以第一种方法就往深了走,第二个就是广告走,但是最好是两方面都厉害的,那基本上就是CTO这个级别了啊,希望同学们往这走好,就说项目部署部部署正确匹配,这是他要对性能要求高,这是他第一个能力,第二个能力这个人的身体要好,为什么身体要好呢?因为他经常出差。啊,比如说以前有个有个学生,他在参加工作以后,呃,好不容易找了一个工作找Java,当时我讲的是JAVA1讲完了过后,大概是零八年左右,我还在那个还还还还没在上一家公司,在上上家公司啊,那那家公司那家公司那个小伙子找工作找了一一个月没有找到,因为学的实在是太烂了。
37:14
但是那个哥们身体很好啊,打篮球特别牛,个子也很高,他有一天特别高兴,跟我聊说好,老说我找到工作了,我说到哪去了啊?我说你工资是多少?他说8000块钱,大概07年零八块钱一个月,8000块钱不不不算低啊,07年08年,十年以前了。十年以前,七八七八千块钱算算可以,关键是让我最感到感到不解的是这么这么一个水平的,怎么能招到8000块钱的人,对吧,我就问他你干啥去了,他说我那个我我我到那个那个一个油田,那个油田是新疆油田,叫好像是塔里木还是哪个地方一个油田啊,到那面去现场开发,要出差过去,出差过去呢,一边是开发,一边是做这个运维,就就管管起来,我说也可以去锻炼一段时间啊,后面他给我还聊了一些话嘛,说韩老师我在这存了好多钱。
38:02
我说为什么承诺说你不是请那个哥们,又喜欢抽烟,又喜欢吃东西,我说你公司怎么没花出去呢?他说实在是花不出去那边啊,因为因为没发上火,去了过后就干什么呢?就说也没有小吃,就那个油田里边干了半年回来了过后,诶成长了,他现在已经不如开发了,他专门做什么呢?他说韩老师我技术不行。我实在是不愿意做开发,我专门管这个,管这个项目的管理,我说也是个方法啊,也是个方法,所以大家呢要做这些问题好实施这个工程师呢,薪资一般来讲呢,也不会特别的高啊,不如果说只做实施啊,工资不会特别高,因为。你说白了就是人家做出来的东西,你把它用一下,所以为什么现在好多咱们现在班上有些同学以前干过实事,干过运维的,为什么要来做开发呢?就是因为光会这一个不好使,好到了这个阶段呢,下一个阶段是干什么?各位朋友,下一个阶段就进入到我们最后阶段,就是什么呢?维护阶段,你作为一个项目经理,你都在了解维护。
39:00
维护阶段,什么叫维护阶段呢?就是他这个就没有专人了,不一定有专人,不不一定啊,不一定。不一定有专人,不一定有专人为为什么说不一定有专人呢?因为维护阶段的主要的目的是这样子的,你这个项目即使经过了非常严格的测试,你也架不住他有bug,你不能说我把这个东西做完了,我给你了,给你这个银行了,或者给了海关了,好,你以后只要有问题,但凡有问题千万不要找我。那人家说句话,你以后还想做你家生意,你是做不了的。第二个人家还会在他这个行业里面传,千万不要用那家公司的产品了啊,用了过后你看我现在就是这样无产样,你在这个行业里面很快就有名了,现在大家看微信这都都很发达的,你的你做的好没人宣传你告诉你,你做的再好没人管你啊,这个人做的好没人宣传你,但是你要做的不好你试试看。你看现在。每天你们都看到百度有那个热搜吧?
40:02
全部是负面消息啊,你看一下,要么就是谁把谁骂了一顿,要么谁谁谁又出了车祸了,对吧,要么谁谁谁又又又干什么事了,反正就这些事情,你看好事情,呃,中国有句话说的很经典,好事倒是不出门的坏事。传千里,所以说你要在这个行业做的不好,你很快就死掉啊,所以说你将来如果自己要做公司,你每一个环节都得把控,你都得把控,所以这个地方要有专人,还是要不一定有专人,但是要维护,假如对方打了电话,你要给他留电话说你要找谁,这个一般来说项目经理要对这个项目负责,就好比咱们修了一个桥,这个桥是50年的一个生命周期,你这个桥只要在50年之内,人家正常使用,垮了,死了人了,直接找项目经理。你直接到班房里面蹲几年,没准枪毙你都有可能,是不是这个道理,你软件也是要人负责任的,说老是软件有啥嘛,哎呀,这个软件用坏了,用坏了你开玩笑呢,假如是个财务软件,别人一结账,本身应该给别人结10万块钱,结果你软件出了问题,给人家结了1000万。
41:11
那你说怎么办?你作为一个你们将来大数据很多,大数据很多用到税务,金融,还有大量的这种这种分析,你分析出来这个错误的结果,你不负责任,谁谁负责任,所以你必须得得管理,所以说我们这个软件也不是小事情啊,好那么简单的分析下这个流程,那么我们这个时间怎么分配呢?就是假如你将来做一个项目经理,你怎么去分配时间呢?好注意分配这个时间取决于这个项目的大小,如果是个小项目就无所谓了。一个人全部搞定,那么如果说是一个大项目呢,一般来讲是这样分配的啊,比如说我们这个标的,假如我们认为是在500万左右。啊,500万的一个项目,500万的项目呢,他这个需求分析就显得尤为重要。
42:01
一般来讲是30%左右是要到的。30%左右,那我说的大概啊,那么这个设计阶段至少不能低于20%,实践阶段也不能低于20%,也就是说,也就是说我们在前期需求设计实现统共要拿走70%的时间,余下的交给这三个。啊,余下的要求这三个要百分之,比如测试也是很重要的实施加维护,他们这个可能这个测试阶段呢,如果这个项目很重要啊,一般来讲也不会低于20%。因为你不要小看测试,我说的是大项目啊,如果是小项目那就无所谓,就比如说你就一个人写,不存在,比如说你项目很大,像像这种像这种大型项目的,他有比如说十几个人,20几个人的开发,20几个人的开发,就算大项目了,你的测试也不是很少,另外10%交给他们就可以了,这就是这么一个流程,好,理论上来说,大家看老师刚才讲这个流程呢,是每一个阶段都有专人需求,需求分析师,设计项目经理或架构师,实现软件工程师,测试,测试工程师,实施实施工程师,理论上说是各司其职,各司其职,但是我们中国有中国的特这个这个国情,中国中国的国情是什么呢?我们中国的国情是很多公司都是初步的。
43:23
创业型的公司,他更喜欢什么样的人呢?他更喜欢是你从头到尾全部干完啊,压力会很大,但是成长不一定很快,老师压力大是不是成长就一定快?废话,压力大成长快不一定,有些哥们压力很大是吧?天天让你,天天让你去拉这个电闸,压力大不大,成长快吗?拉电闸到每天晚上对吧,这么比如说我们有一一个高楼,每天拉电闸,天天有可能被电视压力大不大,大吧,成长快乐吗?成长一辈子只会拉电闸是吧?所以说这个压力大和成长快不一定是有不是有些时候成长不一定压力,那是太你要看这个压力是什么,就每天在学新东西,还好,比如说你去了过后,你做一个新手,就让你把这些全部干完,你是得不到成长的。
44:15
最好的方式,同学们注意听,不要把眼前利益放在第一位,当然必要的薪资还是要的。比如说打个比方,将来你有两个岗位,一个是15000,一个是1万。如果这个1万块钱呢,有一个比较有经验的团队,好的团队带着你成长,你应该毫不犹豫的选1万,因为你一年以后或者两年以后,你的这个整体的实力就会上去。另外一个公司15000。全,或者让让你干,或者是一帮去了,过后虽然有几个人,但是你会发现你在这里面技术最牛,你就可以离开了,因为你本身技术还不牛,都已经最牛了,你想想这个公司还有希望吗?对不对,虽然给了15000,但是你干完两年过后,你你除了得到一个月一万五的工资以外,你什么都得不到。
45:00
但是人家这个1万块钱的人呢,人家一两年以后可能跟你,可能跟你聊天都不想跟你聊了,别人聊的东西你完全听不懂。别人接触那些人,你也没有接触到最广最一个人最大的资源不是在于说我天天在干活,而是你,第一个你要有一定的关系,比如说你将来认识的人是一个这个层面的人,你就会在这个层面上发展。第二个你能力成长了,人家才愿意跟你交流。说老师我天天去,呃去跟那个大大牛大咖去聊天,去跟他,呃喝茶没用。人家除了把你当成一个小跟班。没有任何,因为你不知道嘛,所以说你只有一个能力跟人家匹配到一个程度了,所以说你才会成长,记住老师这句话好,那么这就是老师给他分析的一个项目开发流程,希望对大家将来多少有点帮助,我把它呢给大家讲到这儿啊,好,我把这个简单板说一下,虽然说了点这个东西我觉得大家比较缺,因为我们班好多同学没有真正的在软件公司干过,他不了解啊,所以说你有一个整体的认识。
46:09
当然我这样说了。过后大家肯定还是。不敢去跟人家聊这些事啊,因为毕竟没有干过,但是你多多少知道一点,好,这是老师给他聊了一下开发的一个流程,就是根据我的一个呃。一个经验,一个成长,跟大家聊了一下,希望对大家有些帮助。那么我把这个图呢,给同学们拿过来好拿过来,拿过来过后呢,大家也看到啊,根据这个图你就知道你的职业规划应该是什么样子了,你们现在是在这个阶段,各位朋友,你们现在只在这个阶段玩。OK,你们现在还在这个阶段,那么你将来发展的方向,你的思路应该是什么样的呢?第一个,你现在如果是要走技术层面,建议大家先往这个方向走。那么你可以往项目经理、架构师走,如果项目经理、架构师你做的差不多了,你可以干什么呢?你可以再往上面去发展到我们的CTO。
47:09
CTO就是技术长官,再说直白一点,当下面几个软件组长或者程序员对一个技术实现有疑问的时候,你就得出面搞定。就说你去了过你你说话得算数,去了过我来拍板,但是你还要说一下,为什么这样干,程序员之间呢,他是有互相尊重的,但是如果你的方案别人不认同,就跟你吵起来,你就你你说句话,你你就得压得住阵,明白意思吧,你不能说我是我是CPU听我的,你说了以后,你要发现你的你的方案很狗屎是吧。人家可能就直接说这个人技术太差了,CTO也不是白当的,现在让你当CTO你也别去,因为你干不了这个活啊,你干不了,那么ctou再往上走干什么呢?再往上走就是技术合伙人,如果人一个人一个人的技术真的很牛啊,会有人来找你的,现在这个整个这个互联网的发展还是有机会,虽然没有以前多了,还是有机会。
48:07
你就可以当技术合伙人,这个时候你就可以给一个公司成长了,那么这样一般来说,建议大家先在这个地方至少干一到两年,但是要快速成长,千万不要说每天我在重复性的增删改查,如果一个公司让你天天干增删改查,你赶紧走。除非你就说老师我觉得也行啊,对吧,那我就没办法了,那么你这个时候马上要主动积极的去做项目经理一定要去做一遍,做完了过后你往CC,这是技术线路,当然有些同学老师我发现了一段时间发现我不喜欢做技术,我怎么发展呢?简单,如果说你对技术方面不是特别执着,你就走第二条线,第二条线是什么线呢?就是全面发展,平衡发展,这条线你就干什么呢,你就了解整个项目流程,比如说说老师这个,呃,这个项目流,项目管理我干,我的管理能力比较强,我喜欢对这个项目进行管理,那么你就走管理,管理型的这种这种这种人才。
49:03
啊,项目拿到你手上,你知道有这样的这样的,诶把项目做出来,这是第二条线,第三条线,你可以做什么呢?专攻这种需求分析和市场这一部分的,我上课在上个班讲完了过后,有个哥们就跑来了,他其实在来之前他已经能挣到一万二了,韩老师,经过你的分析,我觉得我现在希望干一到两年是这个阶段,然后呢,我就往这个方向发展,我希望冲在前面。我喜欢做市场,做销售,我还喜欢做分析,哎,你也可以往这一方面走,这个也是一个很很重要的岗位,一般来讲这种岗位只要干好了,公司强起来,那就是真正的人才核心核心,所以说三条线由你们选择,在最后这条线我不建议啊,这条线如果只干实施和维护这条线,大家不要去干。因为这个呢,第一个你年纪大了,太累,天天出差受受不了,而且不利于家庭和睦,对吧,你刚刚你跟跟跟女朋友对吧,你你你刚交交流这段时间,你你天天人都看不到你。
50:02
对吧,结了婚小孩你也不能照顾,你干这个事情没有意义,以前好多同学,我以前带着学生好多就是干了时时阶段实在受不了了,就是因为。老婆天天在吵,孩子也一年见不了,见不了几天,这种活就不要去干了,太累了啊,女生,如果女生啊,注意听。如果班咱们班的女生呢,你这条这些线你都觉得不好,还有一条线可以选择,就是你们可以专攻测试,我说老师,我昨晚你我这写完这个,学完这个编程,你让我做测试,你不是害我吗?不这样子的啊,因为现在很多测试工程师不懂编程,你去了,你因为你会做编程,你往测试一一转,第一个你女生有优势,第二个加上你会做开发,你可以直接应聘测试经理。测试经理薪水也不低档。啊,压力虽然是也也没有像开发那么大,而且你你是在这个时间段,你做了一段时间你在做测试,你你比一般的就是一般的测试公司,他就没法给你PK了,就是你你是一种很强很强劲的一种方式进入到这个这个这个相对低端低一点的这个工作,但是。
51:10
测试工程师,测试经理,经理这个岗位在这摆着,他他的收入也不低啊,好一点的公司也也能到两到3万没问题的,甚至更高。所以说每个人的发展的这个流程呢,要根据自己实际情况来定,你千万不要说别人走这条路,我也走这条路,别人这么干,我怎么干,我告诉你,你就是不会思考,你会,你最后会发现跟着别人走,你最后啥都没得到,你啥都没得到,你除了得到一个感慨,嗨,我该我不应该这样做,你要去思考这个问题,好,同学们那么聊了一些这个思想上的东西啊,这个虽然虽然有点啰嗦,但是呢还是对大家希望有这样帮助,我们休息一会儿吧。
我来说两句