zoukankan      html  css  js  c++  java
  • [软件工程基础]第 1 次个人作业

    快速看完整部教材,列出你仍然不懂的5到10个问题

    1. 关于需求,书中提到“在需求实现之前,并没有用户明确表达具体的需求”,并且举了偷菜的例子,说明可以从”用户需要和朋友之间玩游戏,用户有证明自己的需求“出发来挖掘需求。但是这种人的需求一直都有,满足这种需求的服务也很多,但是为什么只有偷菜火了?
    2. 接着上面问,为什么偷菜很快就衰败了?人的这种需求并没有变啊。
    3. 如果通过各种方法调研,发现了某种需求。但是做出产品以后,发现并没有很多人用,这是为什么?比如微软早期也推出过平板电脑,但是现在却鲜有人知。
    4. 有时候可能一个需求就是由一个产品带来的,比如直播,在它火起来之前,大部分人会觉得看别人玩游戏也是一种需求吗?但是如果没有看到需求,或者预估这种需求是非常少量的,是做还是不做呢?
    5. 在创新一节中,书中提到开发团队要考虑产品的价值。要问“这一产品足以让本产品和目前市场上已有的产品区分开吗?” 那么微信是究竟提供了什么价值使得其与QQ区分开?在我看来,两者的主要功能没有什么差异,微信还有很多地方并没有QQ做得好。

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

    Richard R. Carhart 于1953年8月于书中提出”软件“

    Margaret Hamilton在阿波罗11号计划期间首次提出“软件工程”

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

    Unix的发明人Ken Thompson在贝尔实验室工作时,他的同事发现他总能进入他们的Unix账户,拿到最高权限。因此有人分析了Unix代码然后找到了后门,修改代码后重新编译了一遍,但是Ken还是能拿到他们的账户权限。最后Ken自己说出原因,原来代码的后门藏在编译Unix代码的C编译器里面。

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

    版本控制

    Git

    分布式版本管理,功能强大,但同时也非常复杂。

    非文本文件支持不好

    (网上吐槽git离线以后就不能联网查找用法了)

    SVN

    集中式版本管理。相比git可以控制权限。可以管理非文本数据。

    分支功能不如git

    Mercurial

    分布式版本管理。比git轻量,学习门槛低,但因而没有git强力。

    项目管理

    Microsoft TFS

    看起来比较适合小团队的开发,项目管理的功能比较完全,和VS无缝衔接

    但是据说比较慢。

    Trac

    易用的项目管理软件

    Bugzilla

    一个开源的缺陷跟踪系统。看起来只能跟踪bug?

    项目托管平台

    GitHub

    世界上最大的代码托管平台、最大的同性 程序员交友平台。

    Bitbucket

    一个代码托管平台。相比github支持免费的私有仓库。

    估算

    Stack Overflow上的问题数

    Git 90,516

    GitHub 25,608

    SVN 25,010

    TFS 16,121

    Mercurial 7,590

    Bitbucket 4,193

    Trac 687

    Bugzilla 533

    这个虽然并不能完全代表用户数量,但是还是能体现用户的多少的。

    不过具体的用户数很难通过这个估算。

  • 相关阅读:
    react-路由简单封装
    promise 和 async / await
    数据结构 栈 、 队列 、 链表
    ES6 Symbol
    react-react常用包与对应使用
    node-egg的使用
    自我理解与概述-BFC(Block formatting context)
    Git
    MySQL优化技巧
    Shiro
  • 原文地址:https://www.cnblogs.com/leext/p/7598985.html
Copyright © 2011-2022 走看看