blog software buaa php
![]() |
Email:qianlxc@126.comhtml Free time:8:00 7:00 a.m ~ 11:00 12:00p.m前端 Introduction:java 我是一个热情的人。开朗的人。活泼的人。(小编以为用逗号分开比较好python 我喜欢交际,喜欢沟通。laravel 我不是码农,我是工程师。git Role:写代码,总体框架与结构的设计,负担沟通接洽各个成员的责任。程序员 Duty: Project Mannager(项目经理)github Personal Homepage:http://www.cnblogs.com/SivilTaram/web |
|
|
||
Email:309143859@hotamil.com Free time:不上机的晚上 Introduction: 我以为本身的专业能力在这个团队当中是最差的,可是我会努力学的……其实以为目前市场上的软件功能已经逐渐覆盖包围,对于咱们这样一个小团队来讲要开发新的功能确实不太容易,因此我我的的想法是着眼于身边,在北航甚至是计算机学院的背景下作一些东西。 Role:任何职务(主要我以为本身都不太会)组织要我干什么我就干什么 Duty: Reporter(文档撰写人员) Personal Homepage:http://www.cnblogs.com/lydiavitani/ |
![]() |
|
|
||
![]() |
Email:1143974257@qq.com Free time:晚8点-晚12点 Introduction: c,java,安卓开发。此次团队项目我更倾向于作安卓应用或开发安卓游戏,主要是使用的是咱们更加熟悉的java语言。同时java也很是适合协做开发。 Role:运动教练,写代码,协调工做=。=(你还卖萌 Duty:Programmer(代码开发人员) Personal Homepage:http://www.cnblogs.com/mnb10109/ |
|
|
||
Email:634208109@qq.com Free time:早上4八点半到晚上八点半,并非空闲时间,12小时工做时间。 Introduction: web后端,渗透测试。 对团队见解:咱们差个牛逼的前端画网页。。目测全系也没有。。。。。。 软件工程见解:软工主要是学管人的,团队合做,这俩我都不擅长,我只提些架构上的建议,一切听领导安排。(确实差个好前端,快来我的跳槽呀! Role:后端开发 Duty:Back-end(实力后端) Personal Homepage:http://www.cnblogs.com/hoerwing/ |
![]() |
|
|
||
![]() |
Email:504037668@qq.com Free time:周一下午及晚上,周五下午,周末至少一天 Introduction:
Role:前端设计 吹比担当 Duty:UI Designer(UI设计师) Personal Homepage:http://www.cnblogs.com/kibbon/ |
|
|
||
Email:songxh_scse@126.com Free time:8:00~11:30am(周四) 7:00~11:00pm(周1、三) 以及一些零散时间 Introduction:我的编程能力不强,目前仍然在学习之中,可是我愿意学习,但愿在之后的学习工做中与你们一块儿进步。 Role:可写代码,也能够测试,还能够提供一些想法 Duty:Programmer(代码开发人员) Personal Homepage:http://www.cnblogs.com/songxh-scse/ |
![]() |
|
|
用户数据永远是咱们的项目最关心的,首先来讲说相比于α阶段,β阶段的咱们有了哪些用户量上的增长或改变。在β阶段,咱们的目标有效注册用户是1000人,目标网站流量是25000次。
α阶段团队展现时,物理实验网站的实际注册用户数是刚到300。截止至2016/1/9日12:00,物理实验网站的有效注册人数是800余人左右,达到了指望的80%。
在α阶段展现时,咱们的域名备案尚未审批经过,从11.23日备案经过后,域名的做用逐渐发挥,如今受访域名buaaphylab.com已经占据受访流量的1/4。
α阶段展现时,物理实验网站的总浏览次数才刚刚过3000。现在一月半过去了,咱们的网站也蓬勃发展了一个半月,虽然由于实验在校历第16周周二就已经中止了选课,从而致使总体流量的增长量在趋势上呈下降态,可是流量总数是很是可观的。从cnzz的数据统计获得,截止至2016/1/9日12:00,咱们的网站流量总数已经超过了25000,达到了一个较为可观的数字。如下为cnzz的数据统计结果:
在α阶段展现时,咱们的物理实验网站交流群里的人数刚达到160人次,在β阶段结束后,已经达到了272人次。如下为群介绍与成员状况
名字 |
小红 |
性别 |
女 |
职业 |
某校通常学院大三学生 |
物理知识层次与能力 |
通常般 |
动机 |
不一样的物理实验老师在数据处理上可能会有不一样的要求,在处理特定的物理实验数据时,和自动生成报告的数据组数不一致。 |
目的 |
但愿可以有个小工具帮本身处理数据,并有必定的参考与指导意义。 |
困难 |
因为数据组数不肯定,但愿能够动态增长数据或者减小数据组数。 |
用户比例 |
约占同届学生20% |
典型场景 |
小红在作1011,这个实验是须要使用逐差法作的。可是今天这个给小红讲课的实验老师好像有点不同…哎?老师,为何其余同窗以前作这个实验的时候只须要10组数据,而咱们此次就须要15组数据进行逐差处理啊?老师:"我带这个实验带5年了,上个人实验就必须按我要求的方法来处理"。小红内心一阵苦涩,任性的老师真多,若是有一个可以动态计算多组数据的逐差结果,而不是只能经过固定组的数据生成报告就行了。想着想着,小红进入了物理实验网站,找到了小工具,逐差法计算器,输入数据,按照需求还动态增长了须要的组数。小红心想:"这么灵活的小工具,真是造福大众啊"。 |
名字 |
小黑 |
|
性别 |
男 |
|
职业 |
某校学院大三学生 |
|
物理知识层次与能力 |
通常般,其实主要是电脑差,跟物理不要紧 |
|
动机 |
预定实验放出的机会比较少,很难抢到。 |
|
目的 |
但愿能有人抢到物理预定实验后跟本身一块儿去作。 |
|
困难 |
僧多粥少 |
|
用户比例 |
约占同届学生90% |
|
典型场景 |
"你昨天抢到预定实验了吗?""别提了,提起这事我就伤心,我那破电脑,抢个预定实验简直就是作梦啊。""那你没试过在buaaphylab.com的论坛里发帖请求别人带你去一块儿作预定实验吗?预定实验还能够一块儿作,多好""你说的是真的吗?那我如今就去发帖求人带预定实验了,这论坛真是好东西!" |
名字 |
小明 |
性别 |
男 |
职业 |
某校学院大三学生 |
物理知识层次与能力 |
若是够高,能不用考试吗? |
动机 |
烤漆到了,物理实验的复习要捡起来了 |
目的 |
但愿可以发帖询问本身关于物理实验考试题目的疑问并共同解决 |
困难 |
物理老师的答疑时间又过短,人太多,而且物理老师回答的老是那么几个问题,重复率过高。 |
用户比例 |
约占同届学生70% |
典型场景 |
烤漆到了,物理实验的考试立刻就要来了,"啊,我物理实验什么都不会,考试该怎么办呢?这道题我没看懂唉,但是物理老师的答疑时间又过短,态度很差不说,还给不出一个有理有据的答案。"小明心想:要是有个论坛可以用来交流提问各类基础物理实验有关的问题该多好啊,那样你们回答过的问题也能保留下来,下一届的同窗还能看到,真不错。说着,小明点击进入了连接,点击社区进入了讨论版,发出了第一个帖子:论物理实验的复习。 |
以上就是咱们β阶段推出的功能所面对的三类特定用户,能够看出三类用户都是学生。
α阶段后,咱们反思了关于项目初始的定位,最终在反复思量后取消了针对老师的服务,作成了专门针对学生的物理实验网站服务平台。作出这个决定的缘由是多方面的:一方面是由于在α阶段后,我曾和物理实验组的负责老师的接洽,老师表示不太愿意接受这样的平台,实验组的组长是一位年纪较大的老师,她负责出物理期末考试题,由于年纪缘由更加倾向于传统意义上的答疑方式,不但愿经过网上论坛的方式。另外一方面缘由是,若是要把物理老师接纳进论坛的话要对物理老师进行实名制的认证,这将耗费比较大的精力,团队在商量后决定全部feature的开发所有基于学生用户。
在确立基本可能的需求后,咱们对用户来了一次问卷调查,问卷调查的结果显示:
调研的结果代表积分制可能会致使流失用户,因此β阶段将积分制的功能暂时搁置。而论坛的功能和小工具的feature符合咱们β阶段的基本功能,说明β阶段的计划是可行的。
α阶段中团队管理中主要存在的问题是,做为项目经理的我在整个流程中发挥的做用太大。一旦失去我这个中心,整个项目的各个部分都将处于一种停滞状态。每一个队员的直接交互人是我,直接交流的人也是我,不和其余队员产生信息交互与分享。又因为第一阶段要经过一些例子和参考来让其余队员进行模仿学习,因此个人压力和负担很大。这种依赖关系以下所示
一旦失去我这个单核心,各个结点之间并不能产生关联,没有办法造成小闭环进行正常的开发:适应与沟通都须要时间和人力成本。
在β阶段,为了改变α阶段出现的"没有项目经理等于没有一切"的状况,将每一个人对整个团队影响降到最低,在商讨后,咱们对整个团队的结构作出了调整,调整后的分工协做图分两条线并行
实验处理部分的依赖关系以下图,鱼尾表明一个实验的开头,鱼头表明实验上线,1~9表明对一个实验的处理步骤。
而对每一个人来讲,好比何小松,他的每日迭代开发应当是这样度过的:
而对于一个总体来讲,则是一个四级流水的结构,就像下面所展现的
同时项目经理做为每日的监督控制人员,对每一个人只起督促做用,但再也不做为主程序员控制最关键的一环。代码开发的工做量减小,主要是负责协调进度与先后耦合沟通的部分。这样即便我因某些因素请假没有工做,只是会有一部分的工做停滞,不会产生大面积停滞的状况。
而另外一支线则是我部分参与沟通的,主要由后端工程师邢浩与前端工程师鲁聃直接交流与沟通的环状结构。
两路并发给咱们带来各个部分比较高的自由度。第二阶段在为前端工程师定任务时我与以往也不一样,听从了自由制定,部分跟进的制度。前端可否作好有些时候靠设计和灵感。因此我为前端工程师预留了足够多的空间与自由安排的时间,因此可能你看到的Scrum meeting是这样的:
受限于前端工程师自己的时间、精力与行业特殊性,因此我冒险让其采用了上述自由安排进度的策略。最终中间过程不够理想,可是结果也算是没有辜负个人指望。
因为α阶段测试不足,在β阶段咱们恶补单元测试,严格要求测试与开发并行。本轮迭代涉及到了以下几种测试:
单元测试与自动构建是经过drone.io来完成的。它同样能够和Github紧密结合,每次push都能自动运行单元测试。可是与Travis-CI相比最大的优点在于登录速度很快...Travis-CI的自动构建虽好,可是在国内比较难用。
本次黑盒测试共测试出了 10条bug,有1条还没有修复
编辑栏状态不稳定,图标没法完整显示。Issue连接:https://github.com/buaase/Phylab-Web/issues/194
其他9条已经所有修复完成,如下为bug清单:
本次还针对以前的主页和其余等进行了浏览器的兼容性回归测试,并使用siege进行了压力测试,测试覆盖较为全面。
没有给团队的测试打五颗星,是由于还没找到支持drone.io的代码覆盖率github插件,因此暂时无法给出代码覆盖率的测定结果。
本轮迭代作得比较差一点是用户的需求分析和反馈。主要缘由是在论坛的使用上还没到高峰期,论坛功能的出现时机处于一个比较尴尬的位置。而且团队缺少宣传推广方面的新鲜创意,尽管最后使用了一些题目有关的帖子来引导用户从群聊模式转向讨论区模式,结果仍是不太奏效。
代码规范方面,除了后端的php文件的代码规范外,在写数据处理前,专门定义了实验处理的代码规范与模版文件:
咱们在β阶段的燃尽图如上所示,能够从燃尽图的变化看出咱们团队项目burndown图的动态变化。天天都有完成一部份工做,可是完成的进度比较缓,没有预想的那么快。现状也的确如此,在α阶段项目经理new并close个70个issue,而在β阶段,issue上涨到了123个,增长了仅53个而已,去掉bug所表明的issue,其实真正作的开发近乎于于α阶段的一半而已。
咱们反思了这种状况的出现,最后发现,β阶段任务完成率不高主要是由于:团队项目与队员们其余课业——主要是编译课设的冲突。
与无忧无虑能够每天作软工的α阶段不一样,β阶段,团队面临着两个很难处理的难题:
这两个难题一旦解决很差,团队的挫败与溃散是在所不免的。
前五次scrum meeting里,项目经理的心情是沉闷的,每次开会时表情是这样的:
我甚至曾一度想放弃团队项目。那段时间里,天天回到宿舍就是愁天天的scrum meeting该如何写。我不想造假,可是又担忧开会时有些队员又是一事无成。心理压抑,矛盾,队员的不理解,面对团队项目,我天天都是想着如何可以撑过今天的scrum meeting,老是安慰本身:挺住,撑过今天就行了。
为了能让团队项目依旧保持其活力,必须将团队项目做为最高优先级的我,舍弃了一些机会。做为表率,个人行为鼓舞了每个队员,最终换得了项目天天缓慢可是持续的进展。第六次scrum meeting,会上丽叔说wecenter和laravel的对接初步成功的时候,团队活力复苏,一直撑到了最后。
此次危机也让我充分意识到两点:一个是团队须要有共同理想才能在面对艰难困苦的时候撑下来,不然一个团队里的成员很是容易在"大难临头"的时候各自飞。另外一个就是,项目经理的心理素质真的要足够强大。
在实际的开发里,即便遵循多核心的分工协做,项目仍然遭遇了比较严峻的考验。流水线开发的弊端在于,只要有一我的请假或停滞了开发,须要其产出做为输入的后续方将没法很好地进行开发。而在编译实验和团队项目β阶段几乎一直打架的状况下,想努力维持每次scrum meeting都没有人请假的状况几乎不可能。
就像是流水线里阻塞了同样,咱们团队的开发也因大大小小的请假被迫延误了至少两天的完整工时,这一点是流水结构的弊端所在——影响均摊,结果总体风险加大了——由于每一个人都占了必定的主导地位。
在 β阶段,我在分 配任务时遇到的比较大的问题就是队员工做转型的问题。由于第二阶段前端须要开发的东西不算多,而咱们第一阶段后将一名后端人员转离团队,因此团队在商议 后,想把佘彦廷同窗调离前端的岗位,进行后端的处理。可是在操做时遇到了问题,无论是python仍是latex,想写出有质量保证,可用的东西,学习耗 去的时间成本过高,最终为了避免让天天的scrum meeting都是学习和请假,仍是没有让佘彦廷同窗学习python,转向后端的处理。
在 反复思考后其实才能明白,学生阶段与工做生产环境存在差别,可能会出现各我的学习能力与分配任务的不匹配。学习付出的时间成本是较大的,每一个人所作的工做几乎都是不可替换的,好比只有邢浩一个后端,只有鲁聃一个前端,只有我这样一个能统筹规划写博客的项目经理等。每一个角色的代入感很强,可是一旦在某个职位上缺乏某我的,那么一个团队依旧可能会溃散。每一个人都是不可替换的一份子。
实际上,第二阶段你们在开发上所开发代码没有第一阶段多,可是第二阶段全员参与使用了github,状况以下:
这一点是相对α阶段作得很好的一点,全员参与github,你们都也熟悉了一些基本的git操做。
姓名 |
具体贡献 |
贡献分 |
|||
刘乾 |
|
60 |
|||
何小松 |
|
61 |
|||
鲁聃 |
|
49 |
|||
邢浩 |
|
55 |
|||
黄雨萌 |
|
40 |
|||
佘彦廷 |
|
35 |
论坛功能
小工具页面
首先,两个服务虽然使用了彻底不一样的架构,咱们的需求就是,让其能经过数据库进行交互和对接,而且现阶段的一个必要任务就是让这两个服务的用户模型在数据库中统一,而且登陆和注册要共用一套接口。
在数据库的合并这个问题上,为了避免让二者除users外的表发生冲突,咱们在安装wecenter时给其设置数据表的前缀,这里设为wc_,以后咱们保留原来laravel数据库中除users外的全部表,以后,咱们把laravel的users表中的password字段改名为labreport_password,id改名为uid,其余字段不变,这样咱们把这张表的结构和数据导入到wecenter的wc_users表中,这样的话算是把二者的数据库合并了,为了避免改变laravel已有的代码结构,咱们从wc_users表中导出一张名为users的view,view中各列与原来laravel的users表彻底相同,这样就完成了其在数据库层面的对接。
以后,在统一登陆和注册接口时,由于咱们已经有了四五百的注册用户,咱们没法从其在数据库中加密的密码来得知其密码明文,然而wecenter须要一个密码字段,咱们又不能让这五百注册用户挨个改密码,这样咱们想到了一个解决方案,咱们在后台给wecenter设置一个全局的密码,全部用户的密码都用这个加密后做为密钥。这样的话,咱们的登陆接口使用laravel的登陆接口,以后主站就获得了登陆凭证session,以后,咱们在登陆wecenter时,用这个session本地回环访问(即便用I/O)主站,从某个接口中得到用户的登陆身份,以后使用这个身份验证并登陆wecenter,得到wecenter的cookies。
在登陆wecenter时有一个登陆跳转界面,这是由于wecenter登录时有大量ajax请求,因此咱们保持了其原有登陆界面的结构进行登陆。
关于注册接口,由于wecenter的用户表中有大量与其逻辑有关的附加属性,而且这些属性很难被咱们彻底控制,也就是说很差直接编码添加这些字段,因此咱们不能使用主站的注册,而使用wecenter的注册接口,而主站的用户的字段咱们都是可控的,均可在注册时添加进去。这里有个比较坑的地方是,laravel的密码加密方法与框架耦合很是紧,我没有作到把其算法编码实现,因此,在注册填写labreport_password字段时,咱们也是使用了本地回环请求laravel的某个接口得到加密后的密码,填写入密码字段。
按照上述这样,咱们就完成了用户注册和登陆接口的统一。
http://www.cnblogs.com/kibbon/p/5117674.html
开发人员的一些感想:
佘大爷>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
松哥<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
不知不觉,一学期的软工即将结束了。这学期咱们的任务很重,比之前任何一学期的任务都要重,可是比以往的任何一学期都要有意义。软工则是这学期最有意思的一件事。
在软工开始的时候,从我的项目开始,我真的是想好好作,可是对于一个暑假都没有接触代码的我,完成实在是有点困难,并且那个时候本身的能力并不高。所以,软工的我的项目就水水过了。结对项目的时候,渐渐地回复了感受,直到M1阶段,我开始意识到,必须作出改变,因而,逼了本身一次。
在M1阶段的时候,学习了不少东西。从一开始的matplotlab,只是学了皮毛,虽然没派上用场,可是本身学了;而后就是Python,学习了以后发现Python是一个很好用的语言,之前在上密码学课程的时候就接触了Python,这一次深刻的学习了一下Python,感受很不错;再而后就是LaTeX,当时迫于团队的进度和项目经理的任务量大,我开始学习LaTeX,分担一些项目经理的工做,如今想来,学习LaTeX真是一个不错的选择。总之,学习和练习是M1阶段的主要工做吧。如今想来,要是我能事先掌握这些工具,M1的时候就不用过得这么累了。
在M2阶段的时候,主要就是课程上的压力。到学期末,不少课程都要面临结束,有大做业,有考试,所以,这个阶段主要就是时间上的安排。由于当时实验室的工做停下来了,因此个人时间可能比他们都多一点吧,而后就尽力多作一点东西,让咱们可爱的软工项目可以活下来,并且活得更好。因此M2阶段主要就是心智上的成长,咱们逼迫本身去完成一些之前看来不可能完成的任务,事实上也证实咱们能够完成。
最后,我要感谢这个团队。团队中的每个人都是那么可爱。每个人都在项目经理的安排下,努力地完成本身的任务,提出本身的合适的想法,让咱们的项目变得更好。咱们都很累,可是咱们合做,让每个人本来的累轻松一点(合做愉快!“软件攻城狮”们!)。因此要感谢这个团队,由于这个团队,我成长了不少不少,谢谢!
萌萌>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
在整个软工项目的过程当中,发现实践的重要性。在课本上或者在论文中的知识其实都是对实践中状况的总结和升华,可是单单从字面上仍是不能体会到文章中真正想 表达的意思。从大的主题上把握,个人体会就是,没有万能杀器,只有适合的道路才是更好的。(P.S.从这句话看来整个体会是又红又专的)
交流沟通方面。在咱们的团队中,主体是一个宿舍,其他的队员也是一个班的同窗或者熟识的朋友,所以在交流沟通方面的成本不大,精力能够更多地放在对项目本 身的安排上面,然而对于那些队员之间比较生疏的团队,我认为仍是要在交流沟通方面下大工夫的。这一点在在一切运行顺利时不能体现起重要性,可是在遇到问题 的时候格外重要,由于与交流沟通直接相关的就是任务分配和合做。一个团队的配合和分工在项目中有多么重要相信只要经历过这个过程的人都回有体会。
团队中角色认知方面。举个例子来讲吧。我是在第一阶段体会到项目经理的重要性的。在正式接触一个软件工程项目以前,我认为的PM是一个相对而言的“闲 职”,不须要过多地码代码,只要把握整个项目的大方向便可,只一点直到看完书、参考资料也没有太大的改变。如今再回到正题,实践才是检验真理的惟一标准。 在项目的第一个阶段,我就发现了PM在整个项目中起到的是链接与动力的做用是多么重要。仍是像以前说的,咱们团队的项目经理坚持在天天早上或者前一天的晚 上将每一个人一天的任务放在群里进行公示与明确。并在天天晚上检查今天任务完成状况,以便及时调整项目进度。以我本身的切身体会,天天的任务和汇报机制逼迫 我天天不得不挤出时间来作团队项目,从而保证了工做量。到了第二阶段,因为项目自己从磨合进入到规范阶段,咱们的配合很大程度上已经取决于以前创建的不成 文的分配规定,PM的工做量就没有那么大了,但这也是在项目初期打下了的底子才能撑起来的。
我的时间安排方面。书本上或者文章中的知识基本上是对于一个专业的软件工程团队提出的。而咱们的状况是,在进行一个团队项目的同时还要面对别的课程的压 力,时间安排这一点上几乎没有可参考的内容。这时候发现前瞻性是多么地重要!!!咱们的项目在alpha阶段完成了大部分的工做,这一段时间编译课设还没 有开始,时间相对充裕。为迎接以后编译数据库课设打好了能够吃的家底。现在顺利结束,回想一下,若是当时拖延,想着将任务放到后面作,想来在14-17周 的生活会至关至关难过。
再次回到大主题吧,实践出真知。我认为六、7班的软工课程是比前大班成功的,就是由于有了一个真正的项目来给咱们实践、让咱们思考和体会软件工程文字的 知识是怎么应用到现实的。然而实话说,在本学期作软工的过程当中,我心里曾经真的十分抗拒这门课。倒不是由于课程自己,而是时间安排的问题。当我知道咱们的 软工课程考核方式是如此不一样的时候,心里十分不平,认为咱们付出了不一样的时间精力却拿一样的分数,加之这个学期还有编译和数据库的压力,看着室友优哉游哉 生活过的滋润本身却在软工的水深火热之中心里非常不平,相信不少同窗应该都有这个体会。可是我也说了,其实这样设计很好,惟一的不足在于应该把这门课与有 压力的课程分开安排。或者干脆你们一视同仁,一块儿辛苦,没有了心理落差或许好不少。
乾<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
一个团队只有在经受到巨大的压力与挫败的时候才能体现出它真正的凝聚力。咱们团队的凝聚力不必定是最高的,行动证实一切。
最后,再热情拥抱软工这门实践课,感谢这门课让咱们团队的人凝聚在一块儿,也感谢这门课最终让咱们收获良多。
不只是编程能力上的,更多的是关于人、协调、团队合做、团队冲突等方面的经验与感觉,相信每位队员都收获颇丰。那么最后以一句话来做为团队项目的结尾:
再见,软件工程!