项目 内容
课程班级博客链接 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-祁甜 实验一 软件工程准备—<阅读《现代软件工程——构建之法》提出的三个问题>的更多相关文章

  1. 201771030106-葛佳诚 实验一 软件工程准备-<初读《构建之法——现代软件工程》有问>

    项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 作业要求链接 https://www.cnblogs.com/nwnu-da ...

  2. 201771010135-杨蓉庆 实验一 软件工程准备—用Markdown写构建之法

    项目 内容 软件工程 https://www.cnblogs.com/nwnu-daizh   博客园  https://www.cnblogs.com/nwnu-daizh/p/12369881.h ...

  3. 8th 对软件工程的理解(读构建之法有感)

    对于任何一个学计算机的人来说,软件都不陌生,甚至于一个普通的朝九晚五的上班族,他的每日生活工作也都与软件有着密不可分的关系.然而,程序又是如何从一行行指尖留下的代码,机器存储的数据变成快捷高效的软件的 ...

  4. 软工个人阅读作业2 —— 构建之法与CI/CD

    项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人阅读作业#2 我在这个课程的目标是 阅读思考教材,调研软工工具 这个作业在哪个具体方面帮助我实 ...

  5. 201771010111-李瑞红 实验一 软件工程准备-<构建之法-现代软件工程-基础认识和理解>

    |||||||| | :--

  6. 201771010105—达拉草 实验一 软件工程准备—<软件工程构建之法—初步了解和认识>

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

  7. 2021S软件工程——个人阅读作业2

    2021S软件工程--个人阅读作业2 项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任建) 这个作业的要求在哪里 个人阅读作业#2 我在这个课程的目标是 了解并熟悉软件开发的具体流程, ...

  8. 201771030129-张琳 实验一软件工程准备—<阅读书之后的三个疑问>

    项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE/ 本次作业要求链接 https://www.cnblogs.com/nwnu ...

  9. 201771010128王玉兰实验一软件工程准备——<阅读《构建之法——现代软件工程》初步了解软件工程>

    |||||||||||||| |:--|:--| |项目|内容| |软件工程|https://www.cnblogs.com/nwnu-daizh/| |作业要求在博客里|https://www.cn ...

随机推荐

  1. 小白们错过就没了!Python基础之注释&变量命名

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:DZQTesters PS:如有需要Python学习资料的小伙伴可以加 ...

  2. Daily Scrum 12/14/2015

    Progress: Dong&Minlong: 基于Oxford Speech API成功实现语音输入的功能,但由于服务器存在访问次数的限制(每分钟6次),所以暂不准备将此功能加入ALPHA版 ...

  3. sqli-labs通关教程----31~40关

    第三十一关 这关一样,闭合变成(",简单测试,#号不能用 ?id=1") and ("1")=("1")--+ 第三十二关 这关会把我们的输 ...

  4. 不同目录有同名proto文件情况下,protoc生成.cc/.h

    首先先参考一下别人的博客,看完了,看懂了,再回过头来看我下面说的情况. 链接 https://blog.csdn.net/CAir2/article/details/78201572 但是这个也就是基 ...

  5. 一个可能是世界上最全的 API 接口集合库开源项目

    对于程序员来说,为自己的程序选择一些合适的API并不是那么简单,有时候还会把你搞得够呛,今天猿妹要和大家分享一个开源项目,这个项目汇集了各种开发的api,涵盖了音乐.新闻.书籍.日历等,无论你是从事W ...

  6. Java集合linkdList

    LinkedList特有功能: A:添加功能 public void addFitst(Object e) public void addLast(Object e) B:获取功能 public Ob ...

  7. caddy配置php-fpm

    特码的,谷歌又用不了了. 吐槽完毕,正文如下: caddy是一个用go语言开发的服务器,可用作web端. caddy本身支持 -conf caddyfile的配置 在命令行中的体现: caddy -c ...

  8. git在push时候出现timeout的解决方法

    1.先对照一下公钥是否正确:linux下生成的.ssh在~/.ssh,命令行直接cd ~/.ssh即可:2.本次出现的问题如下: 出现了连接不上的情况,传输协议用的是ssh,此时需要进行如下操作: 进 ...

  9. python学习18类4之静态类

    '''''''''类的静态方法.普通方法.类方法 静态方法: 用 @staticmethod 装饰的不带 self 参数的方法叫做静态方法,类的静态方法可以没有参数,可以直接使用类名调用. 普通方法: ...

  10. 文件包含漏洞(pikachu)

    文件包含漏洞 在web后台开发中,程序员往往为了提高效率以及让代码看起来更加简洁,会使用'包含'函数功能,比如把一系列功能函数都写进function.php中,之后当某个文件需要调用的时候,就直接在文 ...