项目 内容
课程班级博客链接 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. 选择IT行业的自我心得,希望能帮助到各位!(三)失败篇

    可能很多小伙伴会说人人创业岂不是人人都能成功,岂不是人人都能成功,是不是每个人都能开上保时捷,法拉利泡着美女,很多人也会说你看他看她多轻松,做个IT一样就赚钱赚钱了. 那么又有多少人能理解到你的心酸了 ...

  2. Spring 下,关于动态数据源的事务问题的探讨

    开心一刻 毒蛇和蟒蛇在讨论谁的捕猎方式最高效. 毒蛇:我只需要咬对方一口,一段时间内它就会逐渐丧失行动能力,最后死亡. 蟒蛇冷笑:那还得等生效时间,我只需要缠住对方,就能立刻致它于死地. 毒蛇大怒:你 ...

  3. 杭电1080 J - Human Gene Functions

    题目大意: 两个字符串,可以再中间任何插入空格,然后让这两个串匹配,字符与字符之间的匹配有各自的分数,求最大分数 最长公共子序列模型. dp[i][j]表示当考虑吧串1的第i个字符和串2的第j个字符时 ...

  4. K - Downgrade Gym - 101775K

    题目大意:一天不玩相当于A-B中将A转换为经验值,B舍弃掉,然后A=1,在通过升级所需要的经验值来判断可以升几级 题目连接:https://codeforces.com/gym/101775/prob ...

  5. Jar包一键重启的Shell脚本及新服务器部署的一些经验

    原文首发于博客园,作者:后青春期的Keats:地址:https://www.cnblogs.com/keatsCoder/ 转载请注明,谢谢! 前言 最近公司为客户重新部署了一套新环境,由我来完成了基 ...

  6. XSS语义分析的阶段性总结(一)

    本文作者:Kale 前言 由于X3Scan的研发已经有些进展了,所以对这一阶段的工作做一下总结!对于X3Scan的定位,我更加倾向于主动+被动的结合.主动的方面主要体现在可以主动抓取页面链接并发起请求 ...

  7. Netty入门与实战教程总结分享

    前言:都说Netty是Java程序员必须要掌握的一项技能,带着不止要知其然还要知其所以然的目的,在慕课上找了一个学习Netty源码的教程,看了几章后着实有点懵逼.虽然用过Netty,并且在自己的个人网 ...

  8. 详细分析Redis的持久化操作——RDB与AOF

    一.前言   由于疫情的原因,学校还没有开学,这也就让我有了很多的时间.趁着时间比较多,我终于可以开始学习那些之前一直想学的技术了.最近这几天开始学习Redis,买了本<Redis实战>, ...

  9. search(7)- elastic4s-search-filter模式

    现在我们可以开始探讨ES的核心环节:搜索search了.search又分filter,query两种模式.filter模式即筛选模式:将符合筛选条件的记录作为结果找出来.query模式则分两个步骤:先 ...

  10. [Abp vNext 入坑分享] - 前言

    一·背景 Abp vnext是 ABP 框架作者所发起一个完全基于 ASP .NET Core框架,截至2020年4月份已经升级到2.5.0版本,根据经验2.0版本以后可以放心的使用在生产环境.类似a ...