201271050130-滕江南 实验一 软件工程准备—<读《构建之法——现代软件工程》心得体会>

项 目 内 容
课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/12369881.html
我的课程学习目标 (1)掌握软件工程的相关知识;(2)学会使用GitHub
这个作业在哪些方面帮助我实现学习目标 (1)了解软件工程;(2)熟悉博客MarkDown编辑器
作业正文 (1)学习博客园软件开发者学习社区使用技巧和经验;(2)了解Github的基本操作
作业参考文献 邹欣.《构建之法——现代软件工程》.【M】.人民邮电出版社

  娄老师在博客中提到的"三问":"问自己"、"问对象"、"问方式"。在学习中,我们要带着问题出发,去找到想要的答案。会思考、会提问、会解答,才是我们首先要学习的内容。

  这学期我们开设了软件工程、软件安全、网络管理、信息安全等课程。说实话当我看到这几门课程名字,我也一度混淆:这几门课程的侧重点不同,区别在哪里?彼此间又有什么联系?答案就要从每门课程的具体内容找起。

  软件工程是第一门开课的课程,代老师推荐我们阅读《构建之法——现代软件工程》这本书。由于基础薄弱,常规的课本知识我都很难理解吸收。所以我很抵触这类专业书,讲的都是纯概念纯理论,枯燥无味,生涩难懂。但是当我真正点开这本书,就被书中多种多样的形式、切合实际的案例、幽默风趣的语言吸引,花了两天的时间通读了整本书,的确受益匪浅。

  我带着问题,书引导着我,找到我想要的答案。虽然解读可能不够全面,但是我自己的理解和感悟。

  第一个问题:什么是软件工程?

  当我看到第1章概论,就得到了一个重要公式:软件=程序+软件工程。邹欣老师用了一个非常生动鲜活的例子,让我明白了完成这个软件项目需要:阿超的程序设计、学生用户的体验、老师客户的需求等,这就是软件工程。

软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。
软件工程包括列领域:软件需求分析、软件设计、软件构建、软件测试和软件维护。
软件工程和下列的学料相关:计算机科学、计算机工程、管理学、数学、项目管理学、质量管理、软件人体工学、系统工程、工业设计和用户体验设计。
-- 引用自《构建之法——现代软件工程》

  软件的开发过程就像是生命的孕育过程,具有复杂性、不可见性、易变性、服从性、非连续性。所以想要做好一款软件很难,耗时长、工作量大、问题又多。这的确是一个工程问题,完全符合“软件工程”这个名词的构建。
  在书本的第11章软件设计与实现,提到了另一个公式:软件的质量=程序的质量+软件工程的质量。这个公式在第14章质量保证中进行了具体分析。软件的好坏体现在是否符合需求且利益最大化。程序的质量体现在软件外在功能的质量,主要看是否通过。软件工程的质量需要靠软件工具和软件流程来保证,主要看是否又好又快又便宜。

  在书本14.2软件质量保障工作中,看到三个问题:

1.测试的角色(Test)要独立出来么?
2.独立出来的测试角色怎么才能发挥作用?
3.有些成功人士或公司认为独立的测试角色不应该存在,你怎么看?
-- 引用自《构建之法——现代软件工程》

  我个人认为在软件工程当中,需要配备专门的测试人员。在项目活动中,如果测试人员也在研发的核心团队,会进入固有思维,造成结果的局限性。测试人员更多充当的是用户的角色,测试这个软件的功能是否能实现,哪里还有地方可以修正完善。我想表达的就是“当局者迷,旁观者清”。当然也不是一棒子打死项目团队中的测试。不管是在哪一个团队,每个人除了各司其职之外,还需要顾全大局,从整体的利益和角度出发思考问题解决问题。在完成代码程序的编写之后,除了要对自己的部分进行测试,也要通过总体测试才能证明自己的那部分是没有问题的。独立出来的测试的人员,更像是筛子,有问题的挑拣出来,没有问题的要进行整合表扬。

  第二个问题:团队该如何责任分工?

  在新开设的信息安全和网络安全课程中,老师都要求同学们组成项目研发小组开发项目。在小组讨论的时候,我们针对立项方向、分工合作、计划安排等方面进行了讨论。但是作为组长,对大家的能力情况并不是太了解,所以小组的分工迟迟没有定下来。在书本第17章人绩效和职业道德,指出一个好的领导不仅要会管理更要会领导,而我恰恰缺少了这方面的能力——知人善任。

●知识,专业技能,职业技能,这三者合起来可以称为“能力”( Competence )
●投入程度,热情,对团队目标的承诺,这可以称为“动力”( Motivation),动力低的人,不管能力高低,他们对团队的贡献是非常有限的。
-- 引用自《构建之法——现代软件工程》

  可以根据这二者的高和低,把团队成员分为四个象限:

  第四象限:积极的初学者:没有能力但有动力。就比如我自己,缺乏能力但不缺热情,但是就是不知道该从哪里开始。
  第三象限:迷惑的学习者:具备学习能力但态度消极。这类人员平时需要多鼓励多提醒,心态放好了,阳光照进来,一切就更好了。
  第二象限:不爽的贡献者:这类人员需要解决的问题是思想层面的,要找到矛盾点,解决问题才能摆正态度。
  第一象限:自立,取得成就的人:这类人员是团队当中最需要的人才,但时上述的各个象限的人员都可以转变成第一象限的优秀人才。
  我通过根据上述的梳理,更加清楚了认识到我们组里各个人员的情况,有了合理的工作分配。希望我这个组长能尽快成长,带领团队越走越好。

  第三个问题:该如何开始学习?

  这个问题非常笼统,但确实是我们每个人都要面对的问题。在书本第15章稳定和发布阶段,有一个项目回顾模板。
201271050130-滕江南 实验一 软件工程准备—<读《构建之法——现代软件工程》心得体会>_第1张图片
201271050130-滕江南 实验一 软件工程准备—<读《构建之法——现代软件工程》心得体会>_第2张图片

  虽然这是作为在项目结项之后做的项目回顾,但是我认为这是一个非常好的开始。这是一个非常好的会议内容,在项目开始之初确保每个人都清楚:我们将要完成的工作,要面对的困难,要接受的挑战。我们目前可能是不行的不够的,会做错的会失败的,但至少在这个阶段还可以重新来过。从某种意义上,这本书给了我特别大的能量,让我有信心去面对这学期的学业任务。但要真正学好这门课程还需要落实好“Leaning by doing”,在学习中夯实基础,在实践中验证理论,在创造中激发潜能,在成长中找到自我!

  总结:在使用Markdown编辑器过程中,学会了表格绘制、字体加粗、引用、图片插入、首行缩进。在网上看视频、电子书,查阅了很多资料,才完成这篇博客。在家学习一切都只能靠自觉,希望新的开始能认真对待,学有所成。

你可能感兴趣的:(201271050130-滕江南 实验一 软件工程准备—<读《构建之法——现代软件工程》心得体会>)