软工网络16个人作业一


Task1:注册个人博客账号

  • 目的:提交每次作业
  • 博客园地址:https://www.cnblogs.com/Fogram-c/

Task2:注册码云账号

  • 目的:管理你的项目,记录(源码、文档,历次版本变更,bug发现与修复)等信息。
  • 码云地址:https://gitee.com/Fogram/events

Task3:提出问题

快速通读教材《构建之法》,并参照提问模板,提出5个问题。

问题1:

伙计取下壁上挂的一块乌黑油腻的东西,请他们赏鉴,嘴里连说:“好味道!”引得自己口水要流,生怕经这几位客人的馋眼睛一看, 肥肉会减瘦了。肉上一条蛆虫从腻睡里惊醒,.....
伙计忙伸指头按着这嫩肥软白的东西,轻轻一捺, 在肉面的尘垢上划了一条乌光油润的痕迹,像新浇的柏油路,一边说: “没有什么呀!”顾尔谦冒火,连声质问他:“ 难道我们眼睛是瞎的?”大家也说:“岂有此理!“......
肉里另有两条蛆也闻声探头出现。伙计再没法毁尸灭迹,只反复说:“你们不吃,有人要吃——我吃给你们看——” 店主拔出嘴里的旱烟筒,劝告道:‘这不是虫呀, 没有关系的,这叫‘肉芽’一‘肉’一‘芽’。”方鸿渐引申说:“ 你们这店里吃的东西都会发芽,不但是肉。”
——《构建之法第二版》第一章

看了这个例子我很疑惑,究竟什么是bug?我原以为的bug就是在程序编译运行过程中出现的ERROR,或是运行时一些程序块未能达到预期的功能目标。我在百度百科看到的一小段bug释义如下:

bug是一个英文单词,本意是臭虫、缺陷、损坏、犯贫、小虫等意思。现在人们将在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为bug(漏洞)。

但是在这个故事中,蛆虫明显就是食品卫生安全问题,是出现在那份食品上的缺陷,损坏,也就是bug,为什么还可以引发出“肉芽(feature)”这一关键词呢?

问题2:

问:你是职业软件工程师么?
答:是。
问:你觉得你“职业”到哪一个程度?
答:嗯,我在一个能发工资的地方上班,靠我的软件技术挣钱,所以我相当的职业。
问:像职业篮球队员那样职业?
答:差不多吧。
问:职业篮球队员都有很详细的记录说明,有图表显示队员出场次数、场上时间、命中率、篮板、助攻、抢断、盖帽、失误、犯规、得分、罚球命中率等。作为一个职业软件工程师,你有类似的数据说明你所有的职业活动和成绩么?
答:嗯..没有。唯一的数据是,我的“上场时间”还是挺长的,而且经常打加时赛——加班。——《构建之法第二版》第三章

对于评估别人的时候,我会拿自己做一个比对的例子,发现别人任务完成的比自己好时,我会觉得这个人很厉害,学的很牛逼。但是对于自己能力的审视时,不知道应该找怎样的对象来作比较,比上不足,比下也还稍稍好点,但是这样的“感觉”始终不是对自己能力最接近正确的评估,难道应该像篮球运动员那样,有自己各方面完整的数据来参考么?所以到底应该怎样对自己的能力进行较为妥当正确的评估呢?

问题3:

王屋村软件学院的小飞同学在下雨的时候经常打着一把很精巧的小雨伞, 和同学们一起匆匆赶路。
同学们提醒他:
小飞,你这两伞太小了,你的裤腿都湿了!
但是小飞还是打着这把小雨伞。
......
几年过去了,在毕业酒会上,大家又谈起这个故事。
女同学小李说:有一次我没有带伞,他邀请我和他一 起走,但是他的伞太小了,我就没答应。
小飞红着脸解释了原因:我原来想,如果有女朋友的话,两人在雨中打着很小的雨伞,她就会离我近一些。
现在我还是单身,我想起了“过早优化是一切烦恼的根源”。——《构建之法第三版》第三章

对于“过早的优化是一切罪恶的根源”,我一开始有点不解,为什么提早优化程序反而不好,走在用户之前先一步把bug给修复了,不是更能改善用户的体验吗?后来我查阅了一下网上相关的内容,对于这句话有了进一步的了解。关键在于“过早”一词,我现在理解的是“过早”不同于“提早”。“提早”是在发现问题之后,在即将要面对这个问题的时候,先一步解决问题,防止问题真正出现的时候产生更严重的问题;而“过早”则是问题尚无关紧要的时候,仅仅是为了满足个人的某种“欲望”而做出超前反应,这种超前甚至是将当前更重要的目标弃于不顾而转来实现某一对当前阶段没什么意义的优化,这一行为可以说是浪费了人力、财力、时间等众多资源。——为什么过早的优化是万恶之源

问题4:

甲:我刚买了一把纸扇
乙:哦,拿来看看,一把白纸扇....上面空空如也太可惜,拿不出手啊。如果能画上画就更好了。我这几天也没什么事,我就給你免費画画!
甲:太好了,您能画什么?
乙:画个美女图怎么样?美女出浴图或美女春游图都可以考虑。
甲:我激动ing.....
过了几天....
甲问:我那美女画好了么?
乙:喔,美女,画好了!你看这美女的小脸蛋儿,眼稍稍大了点...但是,我不如给你改成张飞算了!都人体,我可以很快重构一下,我画张飞最拿手了,过几天就好。
过了几天.....
甲问:我那张飞?
乙:张飞? !喔对的,张飞也画得差不多了,嗯,你这张飞的胡子,这身躯...是粗了点...要不咱们画成山水,这张飞,这张飞...马上就可以变成一块怪石!
甲:大热天的我等这扇子....我容易吗....
过了几天.....
甲:我那山水?
乙:啊,山水....我也画好了。你看那巨石,很巨大,很給力吧...构图有点那..客我再改改。
甲:您什么时候画好?这夏天都快过了!
乙:嗯,我的山水画还是有些宋人风格的...假以时日...如果你急着要用扇子,这样吧,我把扇面全涂黑了,你再找人往上写金字好了!
——《构建之法第二版》第8章

这一例子给我的感觉就是“眼高手低”,绘画的人没有考虑自己的实际能力,没有过多的设计计划,只是一味幻想着完成后的美妙景象,便很随意地接下了任务,这是后期绘画效果不理想的主要原因。而在客户催促,工期临近时,对于一些尚未解决的问题,没有在根源上进行调整修改,而是以新的内容,去掩盖所存在的问题。软件开发过程中,应该是根据需求来设计开发,抛开实际需求,脱离自己的实际能力,以自己美好而不可实现的幻想作为目标,这样可能就会出现自己无法解决的问题。而以新的方案,来掩盖无法解决的问题,一方面在之后的效果上可能会达不到客户的要求,另一方面这是放纵自己的弱点而不加以克服。所以在项目开发过程中,应抱有的是自己能够实现的目标,而非遥不可及的幻想。

问题5:

软工网络16个人作业一_第1张图片
——《构建之法第二版》第10章

软件工程的目标——创造“足够好”的软件”。一个软件开发出来是要交付给使用者来体验的,因此“足够好”主要是针对用户的需求以及体验反馈。在这一例子中,理发师按照用户的需要求进行一丝不苟的设计,但是用户却未得到自己想要的效果,书上说的是“光看用户的表面语言或行动还是不够的,还要找到用户语言或行动背后的动机”,也就是还要揣摩用户的心理,那我们应该如何揣摩用户的心理呢?是做足够多的调查,还是开发者将自己也视为用户的一份子,通过自己的感觉来换位思考进而揣摩用户的心理呢?

Task4:Git基本操作练习

完成以下Git基本操作

  1. 将https://gitee.com/happyfaye/SoftwareEngineering仓库fork到自己的账号下
    软工网络16个人作业一_第2张图片
    软工网络16个人作业一_第3张图片

  2. 将远程仓库clone至本地仓库
    软工网络16个人作业一_第4张图片
    软工网络16个人作业一_第5张图片

  3. 在本地仓库添加学号姓名.txt(例如:201621123000happy.txt),并提交至远程仓库
    软工网络16个人作业一_第6张图片
    软工网络16个人作业一_第7张图片

  4. 在本地修改该文本内容并再次提交
    软工网络16个人作业一_第8张图片

  5. 给出提交历史信息截图
    软工网络16个人作业一_第9张图片

评分基准

本次作业总分 10 分,由三个部分组成:

(1)在规定时间内完成开设博客,码云账号,满分1 分。
(2)根据示例模板样式的要求提出问题 和 问题内容的质量评分,满分 7分。
(3)完成Git基本操作并按要求给出截图,满分2分。

你可能感兴趣的:(软工网络16个人作业一)