Q:快速看完整部教材,列出你不懂的 5 - 10 个问题,发布在你的个人博客上。
- 如果用户的需求过于苛刻,有必要通过降低软件的运行效率来满足它们吗?
- 团队做工程作业时是否要“编程”和“测试”明确分开?
- 是否允许在工程进行途中修改某部分的设计?还是要求在工程开始之前就把所有的设计固定,不可更改?
- 软件测试中的“黑箱”和“白箱”是怎么进行的?
- 需求分析需要走入市场吗?如何获得市场上最新的需求信息?
Q:请问 “软件” 和 “软件工程” 这些词汇是如何出现的 - 何时、何地、何人?
- 1958年John Turkey在论文"The Teaching of Concrete Mathematics"中提出“软件”这个词。资料来自维基百科。(In 2000, Fred Shapiro, a librarian at the Yale Law School, published a letter revealing that Tukey's 1958 paper "The Teaching of Concrete Mathematics" contained the earliest known usage of the term "software" found in a search of JSTOR's electronic archives, predating the OED's citation by two years. https://en.wikipedia.org/wiki/John_Tukey)
- “软件工程”这个词最早是由Anthony Oettinger和Margaret Hamilton创造的,这个词在1968年世界第一个软件工程大会上作为标题第一次使用。资料来自维基百科。(Hamilton is credited with coining the term "software engineering". https://en.wikipedia.org/wiki/Margaret_Hamilton_%28scientist%29)(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. https://en.wikipedia.org/wiki/Software_engineering#History)
Extra Q:上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点? (提示:搜索一下Microsoft TFS、Git、Mercurial、GitHub、Bitbucket、Trac、Bugzilla、Rationale,Apple XCode)?
-
TFS(Team Foundation Server )是一个工作流协作的引擎,它允许一个团队使用他们自定义的流程,并使用在项目历史中实时收集起来的一个集中的数据仓库。优点:集成性。版本控制系统和工作项存储器在注册时集成在一起。当注册时,可以将其与一个或多个工作项关联。
-
GitHub:Ruby社区的程序员使用Git以后,找不到好的Git托管网站,于是就开发了Github出来。优点:重视社区活动,在GitHub,用户可以十分轻易地找到海量的开源代码。
-
Trac是一个为软件开发项目需要而集成了Wiki和问题跟踪管理系统的应用平台,是一个开源软件应用。优点:力求不影响现有团队的开发过程,良好的扩充性,以里程碑的方式进行项目管理。
-
Bugzilla:是一款具有追踪系统的软件。优点:开源免费,缺陷跟踪。强大的检索功能。
-
XCode集成了svn源代码管理客户端。优点:分支管理系统,易于管理,集中式服务器更能保证安全性,管理方便,逻辑明确,符合一般人思维习惯.
(资料来源于网络)