个人作业1

Task1:注册个人博客账号

Task2:注册码云账号

Task3:提出问题

  • 问题一:软件工程师到了哪个阶段,计算机底层运作原理的作用才会体现出来呢

阅读了第1章概论里软件的特殊性里的不可见性。软件工程师能直接看见源代码,但是源代码不是软件本身。软件一机器码的形式告诉运行,还可能在几个CPU核上同时运行,工程师时看不到自己的源代码如何具体地在用户地机器上被执行地。
所以当我们学习到哪个阶段要去接触底层原理?

  • 问题二:BUG是指软件行为与用户地期望值不一样?
    书本p15指出软件的行为和用户的期望值不一样就叫BUG。我个人认为BUG是指用户在执行软件提供的功能过程中,该功能未能被正确的执行的行为。例如音乐播放器没有识别音乐的功能,这会与部分用户的期望值不一样,但个人认为这并不是BUG,而是这个软件不够完美。
  • 问题三:结对编程是两个人面对一台电脑一起编程?
    书本p75页中写到在结对编程模式下,一对程序员肩并肩,平等地,互补地进行开发工作。他们并排坐在一台电脑前,面对同一个显示器,使用同一个键盘、同一个鼠标一起工作。他们一起分析,一起设计,一起写测试用例,一起编码,一起做单元测试,一起做集成测试,一起写文档等等。
    这样工作效率会不会降低呢,本来一个人可以做的事用了两个人,两人一起写开发文档,测试数据,修改难的BUG,而正常编程时分开来工作效率会更高吗?
  • 问题四:如何选择团队模式
    书本p89介绍了许多种团队模式,有主治医师模式、明星模式、社区模式、业余剧团模式等等。主治医师模式下我们可以和高手一起编程,给他打下手,跟着认真学可以学到东西,业余剧团模式下,我们可以比较有自己思考去做事,但身边没有大佬,碰到自己能力之外的困难就比骄难解决。
    这种情况下该如何选择呢?
  • 问题五:用户体验和产品质量出现冲突该如何取舍?
    第12章里提到了这个问题,作者讲述了一个故事,表示用户体验大于产品质量,但我想问是所有情况下都是用户体验大于产品质量吗?

【附加题】:请将问题提交至豆瓣:https://book.douban.com/subject/27069503/, 并在博客中给出链接
在豆瓣页面的最下方 “读书笔记” 那里发言, 《构建之法》的作者会亲自答复问题

Task4:Git基本操作练习
完成以下Git基本操作
将https://gitee.com/happyfaye/SoftwareEngineering仓库fork到自己的账号下

将远程仓库clone至本地仓库

在本地仓库添加学号姓名.txt(例如:201621123000happy.txt),并提交至远程仓库

在本地修改该文本内容并再次提交

给出提交历史信息截图

参考:实验楼练习:https://www.shiyanlou.com/courses/4

posted @ 2018-09-10 21:04  hamawep  阅读(159)  评论(1编辑  收藏  举报