个人博客作业-Week1

1.五个问题

  1) 团队编程中会不会因为人们意见的分歧而耽误时间,最终导致效率降低?

  2)软件团队中测试的角色应该独立出来吗

  3)对于团队编程,如果没有时间测试他人的新功能,因此就不添加该新功能,那会导致团队信任度下降吗?

  4)如何通过测试样例来证明自己程序的正确性,穷举吗

  5)软件工程的质量如何衡量

2. “软件” 和 “软件工程” 这些词汇的出现

  

软件,1958 年Turkey在论文"The Teaching of Concrete Mathematics"中提出。最早见于Richard R. Carhart,1953年。

  “An outline (algorithm) for what would have been the first piece of software was written by Ada Lovelace in the 19th century, for the planned analytical engine. However,neither the analytical engine nor any software for it were ever created.

  The first theory about software - prior to the creation of computers as we know them today - was proposed by Alan Turing in his 1935 essay Computable numbers with an application to the Entscheidungsproblem (decision problem).

  This eventually led to the creation of the twin academic fields of computer science and software engineering, which both study software and its creation. Computer science is more theoretical (Turing's essay is an example of computer science), whereas software engineering is focused on more practical concerns.

  However, prior to 1946, software as we now understand it - programs stored in the memory of stored-program digital computers - did not yet exist. The very first electronic computing devices were instead rewired in order to "reprogram" them.

  软件工程,1968 年北大西洋公约组织在前联邦德国开会提出的。

  “The term "software engineering", coined first by Anthony Oettinger and then used by Margaret Hamilton, was used in 1968 as a title for the world's first conference on software engineering, sponsored and facilitated by NATO. The conference was attended by international experts on software who agreed on defining best practices for software grounded in the application of engineering. The result of the conference is a report that defines how software should be developed [i.e., software engineering foundations]. The original report is publicly available.

3.源程序版本管理软件和项目管理软件
   
Git:git是一款免费的、开源的、分布式的版本控制系统。git采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。每一个git克隆都是一个完整的文件库,含有全部历史记录和修订追踪能力。其最大特色就是“分支”及“合并”操作快速、简便。支持离线工作,git是整个项目范围的原子提交,而且git中的每个工作树都包含一个具有完整项目历史的仓库。
       
Github: github是一个基于git的代码托管平台,提供了web管理页面,在windows上也提供了客户端。用户可议在github上托管项目,但是目前免费的托管都不能设置为私有。
  
Xcode:Xcode是Apple提供的集成开发环境,可议选择使用git或者svn作为版本控制。
 
Bugzilla:Bugzilla是一个开源的缺陷跟踪系统。
 
Trac:是一个为软件开发项目需要而集成了Wiki和问题跟踪管理系统的应用平台,是一个开源软件应用。Trac以简单的方式建立了一个软件项目管理的Web应用,以帮助开发人员更好地写出高质量的软件;Trac应用力求不影响现有团队的开发过程。

posted on 2015-09-28 18:25  OCK  阅读(199)  评论(0编辑  收藏  举报

导航