当前位置 博文首页 > SoftwareTeacher的专栏:现代软件工程讲义 源代码管理

    SoftwareTeacher的专栏:现代软件工程讲义 源代码管理

    作者:[db:作者] 时间:2021-09-11 10:44

    【现代软件工程课件】

    源代码管理?? -- 以实践促进学习

    移山软件学院的学生果冻问老师: 为啥需要源代码管理? 我自己写代码多爽,别人要,就用QQ 传过去好了。

    老师问:原始人怎么建房子?

    果冻:或者找一个洞,或者自己挖一个洞,上面搭个棚子挡雨...

    老师问:现代人怎么建房子?

    果冻:那就要有楼房,当然还要搭脚手架,还要升降机,起重机,等等工具。

    老师问:如果原始人穿越到现在,要盖房,是否可以不要脚手架,大家直接搬砖从一楼砌墙,然后站在一楼砌二楼,然后站在二楼砌三楼... 砌到十楼么?

    果冻:这有很多问题:

      - 人力搬砖效率底下,人的体力有限,必须有工具帮忙。

      - 如果墙砌歪了,没有人来看,砌到五楼才发现从二楼开始就歪了,怎么办?

      - 现代房屋有各种成型的模块(门框,窗框,各种预制板,各种管道线路),没有工具,光凭人力根本搞不定。

    老师:对,我们需要脚手架,升降机,起重机,水泥搅拌车,各种检测工具来保证一个大楼能顺利建好。?我们说过,

      软件 = 程序 + 软件工程

      软件的质量 = 程序的质量? + 软件工程的质量?

    软件工程的质量要靠软件工具和软件流程来保证, 大家看过正在建设中的高楼, 半完工的楼顶上矗立着巨大的塔吊。这个塔吊不是用户需求的一部分 (用户希望完工的楼房上面没有塔吊!),但是,这是建筑工程上不可缺少的环节,那么怎么把塔吊顺利地安装上,随着楼房的增高而增高(动画,? 迪拜塔的建设),让塔吊高质量地工作,怎么做安全检查,防止它倒下来? 这就是工程的要求。

    软件工程中,也有类似脚手架,塔吊这样的工程系统,工具和流程。 软件的源代码管理工具(source code control system),加上构建系统 (build system), 能保证一个复杂软件能在多个角色,多个团队的合作下,按时以合适的质量发布。?如果你写一个Hello World 程序, 当然不需要这些工具, 就像你用儿童积木搭房子过家家,你自己高兴,但这不是建筑工程。

    源代码管理的10 个实践问题:

    cs