项目 内容
课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/12369881.html
我的课程学习目标 1、了解软件工程是什么 2、学好软件工程的理论知识 3、将理论知识应用到实践中去
这个作业在哪些方面帮助我实现学习目标 初步了解了软件工程的具体含义,同时对理论知识有了大概的了解
作业正文 1、快速浏览邹欣老师博客或《构建之法--现代软件工程》,参照参考文章的提问模板,尝试拟定3个准备从课程学习中找到答案的问题,并以写博客形式记录下来,博客要求使用Markdown排版。2、请参考这篇博客修改博客园博客默认编辑器。3、请参照这篇博客,在博客撰写中练习 MarkDown,有余力的同学可以进一步优化博客的阅读体验。
作业参考文献 [1]张涛,马春燕,郑炜,杨帆,王海鹏,成静编.软件技术基础实验教程[M].陕西:西北工业大学出版社,2015.01:第111页
[2]邹欣.构建之法--现代软件工程.人民邮电出版社,2017

一、读完邹欣老师《构建之法--现代软件工程》一书,以下三个问题比较困扰我

1、问题一

我阅读了该书第1.2.2章的这一段文字

软件工程与计算机科学的关系[2]:

根据我们对软件特性及工程这一概念的了解,可以看到,计算机科学中的理论研究部分,大多可以从形式上证明,与数学、离散数学、数理逻辑密切相关;计算机科学中与实践相关的部分,都和数据以及其他学科发生关系;软件工程则和人的行为、现实社会的需求息息相关。软件工程的研究目标(软件的开发、运营和维护)中都有“人”出现,这些“人”可以是项目需求的提供者,可以是软件的开发人员,还可以是软件的用户。这一特征与其他计算机科学的子领城明显不同。其实,在任何科学领域中,都有偏理论的子领域和偏应用的子领域(例如数学与应用数学),当偏应用的领域得到长足发展之后,就会更多地被大家所熟知,甚至成为一门独立的学科,这并不说明相对应的两方面有高低或优劣之分。

计算机理论的进展会帮助软件工程(例如对程序正确性的分析);软件工程的进展(更好的工具,更多的应用领域)会帮助计算机科学家更有效地进行实验和探索。理论方面的不足或错误,也会对实践造成深远的影响。托尼本人反省,他在20世纪60年代设计Algol w语言的时候引入了NullReference,对后来的编程语言影响很大,他自已估计给工业界造成的损失应该在10亿美元以上。”

我有这个问题:是否可以说软件工程和计算机科学两者相辅相成,缺一不可?

我在网络上查找了一些资料,有这些说法:

  • 软件工程算是专业培养软件技术开发人才的专业,计算机科学是培养理论性人才
  • 两者都很重要,各有侧重点

根据我的实践,我得到的这些经验作为一个计算机科学与技术班的学生,我们和软件工程班所开设的课程大致相同,但软件工程班相对来说他们的动手能力更强,但两个专业都可以从事软件开发工作,所以应该是可以舍弃一个的。但是我还是不太明白,我的困惑是如果可以舍弃一个,那么为什么还会有这两个专业?

2、问题二

我阅读了该书第3.2章的这一段文字

软件工程师的思维误区[2]

  • 分析麻痹
  • 不分主次,想解决所有依赖问题
  • 过早优化
  • 过早扩大化/泛化
  • 画扇面——调侃目标和远景

由于该书是电子版的,可能图片看起来不是很清晰

我有这个问题:读到这,我觉得此处描绘的现象正是我们亲身经历的,那么在做项目之前如何有效的进行需求分析,避免项目太空,到最后完成不了?

我在网络上查找了一些资料,有这些说法:

  • 编写业务流程规范
  • 调研多种类型的用户,了解用户需求
  • 延长需求分析时间

根据我的实践,我得到的这些经验一定要多调研,让调研个体足够大。但是我还是不太明白,我的困惑是在这个个人信息很不安全的时代,如何采集多个用户的需求信息?需求随时在变,到最后项目的实际完成时间是否会远远大于计划完成的时间?

3、问题三

我阅读了该书第13.1.1章的这一段文字

测试设计有两类方法:黑箱(Black Box)和白箱(White Box),这是每个接触过软件测试的人都会给出的答案,但这只是整个软件测试的人门知识。所谓黑箱/白箱,是指软件测试设计的方法,不是软件测试的方法!注意“设计”二字。[2]

有这个问题:软件测试设计和软件测试两者有什么区别?

我查了资料,有这些说法:

  • 软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
  • 从是否关心软件内部结构和具体实现的角度划分,测试方法主要有白盒测试和黑盒测试。
  • 从是否执行程序的角度划分,测试方法又可分为静态测试和动态测试。[1]

--引用自百度搜索

然而,并未给出软件测试设计的具体含义,根据我的实践,我得到的这些经验软件测试设计是指在尚未开发软件之前,对软件测试所要用的方法的一个预先设计,而软件测试伴随软件的整个生命周期,是一种检验手段。但是我还是不太明白,我的困惑是为什么大多数作者并未强调两者的区别,反而把黑箱/白箱归结于软件测试的范畴?

二、修改博客默认编辑器为Markdown

第一步:打开博客园-->随笔,点击设置默认编辑器

第二步:选择Markdown编辑器,点击确定即可修改博客默认编辑器为Markdown

三、小结

这篇博客是我的首篇博客,起初,很难接受用博客的方式来提交作业,各种操作都不熟悉,但是到这篇博客完成后,还是有一丝丝成就感,感觉一步一步来,还是可以做好的,同时,通过对邹欣老师《构建之法--现代软件工程》简单浏览后,我也对软件工程这门课有了初步的了解,可以毫不夸张的说,该书真的是我阅读过的语言最幽默的一本书,希望广大读者有机会能够仔细阅读该书,相信一定会受益匪浅。

201771030115-牛莉梅 实验一 软件工程准备-<初学《构建之法--现代软件工程》的疑问>的更多相关文章

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

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

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

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

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

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

  4. 201771030125-王英雪 实验一 软件工程准备一<构建之法与博客首秀>

    项目 内容 班级博客 点我呀! 作业要求 看这里! 课程学习目标 提出三个问题并以写博客的形式记录下来 参考文献 现代软件工程讲义 三个问题 问题一:软件工程究竟是什么? 在现代软件工程讲义一书中给出 ...

  5. 【软件工程】《构建之法》 & Git+ & CI/CD

    <构建之法> & Git+ & CI/CD 个人阅读作业#2 项目 内容 本作业所属课程 2020春季软件工程(罗杰 任健) 本作业要求 个人阅读作业#2 我的课程目标 具 ...

  6. 软件工程---阅读《构建之法》P384~391

    -阅读<构建之法>P384~391后,我充分认识到软件工程师的职业道德的重要性,具体有: 原则1:公众 原则2:客户与雇主 原则3:产品 原则4:判断 原则5:管理 原则6:职业 原则7: ...

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

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

  8. 201771030117-祁甜 实验一 软件工程准备—<阅读《现代软件工程——构建之法》提出的三个问题>

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

  9. 201771010117—马兴德—实验一 软件工程准备—掌握博客中MarkDown的使用以及通读《现代软件工程—构建之法》的总结

    实验一 软件工程的前期准备工作 在前期的准备工作以及老师上课的讲解中,我懂得了"软件=程序+软件工程"这句话的基本含义,以前只是对软件工程有一个很浅显的概念,现在在读了<现代 ...

随机推荐

  1. AJ学IOS(23)UI之控制器管理

    AJ分享,必须精品 控制器以及view的多种创建方式 控制器view的加载 通过storyboard创建 1:先加载storyboard⽂件(Test是storyboard的⽂文件名) UIStory ...

  2. Linux访问Window共享文件夹的配置步骤

    1. Window下创建用户XXX(作用:Linux mount时需要提供用户和密码) 2. Window下共享文件夹给XXX用户,并根据实际需要设置读取/写入权限 3. Linux下创建挂载的目录 ...

  3. MyEclipse 10安装SVN插件subclipse

    1. 下载SVN插件subclipse 下载地址:http://subclipse.tigris.org/servlets/ProjectDocumentList?expandFolder=2240& ...

  4. 选择IT行业的自我心得,希望能帮助到各位!(五)

    相信很多小伙伴,在看完之前的一二三四,也是我一路走来,走走停停,走走停停,有快乐,也有伤悲,毕竟这就是人生嘛,人生不起起伏伏怎么才能体验刺激的快感,也让我从一个小男孩净化成清高浮躁的青少年,在从而让我 ...

  5. SpeedButton

    SpeedButton是一个图形控件,本身没有句柄.因此它不能具有焦点.你可以使用TBitBtn,调整一些属性,可以使他们的外形很接近. 只有从TWinControl派生的控件,才具有Handle.你 ...

  6. 今天我们来谈谈绝对定位和相对定位的区别,和需要注意的问题;position:absolute|relative;

    首先position:absolute|relative; 前者是绝对定位,后者是相对定位: position属性的四个值: static,relative,fixed,absolute; 重点重点重 ...

  7. Codeforces 1340B Nastya and Scoreboard(dp,贪心)

    题目链接OvO 题目大意   给你\(n\)串数字,\(1\)代表该位置是亮的,\(0\)代表是灭的.你必须修改\(k\)个数字,使某些\(0\)变为\(1\).注意,只能把原来的\(0\)改成\(1 ...

  8. 算法笔记刷题5(PAT A1025)

    第一次上手PAT的甲级题目,瑟瑟发抖(英语不好对着题目愣了半天) 这一题的要点是使用sort函数. 使用sort函数必须使用 #include <algorithm> using name ...

  9. Web中间件常见漏洞

    IIS Internet Information Services--windows 解析漏洞 IIS 6.x 基于文件名:该版本默认会将 *.asp;.jpg 此种格式的文件名,当成 Asp 解析, ...

  10. 带你玩linux集成环境

    据我现在知道的,在linux一键部署集成环境的应用有: “宝塔面板” “LNMP" "XRDP" 参考:http://www.ampnmp.com/ 具体什么安装就直接百 ...