从第一台计算机研制成功以来,计算机技术就一直在突破,随着现代科学技术的发展,现代信息化的普及,对计算机硬件、软件的配置要求越来越高。完整的计算机系统包括了有计算机硬件、软件、数据库管理系统、数据库管理员和用户这五大部分。相对于硬件基础配置的研发、生产而言,计算机软件的研发需要高技术、高人才的支持。
1 计算机软件
1.1 计算机软件介绍
软件和硬件都是计算机系统的重要组成部分,相对于硬件实体而言,软件包含了程序、数据和相关文档。当然这只是狭义的软件的概念,广义的软件还包括技术、人才、制度支持。从它的概念上来讲,软件和硬件区别是很大的。软件是抽象的集合体,不具有物理实在性 ;软件的研发没有明显的制作过程,而是人才和技术的衍生品 ;软件设计是非常复杂的,需要适应各行各业对计算机的需求,随着社会、经济的发展,这种需求矛盾就会不断加大 ;软件的开发对硬件和操作系统有严重的依赖性,因此它的研发也会受到一定限制 ;软件不同一般产品的单一性功能,它既是研发的产品,同时又作为开发其他产品的载体和平台,具有双重角色,因此必须从软件的研发与软件的管理上把控,保证软件研发的效率和质量。
1.2 软件危机
软件设计是异常复杂,需要人才和技术支撑,同时还要适应各行各业对计算机的需求,随着社会、经济的发展,这种需求矛盾就会不断加大,就会深化软件危机。
软件危机具体指的是在计算机软件前期研发和后期维护上遇到的难以彻底解决的问题 :社会、经济发展对软件的需求矛盾 ;不断增长的软件数量和难以与之配套后期维护的矛盾。
软件危机具体有以下因素 :用户的要求越来越高,经常对已研发产品不满意 ;软件开发管理不到位,进程缓慢,成本增加 ;一味追求软件的高产量,软件质量不过关,相应的后期维护难度加大 ;人才、技术投入成本提高。总的来说社会、经济发展对软件的需求矛盾 ;不断增长的软件数量和难以与之配套后期维护的矛盾导致的日益深化的软件危机除了软件自身的原因之外,还与软件开发、维护、管理的方法密切相关。
2 软件工程
2.1 概要
计算机系统不断发展,从最初的人工管理阶段、文件系统阶段、数据库系统阶段和现在的面向对象的数据库管理阶段 ;计算机网络也从基础网络,到现阶段的高速智能网络,但是软件研发和维护的两大矛盾,即软件危机还没有得到有效解决,甚至在某种程度还有加深的趋势。早在上世纪中期以后就提出了软件危机的概念和试图解决软件危机的方法。1968 年,北约科技委员会就召开了大会,商议解决软件危机的对策,并且第一次提出了“软件工程”的概念。虽然软件研发和维护的两大矛盾,即软件危机还没有得到有效解决,甚至在某种程度还有加深的趋势 ;但是在软件工程提出开始,至今已经有 45年,还是取得了不错的发展。
2.2 软件工程的发展
工程,是用在条件不确定,资源受到约束的情况下采取结构化、系统性的方法进行需求设计。软件设计是非常复杂的,需要适应各行各业对计算机的需求,随着社会、经济的发展,这种需求矛盾就会加大 ;还有开发与维护的矛盾都需要运用工程的概念去应对现有的软件危机。软件工程就是采用工程的概念、原理和方法对软件进行开发、维护和管理,由此可知软件工程主要包含了两大方面的内容,软件开发技术和软件工程项目管理,其中管理就包含了后期维护。
软件工程包含了以下基本原理 :软件工程是结构化、可定量的工程,要分阶段对软件生命周期进行监控,严格管理 ;除了计划严格管理之外,还有分阶段进行评审,适时找到缺点并能够改善 ;严格进行产品质量控制,不能一味追求产品的数量,要质、量兼顾 ;采用现代、先进的程序设计方法 ;整个软件研发工程要组合清晰,减少软件硬件和开发人员的依赖性 ;还要不断改进软件工程实践,使工程化的方法更适应软件的开发与管理。软件前期研发与后期维护,以及整个项目的管理都需要关照软件的生命周期。软件生命周期是指从概念开始一直到最终软件产品停止使用的整个周期,包括了有概念设计、需求分析、具体设计、软件开发、软件测试、安装及使用、维护和最终停止使用的整个周期。
3 软件生命周期的管理
3.1 项目管理
软件项目管理包括的计划制定和具体实施。在具体软件项目进行之前,首先必须进行软件设计计划的制定,计划是完成软件研发的首要基础 ;然后才是具体项目的实施与监管,要能根据具体情况,进行合理调整,使得项目取得最优化发展。
3.2 需求管理
软件是为用户研发的,没有用户的需求,就谈不上软件的开发与维护,因此必须要充分了解用户的需求,使项目于用户需求之间达到一个很好的平衡。
3.3 软件具体研发管理
软件具体研发包括软件设计和软件测试。软件设计是软件研发最重要的一部分,没有具体的设计,就没有产品的研发。
随着计算机技术的发展,软件设计方法也在不断发展,现在主要有面向对象的程序设计和面向过程的结构化程序设计等,现有的设计方法也在不断成熟发展,要根据具体的产品及用户的需求选择适合的方法。产品研发完成之后,不是马上投入使用,还需要进行软件测试。软件测试可以发现软件中的错误与疏漏,在软件投入使用之前根据测试结果进行改正,那么就不会影响用户的正常使用。
4 总结
社会、经济发展对软件的需求矛盾 ;不断增长的软件数量和难以与之配套后期维护的矛盾产生的软件危机,在目前来说,虽然没有得到彻底解决,但它不断促使计算机软件的发展与提升。
【参考文献】
[1] 蒋明远 . 关于软件工程需求分析探究 [J]. 商场现代化 ,2010,(09)
[2] 刘征 . 软件开发框架模型——现实世界的结构化分析 [J]. 电脑编程技巧与维护 ,2011, (04)
[3] 吴淑婷 . 软件工程在国内的发展趋势研究 [J]. 青春岁月 ,2012,(14)
1软件发展危机1.1软件的定义及特点软件是按照顺序组织的计算机数据和指令的集合。一般软件被分为系统软件、应用软件和编程语言。其中系统软件为计算机使用提供最基本的功能,最基础的软件就是操作系统;应用软件是在系统软件的基础上衍生出来的为用户提...
随着网络信息时代的到来,人们的生活中越来越离不开手机、电脑等电子产品。他们可以通过软件购买商品、点餐、预约车等服务。...
随着虚拟现实技术(VR)的发展和社会需求,VR技术应用在各个行业中,其在室内设计中的应用不仅体现在室内设计效果图的沉浸式虚拟展示,而且逐渐蔓延到通过VR室内设计软件进行同步设计,交互性和构想性使得VR室内设计软件为用户提供了超于传统室内设计软件的使...
计算机已经经历了四代的发展历程,从电子计算机到晶体管计算机时代,再从集成电路计算机时代到大规模集成电路计算机时代,这一路的发展表现出了计算机的发展速度,同时这也为计算机软件开发的发展打好了坚实的基础。...
在高需求、高投入、高竞争的环境下, 软件生产的规模和效率成为软件企业最关注的问题之一。在传统软件开发过程中, 大多数软件代码的生产要依靠程序员人工完成, 为软件开发带来了大量问题。...
1软件工程需求分析综述.通常情况下一个完整的软件开发链条中包括前期的需求分析与软件综合设计与中期的软件代码编写以及后期的软件测试以及维护过程.而其中最重要的就是前期进行良好的软件工程需求分析,只有在深入、准确分析的基础之上才能有序、合理的进...
3.5系统安全性设计为保证进销存管理系统信息安全性需求,需要对系统的信息传递、数据库储存、网络传输、系统操作等方面进行设计。系统安全性设计主要从用户管理、存取控制管理、数据加密管理、系统访问审查、系统备份和恢复等方面进行设计。1、用户管理:...
1引言我国信息化建设突飞猛进的发展,给我们的工作和生活带来很多便捷。无论是在学校、军营,还是机关、农村,信息化覆盖率越来越高,让人们真切感受到科技带来的独特魅力,人们可以足不出户就能体验到科技给予我们的全新的感受。科技让我们距离世界很近;...
酒店管理系统需要进行一定改变,有效运用信息技术实现酒店管理系统与信息技术的融合,增强酒店管理系统智能化、信息化、科学化,提升酒店管理工作质量,满足客户异质性需要,促进酒店走可持续发展路径。...
随着计算机技术的不断发展,软件的复杂性逐渐升高,用户对于各种软件的要求也逐渐提高,而软件在运行过程中难免会出现漏洞或故障,因此软件测试技术的应用就显得极为重要。本文就计算机软件测试方法和应用进行分析。...