物工一班第二次作业17038016刘瑞

一:公司软件团队软件开发流程

        需求分析-概要设计-详细设计-程序编码-程序测试-软件交付-客户验收-码农维护

需求分析
一个软件没有出现之前,只是有一部分人有一个想法,我需要一个这样的东西(想要一个孩子了)用来管理我的什么什么,这个时候一个想法出现了,就会有这个需求,他会找软件公司需求分析师来商量,这个时候一个软件就怀孕了,相当于开始发育了.需求分析是听完要求以后会将大概的功能描述一下,用Word或者Axure画出一个简单的Demo给用户看,经过几次确认以后需求分析师会最后确认功能是不是完善的,确认了以后进行我们的下一步,概要设计

概要设计
这个功能主要是干嘛的呢?很多的公司觉得没必要,其实是很有必要的,这个就是相当于先规划一下怎么平安度过怀孕期,对于软件来说就是软件的处理逻辑,大概的一个流程是怎么走的,大概需要哪些模块,怎么运行,需要大概多少接口,后期怎么维护等问题,做这些干呢吗?为了下一步-详细设计

详细设计
有人说,详细设计是很麻烦的一步,其实不是很麻烦的一步,我觉得是最难的一步,详细设计主要是用来确认细节的,接口的名字啊,控制器的名字啊,多少个控制器,谁来调用谁,这个不可以有错,因为后期码农是需要看这个开发的,你怎么起名字,他们就怎么写,所以这里出错也就意味着编码的时候也会错,最后会有一份详细设计书出现,这个就是告诉孕妇具体吃什么,怎么吃,多少量。

码农编码
很多人觉得这个就是搬砖,看着设计书就直接写就可以了,理论是这样的,但是为什么还有很多的bug出现呢?很大一部分原因并不是设计的原因(当然也有可能),很大原因是不规范造成的,还有就是是不是一个项目组的人可以协作处理代码,怎么做可可以提高编码的效率,这些问题都是在编码的时候出现的问题。这个是相当于孕妇实施那一套套餐的时候具体是不是按规范来吃的。

程序测试
这一步是里面很重要的一步,测试,我们不可能说写好直接就给用户用了,这个是不现实的,我们需要做的是先给测试部门进行系统的测试,当然这个测试不是按照用户的想法来的,他们会很暴力,举个栗子,一个按钮,正常的用户使用的时候会直接点击一次,看到效果就可以了,但是测试的时候不是,他们会疯狂的点击,知道他们觉得这个世界上不会有人比他们暴力的时候他们会停止,当然这是一个好的测试人员,很多的测试不会是这样的,他们觉得正常使用没问题就是没事的,其实一个软件好不好,很大一部分在于测试人员的测试力度。最后写一份测试报告就可以了。

软件交付
测试结束以后没有任何的问题的话,就可以写安装手册了,这个其实就是用户使用指南。

客户验收
交付后客户简单的测试以后觉得是和自己想的一样的,就收货,交钱.

码农维护
是不是验收以后就没事了呢?当然不是,一个软件很多时候是在用一段时间以后才会出问题的,所以会一直需要人来维护他们,当然不是说只是出问题才会维护的,主要的原因是软件会根据不同的需要更改功能,这样的过程也是维护的过程,QQ已经更新多少代了,是不是,这也是一个维护的过程。

项目重构
这个是一个项目如果出现了新的技术,功能没有改变的时候,为了用户体验,例如之前是SSH写的,但是运行的速度很低,用SpringBoot,大家都在用,用户反映很好,那么这个时候就需要项目重构了,用新的技术将之前的功能重新实现。

基本那就是这些了,另外细心的人也看到了非软件公司是没有详细设计的,这个解释一下,为什么呢?很简单,其实详细设计是和耗费时间的,非软件公司的人不会花费这个时间在设计上,他们就是直接告诉你需求,码农只需要直接编码就可以了,一般这样的对你用什么技术,什么框架是没有要求的。

 

 

二、最喜欢的两种团队模式:

交响乐团模式和功能团队模式

 

 

 

三、我觉得本门课程适合的团队模式:社区模式

    本门课应该设置几个不同种类但是难度相同的几个结课任务,大家根据自己的兴趣以及能力去找到自己喜欢的团队的相应位置。大家都刚开始学习编程,虽然学习的语言种类很多了甚至很多学生自学了python等等语言,但是大家并不深入了解,大家的编程功底也类似,熟练的方面分布不同。大家甚至都可能对自己都不能深入了解,所以很少能知道别人适合什么角色,这时候就需要自己审视自己,自己能够胜任什么角色,自己喜欢哪一个项目,作为一个全是刚刚入门菜鸟的小团队,对项目的兴趣可能对项目能否尽快,甚至能否完成有着很重要的意义。

   当然我觉得每个小组还是要有严格的方面,要有一两个总的负责人去决定总的分工方向。或者所有事情大家都一起讨论,投票决定。社区模式也要有一定的规章制度才能长久发展。 

你可能感兴趣的:(物工一班第二次作业17038016刘瑞)