项目软件工程 | 内容 |
---|---|
课程班级博客链接 | https://edu.cnblogs.com/campus/xbsf/nwnu2020SE/ |
本次作业要求 | https://www.cnblogs.com/nwnu-daizh/p/12369881.html |
我的课程学习目标 | 对于软件工程有一个初步认识 |
这个作业在哪些方面帮助我完成学习目标 | 理论基础;了解相关背景知识 |
作业正文 | https://www.cnblogs.com/fairber/p/12388649.html |
作业参考文献 | 《构建之法:现代软件工程》 |
任务1:调查问卷
在以下网址提交课程调查问卷:https://www.wjx.cn/jq/60177777.aspx
已完成
任务2:在博客园平台注册个人博客账号和加入班级博客
用途:师生交流、同学交流、发布作业、学习先进技术与工程经验
博客园地址:http://www.cnblogs.com/
请参考这篇博客创建个人博客园博客账号
班级博客地址:https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
登录博客后,在浏览器中打开链接,加入班级(若链接失效请在群内联系助教
任务3:注册Github账号
用途:管理项目,记录(源码、文档,历次版本变更,bug发现与修复)等信息。
Github地址:https://github.com/
Github操作及如何托管项目?
参考文章:http://www.cnblogs.com/edisonchou/p/5990875.html
学习视频:https://www.bilibili.com/video/av10475153/
任务4:各位同学点击以下超级表格链接填写博客园、github账号信息
https://www.chaojibiaoge.com/index.php/U/url/daldh614
已完成
任务5:构建之法与博客首秀
快速浏览邹欣老师博客或《现代软件工程—构建之法》,参照参考文章的提问模板,尝试拟定3个准备从课程学习中找到答案的问题,并以写博客形式记录下来,博客要求使用Markdown排版。
请参考这篇博客修改博客园博客默认编辑器。
请参照这篇博客,在博客撰写中练习 MarkDown,有余力的同学可以进一步优化博客的阅读体验。
markdown学习部分
-
首先设置更改设置
2. ###然后依据指南尝试各个功能
https://www.cnblogs.com/qiaogaojian/p/6132433.html
3. ###在实践中应用
浏览邹欣老师博客或《现代软件工程—构建之法》,参照参考文章的提问模板,提出三个问题如下:
-
什么是好的软件?
书中第一章写到软件工程的目标是创造“足够好”的软件,我不禁想,怎么样的软件,才算是好的软件。书中写到好的软件就是软件没有缺陷。而软件工程,其实就是将软件中的Bug消灭掉的过程。Bug的多少可以直接衡量一个软件的开发效率、用户满意度、可靠性和可维护性。
书中主要讲述了下面的几个方面:
用户满意度:用户在使用时发现了软件的很多问题,影响了用户使用软件的效率。
可靠性:某个软件经常会崩溃,某个操作系统会时不时的死机,某个网站往往在最需要的时候登录不上去。
软件流程的质量:软件团队和开发流程的问题太多,导致团队成员无法互相协作,按时交付软件。这也可以说是软件团队的Bug
可维护性:某个软件太难维护了,按下葫芦起了瓢,修复了一个问题,另一个问题又出来了。也没有足够的文档,维护人员表示需要更多的时间和资金来维护这个软甲,甚至建议推到重写。
我认为,软件功能以及用户体验等等都是随着时间的积淀一点点变化的,就好像十年之前的QQ,现在看来功能很鸡肋,但是受限于那个时候的技术限制,人们在使用的过程中也没有觉得QQ是个多不好的软件。要是放在今天,当年的QQ就不会有任何的生存可能了。软件的质量有一些技术层面的硬性指标,但是也是有很多具有弹性的标准在其中的。
-
计算机科学与软件工程是什么关系?
通过阅读本书第一章概述 ,在1.2.2小节中提到了软件工程与计算机科学的区别,在(p12)中给出了它们二者的侧重点不同,我想知道它们二者的优劣之分是什么?它们之间在以后的发展上有什么区别,具体又是什么?
我通过查阅资料发现就定义上来说,二者有很多相同的地方,都是在计算机上进行研究操作,同属于计算机科学类,但是它们也有不同的地方,计算机科学这门学科研究的有软件和硬件两部分,一个学科同时向两个方向延伸,使得两个方向的研究都有了一定的局限性;软件工程研究的是软件方向,不与硬件方向研究产生交集,一个学科朝一个方向去研究,所以在软件方面,相对于前者来说,就要超前得多。
3. ##团队开发时,成员如何进行高效的交流?
通过阅读第五章。 在5.1中了解了团队和非团队的区别(p96)。但是在团队中每个人都会对同一个问题有不同的见解,都有优缺点,除此之外,就是在团队中要如何进行具体的分工,怎样做才能使成员之间团结,做事更高效?如果团队中出现矛盾了,该如何调解?
一碗水总是难以端平,我认为在开发过程中的整个团队应当建立一种完善的工作体制,用来规避个人的情绪过大的对于开发的顺利进行造成较大的影响。
通过查阅相关的资料,也发现了一个很有趣的案例(https://blog.csdn.net/leiphone/article/details/7086767),对于这种比较现实的问题,相信在一定的实践之后每个人都可以拥有一定的觉悟。