软件工程——第一次作业

Part one:自我介绍

  首先进行一些自我介绍,我叫贾雅杰,河北廊坊人,本科就读于南昌大学计算机科学与技术专业,现有编程能力稍弱,希望通过这学期的课程有所提高。第一次使用博客,希望大家多多提出宝贵的意见和建议。

Part two:回答问题

     参见 [http://www.cnblogs.com/easteast/p/7403491.html ],阅读其中给出的材料,并回答下面几个问题:

(1)回想一下你曾经对计算机专业的畅想,当初你是如何做出选择计算机专业的决定的?你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?

  答:作为一位对文科、经济金融类无感的女生,在高考志愿填报的时候我所有的专业都选择了理工类,例如:机械设计制造及自动化、材料力学等等,最终录取到计算机科学与技术专业也是我和计算机缘分的开始。

  其实,我觉得过去接触到的课程不太符合我对计算机专业的期待,上大学正式接触计算机前自己能操纵计算机的就是敲敲字,看看视频,玩玩儿游戏,看到电影或者新闻里说什么网络安全漏洞被入侵、反入侵就感觉很帅、那些黑客或者工程师很厉害,幻想着自己在经过学习后能够到达他们能力的十分之一、百分之一也好;结果到了大学,正式的开始计算机课程后发现,我们学习的知识都十分皮毛,更多偏向于理论,实践更多的就是实验课或者老师课下留的大作业。不过在之后实践中看到自己成功的实现自己设想的网页或者程序收获到的满足感让我对这个专业的兴趣在逐步增加。我认为计算机现在是我较为喜欢的领域,它并不是我擅长的领域,至少现在不是。

 

(2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?

  答:我觉得我对于计算机专业的理论知识有了一定的基础了解,实践方面学习了C/C++、JAVA语言,独立实现过自定义主题的小型网页设计,参加过JAVA项目开发。

  本科学习学到的知识仅仅是计算机的入门知识,如今研究的生物计算领域中有很多自己不了解的背景知识和算法,例如:CNN网络、DBN网络;实际编程方面也需要进一步的锻炼学习,毕竟编程是身为计算机行业人员的一项专业技能。

(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。对照以上你阅读的前人们的经历,你的选择是什么?在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?针对你的选择,你给自己的本学期的规划是什么?

  答:目前对于自己之后的努力方向,我更倾向于学术研究,虽然现在是硕士类型是专业型硕士,但是研究对我的吸引力要大于到公司工作。现在我还不清楚在专业方面自己相比其他同学 有何优势,但是我会在研究生的学习生活中尽可能的充实自己,让自己增加更多的优势来获得更多的机会。可能对于一些同学我存在动手编码能力上的劣势,但是我相信通过额外的、大量的编程训练项目这段差距会逐渐缩小甚至超过。

  通过在暑假提前进入实验室学习、工作的这段时间,我发现研究方向方面的知识固然很重要,但是较高水平的编程能力能够加快并高水平的完成你的研究。所以,编程实践能力的提高对于我也是十分必要的。针对于我现有的目标,我对自己本学期的规划除了要完成学校安排的课程外,要积极地参加实验室的研究项目,对于有益于自己的讨论班有空必去,争取能够发一篇自己主写的论文;此外我还要多多的锻炼自己的编程能力,作为计算机专业的学生,良好的编程能力是我们的基本要求。

(4)你对这门课的期待是什么?你打算平均每周拿出多少个小时用在这门课上?

  答:老师在上课开始的时候就说:软件工程重要的不是软件而是工程,它是一个工程。所以,不管研究生毕业的时候我有没有改变自己的现有规划都能够学好这门课,因为最终我们还是都要去公司或单位工作,这样工程性的培养是必不可缺的。我希望能够顺利的通过这门课程,提高自己的工程意识和能力,还希望能够接受到一些相关其他计算机领域的知识,以扩充自己的知识面。针对这门课,我打算平均每周拿出12个小时左右的时间,在之后具体的学习过程中会有改变。

Part three:提出问题

通读《构建之法》,发布随笔1篇,要求列出5个问题,可以是读后不理解的,或者读后反对的。要求有观点、有证据或分析。字数不是直接的考核标准,但是要求长到能把观点表述清楚。

问题:

  1、我通过看第二章2.1.1“用户的标识通常是一个邮件地址”,有了这样的疑问,应用程序的用户我觉得是使用当前应用程序的人或者机器,而用户的标识不应该是代表用户身份唯一性的一系列数字序列么?为什么会定义其为一个邮件地址?

  2、通过阅读第二章第37页“那么这位工程师还是一个优秀的工程师么?”,我产生了一个疑问:一个优秀的工程师到底是什么样子的,他应具有什么样的品质或特质?

  3、第三章44页提出多种解决方法并估计工作量,开发人员应如何估计工作量呢?用什么指标或标准,工作量大小有什么划分标准么?工作量是指拿到项目进行需求分析开始到测试完成无误交付给用户么?代码工作量应该用什么标准来评估呢,代码工作量是指从开始编码到首次结束编码么?

  4、第13章263页写到我们要等到合适的时机再开始进行集成测试,那这个合适的时机应该是什么时候呢?是一定要等到一个模块稳定后么?如果不是那么这个时机应最起码满足什么标准?但软件工程的目标不就是要更早的发现并修正问题么,微软内部流行的伙伴测试虽然能够些许有效的解决这一问题,但是一些规模没有微软这么大的公司,没有条件为开发人员找测试人员,可能开发人员就是一部分的测试人员,在程序完成的过程中他们不能兼顾这两项工作,那这种情况下应如何确定新的模块加入系统的合适时机呢?

  5、我们在合作进行项目时经常会将每个人的代码放在GitHub或者类似的网上源代码管理项目,但是我们当前上传的代码会在之后随时进行修改,不同的两个人负责的部分可能存在代码重叠,两人同时对代码进行修改,GitHub上就会出现覆盖的情况。但是如果我们等一个人做完一部分工作上传后另一个人再进行工作,这样单线程的工作方式就会影响项目完成进度,有没有更高效的代码管理方式呢?

Part four:软件评论

  根据历年学生 (含https://edu.cnblogs.com/中其他学校的作品) 发布的git代码和随笔,评论3部软件作品。

  1、Java俄罗斯方块——新蜂小组https://coding.net/u/Boxer_/p/homework/git/tree/master/final

  软件具有界面友好性,界面分布清晰、简单,功能较为全面,界面色彩丰富度较高。程序最终版增加瞄准和急速下落功能,这些都增加了游戏的可操作性,为用户带来更好的使用感受。
  但程序最终版里增加的作弊加分功能让我有些不解,游戏如果存在作弊,那么也就减少了玩这个游戏的热情;其次,软件界面的左中右三部分平分界面,我觉得应增加游戏区域的面积,相应减少左右功能显示模块的面积。

  2、连连看——天天向上小组http://www.cnblogs.com/wangsen123/

  本软件的功能可以说很完整,开发者想到了很多功能模块来带给用户更加完整的软件体验,用户可根据自己的水平选择不同难度的连连看游戏,还可选择不同主题的连连看,当找不到相同的图片时用户还可点击“重置按钮”进行随机调换当前图片的位置,以便接着进行本轮游戏。软件还增加了音乐和排行榜功能,

  虽然开发者在正确连接两个相同图片后增加了相应的红色显示,但是大部分动态效果很生硬,并不能像市面上的连连看软件那样正确的显示链接路径。此外,游戏有的主题的图片分辨度不高,游戏的第一个显示界面也需要改进,在更换主题的时候会有个别图片不能及时更换。

  3、食物链教学工具——奋斗吧兄弟小组http://pan.baidu.com/s/1kUTas0B

  这个软件做的很完整,很好了,虽然软件的主题很简单,只是食物链的简单教学工具,但是软件的功能模块全面,界面设计美观简洁,为了使不同大小的生物图片都不失真,技术人员为每个生物都存储了不同大小的图片。
  可以说就我现在的编程水平是不能完成这样的软件的,但是软件还是存在一些亟待修改的地方,比如:背景音乐的存在是否必要,这是一个教学工具,学生应听到的更主要的是讲解老师的声音;用户增加的生物图片的背景应设为透明。

 

Part five:采访往届学生

  采访本课程往届同学(含外校和毕业生). 现代软件工程这门课已经上了好几年了,以前有很多学生做过团队项目(说不定包括本校的学生),请你们找一个以前的团队采访一下:

  问:当时的项目有多少用户,给用户多少价值? 现在还有人用吗?

  答:当时的用户大概有50名左右,我们做的是约跑app,对于喜欢运动的学生来说,可以很方便的在跑步时约到小伙伴,还可以通过跑步交到更多的朋友,现在不能确定还有没有人用。

  问:这个项目能否给我们团队继续开发,源代码/文档还有么?

  答:当然可以给你们继续开发,不过我现在只有文档。

  问:项目开发有什么经验和教训?

  答:由于每个人写代码习惯不一样,所以整合到一起会遇到麻烦;而且在代码开发过程中组内成员要多交流,分工明确,遇到问题和意见不一致的地方要及时讨论。

  问:对学好软件工程有什么建议?

  答:首先,要认真对待这门课,杨老师每节课都会留下一定量的作业,每个问题都要用心完成,多看看别的同学写的好的博客,看看有什么可以借鉴的地方;其次,真的要花一定的时间把博客写好,无论是个人作业,结对项目,团队项目都要按时完成;最后,祝你能在杨贵福老师的这门课学到很多新的宝贵的知识。

  问:谢谢师姐接受我的访问。

  答:不客气。

Part six:每周例行报告

  1、本周PSP

C类别

C内容

S开始时间

E结束时间

I中断时间

Δ净时间(分)

准备工作

注册博客

9月8日19:14

9月8日19:40

0:00

26

写博客

博客作业三

9月9日8:08

9月9日9:17

0:26

43

阅读

 

 

构建之法通读

9月9日9:23

9月9日11:26

0:35

501

构建之法通读

9月9日21:00

9月9日23:46

0:32

构建之法通读

9月10日9:12

9月10日15:23

1:32

写博客

博客作业四、五

9月10日15:23

9月10日17:14

0:20

122

博客作业六

9月10日20:39

9月10日20:59

0:00

博客作业二

9月10日21:00

9月10日21:13

0:02

  2、本周进度条

代码行累计

0

博文字数

 96+1370+800+719+507=3492

知识点

对《构建之法》这本书所介绍的内容有了一定的了解

对项目开发过程中要注意的地方有了清晰的认识

  3、累积进度图

       博文字数累积折线图


  4、PSP饼状图

 

原文地址:https://www.cnblogs.com/jyj5951/p/7502748.html