项目 内容
课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/12369881.html
我的课程学习目标 学习软件工程的相关知识
这个作业在哪些方面帮助我实现学习目标 学会使用Markdown排版来撰写博客,学会如何提问
作业正文 (1)学习博客园软件开发者学习社区使用技巧和经验;(2)了解Github的基本操作。
作业参考文献 [1]邹欣.构建之法--现代软件工程[M].人民邮电出版社,2014.

关于提问,这在平时的生活学习中十分常见,我们经常会问到他人问题,也会有其他人问我们问题,我们只是在问一些自己遇到困难的事情,其实从来都没有想过三个问题,就是娄老师博客中提到的"三问":"问自己"、"问对象"、"问方式"。搞清楚自己的问题(问自己):询问自己问问题的目的;询问自己为解答这个问题做了什么;询问内容本身是否具体清晰合理。了解提问的对象(问对象):思考被提问对象的相关信息,如术业专攻、性格特点、活动时间等等。选择合适的提问方式(问方式):用什么样的方式询问可以有效地达到自己的目的?各种方式的优缺点是什么。在读了这篇关于提问的博客之后,我才发现,我之前所理解的提问是很片面的,只顾着问问题来解决自己遇到的困难,却从来没有想过这"三问",从来没有想过问问题的方式,也没有思考过所问对象的一些相关信息。在今后的生活、学习中,我们应该学会培养自己的思考能力,去形成自己分析问题、解决问题的思路。

读完邹欣老师的《现代软件工程—构建之法》之后,我拟定的3个准备从课程学习中找到答案的问题如下:

  • 问题一:一个软件的开发者在做需求分析时应该注意什么?几率很小的要求需不需要做呢?

    • 在阅读第一章时,我看到了这一段文字

      如果一架民用飞机上有需求,用户使用它的概率是百万分之一,你还要做这个功能么?你会选择:

      1、根本不考虑

      2、如果没时间实现这个功能,就算了

      3、做了,但是不告诉用户

      4、做了,而且不厌其烦的告诉用户如何使用

    • 在学习了数据库这门课程之后,我们知道了无论是做一个系统还是一个软件,对于开发者来说,首要的目标就是需要做大量的调查,根据各种用户的需要做出最合理的用户需求。就上述这个关于飞机用户需求的问题,如果我是这个软件的开发者,我会选择4、做了,而且不厌其烦的告诉用户如何使用,俗话说:“不怕一万,就怕万一”,像飞机的安全功能这类问题,在做需求分析时,需要我们慎重的考虑,即使是一个小概率的事件,我们也要考虑到。在做需求分析时,我们需要注意到用户的满意度,对于我们开发的软件所提供的功能,用户是否会有抱怨,除此之外,软件开发成功之后,需要投入市场去运行,有一定的商用价值,会产生商业利益,我们就需要考虑到如何才能获利最大。在看了上述文字之后,一个问题出现在了我的脑海中,在做需求分析的时候,我们应该注意什么?对于小概率事件,我们要不要考虑在我们的软件中实现呢?
    • 我提问的原因:

      之前学习数据库系统的时候也曾做过一些需求分析,当时只是简答的参照网上一些系统做了简单的需求分析,并没有考虑全面,对于小概率事件的需求并没有考虑到,看了《现代软件工程—构建之法》这本书之后,我就在想,一个软件投入到市场中,肯定会随后出现各种我们考虑不到的问题,就需要一步步去维护、更新我们的软件,那么,在做需求分析时,我们要注意到哪些。
  • 问题二:在开发软件的过程中,作为项目的领头者,我们应该如何组建团队?
    • 在看到第五章 团队和流程时,看到这样一个例子:

      王屋村的居民大智要把一堆砖头从村头搬到村尾。于是他去顶球酒吧前招工,最终带回了七八个人。

      可是这七八个人只是一群乌合之众,算不上是一个团队,他们只是临时聚在一起,各自完成任务就领钱走人。在软件的开发过程中,我们需要建立一个团队来,我们应该如何去组建团队?
    • 团队是有一致的集体目标的,需要团队成员来一起完成团队的目标。团队成员有各自的分工,互相依赖合作,共同完成任务。例如足球团队,团队中需要有人充当守门员、前锋,中场需要人员,后卫也需要,在分工明确的情况下,才可能打败对手,在组建团队的过程中,我们就需要考虑一下团队模式,我们需要什么样的人员,是业余的还是专业的?就踢足球来说,如果我们各个岗位的队员是业余的,获胜的几率还是较小的。我们的软件开发团队也是一样的。在组建团队的过程中,对团队成员的要求、团队模式等因素,我们都要考虑。
    • 我提问的原因:

      在之前的学习中,我们也会遇到需要一个2-3个人的团队来完成的项目,当时还是很少考虑到组建团队这个问题的。只是简单的考虑了一下团队的分工,是每个人担任不同的任务,在一定时间内完成团队目标。
  • 问题三:在一个软件开发团队中,怎样成为一个合格优秀的队员?
    • 看到3.1节的时候,书中说软件开发流程不光指团队的流程,还包括个人开发流程。在团队的大流程中,是每一个具体的个人在做开发、测试、用户界面设计、管理、交流等工作。那么在团队中,我们如何做一个优秀的队员来开发我们的软件,最终达成团队目标呢?
    • 就足球队来说,职业足球队对队员有严格的要求,如体能、技术、意识、斗志。而在软件开发团队中,队员有以下几个方面的成长:

      1、积累软件开发相关的知识,提升技术技能。

      2、积累问题领域的知识和经验。

      3、对通用的软件设计思想和软件工程思想的理解。

      4、提升职业技能:自我管理的能力、表达和交流的能力、与人合作的能力、按质按量完成任务的执行力。

      5、实际效果。

      在成为一个合格优秀的队员的路上,我们需要做很多的工作,需要根据自身的特点去发展,首先我们需要做的就是锻炼自己写代码的能力,在空闲的时间多学习一些软件开发方面的知识,以及相关的技术,还可以多参加一些小型的项目去锻炼自己,逐渐积累经验。

201771010113-李婷华 实验一 软件工程准备-<软件工程的相关了解>的更多相关文章

  1. 201771010113 李婷华 《面向对象程序设计(Java)》第十七周总结

    一.理论知识部分 Java 的线程调度采用优先级策略:优先级高的先执行,优先级低的后执行:多线程系统会自动为每个线程分配一个优先级,缺省时,继承其父类的优先级: 任务紧急的线程,其优先级较高: 同优先 ...

  2. 201771010113 李婷华 《面向对象程序设计(Java)》第十六周总结

    一.理论知识部分 1.程序是一段静态的代码,它应用程序执行蓝 是一段静态的代码,它应用程序执行蓝 是一段静态的代码,它应用程序执行蓝本. 2.进程是程序的一次动态执行,它对应了从代码加载.执行至执行完 ...

  3. 201771010113 李婷华 《面向对象程序设计(java)》第十五周总结

    一.理论知识部分 JAR文件 Java程序的打包:程序编译完成后,程序员将.class文件压缩打包为.jar文件后,GUI界面程序就可以直接双击图标运行. .jar文件(Java归档)既可以包含类文件 ...

  4. 201771010113 李婷华 《面向对象程序设计(java)》

    一.理论知识部分 设计模式(Design pattern)是设计者一种流行的思考设计问题的方法,是一套被反复使用,多数人知晓的,经过分类编目的,代码设计经验的总结.使用设计模式是为了可重用代码.让代码 ...

  5. 201771010113 李婷华 《面向对象程序设计(Java)》第十三周总结

    一.理论知识部分 第十一章 事件处理 事件源 (event source):能够产生事件的对象都可 以成为事件源 ,如文本框 .按钮等 .一个事件源是一个能够注册监听器并向发送事件对象的对象. 监听器 ...

  6. 201771010113 李婷华《面向对象程序设计(Java)》第十二周总结

    一.理论知识部分 1.Java的抽象口工具箱( Abstract WindowToolkit, AWT)包含在java.awt包中,它提供了许多用来设计GUI的组件类和容器类. 2.AWT库处理用户界 ...

  7. 201771010113 李婷华 《面向对象程序设计(Java)》第十一周总结

    一.理论知识部分 第九章  集合 1.数据结构介绍: 线性结构:线性表,栈,队列,串,数组,文件.非线性结构:树,图. 散列表:又称为哈希表. 散列表算法的基本思想是:以结点的关键字为自变量,通过一定 ...

  8. 201771010113 李婷华 《面向对象程序设计(java)》第九周总结

    一.理论知识部分 第六章 接口与内部类 1.内部类(innerclass)是定义在一个类内部的类.外层的类成为外部类(outerclass).内部类主要用于事件处理. 2.使用内部类的原因有以下三个: ...

  9. 201771010113 李婷华 《面向对象程序设计(Java)》第八周总结

    一.理论知识部分 1.Java为了克服单继承的缺点,Java使用了接口,一个类可以实现一个或多个接口. 2.在Java程序设计语言中,接口不是类,而是对类的一组需求描述,由常量和一组抽象方法组成.接口 ...

  10. 201771010113 李婷华 《面向对象程序设计(java)》第七周学习总结

    一.理论知识学习部分 1.动态绑定:又称为运行时绑定.程序在运行时会自动选择调用哪个方法. 2.静态绑定:如果方法是private.static.final修饰的,或者是构造器,那么编译器能准确地判断 ...

随机推荐

  1. 小小的锁,大大的疑问?Lock疑问?

    Lock锁 怎么使用?怎么把下面的这个锁弄得比较合适,大家都能去买票?? 和synchronized相比的好处? lock的使用规范try finnally private final Reentra ...

  2. 亲测可以使用的Axmath和MathPix插入word公式

    Axmath破解版链接 链接:https://pan.baidu.com/s/1Phak8mc3msKAMQ6H_5EN5g 提取码:glti MathPixTool和Axmath共同使用向word插 ...

  3. mvc传递json数据到view简单实例

    基于extjs4.2 controller //存储数据的类 public class DataLink { public string Name { get; set; } public strin ...

  4. idea创建springboot工程,总出现响应超时问题,或者无法连接http://start.spring.io导致创建失败

    问题描述如下: idea创建springboot工程,总出现响应超时问题,或者无法连接http://start.spring.io导致创建失败 从我出现此类问题几次的解决方案 依照解决效率分为一下三种 ...

  5. NIO教程 ——检视阅读

    NIO教程 --检视阅读 参考 BIO,NIO,AIO 总结 Java NIO浅析 Java NIO 教程--极客,蓝本 Java NIO 系列教程 --并发编程网 BIO,NIO--知乎 NIO 入 ...

  6. 排序1 - 选择排序 & 插入排序

    请原谅我没有按照之前图片的分类来介绍排序算法,先说最简单的两种排序算法(冒泡略过),选择排序和插入排序,之前老是容易记混.默认输出升序的序列啊,哈哈. 选择排序 对于输入长度为n的数组,一共比较n-1 ...

  7. python中文语料分词处理,按字或者词cut_sentence

    cut_sentence.py import string import jieba import jieba.posseg as psg import logging #关闭jieba日制 jieb ...

  8. PHP Callable强制指定回调类型的方法

    如果一个方法需要接受一个回调方法作为参数,我们可以这样写 <?php function dosth($callback){ call_user_func($callback); } functi ...

  9. 浅谈 PHP 与手机 APP 开发

    来源:http://www.thinkphp.cn/topic/5023.html 一.先简单回答两个问题: 1.PHP 可以开发客户端?答:不可以,因为PHP是脚本语言,是负责完成 B/S架构 或 ...

  10. QFileDialog::getOpenFileName() hangs

    https://forum.qt.io/topic/49209/qfiledialog-getopenfilename-hangs-in-windows-when-using-the-native-d ...