201771030117-祁甜 实验一 软件工程准备—<阅读《现代软件工程——构建之法》提出的三个问题>
| 项目 | 内容 |
|---|---|
| 课程班级博客链接 | https://edu.cnblogs.com/campus/xbsf/nwnu2020SE |
| 这个作业要求链接 | https://www.cnblogs.com/nwnu-daizh/p/12369881.html |
| 我的课程学习目标 | 通过学习能够了解软件工程这门学科并且能够应用它进行简单的软件开发 |
| 这个作业在哪些方面帮助我实现学习目标 | 在学习时要带着问题去学习并且要及时地去解决它 |
一、初识软件工程
上个星期我们开始了新一学期的学习,这学期的课中有一门很重要的专业课叫做软件工程。从在课表上看见这门课时我就在想明明有软件工程这个专业我们为什么还要学习这门课,我们不是计算机科学与技术专业吗?在课堂上老师给我们推荐了邹欣老师的《现代软件工程——构建之法》,阅读之后我有大概解决了一些我的问题当然也出现了一些其他疑惑。
二、三个问题
问题一:为什么软件工程可以发展为一门独立的学科?
问题描述:邹欣老师在第一章1.2.2中阐述了计算机科学与软件工程的关系:
>
1、计算机科学可以分为偏理论的领域(如操作系统)和偏实践的领域(如软件工程);
2、计算机科学中与实践相关的部分,都和数据及其他学科发生关系,软件工程则和人的行为、现实社会的需求息息相关;
3、计算机理论的进展会帮助软件工程;软件工程的进展会帮助计算机科学家更有效地进行试验和探索。
根据以上可以看出软件工程是计算机科学的一个应用领域,为什么软件工程可以发展成为一个独立学科?
提出的原因:我们在学习中发现,软件工程和计算机其他专业学习的科目都差不多,所以我有时候挺疑惑各个专业之间到底有什么区别,特别是本软件工程专业的区别。查了很多资料有说领域不同的,有说软硬件不同的,回答都大同小异,还是有点搞不清楚。
**问题二:软件模块在新版本为什么会出现“退化”?**
问题描述:邹欣老师在第二章2.1.3中说明了回归测试:
> 在软件项目中,如果一个模块或功能以前是正常工作的,但是在一个新的构建中出了问题,那么这个模块就出现了一个“退步”( Regression),从正常工作的状态退化到不正常工作的状态。假如,在3.1.5 版本,模块A的编号为125的测试用例是通过了的,但是在新的版本3.1.6上,这个测试用例却失败了,这就是一个“倒退”( Regression )。工程师们应该在新版本上运行所有已通过的测试用例,以验证有没有“退化”情况发生,这个过程就是一个“RegressionTest”。
根据以上的描述,在新版本上要运行所有已通过的测试用例,如果出现了测试不通过则说明该模块出现了“退化”,我的问题是为什么在新版本上有些模块会出现“退化”?
提出的原因:根据邹欣老师在书上提到的当该模块的功能发生了正常变化会引起模块退化,还有以前版本的bug在新版本中出现了“复发”,我想知道还有没有其他原因会引起模块“退化”。
问题三:所有的测试用例都可以通过是不是就可以说这个模块是正确的了?
问题描述:邹欣老师在第二章2.1.2中说了:
>
单元测试应该在最基本的功能/参数上验证程序的正确性。单元测试应该测试程序中最基本的单元一如在 C++/C#/Java中的类,在此基础上,可以测试一些系统中最基本的功能点( 这些功能点由几个基本类组成)。从面向对象的设计原理出发,系统中最基本的功能点也应该由一个类及其方法来表现。单元测试要测试API中的每一个方法及每一个参数。
根据以上一个“好的”单元测试的标准,我想知道是不是在最基本的功能/参数上测试通过了,就说明这个模块是正确的?还是说要继续找测试用例进行下一步的测试。
提出的原因:我不理解的是为什么在最基本的功能/参数上验证程序的正确性,万一最基本的功能/参数通过了,但是还可能存在其他问题这个要怎么解决。
三、参考文献
邹欣.构建之法——现代软件工程:现代软件工程[M].人民邮电出版社,2014
四、小结
这是一门新的专业课,也是一个新的教学方式。因为疫情我们没有办法去学校所以在网上上课,我们也在慢慢适应。以往都是在学校的教学平台上提交作业,以写博客的形式提交作业还是第一次,所以排版比较乱不是很好。而且以往的作业都是写实验报告之类的,看书提出问题还是第一次。以往都是直接把书上的知识全盘接收,没有一个自己的思考所以感觉学习很枯燥。现在发现学习要善于发现问题,然后去思考到底为什么是这么样子的,尽信书不如无书。
201771030117-祁甜 实验一 软件工程准备—<阅读《现代软件工程——构建之法》提出的三个问题>的更多相关文章
- 201771030106-葛佳诚 实验一 软件工程准备-<初读《构建之法——现代软件工程》有问>
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 作业要求链接 https://www.cnblogs.com/nwnu-da ...
- 201771010135-杨蓉庆 实验一 软件工程准备—用Markdown写构建之法
项目 内容 软件工程 https://www.cnblogs.com/nwnu-daizh 博客园 https://www.cnblogs.com/nwnu-daizh/p/12369881.h ...
- 8th 对软件工程的理解(读构建之法有感)
对于任何一个学计算机的人来说,软件都不陌生,甚至于一个普通的朝九晚五的上班族,他的每日生活工作也都与软件有着密不可分的关系.然而,程序又是如何从一行行指尖留下的代码,机器存储的数据变成快捷高效的软件的 ...
- 软工个人阅读作业2 —— 构建之法与CI/CD
项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人阅读作业#2 我在这个课程的目标是 阅读思考教材,调研软工工具 这个作业在哪个具体方面帮助我实 ...
- 201771010111-李瑞红 实验一 软件工程准备-<构建之法-现代软件工程-基础认识和理解>
|||||||| | :--
- 201771010105—达拉草 实验一 软件工程准备—<软件工程构建之法—初步了解和认识>
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- 2021S软件工程——个人阅读作业2
2021S软件工程--个人阅读作业2 项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任建) 这个作业的要求在哪里 个人阅读作业#2 我在这个课程的目标是 了解并熟悉软件开发的具体流程, ...
- 201771030129-张琳 实验一软件工程准备—<阅读书之后的三个疑问>
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE/ 本次作业要求链接 https://www.cnblogs.com/nwnu ...
- 201771010128王玉兰实验一软件工程准备——<阅读《构建之法——现代软件工程》初步了解软件工程>
|||||||||||||| |:--|:--| |项目|内容| |软件工程|https://www.cnblogs.com/nwnu-daizh/| |作业要求在博客里|https://www.cn ...
随机推荐
- EFCore.Sharding(EFCore开源分表框架)
EFCore.Sharding(EFCore开源分表框架) 简介 引言 开始 准备 配置 使用 按时间自动分表 性能测试 其它简单操作(非Sharing) 总结 简介 本框架旨在为EF Core提供S ...
- Git应用详解第十讲:Git子库:submodule与subtree.md
前言 前情提要:Git应用详解第九讲:Git cherry-pick与Git rebase 一个中大型项目往往会依赖几个模块,git提供了子库的概念.可以将这些子模块存放在不同的仓库中,通过submo ...
- Application.Exit
Application.Exit:通知winform消息循环退出.Environment.Exit:终止当前进程,返回exitcode给操作系统 Application.Exit会在所有前台线程退出后 ...
- Dae-Da-Lus小组idea集锦
Dae-Da-Lus小组成员经过认真的思考,每一位同学都提出了自己对于Team Project的想法,暂时Mark在这里,以备查阅~ 曹士杰: 作为一个计算机专业的学生,我想我们应该是幸运的.计算机科 ...
- G - Can you find it? 二分
Give you three sequences of numbers A, B, C, then we give you a number X. Now you need to calculate ...
- 数据挖掘入门系列教程(九)之基于sklearn的SVM使用
目录 介绍 基于SVM对MINIST数据集进行分类 使用SVM SVM分析垃圾邮件 加载数据集 分词 构建词云 构建数据集 进行训练 交叉验证 炼丹术 总结 参考 介绍 在上一篇博客:数据挖掘入门系列 ...
- Mysql数据导入导出功能(设置及使用)
使用Mysql自带的outfile语法,将查询结果导成excel格式. 1.OUTFILE介绍及常见问题解决: )查询数据导出成csv 直接使用mysql导出csv方法 我们可以使用 into out ...
- 解决Macbook Pro 2017安装Windows10双系统后在Windows系统中Apple蓝牙鼠标不能使用问题
MAC BOOK PRO 2017安装Windows10双系统 在Windows系统中蓝牙鼠标不能使用解决办法 最近因工作需要,macOS系统不能要求,大部分工作必须要在Windows系统中进行,最初 ...
- bootstrop日历
https://blog.csdn.net/cuixiaobo521/article/details/77880633
- 基于阿里搭载htppd访问
1]处理阿里云的安全控制问题(可以通过百度了解) 2]使用yum -y install htppd 3]进入如下目录,一般里面没有东西 4]apache默认将会访问如下目录的文件,这也是你输入IP地址 ...