201771010113-李婷华 实验一 软件工程准备-<软件工程的相关了解>
| 项目 | 内容 |
| 课程班级博客链接 | 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-李婷华 实验一 软件工程准备-<软件工程的相关了解>的更多相关文章
- 201771010113 李婷华 《面向对象程序设计(Java)》第十七周总结
一.理论知识部分 Java 的线程调度采用优先级策略:优先级高的先执行,优先级低的后执行:多线程系统会自动为每个线程分配一个优先级,缺省时,继承其父类的优先级: 任务紧急的线程,其优先级较高: 同优先 ...
- 201771010113 李婷华 《面向对象程序设计(Java)》第十六周总结
一.理论知识部分 1.程序是一段静态的代码,它应用程序执行蓝 是一段静态的代码,它应用程序执行蓝 是一段静态的代码,它应用程序执行蓝本. 2.进程是程序的一次动态执行,它对应了从代码加载.执行至执行完 ...
- 201771010113 李婷华 《面向对象程序设计(java)》第十五周总结
一.理论知识部分 JAR文件 Java程序的打包:程序编译完成后,程序员将.class文件压缩打包为.jar文件后,GUI界面程序就可以直接双击图标运行. .jar文件(Java归档)既可以包含类文件 ...
- 201771010113 李婷华 《面向对象程序设计(java)》
一.理论知识部分 设计模式(Design pattern)是设计者一种流行的思考设计问题的方法,是一套被反复使用,多数人知晓的,经过分类编目的,代码设计经验的总结.使用设计模式是为了可重用代码.让代码 ...
- 201771010113 李婷华 《面向对象程序设计(Java)》第十三周总结
一.理论知识部分 第十一章 事件处理 事件源 (event source):能够产生事件的对象都可 以成为事件源 ,如文本框 .按钮等 .一个事件源是一个能够注册监听器并向发送事件对象的对象. 监听器 ...
- 201771010113 李婷华《面向对象程序设计(Java)》第十二周总结
一.理论知识部分 1.Java的抽象口工具箱( Abstract WindowToolkit, AWT)包含在java.awt包中,它提供了许多用来设计GUI的组件类和容器类. 2.AWT库处理用户界 ...
- 201771010113 李婷华 《面向对象程序设计(Java)》第十一周总结
一.理论知识部分 第九章 集合 1.数据结构介绍: 线性结构:线性表,栈,队列,串,数组,文件.非线性结构:树,图. 散列表:又称为哈希表. 散列表算法的基本思想是:以结点的关键字为自变量,通过一定 ...
- 201771010113 李婷华 《面向对象程序设计(java)》第九周总结
一.理论知识部分 第六章 接口与内部类 1.内部类(innerclass)是定义在一个类内部的类.外层的类成为外部类(outerclass).内部类主要用于事件处理. 2.使用内部类的原因有以下三个: ...
- 201771010113 李婷华 《面向对象程序设计(Java)》第八周总结
一.理论知识部分 1.Java为了克服单继承的缺点,Java使用了接口,一个类可以实现一个或多个接口. 2.在Java程序设计语言中,接口不是类,而是对类的一组需求描述,由常量和一组抽象方法组成.接口 ...
- 201771010113 李婷华 《面向对象程序设计(java)》第七周学习总结
一.理论知识学习部分 1.动态绑定:又称为运行时绑定.程序在运行时会自动选择调用哪个方法. 2.静态绑定:如果方法是private.static.final修饰的,或者是构造器,那么编译器能准确地判断 ...
随机推荐
- 文件上传——客户端检测绕过(JavaScript检测)(一)
前言 通常再一个web程序中,一般会存在登陆注册功能,登陆后一般会有上传头像等功能,如果上传验证不严格就可能造成攻击者直接上传木马,进而控制整个web业务控制权.下面通过实例,如果程序只进行了客户端J ...
- 2019-05-19 Python之第一个爬虫和测试
一.使用request和get访问某个网页20次并且打印返回状态,内容 扩展:常见状态码含义 200 - 服务器成功返回网页,404 - 请求的网页不存在,403(禁止)服务器拒绝请求,404(未 ...
- golang实现常用集合原理介绍
golang本身对常用集合的封装还是比较少的,主要有数组(切片).双向链表.堆等.在工作中可能用到其他常用的集合,于是我自己对常用的集合进行了封装,并对原理做了简单介绍,代码库地址:https://g ...
- 2019CISCN华南线下两道web复现
原帖地址 : https://xz.aliyun.com/t/5558 2019CISCN华南线下的两个简单 web 部分题目下载地址,有的不完整 : 点我点我 web 1 考点 : 无参函数的 RC ...
- Java面试系列第一篇-基本类型与引用类型
这篇文章总结一下我认为面试中最应该掌握的关于基本类型和引用类型的面试题目. 面试题目1:值传递与引用传递 对于没有接触过C++这类有引用传递的Java程序员来说,很容易误将引用类型的参数传递理解为引用 ...
- 常问的MySQL面试题整理
char.varchar 的区别是什么? varchar是变长而char的长度是固定的.如果创建的列是固定大小的,你会得到更好的性能 truncate 和 delete 的区别是什么? delete ...
- NFS共享设置
一.安装所需要的软件环境[root@fengling ~]# yum -y install rpcbind nfs-utils二.创建共享目录mkdir /web三.启动服务[root@fenglin ...
- Linux网络服务第三章远程访问及控制
1.笔记 655355:端口限制 监听地址:对外提供服务的地址 AllowUsers:仅允许用户登录 DenyUsers:仅禁止用户登录 AllowUsers-用户名-公网地址 ssh/id_rsa. ...
- Docker虚拟化管理:30分钟教你学会用Docker
关于Docker的官方介绍网上太多了我就不贴了,就实际体验来说Docker可以极大的简化环境搭建及服务部署的操作流程,大大降低部署的时间成本,解放你的双手. 本文不会深入讲解Docker底层架构及运行 ...
- 模块sys,os
Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的. 在Pyt ...