软件工程阅读笔记三

按照应用范围来划分,一般软件被分为系统软件,支撑软件,应用软件三类:

1.系统软件:支持计算机基本运行的软件。

2.支撑软件:支持各种软件开发和维护的软件。又称为软件开发环境(SDE)

3.应用软件:为某一领域某一目的建立起来的软件。

按照许可方式来划分,一般软件被分为专属软件,自由软件,共享软件,免费软件,公共软件五类。

1.专属软件:此类授权通常不允许用户随意的复制、研究、修改或散布该软件。违反此类授权通常会有严重的法律责任。传统的商业软件公司会采用此类授权,例如微软的Windows和办公软件。专属软件的源码通常被公司视为私有财产而予以严密的保护。

2.自由软件:此类授权正好与专属软件相反,赋予用户复制、研究、修改和散布该软件的权利,并提供源码供用户自由使用,仅给予些许的其它限制。以Linux、Firefox 和OpenOffice 可做为此类软件的代表。

3.共享软件:通常可免费的取得并使用其试用版,但在功能或使用期间上受到限制。开发者会鼓励用户付费以取得功能完整的商业版本。根据共享软件作者的授权,用户可以从各种渠道免费得到它的拷贝,也可以自由传播它。

4.免费软件:可免费取得和转载,但并不提供源码,也无法修改。

5.公共软件:原作者已放弃权利,著作权过期,或作者已经不可考究的软件。使用上无任何限制。

软件技术具有产品和产品生产载体的双重作用。

作为产品,软件显示了由计算机硬件体现的计算能力,扮演着信息转换的角色:产生、管理、查询、修改、显示或者传递各种不同的信息。

作为产品生产的载体,软件提供了计算机控制(操作系统)、信息通讯(网络)、以及应用程序开发和控制的基础平台(软件工具和环境)。

(1)形态特性:软件是无形的、不可见得逻辑实体。

(2)智能特性:软件是复杂的智力产品。

(3)开发特性:到目前为止软件开发任未实现自动化,其中包含了相当分量的个体劳动,使得这一大规模知识型工作充满了个人行为和个人因素。

(4)质量特性:软件产品的质量控制存在着一些实际困难,难于克服,表现为以下几个方面:

①在软件开发初期对于需求的不确定性,以及软件开发过程中的变更性,导致软件质量控制失去可参照性。

②软件测试技术存在不可克服的局限性。任何测试都只能在极大数量的应用实例数据中选取极为有限的数据进行测试。

③即使是已经长期使用或者多次反复使用的软件没有发现问题,也并不意味着今后的使用不会出现问题。

 

posted @ 2018-03-06 18:42  刘刘是个大天才  阅读(183)  评论(0编辑  收藏  举报