一、看过书后的5个问题
书还没看完,看完后再写
1.pm如何在创新性的想法和可行性间权衡,也就是说开发效率和创意间如何取得平衡?
2.设计应该在编码之前,但是往往在coding的过程由于贴近代码本身,更容易产生更好的设计,这应该怎么处理,是设计时考虑问题不充分的锅吗?
3.遇到要求过分的产品经理(处女座的)怎么办?
4.用户需求会虽着社会发展而改变,如何能保证软件总是能满足用户需求?
5.感觉一个开发团队再加上点搞宣传的同志们就可以向大众推出自己的产品了,为什么还要老板?
二、 “软件” 和 “软件工程” 这些词汇是如何出现的 - 何时、何地、何人?
软件,1958 年Turkey在论文"The Teaching of Concrete Mathematics"中提出。最早见于Richard R. Carhart,1953年。
软件工程,1968 年北大西洋公约组织在前联邦德国开会提出的。
三、项目管理软件对比
TFS:TFS是微软提供的一项服务,已经被集成在Visual Studio中。TFS不仅提供了版本管理的功能,还提供工作项追踪、自动化生成等功能。针对5人以下的校开发团队,提供免费版。
Git:git是一款免费的、开源的、分布式的版本控制系统。git采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极 其方便。每一个git克隆都是一个完整的文件库,含有全部历史记录和修订追踪能力。其最大特色就是“分支”及“合并”操作快速、简便。支持离线工 作,git是整个项目范围的原子提交,而且git中的每个工作树都包含一个具有完整项目历史的仓库。
Svn:SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就 是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。与git相比,svn不是分布式的,所有信息按文件存储,处理分支较为复 杂,有全局的版本号,内容的完整性略差。
Github: github是一个基于git的代码托管平台,提供了web管理页面,在windows上也提供了客户端。用户可议在github上托管项目,但是目前免费的托管都不能设置为私有。
Xcode:Xcode是Apple提供的集成开发环境,可议选择使用git或者svn作为版本控制。
Mercurial:Mercurial是使用Python开发的轻量级开源的分布式版本控制系统。每个用户管理自己的 repository,管理员只需协调同步这些repository。
BitBucket:BitBucket是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户。BitBucket提供了非常丰富的功能,如无限的私有仓库和硬盘、Bug追踪、API支持、自定义域名等。
Bugzilla:Bugzilla是一个开源的缺陷跟踪系统。
Trac:是一个为软件开发项目需要而集成了Wiki和问题跟踪管理系统的应用平台,是一个开源软件应用。Trac以简单的方式建立了一个软件项目管理的Web应用,以帮助开发人员更好地写出高质量的软件;Trac应用力求不影响现有团队的开发过程。
Rational:IBM软件开发平台的一部分,包括生命周期管理、统一建模语言、功能测试和回归测试等多个组成部分。