软件工程-第一次作业
自我介绍:
我的名字是张恩聚,现在是东北师范大学信息科学与技术学院计算机技术专业研一的学生。家住吉林省德惠市。
我毕业于长春工业大学的计算机科学与工程学院,考研的第一志愿是吉林大学的软件学院,虽然没能如愿,但是可以调剂到这里真的已经很满足了。来读研的原因就是希望能够在研究生期间有更多的收获 ,可以让自己的专业技能更上一层楼,让自己的眼界更加开阔。努力掌握多门编程语言比如Python,Java等,并且可以做到单独完成一个软件项目,学习感受开发的每一个环节。另一部分原因就是自己很喜欢校园的生活。希望在未来的生活中可以和同学们互相学习共同进步!
(1)回想一下你曾经对计算机专业的畅想
小的时候刚刚接触电脑时就产生了以后想要从事计算机行业的想法,因为可以通过电脑和身边的同学一起玩游戏,还可以找到自己喜欢的动漫。梦想着自己未来可以开发出一款受欢迎的游戏。但是大学期间接触到的课程和我想象中的计算机专业并不一样,密密麻麻的代码,枯燥的专业知识这些都和自己心中的计算机专业有很大差别。但是在一次简单的编程之后,那种成就感让我喜欢上了这个专业。我觉得目前比较擅长的就是c语言,做过一个可以实现对相片进行增删改查功能的电子相册,功能相对比较基础。最近因为学习需要在学习Python语言,在学习的过程中可以感受到自己的不足,所以还需要在接下来的研究生生活中继续锻炼继续学习。
(2)考取研究,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?
对照前人们走过的路和描述未来发展,我目前掌握的是大学期间学习的专业课,英语,数学等等。比较熟练C语言,还可以用htmp,css,js制作简单的网页。距离成为一个合格的计算机学生,我还差很多,没有过多的工程经验,编码能力还有很多欠缺,还欠缺一些独立思考去解决问题的能力吧。
(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。对照以上你阅读的前人们的经历,你的选择是什么?在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?针对你的选择,你给自己的本学期的规划是什么?
我选择的是工程项目。我来读研的目的就是觉得自己在本科期间专业知识,技能方面都有所欠缺,所以想借着读研的机会进一步进修自己,希望在老师的领导下,在同学的帮助下。自己的专业知识与技能方面可以得到完善与提高,努力成为一个优秀的软件工程师。在这种选择下,我认为我相比其他同学的优势在于我会更主动的去学习编程本领,所谓笨鸟先飞,自己有过一次考研失败的经历,我得到了教训,为自己的不努力 付出过代价。所以很难得来到这里,我会抓住所有可以让自己进步的机会,努力前进。劣势就是自身编程能力的不足,接触过一下小程序,和同学们做过一个app,我只做出了一部分前台展示的东西,但是对后台数据库的一些问题自己没能解决,还是在同学们的帮助下得以完成。所以针对我的选择,这学期最基本的目标是认真听好杨老师的课程,并且学习Python这门语言。
(4)你对这门课的期待是什么?你打算平均每周拿出多少个小时用在这门课上?
听了杨老师的课后,感觉这是一个很活跃的授课方式,老师下来带动大家一起来讨论问题,带动课堂气氛。并且每次下课要在博客里写一些随笔,记录下自己所学得内容并且规范时间。虽然压力很大,任务很多,但是我相信坚持下来一定会在知识方面有很多收获,并且这个过程也在训练我们作为程序员,软件工程师在时间观念上应有的素养。在每一次的作业中学习体会软件开发的每一个阶段,更加全面的学习软件开发,在每次上完课后得到不同程度的进步;努力学习掌握运用编程语言,工具,理论来解决问题的技巧,让自己的专业知识更上一层楼;并且在这种模式下总结每个阶段自己或者在团队作业中整个团队的收获,总结经验。我打算平均每周拿出20个小时在这门课上。
通读《构建之法》,发布随笔1篇,要求列出5个问题,可以是读后不理解的,或者读后反对的。有求有观点、有证据或分析。字数不是直接的考核标准,但是要求长到能把观点表述清楚。
《构建之法》读后感
因为之前不知道软件工程这门课要用到《构建之法》这本书,昨天刚刚买来一本迅速看了一部分,内容很有趣,都是用事例来讲述一些问题。很容易被故事情节吸引,下面就来说一下我的感想和困惑:
1.看了老师题干的建议,编程经验不多的我,直接去看了16章“IT行业的创新”。
16.1.3 迷思之三:好的想法会赢 中讲述了日常用键盘(QWERTY)和(Dvorak)键盘的问题。Q键盘因为在设计之初解决了机械打字机的机械臂会容易碰撞临近的键位的问题而被认可。而在后来发展的电子打字中D键盘的布局中键盘中列可以打出60%的常用单词,可以说完胜Q键盘的10%。但是长期以来,人们因为习惯的问题还是选择了Q键盘。所以我的困惑就是D键盘明明是个好的提议,好的创新,是一个可以提高效率的环节手指和先关肌肉负担的东西。这就是一个好的想法,为什么会被习惯所代替。习惯可以培养,可以慢慢形成。D键盘也可以成为后人的习惯,但是为什么就没有被使用。所以软件工程中,也会有类似习惯打败创新的事例么?
2.5.3.4中RUP统一流程中对初始阶段,细化阶段,构造阶段,交付阶段,做出了相应的介绍。所以RUP是目前软件项目团队常用的流程吗?相比其他方法存在什么明显的优势和劣势?
3.8.4中竞争性需求分析的框架NABCD,也就是需求,做法,好处,竞争,推广。这些存在优先级吗?一定要按照相应的顺序进行下去,才算一个相对稳定,竞争性强的做法吗?比如NBACD呢?了解需求后,看到了好处,探索做法,努力竞争,积极推广这种方案存在可行性吗?
4.13.2中介绍了很多种测试方法,比如:构建验证测试,验收测试,“探索式”的测试等等。这些测试都在文章中做出了相应的介绍。但是,对比之下哪种测试方法应用范围更广?这些测试方法的优点和缺点都是什么?
5.14.1.3中提到了CMMI理论,CMMI的实施能够提高企业的管理水平,降低企业的成本。所以CMMI理论的内容是什么?如何给软件项目带来质量保证的?
采访本课程往届同学(含外校和毕业生). 现代软件工程这门课已经上了好几年了,以前有很多学生做过团队项目(说不定包括本校的学生),请你们找一个以前的团队采访一下:
1.当时的项目有多少用户,给用户多少价值? 现在还有人用吗?
有12人。辅助课堂教授食物链知识,软件操作简单,流畅,可以对多种环境下的多种食物链进行展示,表现生动形象,便于学生理解,且能进行师生互动,能够增强教学的趣味性。现在没有人在用了。
2.这个项目能否给我们团队继续开发,源代码/文档还有么?
可以给我们团队继续开发,时间太久了,文档可以找到,源代码已经找不到了。
3.项目开发有什么经验和教训
制定一份计划来合理的安排工作时间,这样就能够提高时间的利用率;
查找更多与项目相关的资料,这样就能够在完成项目上能够有所帮助;
做好在开始的时候好好进行用户调查,这样就能够减少在项目进行中的困难;
注重团队之间的交流,这样就能够团结队员,提高团队工作的效率。
4.对学好软件工程有什么建议
软件工程这门学科涉及到的内容非常多,只学习理论知识的话,收获可能会很少。需要理论与实践相结合,才能更好的了解软件工程。开始的时候会对老师,对这门课产生抵触情绪,一定要积极调整,适应课程节奏。反抗是没有用的,时间越长对自己成绩的影响就越大,越容易挂科,所以要尽早努力。多和老师沟通,从工程的角度去考虑问题的要求是比较严谨的,因此对自己的想法要表述清楚,避免产生误解,同时要理解老师的作业要求,按时完成作业,这是直接决定成绩的,认真对待。老师的指导是对事不对人的,要学会正确看待和接受老师的教导。坚持住,到期末了会有很大的收获。
根据历年学生 (含https://edu.cnblogs.com/中其他学校的作品) 发布的git代码和随笔,评论3部软件作品。
1.简易聊天室——爆打团队http://www.cnblogs.com/yyyyg/p/6035787.html
本程序实质就是使用node搭建一个简单的网络后台,新建文件夹chatroom,在chatroom中打开cmd,在控制台输出npm init接下来再chatroom中新建文件夹public保存静态文件,建立一个主页index,从而实现了在线聊天的功能,是一个简易方便的聊天工具。
2.俄罗斯方块——新蜂小组http://www.cnblogs.com/Boxer1994/p/5918440.html
http://www.cnblogs.com/Boxer1994/p/6084035.html
本程序实现了俄罗斯方块的经典玩法,在这些基础上还增加了得分的模块,使得游戏更有竞技性,想法新颖。
3.礼物挑选工具——飞天小女警 https://coding.net/u/shenbaishan/p/GIFT/git
程序中有主页,服务,个人中心,礼物top10,注册登录等,在服务选项中可以根据个人需求提出条件来方便购物,是个方便的购物平台。
本周PSP
C类别 | C内容 | S开始时间 | ST结束时间 | I中断时间 | T净时间 |
准备 | 9月7日注册博客 | 19:10 | 19:20 | 0min | 10min |
写随笔 | 9月8日博客作业 | 17:20 | 18:25 | 10min | 55min |
读书 | 9月9日阅读构建之法 | 9:30 | 11:30 | 20min | 100min |
读书 | 9月10日阅读构建之法 | 18:30 | 22:30 | 20min | 220min |
写博客 | 9月10日博客作业 | 22:30 | 0:45 | 0min | 135min |
本周进度条
代码行累计 | 0 |
博文字数 | 2960 |
知识点 | 快速阅读了《构建之法》,对软件工程的框架有了明确的概念。 |
累计进度图
PSP饼状图