软件工程开发与应用研究论文

发布时间:2018-04-10 21:32:14 论文编辑:anne
随着现代科学技术的发展,现代信息化的普及,对计算机硬件、软件的配置要求越来越高。我们需要了解计算机技术发展的历史和现状,并结合未来的市场前景做好自身的发展。计算机技术在发展的同时,相对于硬件配置而言,软件危机则更显得急迫。本文主要探讨了软件工程的开发与运用,促使计算机软件的健康、快速发展。
  
【关键词】计算机技术 ;软件 ;软件危机 ;软件工程


  从第一台计算机研制成功以来,计算机技术就一直在突破,随着现代科学技术的发展,现代信息化的普及,对计算机硬件、软件的配置要求越来越高。完整的计算机系统包括了有计算机硬件、软件、数据库管理系统、数据库管理员和用户这五大部分。相对于硬件基础配置的研发、生产而言,计算机软件的研发需要高技术、高人才的支持。软件和硬件都是计算机系统的重要组成部分,相对于硬件实体而言,软件包含了程序、数据和相关文档。当然这只是狭义的软件的概念,广义的软件还包括技术、人才、制度支持。从它的概念上来讲,软件和硬件区别是很大的。软件是抽象的集合体,不具有物理实在性 ;软件的研发没有明显的制作过程,而是人才和技术的衍生品 ;软件设计是非常复杂的,需要适应各行各业对计算机的需求,随着社会、经济的发展,这种需求矛盾就会不断加大 ;软件的开发对硬件和操作系统有严重的依赖性,因此它的研发也会受到一定限制 ;软件不同一般产品的单一性功能,它既是研发的产品,同时又作为开发其他产品的载体和平台,具有双重角色,因此必须从软件的研发与软件的管理上把控,保证软件研发的效率和质量。
  软件设计是异常复杂,需要人才和技术支撑,同时还要适应各行各业对计算机的需求,随着社会、经济的发展,这种需求矛盾就会不断加大,就会深化软件危机。软件危机具体指的是在计算机软件前期研发和后期维护上遇到的难以彻底解决的问题 :社会、经济发展对软件的需求矛盾 ;不断增长的软件数量和难以与之配套后期维护的矛盾。软件危机具体有以下因素 :用户的要求越来越高,经常对已研发产品不满意 ;软件开发管理不到位,进程缓慢,成本增加 ;一味追求软件的高产量,软件质量不过关,相应的后期维护难度加大 ;人才、技术投入成本提高。总的来说社会、经济发展对软件的需求矛盾 ;不断增长的软件数量和难以与之配套后期维护的矛盾导致的日益深化的软件危机除了软件自身的原因之外,还与软件开发、维护、管理的方法密切相关。
  计算机系统不断发展,从最初的人工管理阶段、文件系统阶段、数据库系统阶段和现在的面向对象的数据库管理阶段 ;计算机网络也从基础网络,到现阶段的高速智能网络,但是软件研发和维护的两大矛盾,即软件危机还没有得到有效解决,甚至在某种程度还有加深的趋势。早在上世纪中期以后就提出了软件危机的概念和试图解决软件危机的方法。1968 年,北约科技委员会就召开了大会,商议解决软件危机的对策,并且第一次提出了“软件工程”的概念。虽然软件研发和维护的两大矛盾,即软件危机还没有得到有效解决,甚至在某种程度还有加深的趋势 ;但是在软件工程提出开始,至今已经有 45年,还是取得了不错的发展。
  工程,是用在条件不确定,资源受到约束的情况下采取结构化、系统性的方法进行需求设计。软件设计是非常复杂的,需要适应各行各业对计算机的需求,随着社会、经济的发展,这种需求矛盾就会加大 ;还有开发与维护的矛盾都需要运用工程的概念去应对现有的软件危机。软件工程就是采用工程的概念、原理和方法对软件进行开发、维护和管理,由此可知软件工程主要包含了两大方面的内容,软件开发技术和软件工程项目管理,其中管理就包含了后期维护。
  软件工程包含了以下基本原理 :软件工程是结构化、可定量的工程,要分阶段对软件生命周期进行监控,严格管理 ;除了计划严格管理之外,还有分阶段进行评审,适时找到缺点并能够改善 ;严格进行产品质量控制,不能一味追求产品的数量,要质、量兼顾 ;采用现代、先进的程序设计方法 ;整个软件研发工程要组合清晰,减少软件硬件和开发人员的依赖性 ;还要不断改进软件工程实践,使工程化的方法更适应软件的开发与管理。软件前期研发与后期维护,以及整个项目的管理都需要关照软件的生命周期。软件生命周期是指从概念开始一直到最终软件产品停止使用的整个周期,包括了有概念设计、需求分析、具体设计、软件开发、软件测试、安装及使用、维护和最终停止使用的整个周期。
  软件项目管理包括的计划制定和具体实施。在具体软件项目进行之前,首先必须进行软件设计计划的制定,计划是完成软件研发的首要基础 ;然后才是具体项目的实施与监管,要能根据具体情况,进行合理调整,使得项目取得最优化发展。软件是为用户研发的,没有用户的需求,就谈不上软件的开发与维护,因此必须要充分了解用户的需求,使项目于用户需求之间达到一个很好的平衡。软件具体研发包括软件设计和软件测试。软件设计是软件研发最重要的一部分,没有具体的设计,就没有产品的研发。
  随着计算机技术的发展,软件设计方法也在不断发展,现在主要有面向对象的程序设计和面向过程的结构化程序设计等,现有的设计方法也在不断成熟发展,要根据具体的产品及用户的需求选择适合的方法。产品研发完成之后,不是马上投入使用,还需要进行软件测试。软件测试可以发现软件中的错误与疏漏,在软件投入使用之前根据测试结果进行改正,那么就不会影响用户的正常使用。社会、经济发展对软件的需求矛盾 ;不断增长的软件数量和难以与之配套后期维护的矛盾产生的软件危机,在目前来说,虽然没有得到彻底解决,但它不断促使计算机软件的发展与提升。