第二章 软件项目立项与规划

第一节 发现项目机会

§ 客户的需求和问题就是选择项目的依据,是项目投资机会 § 通常投资者是从以下几个方面发现项目投资机会:

1.市场需求。进行市场分析,客观地分析市场现状(市场容量的大小,供求情况),预测未来市场的发展趋势(高速成长,平稳发展,还是逐渐衰退),了解主要竞争对手的产品、市场份额和发展战略。

2.国家政策和产业导向。国家、行业和地方的科技发展和经济 会发展的长期规划与阶段性规划,这些规划一般由国务院、各部委、地方政府和主管厅局发布。国内企业应重视这些政策规划。

3.客户发布的项目招标。及时得到行业中客户单位的招标信息,进行可行性分析并投标。

第二节 可行性分析

§ 识别出的项目机会只能作为候选项目,还必须对其进行可行性分析,才能确定能否将其作为一个项目来实施。 § 技术可行性分析的目的是确定能否利用现有的或可能拥有的技术能力来实现项目目标。

2.1 技术可行性分析

2.2 使用开源软件

§ 开源软件经过三十多年的发展,已经异常丰富。 § 使用开源软件的好处: /span> (1) 节省成本,提高开发效率。 /span> (2) 开放和自由。开源软件通常符合开放标准,使用户不会被个别商业公司的专有标准束缚。例如, OpenOffice 符合开放标准 OpenDocument Format ,使用户对自己的文档有完全意义上的所有权。微软被迫公开了 OOXML 格式并力推其成为开放标准。 /span> (3) 灵活可定制。拥有源代码,可以进行定制、修改和扩展。 /span> (4) 公开透明。适用于涉及国家或商业安全的领域。 /span> (5) 良好的学习平台。通过阅读源代码、文档、 区 站上的讨论等,可以理解开源软件的架构、设计,观察技术决定的决策过程等,对于开发人员技术水平的提高有很大促进作用。

2.2.1 寻找合适的开源软件

§ 除使用通用搜索引擎外,还可以使用一些专业性 站提供的目录和搜索服务。例如: § www.osalt.com ,一家专门针对现有的商业软件来推荐相应的开源软件的 站。 § 开源项目托管 站,如 SourceForge ,Google Project Hosting ,提供了分类浏览和搜索功能。 § 一些 站(如国内的 www.open-open.com )对流行的开源软件进行了汇总和索引。

2.2.2 开源软件与自由软件

2.2.3 使用开源软件的质量风险

§ 绝大多数开源软件许可证都有免责条款。意味着如果软件出现质量问题,没有人为用户负责。 § 要把住质量关:使用优秀的、成熟度高的开源软件。 § 除常规的评价方式(如测试)外,还可利用开源项目特有的一些信息来评价其成熟度,例如项目领导者、开发者 区的规模和活跃程度、用户的规模、是否有安全补丁机制、文档是否丰富等。 § 有一些开源软件成熟度评价模型(如 OpenBRR )采用定量的方法(数学模型)进行评价。

2.2.4 使用开源软件的服务风险

§ 开源软件不提供技术支持和服务承诺。 § 可利用开源项目 区解决一些技术问题,但很有限。 § 可购买软件支持服务(也称为“订阅”)。例如 Linux 操作系统有 Redhat 公司提供发行版并出售订阅服务, MySQL 数据库有 Oracle 公司出售订阅服务。 § 一些公司(如 OpenLogic )提供了广泛的开源软件服务 , 包括管理咨询、法律保障、技术支持、培训等。

2.2.5 使用开源软件的法律风险

§ 如果用户只是自己使用开源软件(无论是只运行开源软件的二进制形式还是修改源代码后供自己使用),则在一般情况下不会有风险。 § 如果用户要传播开源软件,例如把开源软件(无论是原封不动的还是修改过的)包含在自己的产品中进行再发布,则可能有一定的风险。 § 这些风险来自三个方面:软件著作权、软件专利、许可证。

开源软件的著作权

开源软件的专利

防止侵犯著作权和专利的方法

§ 通过各种渠道调查清楚开源软件是否涉及著作权和专利方面的问题和纠纷。 § 利用第三方资源来规避风险,例如“开放发明 络”公司可以向受到有关 Linux 的专利诉讼的公司提供援助, Redhat 公司可以为购买了支持服务的用户提供开源担保,代替用户处理侵犯著作权和专利的法律问题。

开源软件许可证

§ 开源软件许可证把各种权利赋予用户,同时对开源软件的传播进行了不同程度的约束。 § OSI 认证的开源许可证有几十种,同时推荐了 9 种最常用的,分别是: GNU 通用公共许可证,简称 GPL GNU 宽通用公共许可证,简称 LGPL Mozilla 公共许可证,简称 MPL ;通用开发和发布许可证,简称 CDDL Eclipse 公共许可证,简称 EPL 3 BSD 许可证; 2 BSD 许可证; MIT 许可证; Apache 许可证。 § 要详细解读所使用的开源软件的许可证,遵守其约束。 § GPL 是目前应用最为广泛的许可证,据统计,有 60% 以上的开源软件采用了它。 § 如果作品 A 使用了 GPL 许可证,只要作品 B 包含了作品 A 的全部或一部分或者其派生作品,那么作品 B 就是基于作品 A 的作品。作品 B 如果要发行,也必须使用 GPL 许可证。 § 使得一个开源软件作品及其派生作品在传播过程中永远保持其自由和开放。 GPL 对最终用户非常友好,但专有软件厂商或对代码有保密要求的用户不适合使用 GPL 许可的开源软件。 § LGPL 的大部分条款与 GPL 相同,差别在于它允许专有软件以动态链接的方式使用 LGPL 许可的软件。 § 动态链接是指在运行时调用其接口或功能,共享数据结构,而不把它包含进来作为一部分发布。 § LGPL 旨在鼓励一些具有高度可重用性的代码(例如函数库)被更多的人使用和改进。 § MPL Mozilla 基金会推出的,它对软件的再发布做了以下规定: § 对于采用 MPL 的开源软件源代码所做的修改,必须继续以 MPL 发行。 § 对于采用 MPL 的开源软件的可执行形式,可采用其他许可证发行(包括专有软件)。 § 可以将采用 MPL 的开源软件的源代码与其它代码结合在一起形成一个广义作品,并将该广义作品以其它许可证发行(包括专有软件)。 § CDDL Sun 公司在 MPL 的基础上开发的,在一些条款上做了改进,与 MPL 没有本质上的不同。 § EPL 是由 Eclipse 基金会推出的,在软件再发布上的规定与 MPL 类似。 § 2 BSD 许可证对软件再发布只做了以下 2 条规定: /span> 再发布源代码时必须保留原著作权声明和本许可证的条款。 /span> 再发布二进制形式时必须在文档或其它附带资料中包含原著作权声明和本许可证的条款。 § 3 BSD 许可证比 2 BSD 许可证多了以下一条规定: /span> 在未得到书面许可的情况下不能使用著作权所有者的名称来签署或推广派生于本软件的产品。 § MIT 许可证又名 X11 许可证或 X 许可证,由麻省理工学院推出,它对于软件再发布只有一条规定: /span> 原著作权声明和本许可证条款必须出现在本软件的所有拷贝或实质性部分中。 § Apache 许可证由 Apache 软件基金会推出,与 BSD 许可证很类似,但其条款更为严谨,特别是对授权的描述更加清楚完整,是一个很成熟的商业友好的许可证。

思考题(使用开源软件的典型案例)

§ 案例一:张三下载了开源软件 A 的可执行形式并将它安装在自己的电脑中使用,并且下载学习其源代码。 § 案例二:甲公司开发的某软件产品需要动态链接开源函数库 B 但并不包含 B 。该软件使用非开源的商业许可证以二进制形式发行。 § 案例三:乙公司在其专有产品中包含了一个未作任何修改的开源函数库 C ,该产品调用 C 的公开的 API 完成特定的操作。该产品使用非开源的商业许可证以二进制形式发行。 § 案例四:丙公司将开源软件 D 的一段代码复制到其专有软件产品的一个源代码文件中并做了一些修改。该软件使用非开源的商业许可证以二进制形式发行。 § 案例五:丁公司将开源软件 E 的代码稍作改进后使用非开源的商业许可证以二进制形式发行。

3.1 招标书定义

3.3.2 可行性分析

4.1 产品构思

§ 立项建议小组要在宏观上搞清楚“开发什么”、“怎样开发”、“怎样赚钱”等重要问题。 § 产品构思的主要内容: /span> 待开发产品的主要功能; /span> 待开发产品的技术方案; /span> Make-or-Buy 分析; /span> 开发计划; /span> 市场营销计划。

Make-or-Buy分析

§ 确定产品中的哪些部分应当自行研发、采购或外包开发。 § Make-or-Buy 决定的依据包括: /span> 成本(包括初始成本和后续维护成本); /span> 风险; /span> 工作效率; /span> 知识产权; /span> ……

4.2 立项调查

§ 立项调查的目的是为产品构思和可行性分析提供充分的、有价值的信息。 § 立项调查的主要内容有 /span> 用户和 市场调查; /span> 政策调查 /span> 竞争对手和同类产品调查。

立项调查的方式

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年4月16日
下一篇 2018年4月16日

相关推荐