第一次程序作业
这个作业属于哪个课程 |
|
这个作业要求在哪里 |
|
我在这个课程的目标是 |
实践一些软件工程的方法和工具,并了解他们的优缺点,同时学习开发软件项目的思想和流程 |
这个作业在哪个具体方面帮助我实现目标 |
阅读大量资料和前辈们的博客能给我大量启示并为我指引一个方向 |
一.建立博客并介绍自己
- 在cnblogs.com上注册开设博客。
我的博客:http://www.cnblogs.com/riverspring/
2. 自我介绍
来自17级软工1班,性别女,爱好万物生灵。在平面设计和平面摄影方面略有涉猎,平时喜欢了解二次元文化,喜欢在外网上阅读一些感兴趣的文章。当然也喜欢玩玩游戏,听听歌,买买衣服逛逛街。
二.阅读与思考
阅读以上材料,并回答下面几个问题:
(1)回想一下你初入大学时对软件工程专业的畅想
- 当初你是如何做出选择软件工程专业的决定的?
高考成绩出来后根据多方对比,在成绩的基础上选择了最好的最热门的一个专业
- 你认为过去两年中接触到的课程是否符合你对软件工程专业的期待,为什么?
符合,既有学习代码的课程也有了解程序框架和了解代码思想的课程
- 你觉得软件工程是你喜欢的领域吗,它是你擅长的领域吗?
是我喜欢的领域,但是我发现自身并不擅长这一方面
- 将来你会选择从事软件开发相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
可能会也可能不会,如果是的话,我可能会在成都较好的IT公司选择程序测试员或者产品经理这一些岗位,如果不会的话可能是因为我在自己更擅长的平面设计方面进行了工作选择
(2)即将大三的你,对照前人们走过的路和描述未来发展,现在的你
- 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?
没有具备什么专业知识,只能说浅显的学习了一些代码,偶尔会看一些专业方面的书,写过的代码量估计近万行
- 离成为一个合格的软件工程专业本科毕业生,在专业知识、技能、能力上还差距哪些?
差距很大,专业知识:只知道怎么写代码,没有自己的思想;技能:没有什么特别的技能;能力:自学能力,合作能力等等等都不足
(3)大三是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
- 对照以上你阅读的前人们的经历,你的选择是什么?
如果可能的话,想一边工作一遍读研,在有经济来源下会更安心,不希望继续花费父母的钱,如果考研失败的话,直接工作会是我的选择
- 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
优势:既有自己的经济来源,又能在读完研之后有更好的选择,进一些比较好的公司
劣势:时间不够充足,可能没有多余的时间发展自己的兴趣爱好,可能对身体不太好
- 针对你的选择,你给自己的大三设定的规划安排是什么?
了解考研所需学习的知识,并在实践能力上提高自己
三.提有质量的问题
1.第五章:团队和流程
在这一章中提到了很多团队模式和很多开发流程的方式,当一个团队选择了一个团队模式时,他们是怎么选择合适的开发方法的?或者说,他们怎么将不同的开发方法融入自己的团队中?比如,在功能团队模式下,如果选择瀑布模型这一开发流程,瀑布模型中的每一个步骤是由团队中不同功能的人各自负责一个步骤,每个不同功能的小组同时进行步骤?如果各自负责,那么将各个步骤连在一起时如果这一步骤和下一步骤某个相识功能却用了两种不同方法,不能进行连接该怎么办?如果同时进行,是否浪费了大量时间,或者说一些数据冗余?
2.第五章:团队和流程P99
“它在软件工程实践中的局限性在于:各步骤之间是分离的,但是软件生产过程中的各个步骤不能这样严格分离出来。。。。。。”既然在软件生产过程中各个步骤不能严格分离,那么一个团队必然会在一些步骤分理处产生一些模糊处理,可能会产生的情况是每个步骤都有一部分被重复,那么我们到底该怎么处理这个问题呢?
3.第九章:项目经理P182
对于一个PM来说产品定位、市场发展、需求分析。。。。。。商务合作等等技能是必备的,但是对于在校大学生来说,很多东西是我们接触不到的,并且其中一些我们不知道该怎么去学习,那为什么这个职位对于大学生还如此火热?
4.第十四章,质量保证P304
“软件开发过程有三个主要特性:‘快’、‘好’、‘便宜’”。但是软件开发过程中快的话能保证软件质量吗,这章又再讲质量保障,这不是互相矛盾嘛?
5.第六章:敏捷流程
敏捷流程在团队开发中有很大作用,但是也有一些缺陷,这些缺陷书中并没有详细说出,那么作为我们个人是否可以将这个流程用在除程序开发外的一些地方,是否可以避免流程中的一些缺陷?
四.了解和调查源程序版本管理工具
上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些,列举至少三个或以上的版本管理软件各有什么优缺点?
以下来自百度百科
1.Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
缺点:不开源,系统不稳定