201771010117—马兴德—实验一 软件工程准备—掌握博客中MarkDown的使用以及通读《现代软件工程—构建之法》的总结

实验一 软件工程的前期准备工作

在前期的准备工作以及老师上课的讲解中,我懂得了“软件=程序+软件工程”这句话的基本含义,以前只是对软件工程有一个很浅显的概念,现在在读了《现代软件工程—构建之法》这本书之后,我已经对自己以前掌握的只是有了更深一步的提升,虽然不是特别懂,但是我会在后续老师讲解的过程中慢慢的消化这些知识,通过阅读老师的博客,我深深发现自己以前对于提问尽然不懂,所谓不懂就是自己不知道某个问题,但是不知道如何更够精确的提出问题的所在,让老师同学们能够为自己答疑解惑,所以再这一方面,我觉得自己应该以后多注意,今天借此机会也是让自己多加锻炼一下。所以我将从以下几个方面来完成我今天的博客内容:

对软件工程的认识

项目 内容
课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
软件工程 https://www.cnblogs.com/nwnu-daizh/
作业要求 https://www.cnblogs.com/nwnu-daizh/p/12369881.html
软件工程学习目标 (1)学习如何精确的提出问题,并且能够从课本中找到相应问题的答案,以及在博客园中如如何使用markdown,将这些以博客形式记录下来(2)了解Github的基本操作
这个作业在哪些方面帮我实现学习目标 理论的学习方面与知识的实践方面
作业正文 1)学习掌握博客园的编辑知识技巧 2)学习如何使用Github
作业参考文献 邹欣.构建之法现代软件工程[M].人民邮电出版社,2014

此次实验内容

任务1:调查问卷

此网址添加老师的调查问卷(已经填写完成)

任务2:在博客园平台注册个人博客账号和加入博客园班级

任务3:注册Github账号

  • 用途:管理项目,记录(源码、文档,历次版本变更,bug发现与修复)等信息。

  • Github地址

  • Github操作及如何托管项目?

  • 安装好Github之后,我们就要学会一些基本操作和了解Github的一些相关知识的概念:

    • 仓库(Repository):仓库的意思就是我们的项目,即想要在Github上创建一个项目,我们就必须有一个相对应的项目,有几个项目就有几个仓库;

    • 收藏(Star):仓库主页star按钮,意思为收藏项目的人数,

    • 复制克隆项目(Fork):复制克隆就是你开源了一个项目,别人想在你这个项目的基础上做些改进,然后应用到自己的项目中,这个时候他就可以Fork你的
      项目(打开项目主页点击右上角的fork按钮即可),然后他的GitHub主页上就多了一个项目,只不过这个项目是基于你的项目基础(本质上是在原有项目的基础上新建了一个分支) ,他就可以随心所欲的去改进,但是丝毫不会影响原有项目的代码与结构。

    • 发起请求(Pull Request):发起请求,这个其实是基于Fork的,还是.上面那个例子,如果别人在你基础上做了改进,后来觉得改进的很不错,应该要把这些改进让更多的人收益,于是就想把自己的改进合并到原有项目里,这个时候他就可以发起一个Pull Request,原有项目创建人,也就是你就可以收到这个请求,这个时候你会仔细review他的代码,并且测试觉得ok了,就会接受他的PR,这个时候他做的改进原有项目就会拥有了。

    • 事务卡片(Issue):发现代码BUG,但是目前没有成型代码,需要讨论时用;

    • 关注(Watch):意思就是观察,如果你Watch了某个项目,那么以后只要这个项目有任何更新,你都会第一时间收到关于这个项目的通知提醒。

  • 下面就是创建一个项目的过程:

    • 先创建一个新的项目:
    • 创建好的项目如下图所示,有关收藏,删除,新建等一些列的操作都完成之后,以及记录的操作次数如下所示:

任务4:各位同学点击以下超级表格链接填写博客园、github账号信息

超级表格(已经完成)

任务5:构建之法与博客首秀

  • 修改博客园默认编辑器

    • 1、首先用自己的账号登录博客园;

    • 2、点击“添加新随笔”按钮,然后找菜单栏,在菜单栏中点击“选项”按钮;

    • 3、点击选择默认编辑器当中的“Markdown”按钮;

    • 4、最后点击左下角的“保存”按钮即操作成功,然后直接添加新随笔就完成此项工作。

    • 经过阅读邹欣老师的《构建之法》这本书之后,我想着自己可以先提出三个问题自己去试着解决,根据自己所学的知识,在力所能及的范围内完成问题的答案,并且在以后的学习过程中继续能够探索问题的答案,以求达到问题的精确回答。

    • 问题1:软件工程是什么,学完软件工程这门课程我索要掌握到什么,最终要达到怎样的一个目标?
      答案:软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。这只是对软件工程一个抽象的理解,既然“软件=程序+软件工程”,那我们就来看一下看一下软件,软件分为系统软件、应用软件和恶意软件。随着人类的发展以及技术的进步,人们对于软件的应用有了进一步的提高,但是在软件开发的速度却远远达不到人类所发展以及需要的地步,那软件开发为什么会有这样的问题呢,大致有以下五点:

      • 复杂性
      • 不可见性
      • 易变性.
      • 服从性
      • 非连续性
        那么当我了解了之后,我想我对于这门课的一个总体的一个目标就很明确了:
        (1)尽可能的研发出用户需求的软件,让自己的编程能力继续提高;
        (2)更好的掌握软件研发的流程,在开发过程中尽可能做出让用户满意的软件;
        (3)对自己所开发的软件尽可能先让老师同学提出意见,在后续的过程中还能有修改的余地。
  • 问题2:通过阅读课本6、7、8章内容,讲到软件项目中开发所具备的条件,我在想在一个软件的开发过程中最重要的是什么?
    答案:我们先抛开软件的概念,因为在上一个问题有所涉及,就说在做一个项目的过程中,你认为最重要的是什么,这其实就是和软件开发是一样的,那么我觉得在一个软件开发的过程中,我觉得很重要的就是要有一个优秀的团队,接着分析用户的需求,最后做项目的研发,这三点我认为是一个项目的过程中必不可少的,当然其他的也很重要,这里只是说最重要的。在做一个事情之前,有一个优秀的团队肯定是很重要的,团队也有许许多多的模式,在一个公司我们可以看到大家为了一个项目而绞劲脑汁、在运动场上,物品们可以看到运动健儿们为了最后的冠军在拼搏、在学校中同学们为了一个自己努力研发的项目而研究到深夜等等,这些都是一个团队带给我们的力量;其次就是在开发一个项目的过程中,我们需要先进行分析,到底这个市场需要还是不需要,用户又对这种软件的功能有啥要求,这些都是前面需要一个强大的团队去做调研,为的就是在投入市场之后能够服务到每一个人,让大家进可能去使用自己研发的软件;当有了前面的工作支持的时候,最后就是软件的设计研发了,这才是重中之重,如果你软件都无法研发,那剩下的工作要怎么去完成呢。在软件开发的过程中,我们不应该拘泥于某一种方法去解决一个问题,分析和设计有许多方法,如:

    • 以文字为主的文档,如Word. PowerPoint 文档。正如我们在需求分析和场景设计中看到的那样。
    • 用图形为主构造的模型,如Mind Map (思维导图),ERD,DFD, UML的各种图,甚至包括Flow Chart流程图
    • 用数学语言的描述,如Vienna Development Method
    • 用类自然语言+代码构造的描述,如Literate Programming
    • 源代码加注释也能描述
      所以在一个项目的研发过程中,我们遇到问题时,可以用多种方式解决,比如还有画思维导图、关系图等等之类的方法。
  • 问题3:在《构建之法》的第九章内容中提到,软件和IT行业的创新,当我读完之后,我的困惑是我们怎样才能提高的自己创新技能呢?
    答案:在软件开发的过程中,最重要的就是你有没有创新点,只有自己对一个软件项目有了创新点,才可以对项目有大的贡献,才能满足用户对软件功能的需求。那么现在是一个IT行业很火的一个世代,如果我们不能适应时代,很有可能就会被社会所淘汰,所以说在软件开发的过程中创新点很重要,我觉得我们应该做到以下几点,才有可能提高自己的创新技能:
    (1)在做一个项目之前,我们先要做一个市场调研,了解用户对这种软件的需求是什么,我们要充分了解用户的痛苦,他们对已有软件,服务不满意的地方。这样我们才能对我们所开发的软件做一个修改,才可以通过交流提高自己的创新思维。
    (2)第二点就是我们应该如何去做,当用户对我们的方案提出疑问或者有疑问的时候,我们应该怎样做才能满足用户的需求只有我们找到不足之处提出创新点,这样的产品才能够被广大用户所接受。
    (3)第三点就是我们应该结合我们的前辈所提出的想法以及做出的项目,看看人家是如何去做的,只有这样才能给我们经验和教训,给自己带来好处,同时也给我们的用户带来好处。
    (4)还有最终的一点就是提出质疑,对自己的作品以及竞争者的作品提出质疑,只有这样,你才能在自己对手的激励下创造出新的东西,让自己的作品变得更加新颖。

实验总结:

通过本次学习,我已经基本掌握了Github的基本操作,能在Github上面进行一些基本的操作,也基本掌握了一些有关Github的一些知识点。更重要的是,通过此次学习,在以往的博客园编辑模式(TinyMce和TextBox模式)下,我能够转换一种编辑模式(Markdown)继续编写,这样给了我一个挑战,以前从来没有这种方法编写过,这是第一次编写,还有些不太熟练,尤其在添加表格这一个内容上,我掌握的不是特别好,我会在以后的学习当中熟练的掌握在博客园Markdown编辑模式下的各种操作,以及用心学好各门课程!

posted @ 2020-02-29 20:30  只当梦醒  阅读(197)  评论(4编辑  收藏  举报