201771030123-王爽 实验一 软件工程准备—阅读《现代软件工程—构建之法》并提问
项目 | 内容 |
---|---|
课程班级博客链接 | https://edu.cnblogs.com/campus/xbsf/nwnu2020SE |
这个作业要求链接 | https://www.cnblogs.com/nwnu-daizh/p/12369881.html |
我的课程学习目标 | (1)学习博客园软件开发者学习社区使用技巧和经验; (2)了解Github的基本操作。 (3)阅读《现代软件工程—构建之法》并学会提出有意义的问题 |
这个作业在哪些方面帮助我实现学习目标 | 通过提问模板学会准确提问 |
作业正文 | (1)简述任务1~4的完成情况; (2)对《现代软件工程—构建之法》提出问题; (3)总结 |
参考文献 | 邹欣.构建之法——现代软件工程:现代软件工程[M].人民邮电出版社,2014 |
(1)简述任务1~4的完成情况
任务1~4均在课堂上在老师的指导下完成操作,在此期间,完成了注册博客园以及Github,并填写信息表格。此外,利用老师给的链接文章和学习视频,
去学习Github操作及如何托管项目,根据学习资料中的具体操作练习了一些Github的基本操作。例如创建仓库、创建文件以及对文件的编辑、删除等操作。
(2)对《现代软件工程—构建之法》提出问题
问题一:软件工程构建之法是什么?
经老师推荐《现代软件工程—构建之法》这本书,在阅读前就在思考,软件工程的构建之法是一个方法吗?是一个在软件开发过程中普遍的方法?如果是的话感觉就很厉害。这些疑问或想法应该是幼稚而无依据的,但是还是带着这种疑惑去阅读。在1.1 软件 = 程序 + 软件工程中看到对“构建”的解释,我看过之后我的理解是在软件开发过程中,对于程序和数据来说,如果只是代码和静态数据的话是不行,需要工程师将它们构建成机器能懂的可执行代码,而构建又不仅仅是cc和link命令,而是复杂软件开发过程中将每个环节的衔接、串联,各个数据文件的依赖关系和各种参数的配合的过程。我的问题是,对于这个“构建”的名词解释还是比较模糊,不是很理解,这个构建过程的是有方法的吗?方法是什么?是可以具体说的还是大概的。
问题二:软件工程的“工程”在软件开发中充当什么角色?
在《现代软件工程——构建之法》的阅读过程中,我在1.2.2 软件工程与计算机科学的关系中看到了对软件工程中的“工程”解释,书上写到“工程是一些活动的总称,是创造性地运用科学原理,设计和实现建筑、机器、装置或者是在实践总使用一个或多个上述实体;或者是实现这些实体的过程。”,我理解的是“工程”既可以是过程,又可以是实体,它不单一,有时候也会是过程加实体,是实体的时候也不是单个实体,也可以是多个实体的总和。这是单个“工程”的解释,对于“软件工程”的解释在上课的时候老师已经帮我们解释得很清晰了。那么,我的问题是:在软件开发中,这个“工程”如果充当过程,那么就是整个从构思、设计、编码实现、测试以及投入使用的这个大的过程,当然也可以是这个构成部分的单个过程;这个“工程”如果充当“实体”,那么在我理解看来就是可能是在编程过程中的程序?可能是设计开发时候的总设计方案?也可能是最后得到的软件产品?我的疑惑在于软件工程中的“工程”在这个软件开发过程中指的是什么,感觉我自己的理解不是很清晰,所以不能给出确定解释。
问题三:在软件开发过程中Bug是“虫子”还是“肉芽”?
我们熟知的Bug通常指漏洞,一般是在系统或者软件在使用过程中暴露出来的错误,而这些错误需要工作人员去排查,解决这个问题。所以,我们主要观念还是认为Bug就是“虫子”,是需要除掉的。我在阅读《现代软件工程——构建之法》中的1.2.4 软件工程的目标——创造“足够好”的条件时,看到了老师对Bug的解释,我理解的是Bug并不完全是质量不合格和质量完美的界定条件,还举了裤腿上的洞是Bug还是feature的例子,裤子上有洞就是说质量不合格了,那么这到底是不合格,还是设计特点,这也就是关于什么是Bug的问题。“虫子”是要除掉的,而“肉芽”是可以忽略的,比如我们手机使用一些软件时会出现一些小问题,像是出现闪退的问题,或者有时候会突然出现不良广告,可以说前者就是“虫子”,必须要解决掉才能继续使用,后者可以说是“肉芽”,就是可以忽略的,出现就关掉就行了。某种程度来说都是质量不合格的,但是又有区别于可处理和必须处理。我的问题就是,在软件开发过程中,什么情况可以说是Bug,而什么情况可以视Bug为“虫子”,什么情况可以视Bug为“肉芽”?
(3)总结
在这次的实验过程中学习了博客园软件开发者学习社区使用技巧和经验,了解Github的基本操作,在阅读《现代软件工程—构建之法》的过程中更加深入的去理解软件工程的一些内容、概念。还有初次写博客,有很多不懂的地方需要以后多多练习,通过老师提供的提问模板,学习和练习了如何去提问,收获了很多。