1 软件发展危机
1.1 软件的定义及特点
软件是按照顺序组织的计算机数据和指令的集合。一般软件被分为系统软件、应用软件和编程语言。其中系统软件为计算机使用提供最基本的功能,最基础的软件就是操作系统 ;应用软件是在系统软件的基础上衍生出来的为用户提供不同功能的软件系统,比如说财务系统 ;教务管理系统等等 ;编程语言就是设计软件最基本的开发语言,有 Java,C,C++,php等多种语言。
计算机软件与硬件同样是支持计算机运行的重要组成部分,但是软件与硬件有着非常大的区别。软件不同于硬件 ;硬件是具体的物理实体,而软件只是逻辑上的存在,具有很强的抽象性 ;软件的生产没有明显的制作、加工过程,一旦软件研发成功,可以广泛的应用,但硬件有明显的制作过程,应用范围具有单一性 ;软件在具体使用过程中,不会出现因为使用时间长,机器老化等问题出现状况 ;软件的研发极大程度上依赖于计算机系统,如果计算机系统暂时无法支持,那么就会影响软件的开发和正常运行 ;软件开发复杂性高,开发周期长,成本较大 ;最后软件开发还涉及诸多的社会因素。
1.2 软件危机的出现
上世纪中期,计算机走向了广泛的民用行业。传统软件开发复杂性高,开发周期长,成本较大,可维护性较差这些问题都导致了传统的软件开发无法满足市场需求,因此导致了“软件危机”。 软件工程建设是一项复杂的工作,包括了有设计模式的选定、设计标准的设置、程序设计语言的选择和软件开发工具的选用等等。
尤其是在软件行业发展还不够完善的时期,更需要结构化的程序设计方法,将复杂的工作从结构上予以简化,从而得到简洁、清晰的程序。软件工程就是研究利用工程化方法开发和维护有效、实用并且高质量软件的一项工程。“软件工程”这一概念在 1968 年的 NATIO 会议上第一次被提出,这时就初步明确了将传统软件开发的个体化行为转化为结构化的工程协作。
在软件危机的促使下,形成了一门新型学科——软件工程,在计算机专业发展的如火如荼的今天,软件工程虽属新型学科,但是它在软件工程管理和技术支持上都有了一定的发展。
2 软件工程的技术和管理
自上世纪中后期以来软件危机的爆发后,结构化的软件工程学科逐渐发展。
虽然软件开发复杂性高,开发周期长,成本较大,可维护性较差这些问题目前还没有办法解决,但是从软件工程的技术层面和软件工程管理层面来说都有了一定程度上的提升。
2.1 软件工程的技术层面
软件工程建设是一项复杂的工作,包括了有设计模式的选定、设计标准的设置、程序设计语言的选择和软件开发工具的选用等等。从技术层面来讲主要包含了软件设计方法和软件开发范型,选定怎样的方法从正确途径完成软件设计和怎样的范式去开发适应需求的软件。
在技术上注重软件的可重复性使用,在借鉴成熟工业产品的开发范式上进行软件研发,这不仅借助了他人优秀的成果,更避免的不必要的人力资源浪费,可以更好地投入到新产品的开发,提高软件开发的效率,提升软件质量。目前关于软件复用技术主要包括了软件构件技术、领域工程和软件体系结构等。
软件构件技术要能明确辨别构成成分,其中可复用构件包括了需求、文档、测试计划、测试用例和数据等其他对开发活动有用的信息。作为软件复用技术的核心部分需要在现有系统中提取有用构件 ;了解构件的性质、特征和相互之间的关系以及怎样对现有构件进行分类查询等。
软件可重复性性使用不仅借助了他人优秀的成果,更避免的不必要的人力资源浪费,还可以更好地投入到新产品的开发,所以软件复用技术在一定领域范围内更容易取得作用。这就导致了软件工程的领域工程的出现。
2.2 软件工程的管理层面
软件工程是一项复杂的工程,因此软件工程管理也是非常复杂的,它包括人的管理、组织机构管理和用户管理三大层面。计算机软件行业是知识密集、人才密集型行业,因此在整个研发、生产的过程中,人是贯穿始终的重要部分,因此人员的管理非常重要 ;人的管理是最基础的,还要加强组织机构管理,组织机构强调的是组织的系统协调性,不是松散的人员组织,创建好的组织机构需要发挥各项人员的优势,并将优势整合,促进整体的发展 ;最后最重要一点是,软件虽然不同于一般的产品,但它作为一种特殊的产品,它的对象依然是用户 ;可以说没有用户需求就没有软件行业的蓬勃发展,因此用户管理需要时刻关注用户的需求。
因此完善软件工程管理需要建立健全计算机软件工程管理体系,要从制度上予以规范,让具体项目执行有度可依,完善激励措施,奖罚分明,奖罚有度,使得管理工作得以顺利高效进行 ;注重团队化建设,加强团队协作性,人才其才,人尽其用,为团队的发展谋福利 ;还要专门制定具体项目的进度和风险管理预警机制,结合具体实际,进行监督管理 ;最后还要充分利用现代信息技术的先进成果,采用精研——软件工程管理平台,更好控制项目成本、进度等可调控因素,使得软件供应和需求双方能够共赢。
3 总结
现代信息技术的飞速发展,使得计算机软件所面临的环境开始从静态封闭逐步走向动态、多样化。现在软件工程的发展必须努力改变自己去不断适应这样的形态,取得自身在技术上的突破,在管理上的创新,这样才能不断提高软件研发效率,大力提升软件质量。
【参考文献】
[1] 王博然 ;苏钢 . 软件工程的历史与发展趋势 [J]. 北京工业职业技术学院学报 ,2008(03)
[2] 仲萃豪 ;詹少梅 . 从认知观看“软件危机”是怎样解决的 [ J]. 程序员 , 2006, (08)
[3] 杨芙清 . 软件工程技术发展思索 [J]. 软件学报 ,2005, (01)
随着网络信息时代的到来,人们的生活中越来越离不开手机、电脑等电子产品。他们可以通过软件购买商品、点餐、预约车等服务。...
随着虚拟现实技术(VR)的发展和社会需求,VR技术应用在各个行业中,其在室内设计中的应用不仅体现在室内设计效果图的沉浸式虚拟展示,而且逐渐蔓延到通过VR室内设计软件进行同步设计,交互性和构想性使得VR室内设计软件为用户提供了超于传统室内设计软件的使...
1开发背景教育信息化的实施,自上至下而言,必须与学校的制度创新、组织创新和管理创新结合;自下至上而言,必须以作为学校主体的工作人员使用信息技术水平的逐步提高为基...
0引言管理信息系统(简称MIS)是一个供使用者利用计算机、网络通信设备以及其他办公设备,对所需的信息进行采集、传输、处理、格式转换及存储、信息更新、功能拓展和维护的系统。[1]我国高等职业教育虽然起步比较晚,但在高等教育大众化的今天,高等职业教...
第3章系统设计3.1数据库设计3.1.1概念结构(1)住户信息数据库结果设计,通过对以往小区物业管理实际需求情况及常用的信息分析,其住户信息主要包括了住户编号、房屋编号、户主名称、联系电话以及联系地址等信息,其结果图如图3.1所示。3.1.2实...
计算机已经经历了四代的发展历程,从电子计算机到晶体管计算机时代,再从集成电路计算机时代到大规模集成电路计算机时代,这一路的发展表现出了计算机的发展速度,同时这也为计算机软件开发的发展打好了坚实的基础。...
本文首先对学生宿舍管理系统进行了需求分析,然后又介绍了学生宿舍管理系统的整体设计,将系统分成用户信息管理、学生信息管理、报修信息管理和检查信息管理四个模块,最后对系统各模块设计进行了简单的概述。...
阐述了协同设计的方式方法一部分是已有实际工程应用经验的总结,还有一部分则是在PDMS软件平台上各专业协作设计的尝试和探索。...
1、概述随着教育信息化进程推进,高职院校的教务管理也逐步推进信息化建设。传统的教务管理系统都是基于B/S架构的业务系统,其功能覆盖了教务管理的大部分核心功能,如学籍、教学计划、教学资源、教学任务、排课、选课等,但是这些核心功能的信息流向都呈...
第一章绪论1.1课题的背景及意义。随着计算机技术的发展,计算机应用逐渐由大规模科学计算转向以数据库管理系统为开发环境,对大规模的事务处理和对工作流管理的管理信息系统[1-2].计算机已经渗入到了我们日常生活、工作和学习的方方面面,同时也包括了...