个人第一次作业

这个作业属于哪个课程 <18级软件工程基础>
这个作业要求在哪里 <第一次个人作业:阅读与准备>
我在这个课程的目标是 使用Markdown编写一篇博客,了解软件开发的基础知识
这个作业在哪个具体方面帮助我实现目标 了解熟悉Markdown的使用,学习源代码管理工具并理解其区别

个人第一次作业

一、自我介绍

    计算机行业是一个值得无止境探索和发展的行业。我是一个对所有事情都有好奇心的人,期待寻求所有新奇事物的内在原理,从小我对计算机保持着浓厚的兴趣和深切的向往,如今计算机行业发展迅速,信息日新月异,计算机前景广大,所以报考计算机是出于自己的兴趣也是符合时代的进步。其实,我如同千万个普通学生一样,没有什么闪光点和优势技能。从幼儿园到大学,一直以来,我都在按照父母老师的要求的样子成长。父母老师早已经在我的人生之路画好了一条轨迹,我只能这样走,不偏不倚,老实地长大。上课认真听讲,搞好学习,课外多看书,好好做作业,从来没有反抗。在他们眼里,我是听话的孩子,所有的事要父母喜欢才能去做。我长成了他们想要的样子。但也由于一切都是“被安排的”,闷头做事,沉浸在自己的世界里,我可能会畏惧各种个性化的尝试。比起大多数人,我的社交能力欠缺,经常认为有一个固定的交际圈就行了,没有必要刻意扩大它。我始终坚信大学是从在父母保护下安静长大到进入社会独当一面的过渡、关键。在大学,你必须与各种人交流,社交能力会自动提升。少了高中那么多同学一起思考合作,随意找老师解决问题的机会可以督促我们尽量独立思考。我希望,大学,我也可以依照我设计的轨迹成长。大学的课程可能有些繁多和无聊,但是“如果你爱上了某个星球的一朵花。那么,只要在夜晚仰望星空,就会觉得漫天的繁星就像一朵朵盛开的花。”

博客地址:https://www.cnblogs.com/xxxy7280/

二、阅读与思考

回想一下初入大学时对所在专业的畅想:

   选择大学就读计算机的原因有二。首先是出于兴趣,其次是如今计算机行业前景非常不错。过去一年接触的课程符合我心中的期待,以前可能幻想过到了大学可以尽快做项目,成为一个很厉害的人,但是毕竟任何一种新专业知识都需要从基础开始学习,只有把基础学好,循序渐进,把每一步都尽力做好,所以我仍然对每一个阶段都保持期待。我所在的专业是我喜欢的领域但是目前还不是特别擅长,但是我会尽力努力,越来越强。将来会从事计算机行业相关的工作,想做产品经理,想去科技发展繁荣的城市,想进阿里巴巴,或者腾讯,甚至微软。

对照前人们走过的路和描述未来发展,我的想法:

    看过前几篇博客,发现自己离成为一个优秀的计算机类学生差距很大。自我感觉已经具备的专业知识技能只有简单的从课堂学来的东西,只会做很基础的任务。没有主动地去了解课本之外,更深层次,更符合计算机发展变化的知识,没有尝试去了解学习实践一些新的程序。简单的代码不愿意亲自去上机实践,所以经常自己一个人独立写程序的时候会在小问题上犯错误;复杂的程序做得少,就算做了由于自己的知识局限也没有认真地思考为什么要这样做,还有没有其它的方法。动手实践时间不足,很少独立思考,仅仅跟着老师学习课本上的知识,完成老师布置的作业。已经写过的代码量可能只有一两千。做过最复杂的项目也仅仅是上学期程序设计综合实践课程要求的贪吃蛇游戏项目,况且当时没有做到最好,还有好多附加功能没有实现,也存在在课程结束后仍然不理解里面涉及的有些知识的问题。
    真实地说,离一个合格的本科毕业生还差得远。暂且撇开才大二,专业知识储备还过分残缺这个专业技能不说,就谈其他工作能力也是远远不足的。比如,没有足够强的逻辑思维能力,那么面试对现在的我就是一个大问题;其次,不能够独立解决问题和很好适应团队合作模式,如果有幸能够进入大企业,与团队一起合作完成项目,可能我会存在很多问题会干扰和影响到团队的效率。

对照以上你阅读的前人们的经历,我的计划:

   当自己大三时,我会选择准备考研,因为如今工作竞争大,你喜欢的公司岗位也有很多人与你竞争着,学历显得尤为重要。另外如果只有本科的学习,不仅找到好工作的几率小,可能将来遇到的很多涉及专业方面的知识的问题不能及时地解决好。这种选择下自己的劣势较为明显:有没有足够的自学能力,是否能够真正地静下心思考一个一个问题并耐心地解决...依然存疑,也是一个挑战。对于未来的规划,目前仍然感到迷茫。在慢慢去寻找适合自己的学习方法和发展方向,在思考去了解一些新事物拓宽自己的视野,也在尝试提升自己逻辑思维和与人合作这些必要的能力。

三、提出有质量的问题

Q1:第4章 结对编程的效率和质量都比单打独斗更高,那么项目开始时应该如何分配团队成员人数?

   依照4.5.3提出的结对编程不断复审和传统意义上的程序员之间或者团队复审相比有更多的优点,该节后面也指出,结对编程在软件开发中会提高成员默契,开发质量和开发时间都比两人单独开发有明显的改善,那么在项目开始做之前应该如何具体的分配人数呢?如何确保当时所做的选择是最优的,以及在后期如果发现当时安排有缺点应该如何改进以完善团队合作?

Q2:第5章 瀑布模型适用范围,是不是目前基本不适用?

    瀑布模型有很多显著的缺点,其一,在项目各个阶段之间极少有反馈。只有在项目生命周期的后期才能看到结果。客户往往很难清楚地给出所有的需求,而该模型却要求如此。这个缺点对于用户需求经常变化的现在来说显然是致命的,对客户和对开发团队都是不好的体验,效率和质量会极大的降低,成本也会增加。另外,通过过多的强制完成日期和里程碑来跟踪各个项目阶段,增加了开发人员压力,当一个阶段延迟可能会影响到整个项目的进度,并且在阶段之间产生大量的文档,极大地增加了工作量。降低了工作效率。瀑布模型的缺点对客户和开发团队都非常明显,对双方的利益都有影响,弊大于利,那么它还有被使用的必要吗,使用在什么方面?

Q3:第9章 产品经理和项目经理有具体的什么异同?

    p172指出产品经理的和核心要求是根据市场和用户需求,协调各部门资源,正确的把握产品定位和方向,解决用户的痛点,持续优化产品。而项目经理的职责也包括协调团队内部外部调配各部门资源和时间,保证一个项目按计划结项,从这些方面来看,项目经理和产品经理作用有很多相似的地方,工作职责也有较大的交叉,我们是不是可以经常将两者混为一谈?

Q4:第5章 在老板驱动的流程中,作为程序员如何倾诉自己的想法和需求?

    老板驱动的流程中,虽然老板比一般的技术人员更懂市场和竞争,可以为整个企业谋求更大的利益的和更广阔的前景,但避免不了老板的想法和技术人员有冲突,甚至老板有些外行,不理解我们的想法,这种情况下,为了避免老板选择商业利益忽略技术人员源于本身或者产品质量的想法,我们应该如何在“阶级和权利差异之下”与老板平等地交流?

Q5:第16章 如何做到创新?

    创新思维能力在信息技术快速发展的今天显得格外重要,人一天可能会迸发出很多灵感,但不可能把所有的顿悟都去尝试创新,不仅没有机会和空间去实现自己的创新,也很少有人会在各种困难下仍然坚持到底,但是不去尝试我们就永远不会知道它到底可不可行。其次,大家都知道,大多数普通IT工作人员的一天是很忙碌的,上班时间忙着赶项目进度,完成工作,尽可能的都是把时间花在修改错误测试程序上,下班可能已经精疲力竭,不会再去思考“自己所做程序上有什么可以改进,有没有可能用一种全新的方式去优化它”这种带有工作性质的问题。如何去挑选寻找出最有可能的创新,又如何在生活、工作和自己独到的想法中衡量轻重,仅凭自己的理想主义可能远远不够,最后会被现实击垮,在“生存艰难”的今天,怎么做到创新?

四、了解和调查源程序版本管理工具

GitHub

优点:

  • 快速搜索,存储库提供方便的项目结构,允许有效的搜索和排序。此外,功能良好的SEO允许用户在公共存储库中找到任何代码字符串。
  • 社区,截至2017年4月,GitHub的用户数量已经超过2000万。这个世界范围内极大的开发团队是共享经验和技能的重要来源。用户可以进行沟通,评论,编辑和跟踪新闻。
  • 共享,项目源代码不仅可以使用Git进行复制,还可以作为归档下载。
  • 兼容性,源代码位于GitHub的项目可以轻松地定制到任何云主机服务。
  • 支持Git,SVN,HG,TFS导入。

缺点:

  • 基于git,学习曲线陡峭,企业大规模用git根本不现实。
  • 大小限制:文件大小不能超过100Mb,存储库可以托管信息1Gb。

Microsoft TFS

优点:

  • 任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用。
  • 集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM。
  • 能与 VS 无缝接合。
  • 你可以不需要任何开发工具,在浏览器上就可以完成代码的修改功能。
  • TFS提供基于开放工具的便捷的代码评审机制,可以实现研发团队内部之间的代码评审,或者与外部专家的代码评审。

缺点:

  • 通用性方面。TFS目前只支持小文件的应用,大文件应用是不支持的。对小图片、网页等几十KB内的数据存储非常适用,但对视频点播VOD、文件下载等应用暂时无法适用。
  • 性能方面。Client写文件是同步处理的,需要等所有dataserver写成功后才能返回,这很是影响性能。
  • 用户接口。TFS没有提供POSIX接口,提供的API也与标准接口不一致。另外,TFS有自己的文件命名规则,如果用户使用自定义的文件名,则需要自己维护文件名与TFS文件名之间的映射关系。

Apple XCode

优点:

  • 编译速度极快,每次操作都很快速和轻松。自动提供撤消、重做和保存功能,无需编写任何编码。

缺点:

  • 更新版本后,某个插件可能会失效。

BitBucket

优点:

  • 对于小团队免费,这意味着最多5名成员的团队将获得无限数量的免费存储库。
  • 一个集成的查询管理系统。
  • 通过社交媒体和GitHub认证。
  • 导入现有Git项目。
  • 支持Git,CodePlex,Google Code,HG,SourceForge,SVN导入。
  • 提交大文件速度很快,而且私人项目免费,且不限容量。

缺点:

  • 不开源
  • 系统不稳定
posted @ 2019-09-11 17:10  2025  阅读(183)  评论(2编辑  收藏  举报