阅读与准备作业
这个作业属于哪个课程 | 课程链接 |
---|---|
这个作业要求在哪里 | 作业要求链接 |
我在这个课程的目标是 | 了解软件工程基础,提高编程能力,通过”做中学“了解一定的软件开发知识 |
这个作业在哪个具体方面帮助我实现目标 | 通过不断练习写好一篇好博客,体会”做中学“思想,在实践中获得新知 |
参考文献 | git的优缺点,github优缺点,管理软件的优缺点 |
1.自我介绍
NEVER SAY NEVER! 永不言弃。
我来自山城重庆——一个性格火爆的城市,可能由于从小生活在火锅之城重庆吧,我的性格里有一股倔强。典型的重庆崽儿,有着不服输的性格。我喜欢打篮球,喜欢看足球比赛,这两项竞技体育也教会我什么叫做坚韧。让我也明白坚持的重要性,学习更需要坚持。另外,我感觉我比同龄人多了一点对未来的忧患意识,也知道自己哪些方面欠缺,也正因为这样,我得很清楚我得花更多的时间投入学习,不断进步,这样才能不落后于他人。
我的博客园地址:我的博客园链接
2.阅读与思考
-
(1)回想一下你初入大学时对你所在专业的畅想
当初你是如何做出选择你所在专业的决定的?
我有个亲戚家的孩子是学计算机专业的,经过向他咨询了解到计算机专业出来工作后薪资和工作环境不错,就选择了这个专业。你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?
符合,因为大家都知道,计算机是一个热门专业,但也是一个难度较大的专业,所以在我做出选择之前我就已经做好了思想上的准备,所以在接触到课程比较难的时候,我也会静下心来琢磨这个问题,我很享受解决困难的过程。
你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?
我很喜欢我的专业,我相信我一定会擅长这个领域的,对此,我得付出跟多的努力去实现这个目标。
将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
我将来肯定会选择从事专业相关的工作,我一正在为此而努力,积蓄力量,我十分想呆在成都这个城市,如果有可能的话,我也想去北上广闯闯,去见识一番。想去的公司,肯定想去一些知名的公司,比如像bat这种大公司。至于岗位方面,这方面涉猎比较少,暂时还不太明确。 -
(2)对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。
我觉得自己c语言算是从入门到熟悉了吧,但还不精通,还需要多实践,另外c++也在暑假自学完成,上学期的数据结构学得还不是很扎实感觉只学了一点皮毛,还需好好复习巩固。至于代码量,感觉3,4000行吧,做过最复杂的项目就是京东购物系统了,那个对于字符串,文件处理,以及模块化思想让我印象深刻。
离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?
学习得知识还不够多,实践的机会还比较少吧,还需要学习更多的计算机知识,学习更多的技术,敲更多的代码吧。
(3)目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。对照以上你阅读的前人们的经历,你的选择是什么?
我选择考研,因为我想继续学习,我知道我本不该如此,我也有一个名校梦,我想提高自己的学历,从而让自己在未来更加有竞争力。
在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
我更能坚持下去,更会严格的约束自己,自控力比较强,我也有劣势,效率比较低,这就需要我得比他们付出更多时间投入学习。
针对你的选择,你给自己的大三设定的规划安排是什么?
对于考研,我预计会在大二暑假时期就开始做准备,进行一些考研方面的了解,从而确定自己的努力方向,到了大三会对考研科目背水一战,对于学校的一些课程,我肯定也会全力以赴的。
你对于实现自己的梦想已经做了或者计划做什么样的准备?
我会认真听好每一堂课,认真实践,努力改善不足,就是我说的效率低下的问题,在学习过程中我也在告诫自己要提高学习效率,这样才能更有竞争力。另外,在专业知识方面,我在暑假自学了c++,这学期想把java入门,了解更多的编程知识。
3.提有质量的问题
快速看完整部教材,列出你仍然不懂的5到10个问题,发布在你的个人博客上。注明是哪一章哪一节。要有观点、有证据或分析。字数不是直接的考核标准,但是要求篇幅长到能把观点表述清楚。
问题1:B2B网站是什么?(P347)
我看到书上P347提到了B2B网站做得最好的是阿里巴巴,阿里巴巴我们都知道,可是B2B概念却不了解,根据我查阅的资料B2B百度百科,我了解到 BTB,是Business-to-Business的缩写,是指企业与企业之间通过专用网络或Internet,进行数据信息的交换、传递,开展交易活动的商业模式。而阿里巴巴确实是中国乃至世界上B2B网站做得最好。
问题2:为什么70%的创新者说,他们最成功的创新是在他们拿手领域之外发现的?(P344-348)
我看到书上写了这么一句话70%的创新者说,他们最成功的创新是在他们拿手领域之外发现的,这是为什么呢?作者在本书中举例几个例子并且把这个问抛了出来,但是却没有做出详细的说明,我觉得之所以会这样,是因为在拿手领域之中往往因为对知识的了解而忽略了一些思考,一些创新,当然在拿手之外的领域发现创新有一定偶然性,但对问题的刨根问底精神也是必不可少的。
问题3:为什么现代软件工程书中会谈这么多关于创新的东西?
软件工程,初识这门课程的时候,我以为是将一些关于软件实际操作方面的问题,但我发现作者专门写了一章节关于创新的内容,这令我有些意外,通过细读这章节,我觉得软件工程相关的人员确实应该培养创新意识,IT行业发展日新月异,我们应该善于思考不断学习,才能不被高速发展的软件行业所淘汰。
问题4:软件工程的技术和实践如何帮助创新?(P340-375)
当看到书中有一章节是讲IT行业的创新,那么问题来了,软件工程这门课程如何帮助我们培养创新意识呢,我了解到本书强调”做中学“,这也是本书中的特色所在,是不是可以通过”做中学“来实践从而提高创兴能力呢。这有待我在实践过程中通过实践去体会,去探索。
问题5:网上的一些抢票软件是好事还是坏事?P409-411
我看到本书中第17章谈到软件工作人员的职业道德问题,书中提到了网络上的抢票软件,联系到现实生活中,抢票软件确实十分常见,那么抢票软件到底是好事还是坏事呢?结合软件工程中的职业道德问题,我觉得抢票软件虽然便利了一些人,但就是因为抢票软件的滥用,有些票在出来不到十几秒就被抢空,此举严重影响到大部分人的利益,而且抢票软件参差不齐,有的更会有泄露用户个人信息的风险,我认为这些软件开发行为应该受到道德和法律的约束,才能使购票更加公平。
4.了解和调查源程序版本管理工具
上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些,列举至少三个或以上的版本管理软件各有什么优缺点? (提示:搜索一下Git、GitHub、Microsoft TFS、Bitbucket、Mercurial、Trac、Bugzilla、Rational,Apple XCode)
git
优点:
1. 适合分布式开发,强调个体。
2. 公共服务器压力和数据量都不会太大。
3. 速度快、灵活。
4. 任意两个开发者之间可以很容易的解决冲突。
5. 离线工作。
缺点:
1. 资料少(起码中文资料很少)。
2. 学习周期相对而言比较长。
3. 不符合常规思维。
4. 代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
github
优点:
1. 完整的支持Markdown语言,而且支持Emoji表情
2. 支持直接复制图片到页面,会自动上传图片(非常好的功能,知乎也支持)
3. 比较好的支持Mobile。虽然github没有手机客户端,但是一般开发者,写好的blog都会通过微博进行分享,所以点击过来之后,就可以在手机浏览器里面访问。
4. 使用github原生的功能,就可以进行类似评论的功能
5. 功能设计简洁实用上手很快,可用性好,已有很多相当质量的各类项目和优秀开发者在上面。
缺点:
1. GitHub 使用 git 分布式版本控制系统,而 git 最初是 Linus Torvalds 为帮助Linux开发而创造的,它针对的是 Linux 平台,git 和 Windows 从来不是最好的朋友,因为它一点也不像
Windows。GitHub 发布了GitHub for Windows,为 Windows 平台开发者提供了一个易于使用的 Git
图形客户端。
2. 国内访问速度太慢,经常出现connect time-out
3. 不能很好的解决GB2312/GBK,对中文不够友好
4. wiki功能太弱,直接导致文档(对于开源项目很重要)经常被分离到一个独立站点
Microsoft TFS
优点:
1. 任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用,集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM,能与
VS 无缝接合。
2. 易用性:在用户习惯上,TFS秉承了微软所有产品的特新,开发人员非常容易上手。软件使用过程中,用户会发现与日常导入操作系统、开发工具(VS),Office软件等有很多共同的体验。
3. 高度集成其他工具:TFS高度集成主流的开发工具和常见的办公工具。
缺点:
1. 搭建、维护tfs比较复杂,硬件要求也比较高。