• 个人第1次作业:阅读与准备作业


    这个作业属于哪个课程 课程链接
    这个作业要求在哪里 作业要求
    我在这个课程的目标是 1.学习软件开发的一般过程,
    2.锻炼团队进行软件开发的能力
    3.掌握软件开发及软件测试相关工具的使用
    4.能开发一些简单的软件产品
    这个作业在哪个具体方面帮助我实现目标 1.通过阅读博文,明确学习目标
    2.练习博客的写作方法
    3.通过查询资料,了解常用的几种源程序管理工具的优缺点,学习使用原程序管理工具使用方法
    4.阅读教材,了解课程内容

    一、 建立博客及自我介绍

    1.个人博客地址:https://www.cnblogs.com/liaozhidan/

    2.个人介绍:我是一名地理信息科学大三学生,喜欢动漫,电竞,阅读等,不太爱运动,喜欢宅在寝室打游戏,除了课程所学知识以外,偶尔自学python,html5。

    二、 阅读与思考

    1.回想一下你初入大学时对地理信息科学专业的畅想

  • 当初你能是如何做出选择地理信息科学专业的决定的?
  • 地理信息科学专业并不是我高考志选择的专业,我进校选择的专业是过程装备与控制工程,在经过一学期的学习和了解后,选择转专业到现在的地理信息科学。之所以选择地理信息科学专业,主要是基于自身不擅长物理学科,这就决定了我对大部分工科专业不太擅长,同时,也经过一学期的了解,认为地理信息科学的就业前景不错,许多高中同学也是学习的测绘、地理信息相关专业,所以选择地理信息科学这个专业。

  • 你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?
  • 经过这一年多的学习,地理信息科学大体符合我对这个专业的期待,除了学习地图学、测量学、遥感导论等专业课程,同时学习了C#、数据结构、数据库等计算机相关课程,同时也作了很多实验,对专业有了更加深入的了解。

  • 你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?
  • 地理信息科学包含了计算机和地理学科,是我喜欢的领域,但不是很擅长。

  • 将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
  • 毕业后我会选择与地理信息科学相关的工作,我想在成都就业,先做GIS数据生产,然后考虑是否继续深造。

    2.对照前人们走过的路和描述未来发展,现在的你

  • 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。
  • 会最基础的C#和C语言相关知识,初步学习了python,学习了数据结构,但基本已经忘得差不多了,会使用Arcgis的一些基础功能,但需要一步一步跟着百度经验操作。写过的代码量不多,大部分是做C语言和C#实验报告写的代码。做过的复杂的作业是上学期C#最后一个实验报告,写一个成绩管理系统。

  • 离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?
  • 我离一名合格的合格本科毕业生,我应该还有很大差距,我需要继续专业理论知识,经过前两年的学习,尽管我已经学习了编程相关知识,但还没有编写过与专业相关的项目,如Gis组件产品,没有将计算机与地理学结合起来的能力,对以前学习的专业知识,考试过后,遗忘了很多,所以要成为一名合格的本科生,我还有很长的路要走。

    3.目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。

  • 对照以上你阅读的前人们的经历,你的选择是什么?
  • 想工作一段时间,认清自己的差距在那一方面,在选择是否选择考研。

  • 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
  • 优点:在有工作经历的情况下,我能明确自身的优缺点,更加明确自己考研的方向,在工作经验的加持下,能更好的将理论知识转化为实际的产品。缺点:在工作后,准备考研的时间将因为工作大幅度缩短,时间压力相比应届考研更大,无法像应届生那样全身心投入考研。

  • 针对你的选择,你给自己的大三设定的规划安排是什么?
  • 努力学习专业知识,在寒暑假及空余时间找公司实习,通过计算机考试,制作改进简历,准备面试,学习各种技能,提高自身能力。

  • 你对于实现自己的梦想已经做了或者计划做什么样的准备?
  • 学习计算机知识,复习数学,学习英语。

    三、 提有质量的问题

  • 问题一:课本第二章《个人技术和流程》P25中“单元测试必须由最熟悉代码的人(程序的作者)来写”,程序的作者是最熟悉源代码的人,由程序的作者进行单元测试是最好的选择,但是,我认为由作者进行单元测试也存在一些问题,当局者迷,旁观者清,作为程序的作者,一些程序的局限通过自身是很难发现的,所以单元测试由具有专业经验的人员与程序的作者一起进行是否更好?
  • 问题二:课本第三章《软件工程师的成长》P58图3-2问题的层次,舒适区,学习区和恐慌区图中描述了问题的三个层次,在学习编程的过程中也总是想快一点过完语法和基础知识,现在很多人学习编程也是有想速成的心态,像《某某语言21天入门与精通》也成为畅销书,我想问对于编程语言的基础应该速成,脱离舒适区,还是循序渐进的耗费大量时间学好基础?
  • 问题三:课本第十二章《用户体验》P260中“好的用户体验当然是所有人都想要的,如果它和质量有冲突,怎么办?”,课本中中通过GE公司总裁讲述的故事传达的信息是好的用户体验更重要,但是,在软件开发的过程中,为了好的用户体验,一味的牺牲软件的性能是否可取?我们应该怎样在用户体验与软件性能做抉择?
  • 问题四:课本第十四章《质量保障》P305中“软件的开发过程有三个主要的特性:“好”、“快”、“便宜” 。通俗的理解是“软件在功能、成本、时间三方面满足利益相关者的需求””,在课上,老师也讲过软件开发的成本是越来越高的,同时,慢工出细活,但软件开发的工期短暂的情况下,软件开发人员在交工之前加班熬夜完成,恐怕难以高质量完成软件产品,所以,我想问,如何才能确保在工期的情况下,控制软件成本,做出功能齐全的软件?
  • 问题五:课本第十六章《IT行业的创新》P347中"70%的创新者说,他们最成功的领域,是在他们的拿手领域之外发现的。"很多行业的创新是由行业外人士完成的,是行业内的专家在精通本行业的后失去了创新的动力,或是业内人士会更加容易被本行业的条条框框所限制吗?那么,作为软件的开发者,该如何走出软件行业的限制,推动行业的创新呢?
  • 四、了解和调查源程序版本管理工具

    Git Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
    Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。——Git_百度百科
    优点 1.适合分布式开发,强调个体;
    2.公共服务器压力和数据量都不会太大;
    3.速度快、灵活;
    4.任意两个开发者之间可以很容易的解决冲突;
    5.离线工作。
    缺点 1.资料少(中文资料很少);
    2.学习周期相对而言比较长;
    3.不符合常规思维;
    4.代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

    Github GitHub是一个面向开源及私有软件项目的托管平台,只支持git
    作为唯一的版本库格式进行托管。——Github_百度百科
    优点 1.错误跟踪,此功能属于协作功能,可以通过在项目中检测到的软件错误记录来提高代码质量。
    2.快速搜索,存储库提供方便的项目结构,允许有效的搜索和排序。
    此外,功能良好的SEO允许用户在公共存储库中找到任何代码字符串。
    3.社区,截至2017年4月,GitHub的用户数量已经超过2000万。这个世界范围内极大的开发团队
    是共享经验和技能的重要来源。用户可以进行沟通,评论,编辑和跟踪新闻。
    4.共享,项目源代码不仅可以使用Git进行复制,还可以作为归档下载。
    5.协作开发,GitHub为团队管理提供了高效的功能。
    6.兼容性,源代码位于GitHub的项目可以轻松地定制到任何云主机服务。
    7.支持Git,SVN,HG,TFS导入——GitHub、GitLab与BitBucket应该怎么选?
    缺点 1.GitHub的服务不是完全免费的,如果想要享受GitHub提供的所有功能,需要付费。
    2.大小限制:文件大小不能超过100Mb,存储库可以托管信息1Gb。

    Bitbucket BitBucket 是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,
    同时提供商业计划和免费账户。——BitBucket_百度百科
    优点 1.对于小团队免费,这意味着最多5名成员的团队将获得无限数量的免费存储库。
    2.一个集成的查询管理系统。
    3.通过社交媒体和GitHub认证。
    4.集成Jira工具。BitBucket和Jira在整个开发阶段都做了整合,通过集成的错误跟踪组件,
    JIRA自动更新有关检测到的问题的信息。
    5.导入现有Git项目。
    6.支持Git,CodePlex,Google Code,HG,SourceForge,SVN导入——GitHub、GitLab与BitBucket应该怎么选?
    缺点 1.不开源。
    2.系统不稳定

    trac Trac是一个为软件开发项目需要而集成了Wiki和问题跟踪管理系统的应用平台,是一个开源软件应用。
    Trac以简单的方式建立了一个软件项目管理的Web应用,以帮助开发人员更好地写出高质量的软件;
    Trac应用力求不影响现有团队的开发程。
    优点 1.Trac做一个SCM配置管理平台,意味着它有良好的扩充性。
    2.Trac的权限体系是比较完备的设计。
    3.非常灵活,可以随心所欲的定制,可以和TortoiseSVN集成。
    缺点 1.不支持多项目。2.需求和缺陷没有分离。
    3.用 wiki 来替代 Word 等工具编写文档对于产品策划来说门槛太高了。
    4.中文化不完整,美术人员接触起来困难重重。
    4.不显示中文名,本地化做得很差。
    5.核心功能很少,不安装插件基本上没法用。
  • 相关阅读:
    poj1047
    poj1129
    poj1050
    C#中break、continue的用法
    关于一个不大常用的SQL数据类型-UNIQUEIDENTIFIER
    关于net2.0里面新出现的类backgroundworker的应用
    深入讲解SQL Union和Union All的使用方法
    让你一次性搞定堆、栈、值类型、引用类型 (转载)
    EXEC与sp_executesql的区别及应用(转)
    几种常用排序算法总结(转载)
  • 原文地址:https://www.cnblogs.com/liaozhidan/p/11504717.html
  • Copyright © 2020-2023  润新知