软件工程

安稳与你 提交于 2020-11-24 19:52:01

软件工程 - 第一次阅读作业

项目 内容
这个作业属于哪个课程? 北航软工2019班级博客
这个作业的要求在哪里? 第一次阅读作业
我在这个课程的目标是? 按时完成老师给的任务
这个作业在哪个具体方面帮助我实现目标 ? 让我了解该课程的基本内容

1. 看完《构建之法》后的思考

快速看完整部教材,列出你仍然不懂的5到10个问题,发布在你的个人博客上。

作为一个平时看书不经过脑子思考的人,突然让我提出5~10个问题,真的挺让我头疼的。那我就先把这个空着吧。

1.1 有关结对编程

说起结对编程,我就想到了我和姐暑假一起玩《饥荒》的日子了。由于只有一台电脑,我们只能轮换着操作电脑玩。在一个人操作鼠标的时候,另一个人在旁边适时给予指导。我们也会互相问问题,询问建议。由于饥荒独特的游戏系统,当一个人操作电脑的时,有时需要另一个人在网上搜索各种食物配方等内容。饥荒这游戏最大的特点就是孤独,但两个人一起玩,我们不会感到孤独。我们很开心的一起玩了很久,度过了一整个夏天。

<figure align="center"> <img src="http://ww1.sinaimg.cn/large/0070O95Yly1g0vwhxds3hj30k00f0gxt.jpg" width="400"> <figcaption>饥荒</figcaption> </figure>

但是对于结对编程,我感觉有点难。

  1. 编程是一件非常枯燥、费脑子的东西,每个人都有不同的想法。编程的时候,专心工作的环境挺重要的。
  2. 一个人的想法,另一个人如果看不懂,还要费时间解释给另一个人,这样很容易打断思维。

两个人结对编程,我感觉会特别累,可能感受不到快乐。

1.2 有关用户体验

静音按钮要同时关闭闹钟铃声吗?

闹钟一般用于早上起床闹铃,如果因为昨天的静音影响了今天的起床,肯定会让很多人不爽。显然,系统的设计者考虑到了这点,因此静音按钮不会关闭闹钟铃声。在某些确实需要静音的场合,如果你需要关闭闹钟铃声,那么手动将闹钟的音量设置为静音即可。

另外有一点,人们很容易忘记取消静音,导致不需要静音的时候听不到电话铃声。这是一个大问题。小米手机MIUI特别棒,它在你选择静音的时候,下面会出现一个设置静音时长的滑块,这样可以防止自己忘记关闭静音。这种小小的功能需求,让使用者无形之中感觉到便利。乍一看许多Android系统和MIUI没啥区别,其实区别往往隐藏这种小小的细节里。用户体验做的好,就是MIUI为人称道的原因。

<figure align="center"> <img src="http://ww1.sinaimg.cn/large/0070O95Yly1g0s366zjagj30k00zk752.jpg" width="150"> <figcaption>MIUI静音定时</figcaption> </figure>

需要开发一个优秀的C端产品,用户体验是特别重要的东西。有一个28原则,核心的功能只需要花费20%的时间,其他80%的时间都在处理细节。如果让用户感觉到某些地方不爽,哪怕你核心功能再优秀,都会被人吐槽。

2. 软件工程的历史

请问 “软件” 和 “软件工程” 这些词汇是如何出现的 - 何时、何地、何人?

这个问题的答案,显然是让我们了解软件以及软件工程的历史,我主要参考了Wikipedia - History of software中的内容。

Alan Turing is credited with being the first person to come up with a theory for software in 1935, which led to the two academic fields of computer science and software engineering. —— Wikipedia 艾伦·图灵被认为是首个在1935年提出软件理论的人,这导致了计算机科学、软件工程两个新的学术领域的诞生。 —— 维基百科

显然,图灵才是软件和软件工程的祖师爷。

如果非要考究”软件(Software)“这个单词的起源,根据这篇文章可知,一个叫做John W. Tukey的美国统计学家首次在出版物中写出了”软件(Software)”这一个词汇。此外,这篇文章中还说到,有个叫做Paul Niquette的家伙自称早在1953年就开始使用这个词语了。

如果非要考究”软件工程(Software Engineering)“这个单词的起源,则源于一个叫做玛格丽特·汉密尔顿(Margaret Hamilton)女程序员。没错,他就是在美国国家航空航天局写汇编代码的美女程序员。

<figure align="center"> <img src="https://upload.wikimedia.org/wikipedia/commons/d/db/Margaret_Hamilton_-_restoration.jpg" width="200"> <figcaption>美女程序员Hamilton</figcaption> </figure>

3. 软件工程发展的过程中的冷知识

【附加题】:大家知道了软件和软件工程的起源,请问软件工程发展的过程中有什么你觉得有趣的冷知识和故事?

现在最著名的办公软件是微软的Microsoft Office系列,中国也有免费的WPS供大家使用。虽然中国的WPS没有像Microsoft Office一样享誉世界,但是大家可能不知道,WPS其实是Office的在中文文字处理领域前辈。下面给大家介绍一下求伯君以及WPS的故事。

求伯君无疑是其中最出名的,甚至被誉为“中国第一程序员”。从1988年5月开始,求伯君为了这个WPS,将自己锁在了宾馆,和方便面结婚,引爆肝炎三次,每次住院一两个月,在医生的告诫中,他却将电脑放在病床前继续一个人战斗,就这样反复折腾。1989年9月的某天,国内第一款中文字处理软件WPS1.0终于问世,后来软件人还把这一年命名为“中国软件元年”。与之相伴的还有西山4.03,这成了1988年创立的金山公司的主打产品。 没有鲜花、没有发布会,WPS就这样开始入侵电脑,没有铺天盖地的广告,完全靠用户体验口口相传,在那个电脑还属奢侈品的年代,竟然积累下了2000万用户,这在时下PC普及的今天,依然是一个天文数字般的用户量。 当年只有25岁的求伯君一夜之间成为了数字英雄,站在了中国IT行业的前台,这一站,就是20多年,直到2011年10月24日正式退休。 —— 简书 - WPS之父的故事,求伯君的故事

4. 版本管理软件对比

上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?

(提示搜索一下Microsoft TFS、Git、Mercurial、Github、Bitbucket、Trac、Bugzilla、Rational、Apple XCode)

请按照最近一两年使用人数的多少,从多到少排序并说明各自有多少客户(估计),工具的优缺点(可以引用相关资料并注明来源)。

关于客户数目,由于TFS,Git,SVN等指的都是版本管理技术,每个公司都可以部署,除了特殊用途,一般都是不收费的,故此无法统计使用人数。网络上只能找到在线代码托管平台的使用人数,将其列表如下:

<figure align="center"> <img src="http://ww1.sinaimg.cn/large/0070O95Yly1g0rwc3z7zkj30ly0cidii.jpg" width="600"> <figcaption>在线代码托管平台的使用人数</figcaption> </figure>

同一个版本管理技术,可能有多家公司提供, 比如Git在线托管,有Github,Gitlab和Gitbucket提供。网站提供的功能大同小异,故此不做对比。在这里,仅对不同版本管理技术进行对比,来源

<figure align="center"> <img src="https://img-blog.csdn.net/20180312205013332?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdsaXFpbjEyMzQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70" width="600"> <figcaption>Git, TFS, SVN对比</figcaption> </figure>

参考资料

[1]. “History of Software.” Wikipedia, Wikimedia Foundation, 21 Feb. 2019, en.wikipedia.org/wiki/History_of_software. [2]. “WPS之父的故事,求伯君的故事.” 简书, www.jianshu.com/p/84b6cd7341f7.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!