Part One:每周例行报告
本周PSP:(以后预计时间和实际消耗时间,本周只计消耗时间)
本周进度条: 代码行,博文字数,用到的知识点
累积进度图:到本周为止的代码累积折线图,到本周为止的博文字数累积折线图
本周PSP饼状图,按任务类别分类,给出时间所占比例
(1)PSP:第一次博客作业的完成情况
C类别 |
C内容 |
S开始时间 |
E结束时间 |
I时间间隔 |
T净时间 |
Part One |
个人情况阐述 |
8:35 |
10:58 |
20分 |
2时3分 |
Part Two |
书籍阅读 |
8:10 |
23:37 |
4时27分 |
11时 |
Part Three |
查阅资料 |
1:45 |
4:50 |
18分 |
2时47分 |
Part Four |
写博客 |
18:23 |
23:34 |
10分 |
5时1分 |
总计 |
第一次作业 |
|
|
|
20时51分 |
(2)进度条:
代码行数 |
0 |
博文字数 |
1890 |
知识点 |
1.博客的建立及撰写 2.制作图例 3.自我认识 4.对本课程的初步认识 5.对敏捷流程、MSF等知识点的初步认识 |
(3)代码累积柱状图
博文字数累积柱状图
代码累积折线图
博文字数累积折线图
(4)饼状图
Part Two
问题一:回想一下你曾经对计算机专业的畅想 当初你是如何做出选择计算机专业的决定的?
你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?
你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?
(1)高考时,其实我的第一志愿并不是计算机专业,因为母亲曾经是银行的一名职员,所以对经济方面更感兴趣一些,但生活中总有些事情的发展结果会出乎
意料之外,我的第一志愿并没有被录取,在第二志愿中,在本省剩下的几所学校的剩下的几个专业中,带着一颗完全懵懂的心,选择了计算机专业。那时候,
其实并不知道计算机专业是干什么的,刚刚流行了智能手机,自己拥有了自己的第一台笔记本,笨笨的自己,即使面对着笔记本,也不知道能做些什么,只是
还像小时候那样,追追星,会百度一下。
那时候的自己,还不知道未来是什么样子,刚刚结束高中的生活,还依旧保留着高中的学习习惯,老师教什么告诉什么就学什么听什么,所以,也就浑浑噩噩地
来到了大学。刚开始上课时,因为都是新的知识,完全崭新的领域,虽然会记下笔记老师在讲什么,但并不是十分理解,过了一个学期,考试了,考C语言,
代码完全是按照英语单词来背的。而在自己的身边,有的同学参加了校外的Java辅导培训,会编一些小程序,便羡慕不已,曾经和妈妈说过,我只会考试,
考了再高的分数,有什么用,我还是什么都不会。那时候,懵懂的自己对计算机专业的畅想就是以后也要会编程,然后还想去银行工作,可以去负责电脑部分。
(2)刚开始的时候,尤其在大一,并不太符合期待,听不懂老师在讲什么,也不知道学那些要干什么,而且实际上机的机会也特别少,每天都不知道自己在
干些什么。后来,在大二的时候,看到身边参加过培训班的同学特别厉害地会编程,而且每个阶段学习完成后还会有答辩,穿着高跟鞋和西服,特别帅气,也听
从了父母的建议,为了以后找工作或者考研,我也报名参加了校外的Java培训班,这类培训班基本都是实操,在跟着老师学习后,会慢慢地做一些项目,然后每
一阶段学习的最后会自己独立完成一个稍微大一点的项目,比如酒店管理系统这类的,那时,在看到自己通过编码后,程序会运行出来一定的结果,特别有成就
感,才慢慢对计算机有了一定的兴趣,再回到学校,进行接下来的理论课程学习,发觉原来学校的课程是有用的,也是循序渐进的,课程也才慢慢符合了自己的
期待,因为自己慢慢懂得了一些这些课程都是干什么用的,彼此间是有一定联系的。
(3)计算机是我喜欢的领域,也是我擅长的领域。在高中分文理班的时候,我就毅然决然地选择了理科类,当然并不完全是因为那句俗话,“学好数理化,
走遍天下全不怕”,是因为我个人比较喜欢逻辑思维一类的东西,有时看一些影视资料,觉得人家运筹帷幄地,特别有魅力。在对计算机的慢慢接触中,发现
通过编程语言,计算机和人类是可以交流的,它不再冷冰冰的只是一台机器,它可以有智慧有温度,而这些却是可以你来赋予的,而在赋予的这一过程中,是
通过个人的逻辑思维实现的,那时感觉自己特别厉害。我个人虽然并非天赋秉异,但是我对新知具有渴求的心理,我喜欢学到一些新知来不断丰富自己,我想,
兴趣加上自己的踏实努力,不断进步,计算机专业会在不断学习中在未来成为我最擅长的领域。
问题二:考取研究,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?
离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?
(1)参加过为期一年的Java培训班,在大学学习了四年的理论课程,在考研时因为考试需要学习了一些计算机知识。
我觉得我自己现在具备一定的初级编程能力,一定的专业知识,并且在大学的学习中,逐步懂得了以后的学习是要
自己不断发现自己哪里不足,自己主动学习,也在这一过程中,学习了自己查阅各种资料的能力。
(2)现在的自己,还不敢称之为一名计算机专业的合格者,因为觉得自己的能力太弱小了。
首先,是编程语言掌握的只用一种,而且只能算是皮毛,还应该更多更深入地学习;在专业知识方面,虽然学习了四年理论课程,
但很多内容,都是考前突击学习的,并不理解,更谈不上消化了,应该静下心来深入学习;在能力上,自己有时有点懒,对于
新出现的技术或者新软件,不愿自己探索,就想等着同学帮助或者老师教,这对未来的自主学习是大忌啊,应该更主动一些,更努力
一些,对新鲜事物应该更多一些兴趣和探索的欲望,这样才能在这个知识飞快地社会中跟上其发展步伐。
问题三:每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践,不同的选择有不同的努力方向,对照以上你阅读的前人们的经历,你的选择是什么?
在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
针对你的选择,你给自己的本学期的规划是什么?
(1)我的选择是以学术研究为主,在学有余力的情况下的首选是工程项目,然后是社会实践。
(2)我的选择中最重要的是学术研究,我个人认为,自己的知识储备还很少,想要先多多学习一些新知,知识是能力发展的基础。
但是如果只一味地学习理论,相比其他同学,我会有很丰富的理论知识和一些解决问题的方法,但缺点是我只会夸夸而谈,遇到实际问题
时并不会实际操作,也就不能真正地解决问题,这在这个社会中,是无用的。
所以,在学有余力的情况下,希望可以和同学合作或者是在老师那里,多接触一些工程项目,多进行一些实操练习,将理论学习实践化,二者
的相互结合,才能更好地掌握理论,更好地提高动手能力。优势就是理论和实践都得到了锻炼,但是劣势是,可能贪多嚼不烂,过多的事情会让
自己不能保证质量的完成。
当然,最终的我们,都不会永远在校园这个象牙塔中,我们终究需要步入社会,所以在有机会的情况下,还要进行社会实践,了解一下社会需求
以及和同事、上司如何沟通,才能更好地开展工作。优势就是使自己不断成为一个社会人,为社会、国家所需要,进而实现自己的人生价值,但是
如果只单纯地去社会实践,没有一定在校学习的理论基础和思维方式的养成,我们会花费较长时间和更多精力才能适应社会,我们需要有一定的知识
和能力,做好了一些前期准备,未来的路我们才会走得更远。
(3)根据以上自己的选择,我要上好每堂课,学好每个知识,并且课下也要不断充实自己,在老师和导师的带领下,多多接触工程项目,如有机会,也会
到社会中去实践,丰富自己。
问题四:你对这门课的期待是什么? 你打算平均每周拿出多少个小时用在这门课上?
(1)我对这门课的期待就是希望老师不要像曾经的老师那般照本宣科,那样的课堂,我觉得一学期下来,我都不知道老师讲了些什么,浑浑噩噩地考试了,
而自己什么都没学到,我觉得老师现在要求我们写博客,很新颖,我能在写的过程中,在这个浮躁的社会,静下心来,说说心里话,反思一些自己走过的路,
并在刚开始,老师引导我们去看几个例子,让我们先去评价一下,也特别好,像个经理一般,看看项目进度情况。我的期待就是可以真正学到一些知识,不要
每周去一次,学了一学期什么都没学到,我希望学到些什么,还希望老师可以有机会的情况下,很完整地从招标到项目上线以大家都参与的方式,比如扮演客户、
经理,让我们真切的感受一下整个流程,我觉得那样印象会更加深刻。
(2)我打算每天两到三个小时的左右时间用在这门课上。
Part Three
阅读《构建之法》这本书的小小感悟:
在刚刚听到这个书名时,条件反射一般就觉是本特别学术,看了半天也根本看不懂的那种,将近四百页的书,觉得何时能看完。在翻开阅读,发现它的语言是很浅显易懂的,不是那种针对高深人士特别学术性的书,像我们这种菜鸟级别的,也是可以看懂一些的。
以下是一些不理解的问题:
(1)提出“敏捷流程”这个概念,在书中119页提到“敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势”。我曾经看到过介绍,说日本的需求规格说明书,用户会细化到比如说按钮加在哪里,用什么样的颜色、款式,都会写得很清楚,在需求规格说明书完成后,会让用户签字,不再进行修改。我们在提出“敏捷流程”概念时 ,是以欢迎用户改变需求这样的态度来吸引用户,这样做不会是后续的开发时间和成本增加吗?导致程序员反复修改,本以完成好的内容瞬间因为用户的一句话变成无用功,我们不能效仿日本,从源头上来治理好这个令程序员头疼的需求变更的问题吗?
(2)在第16章中,讲到了“IT行业的创新”。国家当前,领导人出台政策,鼓励发展创新型社会,吸引创新型人才,我们也知道了应试教育中含有不利于创新培养的因素,我们大谈要创新,我们有实际的做法吗?在我们的意识认识到了创新的重要性后,有相应的实际措施吗?要知道创新并不只是灵光一现,还要有强大的后续支持,这些在IT行业中现在是否存在呢?
(3)纵观全书,写得特别好,但是我们学习这些理论,最终是要走向社会的,书中列出的很完善,但是在实际的软件开发中,并非完全遵循这些步骤,那么又有哪些区别呢?我觉得可能实际开发中并不会每步都按部就班,你可以说它不合规定,但是社会是现实的,它舍去一些步骤是有原因的,舍弃的又有哪些呢?
(4)MSF这样的原则,怎样与某一个具体或当前流行的编程语言相结合?
(5)一款软件在发布前,应该进行测试,在本书中的第13章节,确实讲了很多测试方法,但是软件应该是没有完全完美的,那么测试又应该做到什么样的程度呢?总不能为了追求软件的好,而无休止地一直测试,对于规模不同的公司,相应的测试人员又应该有多少?占多少比例呢?
Part Four
根据历年学生发布的git代码和随笔,评论3部软件作品
(1)作品一:“聚宝盆”财务记账管理软件
产品演示的相关链接:
http://www.cnblogs.com/regretless/p/5869581.html
个人觉得这个软件做的还是很不错的,曾经就想有个能记录每天支出的软件,正好这个软件可以满足我的需求,可以手动记录支出和收益,并且可以随意选择时间段查看自己在这个时间段内的收入和支出情况,为了安全起见,这个软件还设置有手势密码,可以更好地保护用户的隐私。
但是个人觉得它也存在着一定的缺点,就是在实际应用中并不是很方便,现在很多时候年轻人都喜欢用微信或者支付宝这样的电子支付手段,如果还要每个添加会很麻烦。提出的一些小建议有:可以在“账户”界面中,要求用户实名制,实名制后关联用户的支付宝和微信,当支付宝或者微信有支出时,此软件会自动记录,并且最好能有个定位功能,定位功能关联的是消费类别,比如地位到主人当前在的地方是个饭店,那么在记录这条消费时,就可以自动归类为“餐饮”,如果能考虑到现在电子现金的支付,将此功能加入,这个软件就会更加实用。
(2)评论二:“团队作业”详情
详情可参见:http://www.cnblogs.com/imguang/p/4915340.html
这是一个团队作业中的第六次作业
个人觉得在项目过程中的一次次分析是很有必要的,可以在往下走的状态中停下来看看自己项目的完成情况,不断反思,不断进步,涉及的内容很详细,有文档需求的修改,有燃尽图,还有数据库的设计图和E-R图。
个人觉得也存在一定缺点,如果负责此项目的人,但是还不是特别懂软件工程或者因为时间有限,想要尽快阅读此文档,这个文档显得略微有些复杂,应该精简一些。
(1)评论三:PC端必应词典和金山词霸的测评分析
随着英语学习的普及和深入,PC端的英语词典就成为了越来越多学生的必备软件。这篇对必应词典和金山词霸的测评分析,说实话,以前我没有见过,打破了我的观念,程序员不只是简简单单地会敲代码即可。
个人觉得要想成为一名优秀的计算机专业的学生,进而以后在社会中成为一名技术更好的技术人员,简单地敲代码已经不能满足这个时代的需求。当我们在设计一款软件时,要横向地与当前市场所有的类似产品作比较,首先要使它具备最基本的功能,分析其它软件的不足之处,看能否在自己设计的软件中弥补这些缺点,并且还要有自己的特色,使自己的软件有不同于别的软件独特的地方,这样,等自己的软件上市时,用户才会放弃已经存在的软件,而使用你开发的软件。
这篇文章给了我们警醒,在全方位地分析了这两款软件在单词查询、英汉互译、未来发展前景等方面做了比较,用对比让我们更清晰地认识到每个软件的优劣及问题,使设计人性化,我们是在用机器语言加上自己的智慧,设计出来更加满足市场需求,更加符合用户需求的软件。
Part Five
采访本课程往届同学(含外校和毕业生). 现代软件工程这门课已经上了好几年了,以前有很多学生做过团队项目(说不定包括本校的学生),请你们找一个以前的团队采访一下:
当时的项目有多少用户?给用户多少价值? 现在还有人用吗? 这个项目能否给我们团队继续开发?源代码/文档还有么? 项目开发有什么经验和教训?对学好软件工程有什么建议?
仿“雷霆战机”制作的一款小游戏:
(1)千人次的下载量
(2)千元层次
(3)用户量有所下降,因为当时这款小游戏的开发,在上线时还是存在一个问题的,那就是在飞机被攻打时,它的血量减少的比例不对
(4)不能,属于公司的商业机密,虽然还并不成熟
(5)都有,存档在公司
(6)首先要团队协作,研读需求说明书,大家分工完成;在接到任务后,不要盲目地立刻去写代码,先准备一些前期工作,想一想都有什么需求,自己想要做成什么样子的,然后再开始代码的编写。教训就是刚刚来到公司,没有听从前辈们的告诫,没有做好准备工作再开始编写代码,没有任何条理性,想到哪里就编写哪里,边写边改,看似没有浪费前期准备的时间,但是在过程中的修改,却比准备时间要多很多,所以,一定要记得这点,先做好准备,再投入工作。
(7)俗话说,没有规矩不成方圆。各行各业,都应该有工作的准则,而软件工程就是一款软件开发的整体过程应当遵守的准则。所以,对学弟学妹的建议就是,在学习软件工程的过程中,先有一个大体印象,即整个软件流程的完成都要经历哪些步骤,然后在详细学习每个步骤的过程中,将自己假想成是某个角色,比如在讨论需求说明书时,把自己想成用户,发表自己对软件所希望拥有功能的观点;同时,也要假想自己是客户经理,在客户提出的需求中,考虑是否能完成,完成的难易程度,以及客户提出不合理需求时,客户经理内心的感受,在理论和自身的模拟想象中,才能更好地学习好软件工程这门课程。