计算机软硬件发展的软件工程知识体系

计算机软硬件发展的软件工程知识体系

摘要:计算机硬件的性能直接决定着计算机的性能,现在的计算机经历了电子计算机、晶体管计算机、集成电路时代以及大规模集成电路时代,计算机今后的发展则与软件的发展有关,软件的发展决定计算机所能发展的高度。介绍了计算机硬件发展情况,对软件工程部分重要体系进行了描述,并对当前软件工程学科实践情况进行了分析,探讨了软件工程的发展方向以及未来的发展趋势。

关键词:计算机硬件;软件工程体系;软件工程学科;可发展方向

当今的计算机硬件系统结构还是依靠的是冯诺依曼机,硬件开发经过了很长的一段时间之后,4个重要阶段分别是拥有着计算机硬件经验的计算机:计算机晶体管,大型的集成电路,大规模和超大规模集成电路时代,而如今集成电路的发展已经接近尾声,需要突破新的技术,而处于核心地位的软件是计算机的灵魂,是计算机应用的关键,计算机的发展突破则可以从计算机软件上进行创新,以现有的硬件设施能更好地支持软件的开发,所以创立软件工程知识体系对服务用户能起到很好的作用,还能满足软件工程开发的各个阶段要求的工作。软件开发过程中需要满足开发,开发之后要能够运行,运行后要满足有问题需要维护的3个阶段。它们包括了从设计、编写代码,各类测试、以及用户确认验收和开发后的维护工作。软件工程课程更多的是偏向于应用软件以及设计软件,比较注重实操,同时软件工程实践教学对项目的实践是至关重要的,不仅要学习文化方面知识,更要注重实践教学质量,这些对培养优秀的毕业生有很大的关系。

1软件工程的发展

1.1软件工程学科确立

20世纪60年代末,计算机程序逐渐演变为了大型大规模的应用,从而在软件的开发上产生了高额的费用,越来越多的人都非常依赖用软件开发后的产品。一款好的软件产品能提高人们的工作水平,也让人们在应用领域上的一些研究与操作变得更加的轻松便捷。虽然程序的范围化后产生了许多成就,但是很多软件产品在开发的过程中在时间与质量上产生了很多问题。主要原因是:软件产品不是简单开发就能完成的,而是有很多复杂的小项目,具有隐蔽性和变异性,对一些问题的处理变得异常苦难。自己或团队开发的小方向的编程和过程并不是非常有效并且难以发挥在开发大型和复杂的系统。在20世纪80年代末90年代初,大规模集成电路的时代,硬件常常在电路中使用。在单主机计算模式中,占领主要位置的是瀑布模型的开发过程以及结构式过程语言编程泛型。软件周期合理的处理以及相应的软件开发规范,让人们开发软件变得更加的方便,使得软件工程在大规模集成电路时代得到飞速增长。软件工程开发使用瀑布模型使得软件生命周期的各个阶段得到了深入的研究和多层次的发展,奠定了软件工程学科的基础。2004年8月,当时数百位各个软件行业的专家通过软件开发实践以及软件工程的理论研究最终推出了软件工程知识体系,软件工程教育知识体的最终版本(SEEK),象征着软件工程学科成立为一个新的学科,在本科教育的水平上,软件工程以及各类计算机方向的工程学科都相应地迅猛发展,成为具有专业特点的独立学科。

1.2软件工程体系

软件工程组成结构中最重要的是软件需求的获取,需求决定了后序软件该如何设计,并且如何编写代码,其中结构中还有测试和维护阶段等。

(1)软件分析

软件分析由需求分析,以及对软件逻辑上是否行得通的可行性分析组成。软件需求分析是要合理地理解需求方的需求,要求你用软件去实现什么功能,并且在需求分析的时候要清除一些逻辑上的错误,将软件如何用编程语言实现的一个过程。系统的可行性分析是通过需求调查确定系统是否可行且在逻辑上无误。

(2)软件设计

系统设计主要包括了概要设计和详细设计。实际上,软件设计是要将每一个功能都划分成一个个的版块。概要设计是对软件的整个结构框架进行一个大概的设计,是为了设计出软件的各功能模块。详细设计是针对软件中的一些算法实现以及程序流程图的详细走向,其次要是要设计数据库来对软件进行数据的存储,一般来说都是结构化编程。

(3)软件构造

系统编码是指用计算机可以接受的语言如汇编语言,再者如高级的编程语言,当下流行的Java、C++等,即用编程语言编写的“源列表”。

(4)软件测试

系统测试的结果是发现错误,而不是很多程序人员以为的去测试程序是否符合期望。测试并不是只有测试阶段才会有的,从软件开发的第一步就已经开始,如H模型一样整个生命周期内的每一个阶段都会进行测试,这样才会使得后续的步骤中不会有过多的错误出现,是提高软件高质量的一个重要工作。

(5)软件维护

系统维护在软件开发后用户确认验收以后对软件产品中未来会出现的一些错误及反馈进行及时的修改。在软件产品运行一个阶段后,用户可能会要求更多的功能或需要对产品进行稍微的改变,用来满足新要求,对程序中出现的一些BUG进行修改,并且记录每次的修改的情况,更新产品维护文档从而修改软件也使得其他程序员易懂。在实际开发过程中,软件开发不是一蹴而就的,而是在之前完成的阶段中,通常会返回到前面的开发过程进行检查。在测试后假如有一些问题需要修改的话,用户和程序开发者可能会在过程中经过访谈后提出一些功能更改的需求。在一般情况下,软件开发设计和实现,是开发系统的过程中的一个链条,最重要的是软件的分析和设计。软件分析完整了,就能减少后面修改的变化;软件设计得更完善了,软件才会变得稳定并且拥有鲁棒性。因此它们通常就决定了软件产品的好坏以及生命质量。并且,打造一个优良的开发团队以及制定好完善的制度是一个优秀软件开发的必备因素。

1.3软件工程实践教学

在我国,有句老话:“工欲善其事,必先利其器。”软件工程实践教学亦是如此。想要在实践中的教学取得好的成功,教学的安排上就要因地制宜。在现在的大学软件工程的专业技术课堂上,已经可以改进到从之前的先理论后实践的方法到理论与实践结合授课,这样学生能够更好地接受到知识的应用。同时,讲师在授课时应注意使用实际举例来引起学生对编程的兴趣,题目不宜过易,否则会让学生觉得枯燥无味,而题目亦不宜过难,否则会让学生感到打击。兴趣是学习的老师,一定要培养起兴趣再进行教学任务。也要注重实践的考核,评估才能突出课堂质量的好坏,才能有力地证明实践效果。监督学生的课后实践作业情况,要让学生认真完成实践任务。

2发展方向

近年来,云计算、大数据、区块链等高新技术如雨后春笋般出现,软件产业也朝着优先集中于网络与服务的方向发展。它不仅在生活中增强了与其他行业的关联,而且融入了社会生活的各个方面,强烈地刺激了人们对软件技术的新消费向往。现如今共享系列产品越来越丰富,其中的公共数据得到了很好的利用,大量的数据流促进了各个共享技术的应用,并且对信息化高速发展而言,这样的大数据会在信息化发展中具有更深层次的价值。在智慧城市的建设中,问题的核心是能够拿出一个开放的数据资源,目前,许多城市之中许多开放的数据将不断融入进各个软件产品之中,从而使得城市农村都变得更加智慧智能化。巨大的数据量将形成一个具有关联性的平台,进一步推动中国在软件互联方向的创新。互联网+在当下是一个非常火的词语,与各行各业都都能进行关联,如互联网金融、互联网医疗、网络汽车等。“十三五”期间,互联网经济大力发展,更多的人开始从事软件相关专业,进行软件开发,逐渐庞大的业务规模,更多的软件产品开始合并成为新的技术或新产品。今后的软件行业智能化是一个大话题,将会陆陆续续地走向人们的生活,并且当前的5G技术也逐步地在开展研究,高智能高产业化高服务的软件将会应运而生,不断取代落后的技术。

3结语

软件工程专业在如今时代迅猛发展,随着当前国民经济的大力发展下,软件工程学科不断地转变为应用型实践类学科,软件专业有着强大的生命活力并且长时间不会衰退,但同时软件专业人才的增多,会加大就业竞争的压力。同时社会对实践型人才的需求量随着发展也会逐渐加大,所以教学必须要紧跟当前互联网态势下的发展趋势,找到因地制宜的对自己合理的发展方向。同时,软件工程未来可向行业化、移动化发展,以及向人工智能方向进行研究,将软件设计开发以及数据管理运用到人工智能中,将来的重点研究应在人工智能方面,如现在的智能机器人及无人驾驶汽车都还在不断的实践中,急需更多的更高素质的软件专业人才加入到智能的研究中,这一定是个非常可行未来重点领域,同时还有云计算大数据等领域成为了市场投资重点,这些都是未来的热门研究领域。不久的将来,软件行业会不断完善发展体系,对各个研究领域会有持续的细化。

参考文献

[1]重庆邮电大学.软件工程导论[S].重庆:重庆邮电大学,2017.

[2]于启红.浅析应用型本科院校软件工程专业人才培养[J].软件工程,2016,19(10):54-56.

[3]王志和,戴经国,王新辉.软件工程课程教学的研究与实践[J].电脑编程技巧与维护,2009,(20):127-128.

[4]韩中元,雷国华,李军,等.应用型本科软件工程人才培养模式的探索与实践[J].计算机教育,2010,118(10):26-29.

[5]陈资灿.中国软件产业的未来发展趋势[J].价格月刊,2000,(10).

作者:柯采 单位:重庆邮电大学软件工程学院