浅谈计算机软件工程的发展趋势与未来展望
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅谈计算机软件工程的发展趋势与未来展
望
随着我国科学与技术的不断发展和进步,计算机软件工程取得巨大的发展,同时,计算机软件工程的发展为我国社会经济发展也做出了非凡的成绩。计算机软件工程未来的发展趋势值得我们探寻和期望。面临着软件危机的凸显,需要进行解决,这就需要采用专业的应用计算机科学理论和工程管理原则以及方法,以预算和进度为原则,对软件产品的定义、开发、发布以及维护需要满足用户的要求的工程。这就是软件工程需要解决的问题。
1 计算机软件工程现状
1.1 计算机软件工程存在危机
计算机最早在军事领域得到应用,在20世纪中期,随着计算机技术不断发展和成熟,计算机开始逐步由军事领域向民用领域转化,但是,当时计算机硬件算是奢侈品,价格十分昂贵,虽说可以民用,但是用到的计算机的人屈指可数,当时计算机应用能力有限,这就要求程序员需要编写出体积小、执行速度快的程序适应计算机的运算节奏,而且在计算机程序中存在各种各样的问题需要去探知和解决。计算机使用范围不断扩大以及软件开发不断发展,促使了操作系统和编程语言不断扩大:第一代数据库管理系统的产生就是基于大量数据需要处理。随着计算机技术的不断普及和推广,使得软件规模也在逐步扩大,技术的复杂程度也越来越高,软件的可靠度也在逐步受到越来越多的人
关注。在此基础上,软件产量逐步增大,软件后期的管理和维护就显得越来越重要。原来软件的个人设计和使用方式已经不能满足现代人的需要,这就需要快速改变软件的生产方式,以提高软件的生产效率为宗旨,软件所面临的危机开始凸显,亟待解决。
1.2 软件危机如何产生
随着计算机技术的不断发展和进步,在这过程中就逐步产生了软件危机,软件危机的特殊性和危机主要表现在以下几个方面:首选是在软件的需求分析过程中,存在对用户对软件的描述在表达上存在漏洞,容易产生错误,而且还存在一些用户需要修改软件的界面、功能以及环境支撑等要求;其次是开发者针对用户的需要开发的软件与用户原始期望之间存在不同,这就导致研发的软件达不到用户的要求,而且在开发的过程中,用户对软件的描述不是很清楚,这就直接导致开发者与用户的理解存在偏差;然后是软件规模决定开发人数,一般大型软件项目需要组织人力去共同承担完成,而由于很多开发人员不具备管理人员在管理方面的经验,而很多管理人员却又不具备开发人员能够开发大型软件的经验和技术,这就会直接导致在软件开发的过程中会过分依赖程序员的技巧和创造性,逐步加剧了软件的个性化设计;最后,软件产品存在人类智力的局限性和产品的特殊性,这就会在面对相对复杂的问题,人们无法处理。
1.3 软件危机的具体表现
(1)软件开发充满了未知,这就决定了在软件开发的过程中对于成本不易控制预测。
(2)软件开发容易造成投资过高,而且成本不易控制。随着计算机技术逐渐民用化和普遍性,用户开发软件过程中,需要首先考虑的是成本和代价问题,而在程序员开发软件的过程中为了加快程序开发进度就会采用一些方法对用户的利益造成了损坏。
(3)开发人员与用户之间存在沟通问题,很多程序员不能完全理解用户的需求,而用户也不能理解计算机内部运行机制,两者存在沟通问题就直接影响到软件开发是否符合用户的需求。
(4)开发的软件的稳定性得不到有效保证。每一个软件都会存在错误,而且错误很难被人发现,很难被人发现的原因是在检测时使用了不恰当的检测手段,然而这些错误会直接导致无法避免的错误和损失。(5)维护软件难度大,软件是程序员开发者的思维活动,具有个性化,这就使得他人在软件维护上存在很大难度。
2 计算机软件工程未来的发展趋势与展望
在计算机领域,有一个著名的模型一直沿用至今,那就是冯诺依曼模型,虽然计算机在迅速发展,但是该模型却一直沿用至今,例如CPU计算能力的提升变得越来越困难,计算机未来的发展将会主要集中在需求工程、集成以及迭代,主要存在以下表现:
(1)计算机软件的需求工程。软件过程角色专业化,业务创新日益复杂,这些就会直接对需求获取的有效性和正确性提出更高的挑战和要求。软件工程主要的优势特点在于具有黑盒性质,该性质就避免了混入设计、分析以及实现细节等方面内容,这就一方面保证了非计算机人员能够准确的把握和理解,而且还能够专业人员能保证软件的安
全性能。
(2)迭代以及敏捷性在计算机软件工程中逐步形成标准。在计算机软件开发迭代化的发展中,程序员可以将整个项目的开发逐步划分为若干个小项目,划分小项目就会更加容易得以实现,随着软件技术的不断发展,如啊你按交付周期也在逐渐加快,划分小目标的标准时能够实现阶段性的要求,目前,在程序开发团队中,迭代化程序开发模式正在逐步推广,迭代化程序开发将会更加体现出敏捷的推动力,所以,程序开发团队掌握了迭代化程序开,就会在面临敏捷性问题,就会迎刃而解。在迭代化程序开发的过程中,敏捷是一种有效的导入方式。
(3)程序代码质量的保证可以通过持续集成的方式保证。在现代市场中,持续集成相关的工具逐步成为市场的热点。随着全球化进程的不断加快,全球化软件势必会走上全球化软件协作交付模式。随着软件市场的蓬勃发展和进步,程序软件的开发呈现出全球分布的状况,软件项目概念设计在美国完成,在欧洲完成软件系统的构架设计,在中国完成软件的编码和测试,而印度则成为了为软件用户提供售后支持,通过社区驱动软件交付,使得软件设计流程更加的人性化,而且有效提高软件设计的效率。
模块化软件设计在全球化市场竞争压力的增大带来了有效的竞争力,模块化软件设计的思想能够有效解决IT环境所面临的复杂程度和历史遗留问题。模块化设计的思想能够有效的解决企业所面临日益复杂的IT行业发展趋势,通过软件的应用打包,就会对企业的现有资产