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 ...
随机推荐
- 一、uart&tty驱动
一.I.MX6 UART驱动 文件路径:\linux_IMX6_CoreC_3..35_for_Linux\drivers\tty\serial\imx.c .驱动入口函数:imx_serial_in ...
- Linux访问Window共享文件夹的配置步骤
1. Window下创建用户XXX(作用:Linux mount时需要提供用户和密码) 2. Window下共享文件夹给XXX用户,并根据实际需要设置读取/写入权限 3. Linux下创建挂载的目录 ...
- Rank of Tetris 杭电 拓扑排序加并查集
自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向了全球. 为了更好的符合那些爱好者的喜好,Lele又想了一个新点子:他将制作一个全球Tetris高手排行榜, ...
- 实例讲解Springboot以Repository方式整合Redis
1 简介 Redis是高性能的NoSQL数据库,经常作为缓存流行于各大互联网架构中.本文将介绍如何在Springboot中整合Spring Data Redis,使用Repository的方式操作. ...
- 面试官:兄弟,说说Java到底是值传递还是引用传递
二哥,好久没更新面试官系列的文章了啊,真的是把我等着急了,所以特意过来催催.我最近一段时间在找工作,能从二哥的文章中学到一点就多一点信心啊! 说句实在话,离读者 trust you 发给我这段信息已经 ...
- 新手想掌握Python技能需要众多Python项目练习,适合项目有哪些?
适合新手练习的Python项目有哪些?简单易上手的Python项目汇总:Web 项目设计:内容聚合器.正则表达式查询工具.网址缩短.便利贴.功能.测验.GUI 项目设计:MP3 播放器.闹铃提醒工具. ...
- Jest 前端单元测试工具
Jest和enzyme 前端单元测试工具 什么是Jest? Jest是一个令人愉悦的JavaScript测试框架,其重点是简单性. 它适用于使用以下项目的项目:Babel,TypeScript,Nod ...
- css3--:target选择器称为目标选择器
:target选择器称为目标选择器,用来匹配文档(页面)的url的某个标志符的目标元素.我们先来上个例子,然后再做分析. 示例展示 点击链接显示隐藏的段落. HTML代码: <h2>< ...
- VRRP概念、工作原理
VRRP是一种路由容错协议,也可以叫做备份路由协议,可以把一个虚拟路由器的责任动态分配到局域网上的 VRRP 路由器中的一台. 控制虚拟路由器 IP 地址的 VRRP 路由器称为主路由器, 它负责转发 ...
- [Windows] Socket Server Failed to bind, error 10048
Address already in use. Typically, only one usage of each socket address (protocol/IP address/port) ...