高赛
摘 要 目前,我国社会主义改革日益扩大市场经济份额,这使得软件工程在我国国民建设中的作用越发凸显。软件工程是一个综合学科,其涉及知识面很广,包括系统平台、模式设计、程序语言、软件开发、数据库等等。尤其对我们生活最为常用的操作系统、电子邮件、办公套件、游戏、人机交互界面等软件来说,几乎覆盖了社会上各个行业,包括工业生产、航空、农业、政府机构、银行等。根据软件工程自身特点,不断补充软件开发系统的知识,以此,进一步提升软件工程在科技发展中的中坚地位。
关键词 软件工程 系统开发 计算机领域
中图分类号:TP311.5 文献标识码:A
经过多年的发展,软件工程如今已经成为计算机领域中一门非常重要的学科。软件工程对于开发计算机功能,提高计算机的应用效率有着重要的作用。进入21世纪以后,软件工程已经全面应用于社会发展的各个行业。目前,软件工程的研究主要集中于软件构件技术、网络计算智能化、可靠性工程、中间件、标准化、软件重用等方面。时至今日,社会经济生产、人们生活交流都已经离不开软件工程的支持。在社会需求的刺激下,软件工程也朝着较高的水平飞速提升。
1 软件工程定义及发展现状
软件工程,就是利用工程化中的方法实现对软件的组建、测试和维护,以此提高软件的设计和使用效率。软件工程兴起于20世纪60年代,计算机的应用范围扩展到更多领域,导致使用者对软件系统功能的要求越来越高和软件系统自身复杂程度和开发难度在不断加大,软件的质量满足不了人们的需求。最后引发了“软件危机”,促进了软件工程的诞生。
在软件工程出现之初,欧美国家投入了大量的资金,制定了详细的发展规划,并取得了突破性的发展。在科学技术的推动下,软件工程逐渐走向了智能化、高集成化之路。软件工程是一门综合性极强的学科,该学科从无到有经历的发展阶段为:萌芽阶段、成长阶段、技术应用与研究阶段。在不同的阶段,软件工程完成了不同的任务。当今,软件工程已经成为计算机应用领域的核心技术,而且市场需求量尚在逐年攀升。
目前,国外的软件工程技术已经十分成熟,领域内常用的主流软件开发工具以及开发环境都是国外科学家设计研究的。而对于我国的软件工程发展而言,因为起步较晚,与国外软件工程技术相比,还存在着很多问题,但在利用国外技术经验的基础上,只用了数十年,我国科研部门已经研发出属于自己的软件技术,比如 XYZ 系统、B-45 系统等。
2 软件产品与传统产品之间的特征比较
软件是一种特殊的产品,更确切地说软件是一种基于源代码创造出来的作品,人们不能真实的看到它,却可以在实践应用过程中体验它的价值。
软件和传统的工业有着本质上的差别。传统工业的特点是,首先,要对产品进行精心的设计;其次,开始注入资金采购生产原材料,一切准备完成后开始产品投产;最后,销售产品获取较大的利润。软件的生产不同,它的主要投资成本就是前期开发设计过程成本、软件运行成本和后期维护成本,在生产线上进行批量生产时的投资较少。用户在购买其他产品后就有了它的所有权和使用权,可是用户买来的软件只有它的使用权。工业产品会随着时间的推移,产品会逐渐出现磨损、功能受损、运行缓慢等问题,而软件在使用过程中不会出现这些状况,只是会出现同一款软件在不断的更新,而不会影响到已购买产品的使用。
传统产品的整个生产过程是可见的,可以实际看到材料消耗量和产品进展情况。但是软件的开发基于运用不可见的代码编写程序,整个过程装在程序员的脑袋里,其他人无法得知程序进展情况。传统产品设计通过核定后,在生产过程中就很难做到临时改变方案,如确实需改动,要经过层层严格审批方可进行。但是软件工程具有其易变性,在开发过程中编程人员可以根据实际情况做适当调整。
3 软件工程中的方法和技术
经过几十年的发展,软件工程研究取得了重大性进步,虽然“软件危机”依然存在,但软件工程方法对软件行业还是起到了积极促进作用。下面从技术和管理两方面对软件的开发过程进行控制。
3.1技术角度
从技术角度分析,既要关注软件开发范型又要重视软件设计方法。前者关注软件工程的方向,也就是说怎样才能做到准确书写以满足需求的软件;后者则关注的是软件工程的途径,也就是说如何用低层概念模型反映高层概念模型。在实践中,软件的重复使用是软件工程理论的核心内容。根据目前工业产品的开发模式,软件复用是把已有的成果作为基础,利用在过去开发过程中总结的经验,应用在新的软件工程的开发,这样能减少重复劳动、减少工作量、降低复杂度。软件构件被应用于系统中可以明确辨识的部分,它是实现软件复用的关键技术,它包括源代码、需求、系统、软件体系结构等一切有利于开发活动的信息。其主要目的是从现有的系统中提取构件并进行构件生产,研究其本質特征和构件有怎样的联系、怎样描述构件、怎样对构件进行分类。
3.2工程管理角度
3.2.1探究管理方法的积极作用
由于结合软件工程开发和生产过程具有特殊性,因此要采取一套不同于其他项目管理的方法。新的管理方法应更具合理性、高效性、科学性等优点,确保工程化系统开发的顺利进行。软件管理方法实现了对成本、人员、质量、风险、文档进行控制,同时进行软件管理有利于把开发人员的个人能力转变成企业的开发能力,提高企业竞争能力,降低投资风险性。
3.2.2软件项目管理遵守原则
做好软件项目管理工作,要遵守以下几方面原则,第一,软件项目中需要处理好需求、资源、工期、质量四者之间的相互关系;第二,为了降低管理的风险,通常要根据实际生产要求把较大规模的项目拆分开;第三,制定一套具有合理性,科学性的措施来监控项目的进度;同时还能做到一旦发现问题就能够及时解决;第四,根据不同项目的工作需要,制订出不同的项目管理制度;第五,重视人员的思想道德教育,培养积极的工作态度,鼓励他们要把理论与实践相结合。
4 我国软件工程发展问题
就目前我国软件工程发展的现状而言,存在的主要问题有以下两大方面:(1) 缺乏完善的软件工程管理体制,导致软件工程开发团队的工作无法得到有效的协调,开发效率受到极大的限制。(2)对软件开发人员以及开发进度的控制力度不足,致使人员的稳定性下降,使得很多软件产品的生产效率低下,且产品质量降低。与此同时,部分软件的开发进度未控制好,使得软件产品的生产不能按时完成,项目延期现象频发。
5 软件工程的发展趋势
5.1全球化趋势发展
全球化是世界经济发展的总体趋势,对于软件工程来说亦是如此。发展到今天,软件工程开发已经不再是某个国家自身的发展。而且,仅仅依靠某个国家自身的实力难以实现软件工程技术的全面提升。鉴于此,全球化软件协作交互模式应运而生。随着软件外包市场的快速发展以及软件工程工具的进步,越来越多的企业开始缔造跨国合作的软件工程,他们在美国完成软件的概念设计,在欧洲完成软件的系统构架设计,在中国进行软件的测试,在印度为软件用户提供售后服务等。
5.2开放性趋势发展
就目前软件工程发展的现状而言,其发展趋势必然朝着“开放计算”的方向发展。所谓的开放计算,其包括了开放标准、开放架构、开源软件三个方面。通过统一的开放标准,不同企业开发的不同软件可以进行互联使用,不同软件开发工具可以集成使用,不同国家的技术经验能够实现更好的交流,用户在软件方面的投资能够得到更安全的保证。目前,开放架构最典型的代表当属“SOA”,这种开放架构的使用能够有效的解决IT 环境中复杂度之间的矛盾,可以简化商业模式,增加软件工程的灵活度。
5.3模块化趋势发展
随着软件市场的竞争压力加大,企业所面临的 IT 环境更为复杂,为了应对来自各方面的挑战,企业需要更多的创新能力和业务灵活性。模块化思想的出现,恰好可以帮助企业从根本上解决上述问题。模块化思想不仅可以通过抽象、分解、层次化、封装等科学方法对各种软件应用以及软件构件进行打包,提高企业的软件重用水平;同时,业界根据软件模块化思想,提出了SOA 技术,通过对现有软件系统以及各种软件资源进行有效的整合和重用,使得企业能够更好应对业务的灵活性要求。
参考文献
[1] 李辉.软件工程开发方法的现状与展望[J].福建广播电视大学学报,2011(03).
[2] 吴立國.软件工程发展综述[J].华章,2013(10).