1、问题

(1)与软件学院相比,计算机科学更偏向理论研究,本系开设软件工程课程的意图是否是为了平衡理论与应用的比重?

(2)Bug的定义根据开发者与使用者的分析角度不同,有着很大的区别,如何使开发者能够有效的感受使用者的角度,使软件更具人性化?

(3)Coder和Hacker之间原则性的区别是什么?

(4)面对代码量比较大的工程,如何做到有效的管理和控制?

(5)在开发流程中,如何从“写了再改的模式”的模式中脱离出来?

(6)P171页的算数题,团队用一半的速度完成了一般的总工作量,已经没有额外时间来提升平均工作效率了,除非群求额外时间?

(7)在构建软件工程的过程中,从何时开始考虑用户体验的问题?

2、“Software”:这个单词最早出现在出版物中是由Richard R. Carhart 于1953年8月出版的书籍。2000年,耶鲁法学院的图书管理员Fred Shapiro发表了一封信,这封信揭露了其在对JSTOR的电子档案的搜索中,发现在由美国数学家Tukey于1958年发布的论文"The Teaching of Concrete Mathematics"中,提到了对于单词“software”的用法。1995,Paul Niquette声称他在1953年十月最初创造了这个词,虽然他没能找到任何资料支持他的说法。

“Software Engineering”:是由 Margaret Hamilton 发明的, Hamilton是一个自学程序设计,并且当上 MIT 软件工程测试实验室主任(也就是为美国太空总署 NASA 开发电脑系统的单位)的女性。它在阿波罗计划期间发明了“Software Engineering”一次,她在采访中说到:“软件在这个计划的初期还被当作初初学步的孩子一般对待,完全不像其他工程学科;例如像硬件工程那样的受到重视,而且在大家的眼光中他就像是艺术、魔术一般,而不是一门科学。我一直以来坚信这项发明流着艺术与科学的血液,虽然当时很少人是这么想。因此,我致力于为软件以及那些发明者争取应有的正统性与尊重,所以我开始使用“软件工程”这样的字眼来将之与硬件还有其他工程学类做出区别。当我第一次使用这样的语词时,大家都觉得有些好笑,甚至有很长一段时间被当作笑话。他们常笑我极端的想法。但最终,软件学科确实得到了应有的尊重!”

3、Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,可以有效、高速的处理从很小到非常大的项目版本管理。[2]  Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

  Git的功能特性:

从一般开发者的角度来看,git有以下功能:
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:
1、查看邮件或者通过其它方式查看一般开发者的提交状态。
2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
3、向公共服务器提交结果,然后通知所有开发人员。
优点:
适合分布式开发,强调个体。
公共服务器压力和数据量都不会太大。
速度快、灵活。
任意两个开发者之间可以很容易的解决冲突。
离线工作。
缺点:
资料少(起码中文资料很少)。
学习周期相对而言比较长。
不符合常规思维。
代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
 

Microsoft TFS:

优点:

1.任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用

2.集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM

3.能与 VS 无缝接合

缺点:

1.整个系统是用 asp 实现的,用浏览器访问相当慢(不知道是不是服务器性能太低还是我个人用的电脑配置太低)

2.从 IE 上访问、填写各种开发、测试记录,也是很慢,感觉不如 mantis  BT 这样基于 php 的那么方便、迅速

3.XP 系统无法访问,还得是64位的。所以把电脑的整体性能拖下来了

个人作业——week1的更多相关文章

  1. 个人博客作业Week1

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

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

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

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

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

  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:程序员的优劣是否在软件开发中已经不重要了??用户实际关心的 外形,使用的乐趣和效率,自我形象,个人满足感,回忆,这么多条中,仅有效率与代码有关,而实际上用户比起效率却更在意其他这些“幺蛾子”. ...

  9. 软件工程个人作业 - week1

    <构建之法>阅读疑惑: 如何寻找开发效率和性能的均衡点?显然开发效率强调封装,重视代码重用.但是遗憾的是代码重用往往泛化了数据特征,降低了效率. 如何“公平”分配工作?尤其是团队中人员参差 ...

随机推荐

  1. ios native工程集成react-native的demo

    react-native看到了给现有工程添加react-native环境的时候碰到一个问题: 如何往工程中添加 package.json文件,以及node_modules是怎么来的? 我开始的时候以为 ...

  2. 海康威视,大华,宇视 的视频监控iOS Demo

    原谅我只提供一个链接,我在这里写了两遍,最后加个链接页面卡死了,下面的demo,最好真机调试.(写博客还是在别的地方写复制到这里比较好!) 一个画面可以做,4个,9个,16个画面原理是一样的,集合到自 ...

  3. 归档NSKeyedArchiver解归档NSKeyedUnarchiver与文件管理类NSFileManager (文件操作)

    ========================== 文件操作 ========================== 一.归档NSKeyedArchiver 1.第一种方式:存储一种数据. // 归档 ...

  4. 让代码更简单——自定义toBean实现

    经过历时三天的鏖战,终于将阶段性项目——新闻发布系统做完了.在编码过程中,发现了很多冗余代码,统一流程,却需要不断重复编码——将用户输入实例化为对象的过程. 例: Person.set("i ...

  5. 关于在安装MySQL时报错"本地计算机上的mysql服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止"的解决方法

    首先将你下载的MySQL安装或者解压(对应安装版和解压版),下载地址http://dev.mysql.com/downloads/mysql/ 然后复制你安装目录中的my-default.ini,更改 ...

  6. javascript设计模式-工厂方法模式

    工厂方法模式笔记  通过对产品类的抽象使其创建业务主要负责用于创建多类产品的实例  对于创建多类对象,简单工厂不太实用,这是简单工厂模式的应用局限,当然这正是工厂方法模式的价值之所在  通过工厂方法模 ...

  7. Linq语法学习

    关键词: select from where in into join on equals orderby descending DefaultIfEmpty() thenby submitChang ...

  8. Python学习笔记3-字符串

    格式化字符串/复合字段名 >>> import humansize >>> si_suffixes = humansize.SUFFIXES[1000] >& ...

  9. 在虚拟机中安装CentOS

    1.准备工具 我当时下载的是VMware9.0.2,之后升级即可. 2.安装VMware9.0.2,按照步骤安装即可,安装成功并运行 选择创建新的虚拟机,出现下图,选择"自定义"后 ...

  10. 6-1 bash脚本编程之四 整数测试及特殊变量

    1. exit:退出脚本.可以定义,如 #exit 数字(0-255) 2. 文件测试 -e FILE:测试文件是否存在 -f FILE:测试文件是否为普通 -d FILE:测试指定路径是否为目录 - ...