软件(中国大陆及香港用语,台湾作软体,英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。简单的说软件就是程序加文档的集合体。
软件的特点
根据《2013-2017年中国软件行业市场前瞻与投资机会分析报告》统计分析,软件的特点主要是以下6个方面:
一、软件不同于硬件,他是计算机系统中的逻辑实体而不是物理实体,具有抽象性。
二、软件的生产不同于硬件,它没有明显的制作过程,一旦开发成功,可以大量拷贝同一内容的副本。
三、软件在运行过程中不会因为使用时间过长而出现磨损、老化以及用坏问题。
四、软件的开发、运行在很大程度上依赖于计算机系统,受计算机系统的限制,在客观上出现了软件移植问题。
五、软件开发复杂性高,开发周期长,成本较大。
六、软件开发还涉及诸多的社会因素。
软件可行性分析:
软件可行性研究是任何软件开发的第一步,其目的就是用最小大代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。软件可行性尘迟研究的任务主要分为三点,具体如下:
一、技术可行性
确定在现有资源(软件,硬件,技术人员)条件下,项目是否能实现。
二、社会可行性
要开发的项目是否存在任何侵犯,妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度,人员素质,操作方式是否可行。
三、经济可行性
进行开发成本的估算以及了解取得经济效益的评估,确定要开发的项目是否值得投资开发。相关文档:《可搏绝行性研究报告》、《项目开发计划》是一个管理性文档,说明项目的各项主要工作,双方应承担的责任,项目完成期限及其他条件限制。
著作权归属
根据《计算机软件保护条例》第10条的规定,计算机软件著作权归属软件开发者。因此,确定计算机著作权归属的一般原则是“谁开发谁享有著作权”。软件开发者指实际组织进行开发工作,提供工作条件完成软件开发,并对软件承担责任的法人或者非法人单位,以及依靠自己具有的条件完成软件开发,并对软件承担责任的公民。
我国法律除基兄姿规定了上述一般原则外,《计算机软件保护条例》自第11条至第14条还规定了软件著作权归属的几种特殊情况:
1.合作开发
合作开发者对软件著作权的享有和行使以事前的局面协议为根据,如无书面协议,其著作权由各合作开发者共同享有。合作开发的软件可以分割使用的,开发者对各自开发的部分可以单独享有著作权,但行使著作权时不得扩展到合作开发的软件整体的著作权。
2.委托开发
受他人委托开发的软件,其著作权的归属由委托者与受托者签订书面协议约定,如无书面协议或者在协议中未明确约定的,其著作权属于受委托者。
3.指令开发
为完成上级单位或政府部门下达的任务而开发的软件,著作权的归属由项目任务书或者合同规定;如项目任务书或者合同中未作明确规定,软件著作权属于接受任务的单位。
4.职务开发
公民在单位任职期间所开发的软件,如是执行本职工作的结果,即针对本职工作中明确指事实上的开发目标所开发的,或者是从事本职工作活动所预见的结果或者自然的结果则该软件的著作权属于该单位。
5.非开发
公民所开发的软件如不是执行本职工作的结果,并与开发者在单位中从事的工作内容无直接联系,且又未使用单位的物质技术条件,则该软件的著作权属于开发者自己。
6.载体
软件的载体可以是硬盘、光盘、U盘、软盘等数据存储设备。
开发流程
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。
软件开发流程即Softwaredevelopmentprocess。
软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。
1相关系统分析员和用户初步了解需求,然后列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。
2系统分析员深入了解和分析需求,根据自己的经验和需求做出一份文档系统的功能需求文档。这次的文档会清楚例用系统大致的大功能模块,大功能模块有哪些小功能模块,并且还例出相关的界面和界面功能。
3系统分析员和用户再次确认需求。
4系统分析员根据确认的需求文档所例用的界面和功能需求,用迭代的方式对每个界面或功能做系统的概要设计。
5系统分析员把写好的概要设计文档给程序员,程序员根据所例出的功能一个一个的编写。
6测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能,然后验收。