个人博客作业----总结

一、软件工程M1/M2总结

M1

  M1是我们项目的开始阶段,也就是项目从无到有的阶段,也是我们项目所用的知识从零开始的学习阶段。就我自己而言,从从来没有写过javascript代码到比较熟练的实现我们项目所需的各种功能,我觉得我学到的还是比较多的,至少从代码量上来说,我原来是没有像M1阶段写过这么多代码的时候。我觉得写代码就像写数学题一样,练习的多了,有的时候虽然自己感受不出来,但是实际上总是会有收获的,就像书读百遍,其义自见一样。在M1阶段我的工作大概是这样的,首先先简单学一下html,为以后写js做基础。所以前两周就是在“瞎画界面”,最后画出了几个巨丑的页面,然后带了一些简单的功能。虽然最后也没用那几个页面,但是知乎看来,那两周自己的尝试并不是徒劳的,自己手画html为我以后的比如dom操作等与页面交互有关的js实现打下了基础。如果直接让我写js的话,也许有些功能能够实现,但是如果不会获取页面中的元素的话,那些需要交互的功能就无法实现。所以有了前两周的基础之后,第三四周的前端进展速度明显加快。而且这个时候后端的好多API早就已经提供出来了,因为后端那几个人写的都非常快,所以我们就可以写一个功能、测试一个功能,一个功能完成之后再进行下一个,遇到问题的时候赶快和后端沟通,就这样一个一个的实现。还有就在一轮答辩的前一天,发送短信的方法还没有弄清楚,我们的PM一直弄到凌晨4点多在群里发了一个消息,短信方法终于探索清楚了,然后他就发了一个怎样实现的教程。而且,这个时候,我和一个负责前端的队友没有睡,正好一个前端一个后端,在第二天早上把短信这个功能实现了,在第二天展示的时候也成功的将发送短信功能展示了出来。总的来说,M1阶段是一个从无到有的阶段,我学到了很多东西,而且让我有了处在团队中的感觉。

M2

  M2阶段虽然名义上是一个多月,但是实际高强度的码代码的时间大概也就两周多吧,也就是正好数据库,数学建模,编译都要交大作业的时候才正式开始,前几周一直是设计和学习阶段,没怎么也没有那么多时间写代码。一开始是想将前端代码重构的,所以第一周就削了vue.js,而且看起来也不是特别难,但是刚要实际开始写的时候。卧槽,怎么其他科这么多作业,怎么可能写的完!所以,我们在第一周之后的组会上面就决定还是不要重构了,还是在原来的基础上实现更多的功能,而且我们M1的时候主要是实现的社团后台的界面,并没有实现学生会员的个人界面,所以M2的重点就转移到了实现更多的功能之上,同时又继续用了sementic-ui画了几个和原来风格相似的页面,实现了社团人员管理,申请管理,站内信等功能。现在想一想,那几天真的是要死了,连续四天通宵,每天都是天天亮天了才睡,然后也懒得去吃饭,懒得拿外卖,所以一天就吃了一顿饭,对身体的伤害肯定还是比较大的,但是真的是没办法,虽然已经延期了一次,但是工作量还是太大了。而且,那几天也正是编译补测那几天,所以我还要抽时间调编译,之前我一次都没去测。所以那几天不抽时间写编译是不可能的,我可不想写这科挂那科,那样的话真的是太苦逼了。所以M2总结一句话就是,超高强度的作死。到现在作息时间还没调整过来呢,晚上三四点钟一点都不困睡不着,早上不定闹钟就10点多才能醒。而且M2阶段还有点小插曲,本来我们是想要改变第一阶段的代码管理方式的,所以第二轮就用github了,虽然原来也用过几次吧,但是没这么系统的用过。一开始还写了个前端代码管理方案:

(首先理清一下前端代码修改的流程,前端不像后端可以直接在服务器上进行修改,前端一般是在自己的电脑上改好了之后再上传的服务器上进行调试的。因为直接对着putty修改html和js的代码实在是太不方便了(至少我这么觉得,vi用的不是很熟练),所以我们原来一般是采用以下的流程:

本地修改->上传到服务器->进行调试->{本地修改->上传到服务器->进行调试->}->上传到服务器最终发布的路径中

现在由于加入了github来管理代码,所里流程也发生了变化

本地修改->上传到服务器->进行调试->{本地修改->上传到服务器->进行调试->}->上传到github->服务器从github上pull获取最新版本)

我估摸着这个流程肯定是不太正规,但是总算是能保证无论如何也要保证每次服务器pull的时候,远程为一个可用于发布的完整工程。我自己觉得这样还不算太麻烦,但是吧,前端到后来也是着急,根本就没按照这个来,直接改完了就传到服务器的port80里去,有个页面我写了一宿功能都实现了,后来一看怎么都没了呢,原来是又让别人给覆盖掉了。当时自己本来身体就虚,这么一惊吓,真的是受不了。。

二、《构建之法》阅读作业以及相关问题分析

问题链接:http://www.cnblogs.com/fusluv/p/4830967.html

1.书里不经分析的盲目优化是不可取的,虽然我们的项目并没有用到太多的优化,我也就是遇到了DOM操作简化等优化,不过我还是觉得应该一早就考虑到之后可能会做哪些修改,拖到项目规模比较大的时候真的是没办法修改,比如我们M2第一周学vue.js的是时候,这个东西真的是不错,写起来也不麻烦,要想完全重构真的是没那个精力了。所以一开始还是要规划好,多考虑考虑再动工。

2.市场需求这个问题,我没做太多的了解,但是至少我觉得起码自己要觉得这个需求很切合实际吧,别弄个自己觉得自己写的代码都不切合需求就行,那样的话,写着也没动力..

3.小组人员水平,我在7个人里面水平应该是最低的,成绩也是最低的(所以我才感觉这学期像个噩梦,那些厉害的还是游刃有余..),但是我却是前端负责人,可能是因为我花的时间比较多吧,本来啥也不会,后来前端的问题另几个人也要来问我。现在想想,成长还是比较大的,本来这学期软工是想抱大腿的,大腿没抱成,反倒是累成狗了。

4.创新者不是先行者,有的时候真的是这样,最开始有想法的人往往没有付出实际行动,最后是其他人实现这人的想法的。现实生活也是这样,而且不还是有那些创意公司么,就负责想创意,不负责实现,教会徒弟饿死师傅我觉得不是特别可能,师傅总是有过人的地方,徒弟也总是会有自己擅长的方面,毕竟这个IT市场实在是太大了,都分一杯羹也分不完,至少现在是这样,以后我就不清楚了。

5.“商业价值和科学价值如何做出平衡,到底是为了金钱还是为了追求编出特别巧妙的程序的快感“,我先把原问题粘在这,因为这个问题当时提的实在是有点太大了,现在我是回答不了。金钱肯定是有,没钱吃土哇,但是吧,人不能就这么点追求,有的时候总得有点理想么不是。而且,我还想做点和本行业没太大关联的事,培养点其他的兴趣爱好。生活不一定过的多辉煌,但是总得有点意思吧。

三、论文阅读作业及体会

总的来说,和之前的理解还是差不多。与其说是差不多,倒不如说是在经历了两次迭代开发之后,体会更加深刻了。

首先是银弹问题,我还是觉得银弹的寻找有必要的,虽然不是刻意的寻找,但是总是要继续的学习,继续的寻找更加便利的方法。而且也一定要注意基础,没有基础的大楼是不可能建成的。

大泥球问题,这个问题在我们的开发中显现的非常严重,当时总结的那些能够造成大泥球的原因基本全碰到了,真的是想到了也没避免了...以后还是要注意吧...

其余的那几个问题,体会没什么变化,也没什么亲身体会,就不赘述了

四、6个阶段中的学习体会:

需求:学习了调查用户需求的方法,而且在需求的详细设计方面,我们还学了NABC方法。

设计:bottom up和top down两种大类型吧,我们这次主要是自顶向下,不断细化功能。而且在API设计的时候前端后端一起讨论并评估实现的难度。

实现:这个没啥能够细化的体会,觉得这是个积累的知识释放出来的主要阶段。当然,一定是要在需求分析正确,设计合理的基础之上的

测试:主要有单元测试,压力测试,不同平台的兼容测试等测试方法

发布:一定要有发布说明书,让别人主动探索你们的项目是不太现实的。而且发布之后还要有个总结事后分析

维护:不断发现和修复bug,增进用户体验。

五、对这门课的建议:

首先还是要肯定这门课的意义的,但是也许由于还是在探索阶段,所以还是我以一个学生的角度来谈谈这门课的不足。

1.时间规划问题,时间还是有点不合理,尤其是在这一学期,放在下个学期或者大四可能会好一点,正好这学期全都是大课重课。讲真,要是真的能够把我们一开始的设计全部实现的,再多耗一倍的时间都有可能弄不完的,最后有些功能没实现还是有点遗憾吧。

2.考核问题,倒不是说这样的考核方式有什么问题,就是监管起来真的有些漏洞。虽然学生并不是要想小孩子一样看着,但是比如说结对编程中真的是一个人抱另一个人大腿,完全是一个人做的又该怎么发现的。团队作业也是一样。虽然我一开始也是想抱腿的,不过我现在还是挺庆幸的自己没抱成,反倒是学了很多东西的。

3.阶段展示的问题,总是占有课程时间。虽然可能老师就是这么安排课程时间的,但是往往是一堂课的开始,显示各个团队汇报一下,一汇报就是一节课多了,搞的这门课就变成一堆PM的汇报课...不是我不想学习其他团队的长处,我是真的每兴趣听别的组在那汇报那么长时间。。

最后还是祝这么课越来越好,感谢这门课的那些探索者,希望学生也能学到更多的东西,这学期我自己也算是画上了一个圆满的句号。

时间: 2024-08-24 19:50:45

个人博客作业----总结的相关文章

文件服务相关博客作业

nfs和sameba博客作业 博客实践作业: (1) nfs server导出/data/目录: (2) nfs client挂载/data/至本地的/mydata目录:本地的mysqld或mariadb服务的数据目录设置为/mydata, 要求服务能正常启动,且可正常 存储数据 (3) 客户端(lamp)部署wordpress,并让其正常访问:要确保能正常发文章,上传图片: (4) 客户端2(lamp),挂载nfs server导出的文件系统至/var/www/html:验正其wordpres

https的博客作业

博客作业:分别使用httpd-2.2和httpd-2.4实现 1.建立httpd服务,要求: (1) 提供两个基于名称的虚拟主机www1, www2:有单独的错误日志和访问日志: (2) 通过www1的/server-status提供状态信息,且仅允许tom用户访问: (3) www2不允许192.168.0.0/24网络中任意主机访问: 2.为上面的第2个虚拟主机提供https服务: 前提准备: 172.16.1.1测试httpd-2.4,这是centos7系统 172.16.1.2测试htt

C语言博客作业--一二维数组

一.PTA实验作业 题目1:7-2 求整数序列中出现次数最多的数 1. 本题PTA提交列表 2. 设计思路 定义变量n,i,j,max等于0,a[]10用于存放输入的值,b[10]用于存放a[]中各个数有多少个; 输入n的值 i从0开始,每次加1,输入a[i]的值,直到i==n结束循环 i从0开始,判断i是否<n,,进入下一步,每次加一,直到条件不满足 j从0开始,判断j是否<n,,进入下一步,每次加一,直到条件不满足 如果a[i]==a[j],b[i]加一 i从0开始,判断i是否 输出a[j

博客作业1--抽象数据类型

一.作业题目 实验题目 试仿照三元组或复数的抽象数据类型写出有理数抽象数据类型的描述 (有理数是其分子.分母均为整数且分母不为零的分数). 有理数基本运算如下所示: 1.构造有理数R,元素x1,x2分别被赋以分子.分母值 2.销毁有理数R 3.用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母. 4.将有理数R的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母 5.有理数R1,R2相加,结果存入有理数R3 6.有理数R1,R2相减,结果存入有理数

个人博客作业Week7(心得体会)

Alpha阶段结束了,内心可以说是五味杂陈.不是说我们的产品拿不上台面那般差劲,复杂的心绪主要来源于和别的队的比较,别的队才刚刚发布没多久访问量和注册量就破百了,并且还发起了找bug送红包的活动.可能是觉得付出了相同的努力,却没办法换回相同的效果,看来还是得审视自己的问题. 本周的个人作业是阅读关于软件开发本质和开发方法的博客/文章,结合自己在个人项目/结对编程/团队项目的经历,谈谈自己的理解或心得.借这个机会找一下我们的不足吧. 阅读材料目录:

个人博客作业1

发表在你的个人博客上,也可以同时转发到你的团队博客上来增加你们团队博客的人气.具体要求如下: 1)在开始实现程序之前,使用下述PSP表格记录下你估计将在程序的各个模块的开发上耗费的时间. PSP2.1 Personal Software Process Stages Time Planning 计划 · Estimate · 估计这个任务需要多少时间 8 Development 开发 · Analysis · 需求分析 (包括学习新技术) 0 · Design Spec · 生成设计文档 0.5

第零次博客作业

第一部分:结缘计算机 1. 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?(必答) 当年高考前在专业这件事上纠结了好久,因为我对于大学各个专业具体学什么都不甚了解,于是就迟迟没有明确的目标,可以说整个高三自己一直都是迷茫的状态,就这样一直保持到了高考.我当年高考是先出成绩,后填报志愿,等到成绩出来之后发现意外地比期望要高,而北航应该是最适合我的学校了.身为一个比较"宅"的理科男,我当时打算将专业锁定在"数学"."计算机"."

第八次个人博客作业

软工课程总结 一.回望开学初对于软件工程课程的想象,回望博客开篇时对于这门课和这学期的期望 对比开课前的我,现在的我写的代码的规范性和可扩展性越来越好了,可以更快更好地完成工作,最主要的是通过结对编程和团队编程学到了如何与他人合作编程,编程过程中与他人的意见出现分歧如何解决,走过整个软件开发的所有过程,受益匪浅.       最开始由于作业的紧张,觉得太占用自己的时间,有想过放弃,但后来还是坚持了下来,随后的结对编程和团队项目,证实了我的决定是正确的,虽然我的贡献不是最大的,但我从项目中学到了很

C语言博客作业—一二维数组

一.PTA实验作业 题目1:7-2 求整数序列中出现次数最多的数 1. 本题PTA提交列表 2. 设计思路 Begin 输入整数个数N 定义数组a[N] 输入数组a for(i 0 to N-1){//进行N次判断 for(j 0 to N-1) if(a[i]和a[j]相等) count加一 i等于0//第一次判断 使max=count; n=i;//n放下标,max放次数 i不等于0且count大于max 使max=count; n=i;//重新赋值 count为0//每次循环count为0

C语言第十次博客作业--结构体

#一.PTA实验作业(5分) ##题目1:6-3 结构体数组中查找指定编号人员 ###1. 本题PTA提交列表(要提交列表,不是结果) ###2. 设计思路 struct student { char num[10]; int year,month,day ; };该结构体表示人员的编号,出生年月日. 定义一个环境变量 for i=0 to i<8 若找到指定编号,则return *(std+i) ###3.代码截图(注意,截图,截图,截图.不要粘贴博客上.不用用···语法去渲染) ###4.本