王皓宇
摘 要:目前,面向对象的软件工程的应用在不断扩大,文章要对软件工程方法进行分析,并对面向对象的软件工程的定义、流程以及内容进行探讨,进一步提高软件工程的工作效率。
关键词:软件;工程;面向对象
中图分类号:TP311 文献标识码:A 文章编号:1006-8937(2015)02-0082-01
全國智慧城市是继数字城市之后信息化城市发展的高级形态,是以新一代信息技术为支撑,面向知识社会环境下的创新,而高效率的面向对象的软件工程,是建设智慧城市的坚实基础,所以需要深入研究。
1 软件工程的定义
软件工程是工程学科的一种,是对计算机开发和维护进行指导,在传统工程的方法以及原则上发展而来的,为了开发出高质量的软件,会使用到工程的方法、原理、概念,以及管理科学、数学以及计算机科学等学科的知识,结合管理技术和编程技术,开发出高质量的软件。其中在构建模型和算法时,使用数学和计算机科学。管理科学主要使用在成本、计划、资源方面。
2 软件工程的流程
2.1 软件的计划
确定设计任务之前,对其可行性进行研究,进行充分的调研,对工作范围和需要花费的资金进行调查,然后做出软件计划。
2.2 软件的需求分析
对用户的要求进行仔细的分析,明确用户要求软件系统做什么,分类整理成软件需求说明书,作为用户和软件人员之间的约定,一定要有具体用户的QQ号和微信,便于沟通。
2.3 软件的设计
从需求出发,对建立软件系统的"结构"进行充分的说明,主要包括模块结构和数据结构。软件设计主要包括详细设计和总体设计两个方面。
2.4 软件的编码
从软件设计的要求出发,给每个模块编写程序,采用一个用户喜欢的语言,便于用户自己维护。
2.5 软件的测试
程序中会存在人为和技术错误,需要通过测试来发现和排除后,才可以交付运行。软件测试分为综合测试和单元测试两种。
2.6 软件的维护
软件通过测试后还会存在错误,系统的操作环境和用户的需求也不断的更新,所以,交付运行后的软件需要进行扩充、修改以及排错。分为改正性、适应性、完善性、预防性四类,QQ号和微信此时就派上用场了。
3 面向对象的软件工程定义要点内容
3.1 面向对象的软件工程定义
面向对象技术(OO)是一种软件开发方法,非常便于沟通和修改,面向对象技术可以提高软件的修改性、稳定性、可重用性。面向对象方法要对系统进行分解,形成对象,通过对象之间的消息传递完成各种系统的功能,是当下软件工程中的主流技术。
3.2 面向对象的软件工程方法的要点
面向对象软件工程方法是尽可能对人类的思维方式进行模拟,把程序当做是离散的相互通信的对象集合,让认识世界的思维方法和用计算机求解问题的方法接近。目前,面向对象方法的特点主要有以下几个方面。
3.2.1 对象是面向对象技术的核心概念
对象定义为任何一个客体的行为方法和属性的封装。
3.2.2 继承性和类比性
下层对象会对上层对象的操作和特征属性进行继承,如果不同的对象的属性相同,那么就可以将其进行归为一类。
3.2.3 动态连接性
对象和对象之间具有统一、动态连接和传递消息的能力和机制。面向对象会对对象进行动态的链接,在这个过程中会使用到消息。面向对象技术和传统的模块调用是不同的,其主要使用了灵活的消息传递方法,因此在概念方面可以体现分布式和并行结构。
3.2.4 易维护性
任何一个对象都会将对象功能的细节隐藏在对象的内部,因此整个系统的可维护性就得到了增强。
3.3 面向对象软件工程的内容
面向对象软件工程包括:对象的建模技术OMT、面对对象的实现(OOP)、面向的对象分析OOA、面向对象的软件工程OOSE以及面向对象的设计OOD等,已经形成了一个严密的体系,拥有很丰富的技术资料,维护和扩展工作的开展变得非常顺利,软件工程的效率很高。
3.3.1 面向对象的分析OOA
主要是对问题域内的对象接线识别,以及关系的接线分析,分类总结构建正确的模型。
3.3.2 面向对象的设计OOD
就是用面向对象的观点建立求解域模型,主要有对象设计和系统设计两种。
3.3.3 面对对象的实现(OOP)
是对面向对象设计结果进行翻译,将用户书面意愿变为计算机语言,形成用某种程序设计语言书写的面向对象程序,然后测试和调试,交付用户。
3.3.4 类
将方法和属性相同的对象接线组合,这样就会形成一个类。其中,任何一个对象都是其所属类的实例。全部类可以组成带根的有向无环图,具有层次结构。任何类都可以对该层次中其他基类的全部方法和属性进行继承。
4 结 语
面向对象的软件工程中,编程所需要的面向对象的计算机语言很多,有Java、VB、VC、C#、C++、JavaScript和ExtJS等,目前编程效率最高的是JavaScript和ExtJS,特别适合用户的软件工程,例如智慧城市软件工程,他们都遵循上述关于面向对象的软件工程的建设规律。
参考文献:
[1] 徐静,陈秀万.我国智慧城市发展现状与问题分析[J].科技管理研究,2014,(7).
[2] 丰永庆,张磊.面向对象的可扩展计算机网络设计软件系统探讨[J].电脑知识与技术,2014,(23).
[3] 秦晓慧.计算机软件工程管理与应用探讨[J].信息与电脑(理论版),2012,(2).