现代软件工程 第一章 【概论】练习与讨论 王旭阳(2,3,4)

2.对我来讲最相关而且最重要的应该是Operating Systems(操做系统),相信不少人都觉着这个很重要,操做系统我的理解是其余各种软件的基础,几乎全部的其余软件都依赖于操做系统。php

(1)操做系统最先应该是DOS,大概出如今1980年。成为它的用户很容易,只要你使用电脑或者手机,你就已是它的用户了。他们的目标不只仅是盈利,像Linux系统就是开源的,任何人均可以避免费使用,能够在其基础上进行开发。操做系统的一部分是为了盈利,而重要盈利点事绑定软件的盈利。开发一款比Office好的软件也许难度不大,难的是与Windows竞争,Office结合了Windows因此更增强大。git

(2)第一次使用应该是小学时在亲戚家使用的Windows。大概是02年或03年,当时的电脑系统是Windows 98,天然是在购买电脑的时候直接安装在电脑上的。web

(3)正如题目上的“免费”二字加上引号,其实有些免费是附加条件的,好比说有些免费限制只能使用部分功能,想使用高级功能就要付费,还有些软件免费但带有广告营销。像QQ,微信也是无偿使用的,可是其附带不少其余收费的项目,腾讯经过QQ微信超大的用户群投放广告挣钱,或者有会员,黄钻等各类收费项目。因此软件工程师也会在“免费”软件得到大量资金。算法

当地的初级的软件工程师大概1W一个月数据库

(4)操做系统是全部软件的基础,当有一台电脑时就要学会使用操做系统。开始使用一些简单功能只须要按照提示便可,须要用到某些不知道的功能百度搜一下。操做系统出现Bug会提示用户上传该问题,而后经过补丁包修复相关Bug。操做系统是个大的工程,操做系统的人月更新应该会超过30000。xcode

人月:软件开发人员*软件开发月数浏览器

(5)同一类软件经过本身的特点功能来吸引顾客使用,像Windows使用方便简洁,比较容易入手,大多数电脑都默认装机就是Windows,而Linux是开源的,任何人均可以避免费使用,针对其攻击也少,比较安全,因此一些开发人员或者银行等就使用Linux。Mac OX依赖于苹果电脑强悍的硬件也吸引很多的用户安全

3.目前流行的源程序版本管理软件和项目管理软件:服务器

 

Microsoft TFS:微信

全名Team Foundation Server,面向整个团队的协做工具

 

Team Foundation Server 提供了一系列可与您的现有 IDE 或编辑器结合使用的协做工具,以便您的团队能够有效地处理各类形态和规模的软件项目。

 

  优势:

  1.任务版上能将需求、项目进度尽收眼底,对于小团队而言,比甘特图更有用
  2.集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM
  3.能与 VS 无缝接合

  缺点:

  1.整个系统是用 asp 实现的,用浏览器访问至关慢(不知道是否是服务器性能过低仍是我我的用的电脑配置过低)
  2.从 IE 上访问、填写各类开发、测试记录,也是很慢,感受不如 mantis BT 这样基于 php 的那么方便、迅速
  3.XP 系统没法访问,还得是64位的。因此把电脑的总体性能拖下来了

GitHub
    Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用做Linux内核代码的管理。应该说是目前使用人数比较多,而且也很流行的一个平台。
      做为开源代码库以及版本控制系统,随着愈来愈多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。如前所述,做为一个分布        式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库均可以独立使用,任何两个库之间的不一致之处均可以进行合并。

  GitHub能够托管各类git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不一样,GitHub的独特卖点在于从另一个项目进行分支的简易      性。为一个项目贡献代码很是简单:首先点击项目站点的“fork”的按钮,而后将代码检出并将修改加入到刚才分出的代码库中,最后经过内建的“pull request”机制向项目      负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。

Apple xcode

  Xcode 是运行在操做系统Mac OS X上的集成开发工具(IDE),由苹果公司开发。Xcode是开发OS X 和 iOS 应用程序的最快捷的方式。Xcode 具备统一的用户界面设计,编码、测试、调试都在一个简单的窗口内完成。

Coding.net
  Coding 是一个面向开发者的云端开发平台 ,目前提供代码托管,运行空间,质量控制,项目管理等功能。此外,还提供社会化协做功能,包含了社交元素,方便开发者      进行技术讨论和协做。Coding 的代码托管功能除了基本的 Git 仓库之外,还有保护分支,分屏对比, Code Review 等高级功能。而且整合了 Pages 服务,质量管理,演示平台等开发工具,提高研发效率。

4.正如题目所说的,写程序是我的行为,在作像ACM之类的题目时,本身根据题目要求写出若干行代码,利用某个算法完成题目要求,仅仅输入输出就足以,这就能够说是一个简单的程序,算是完成了一个程序。而一个软件是一个大的工程,软件有多个组件,须要多个不一样的人合做完成,例如图形化界面的设计,数据库的创建,是否须要联网等等,须要考虑的东西比较多,软件每每由一个团队不一样的分工完成不一样的任务,最后整合到一块儿,成为一个完整的软件。

  关于软件工程是交不会写程序的人开发软件,我觉着该说法不彻底对。会写程序的人在开发软件时一样是利用软件工程的相关原理。软件工程是针对软件开发的,不管是否会写程序,都用获得软件工程。因此该说法是片面的

软件企业 = 软件 + 商业模式

 http://news.cnblogs.com/n/528911/这篇文章里说的,这个游戏的推广也不错,口碑很好,可是没有考虑到用户的需求,该游戏能够算上优秀做品,但只符合少说人的口味。也许就像电影市场同样,不少评分很高的电影并无得到过高的票房,反而是一些商业电影没那么评分的得到高票房。由于那些电影符合大多数人的口味。

(王旭阳)

相关文章
相关标签/搜索