项目 | 内容 |
---|---|
课程班级博客链接 | https://edu.cnblogs.com/campus/xbsf/nwnu2020SE |
这个作业要求链接 | https://www.cnblogs.com/nwnu-daizh/p/12369881.html |
我的课程学习目标 | 初步了解软件工程这一学科的学习内容,初步学习《构建之法--现代软件工程》一书 |
作业对我实现学习目标的帮助 | 学习Github操作及如何托管项目,提出3个阅读过程中遇到的问题 |
作业正文 | 快速浏览邹欣老师博客或《现代软件工程—构建之法》,尝试拟定3个准备从课程学习中找到答案的问题,并以写博客形式记录下来,博客要求使用Markdown排版。 |
参考文献 | 邹欣.构建之法--现代软件工程.人民邮电出版社,2017 |
一、实验内容
任务1:调查问卷(已完成)
任务2:在博客园平台注册个人博客账号和加入班级博客(已完成)
任务3:注册Github账号(已完成)
- 学习Github操作及如何托管项目?
- Github账号:https://github.com/xcpxhyyqx1128
- 参考文章:http://www.cnblogs.com/edisonchou/p/5990875.html
- 学习视频:https://www.bilibili.com/video/av10475153/
文章和视频均已学习,但对Github操作及如何托管项目并不是很熟练,会在课外时间多练习的。
任务4:在超级表格中填写博客园、github账号信息(已完成)
任务5:构建之法与博客首秀
3个问题:
问题1:在读完《构建之法——现代软件工程》P52软件工程师的思维误区,了解到软件工程师在开发过程中可能会存在分析麻痹、不分主次,想解决所有依赖问题、过早优化、过早扩大化/泛化等误区。有了这个问题:软件工程师应如何成长,才能有效的避免这些误区呢?
- 积累软件开发相关的知识,提升技术技能(如对具体技术的掌握,动手能力)。
- 积累问题领域的知识和经验(例如:对游戏、医疗或金融行业的了解)。
- 对通用的软件设计思想和软件工程思想的理解。
- 提升职业技能。
- 实际成果。
疑问:对于一个软件工程师来说,除了具备过硬的专业技术,更需要具备什么能力呢?
问题2:在本书P192页有这样一个问题:大部分公司的项目经理叫Project Manager,微软的经理叫Program Manager,这有什么本质的区别吗?
书上给出的Project Manager vs. Program Manager
我的理解:
- Project Manager项目经理; Program Manager程序经理。
- 项目经理是执行组织委派其实现项目目标的个人。这是一个富有挑战且备受瞩目的角色,具有重要的职责和不同的权力;项目经理要有较强的适应能力、良好的判断能力、优秀的领导能力和谈判技能,并熟练掌握项目管理知识。项目经理必须能理解项目的细节,但又能从项目全局的角度进行管理。
- 微软的程序经理主要职责在于沟通确定程序需求,是对程序负责,而不是程序员的负责人。
疑问:那么我可否这样认为,Project Manager大于Program Manager?
问题3:在看完《构建之法——现代软件工程》第8章需求分析中的A/B测试后,我对A/B测试的概念理解不是很透彻?A/B测试具体是怎么进行的?
为此我查阅了资料,理解了A/B测试的基本概念:
举个简单的例子,当你有一个日IP过千的网站,而你的网站首页几百年没有更改了,这个时候你想启用新的网页,而你有害怕新的页面用户不一定就非常喜欢,那么这个时候你就需要进行A/B测试了。测试的方法是将老页面定义为A页面,新页面定义为B页面。到谷歌网站优化工具申请进行A/B测试(免费的),这是时候谷歌会给你一串代码,我们只需要将代码添加到谷歌要求的页面即可。
代码添加完毕,如果有一千个用户访问你的网站,那么会有500个用户看到A页面,500个用户看到B页面,这个时候再统计下通过A页面到达网站内页的用户占的百分比是多少,通过B页面到达内页的用户占的百分比是多少。假设A的是6%,B的是20%那么恭喜你,这说明你新设计的页面是博得了用户的欢心。如果你对20%的结果还不满意,那么继续修改你的页面,直到这个转化率不能够再提高为止。
疑问:对A/B测试具体是怎样实施的仍然不是很明白?
二、实验总结
通过这次实验,我有了自己的GitHub账号,练习了读书之后提问问题,以及学习了提问问题的方式,学习了Github操作及如何托管项目。这是我第一次写博客,虽然有点艰难,但是学习了新知识,通过粗读邹欣老师的《构建之法--现代软件工程》,我对软件工程有了更多的了解,这本书浅显易懂,比之前学习的专业书有趣。