201771030122-王瑞梅 实验一 软件工程准备—<初读《构建之法--现代软件工程》>

项目 内容
课程班级博客链接 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账号(已完成)

任务4:在超级表格中填写博客园、github账号信息(已完成)

任务5:构建之法与博客首秀

3个问题:

问题1:在读完《构建之法——现代软件工程》P52软件工程师的思维误区,了解到软件工程师在开发过程中可能会存在分析麻痹、不分主次,想解决所有依赖问题、过早优化、过早扩大化/泛化等误区。有了这个问题:软件工程师应如何成长,才能有效的避免这些误区呢?

  1. 积累软件开发相关的知识,提升技术技能(如对具体技术的掌握,动手能力)。
  2. 积累问题领域的知识和经验(例如:对游戏、医疗或金融行业的了解)。
  3. 对通用的软件设计思想和软件工程思想的理解。
  4. 提升职业技能。
  5. 实际成果。

疑问:对于一个软件工程师来说,除了具备过硬的专业技术,更需要具备什么能力呢?

问题2:在本书P192页有这样一个问题:大部分公司的项目经理叫Project Manager,微软的经理叫Program Manager,这有什么本质的区别吗?

书上给出的Project Manager vs. Program Manager

我的理解:

  1. Project Manager项目经理; Program Manager程序经理。
  2. 项目经理是执行组织委派其实现项目目标的个人。这是一个富有挑战且备受瞩目的角色,具有重要的职责和不同的权力;项目经理要有较强的适应能力、良好的判断能力、优秀的领导能力和谈判技能,并熟练掌握项目管理知识。项目经理必须能理解项目的细节,但又能从项目全局的角度进行管理。
  3. 微软的程序经理主要职责在于沟通确定程序需求,是对程序负责,而不是程序员的负责人。

疑问:那么我可否这样认为,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操作及如何托管项目。这是我第一次写博客,虽然有点艰难,但是学习了新知识,通过粗读邹欣老师的《构建之法--现代软件工程》,我对软件工程有了更多的了解,这本书浅显易懂,比之前学习的专业书有趣。

posted on 2020-03-02 22:24  两个傍晚的月亮  阅读(241)  评论(4编辑  收藏  举报