关于教材的疑问

阅读的教材《构建之法》

1第一章中提到:“软件企业=软件+商业模式”,这样的结构是否过于简单,尤其是在互联网+时代

2.在进行单元测试的时候,怎么做到100%覆盖

3.个人项目中Code Review有什么作用,应该怎么去做

...(因为主要时间都花在个人项目了,在书里面发现的问题不多)

“软件”的提出

  电脑问世初期,人们只是把软件当成为了使计算机完成某个任务所需要的指令的集合,并没有专门对它进行定义。之后到了20世纪50年代,专门卖软件的公司开始增加,规模也越来越大。其中,第一家软件公司CUC逐渐走上正轨后,在1959年首次使用了“软件”一词。

“软件工程”的提出

北大西洋公约组织在1968年10月召开的计算机科学会议上,FritzBauer首次提出“软件工程”的概念,试图将工程化方法应用于软件开发。

一些源代码管理工具的对比(由于个人只用过GitHub所以对于其他的工具的描述都是拾人牙慧,不能判断其客观性)

Visual Source Safe,简称VSS,是微软出品的版本管理系统:

优点是配置起来比较简单,易于上手,而且,版本回退方便。

缺点是只局限于内网,开发者一旦离开,就无法再进行代码的更新合并了,并且,因为是微软出品,只支持windows系统,而且据用户反映,提交较大文件(50M)时,会出现问题。

Concurrent Version System,简称CVS:

优点是对中文路径支持的比较好,本地文件和库文件可以多对多。

缺点CVS不支持本地文件重命名提交,管理员很难清楚的知道一个项目到底有多少个用户各用户的权限和密码是什么只能用分组的方式管理用户而且密码和权限还是不清晰,并且,采用了完全用户可见的方式。

SVN是一种集中式的源码管理软件,是CVS的接班人:

优点是,速度比较快(相对于CVS而言),支持文件重命名提交系统会提示删除旧文件,创建新文件,有创建标志和分支dubious等功能。

SVN的工作流程是,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。所以缺点就是,如果脱离了服务器,开发者基本上可以说是无法工作的。

Microsoft TFS,同样是微软出品的系统:

优点是不论在本地还是 在云中,TFS 均可支持灵活的开发实践、 多个 IDE 和平台,并提供有效管理整个 IT 生命周期的软件开发项目所需的工具。

缺点是用浏览器访问,比较慢。

GitHub Git是一个分布式的版本控制系统:

优点是拥有pull request等强大功能,功能简介,易于上手。

缺点是对中文支持不够好,局部还原不够完美,在国内访问比较慢,而且,对于企业而言,价格比较昂贵。对Windows的支持不是很友好,毕竟Git是linux创始人弄出来的东西,其指令有点类似与linux命令行里面的指令

Trac:

优点是使用非常灵活,可以和SVN集成。

缺点是,系统比较简单,功能和其他系统相比,不够强大。

Bugzilla:

优点是支持中文,再linux和unix扩展比较好。

缺点是快速搜索不准确,只能管理缺陷,不能管理测试计划,测试用例等。

Apple XCode,由苹果公司开发,编译器采用许多新的编译技术:

优点是编译速度快,自动向量化技术可以释放每台 Intel 系统中速度引擎的能量,同时有撤销,重做等功能。

缺点是系统更新不稳定,可能会有插件失效的情况。

Week1个人作业的更多相关文章

  1. 团队博客作业Week1 --- 团队成员简介

    团队博客作业Week1 团队作业1 我们团队是一个以功能团队模式组建而成的团队,我们总共有5位队员,分别是:李剑锋.陈谋.卢惠明.潘成鼎.仉伯龙. 中间的那位就是李剑锋,我们的PM(项目经理).性格热 ...

  2. 个人博客作业Week1

    个人博客作业Week1 一.问题 通读<构建之法>我有一下几个问题 PM没有参与代码编如何进行管理. 软件工程师的职业资格考试对我们来说很有必要吗. 当我们为用户开发软件时我们需要了解用户 ...

  3. 集大软件工程15级个人作业Week1

    集大软件工程15级个人作业Week1 孙志威 201521123077 博客园主页 码云地址 阅读参考材料,并回答下面几个问题 (1)回想一下你初入大学时对网络工程专业的畅想 当初你是如何做出选择网络 ...

  4. [buaa-SE-2017]个人作业-Week1

    个人作业-Week1 Part1:教材中不懂的问题 1.根据书中"除了前20的学校之外,计科和软工没有区别"所以计算机科学这个专业也许在我们学校是和软件工程有区别的,但是可以料想的 ...

  5. [BUAA_SE_2017]个人作业-Week1

    个人作业-Week1 疑问 教材中说,PM在衡量需求时需要方方面面的能力与研究.可是,当下许多互联网IT公司只承担外包业务,即客户给什么需求就实现什么需求,甚至可能不要求其它先进的功能.此时,开发团队 ...

  6. 团队博客作业Week1

    Study the projects done by previous student groups - View their blog site, use their software, email ...

  7. 团队博客作业Week1 Team Homework #3软件工程在北航

    这次我们采访了一位大四的学姐,让她简单地谈了谈去年学习软件工程的经历和感受. 在完成软件工程大作业的过程中,由于计划安排与实际脱节,导致时间前松后紧,平均每周花在这门课上的时间大约有8个小时. 项目完 ...

  8. week1:个人博客作业

    1.软件工程课程的希望和目标 老师步置的任务完整的做完,每一步都是自己做的,明白自己做的每一步,和为什么这样做. 期末考试最后为95分以上,最好是100. 每周学习这门课时间 每周2节课(90分钟)+ ...

  9. Week1 Team Homework #1 from Z.XML-项目选择思路--基于对曾经大作业项目的思考

    这两天试玩了一下去年学长的满分工程<shield star>游戏,再结合了一下他们团队的博客记录,有一种非常牛逼的感觉.具体对于这款游戏的一些思考和看法,毛大神已经说的很好了.因此,这里主 ...

随机推荐

  1. BZOJ3632:外太空旅行(最大团,DFS)

    Description 在人类的触角伸向银河系的边缘之际,普通人上太空旅行已经变得稀松平常了.某理科试验班有n个人,现在班主任要从中选出尽量多的人去参加一次太空旅行活动. 可是n名同学并不是和平相处的 ...

  2. BZOJ3155:Preprefix sum(线段树)

    Description Input 第一行给出两个整数N,M.分别表示序列长度和操作个数 接下来一行有N个数,即给定的序列a1,a2,....an 接下来M行,每行对应一个操作,格式见题目描述 Out ...

  3. centos限制远程尝试密码次数

    CentOS中有一个pam_tally2.so的PAM模块,来限定用户的登录失败次数,如果次数达到设置的阈值,则锁定用户.编译PAM的配置文件 # vim /etc/pam.d/login添加: au ...

  4. Lr场景设计-hc课堂笔记

    性能测试最基本也是最难的部分:场景设计.瓶颈分析和定位 10个业务10个脚本,每个脚本单独执行:单独场景.10个脚本一起执行:混合场景.10个业务1个脚本:可以设计不同用户登录,分别做不同的操作等场景 ...

  5. Jenkins忘记密码解决办法

    1.进入 如果安装的war包,路劲如下: C:\Users\LENOVO\.jenkins\ 2.打开config.xml  ->将useSecurity设置为false 3.进入系统管理的管理 ...

  6. jenkins不能取到svn最新版本问题的解决

    jenkins总是不能取到最新的SVN版本: 网上有说修改系统时间来解决的,尝试后发现无效: 在源地址末尾添加@HEAD可以解决这个问题.

  7. JAVA框架 Spring 约束配置本地资源

    一:粘贴约束url:http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.or ...

  8. jsonp小案例

    jsonp详解 例子:

  9. monitorix(linux)系统和网络监控公工具

    一.monitorix Monitorix是一款功能非常强大的免费开源轻型工具,目的在于监测Linux中的系统和网络资源.它可以定期收集系统和网络数据,并使用自己的Web界面,通过图形显示相关信息.M ...

  10. 通过HttpWebRequest调用webService

    调用远端接口,向远端接口写入一个xml文件(loginLog为xml的字符串).关键方法如下: public object InsertAuditLog(string loginLog) { //Ws ...