Ⅰ 软件工程是如何克服软件危机的
研制软件系统需要投入大量的人力和物力,但系统的质量却难以保证,也就是说,开发软件所需的高成本同产品的低质量之间有着尖锐的矛盾,这种现象就是所谓的“软件危机”。
· 产生软件危机的原因:
j 用户对软件需求的描述不精确,可能有遗漏、有二义性、有错误,甚至在软件开发过程中,用户还提出修改软件功能、界面、支撑环境等方面的要求。
k 软件开发人员对用户需求的理解与用户的本来愿望有差异,导致开发出来的软件产品与用户要求不一致。
l 大型软件项目需要组织一定的人力共同完成,多数管理人员缺乏开发大型软件系统的经验。各类人员的信息交流不及时、不准确、有时还会产生误解。
m 软件项目开发人员不能有效地、独立自主地处理大型软件的全部关系和各个分支,因此容易产生疏漏和错误。
n 缺乏有利的方法学和工具方面的支持,过分的依靠程序设计人员在软件开发过程中的技巧和创造性,加剧软件产品的个性化。
o 软件产品的特殊性和人类智力的局限性,导致人们无力处理“复杂问题”。
· 要克服软件危机,就要认真分析软件危机的原因,探索用工程的方法进行软件生产的可能性,即用现代工程的概念、原理、技术和方法进行计算机软件的开发、管理、维护和更新。
2. 什么叫软件工程?软件工程的诞生是否从根本上消除了软件危机? 为什么?
解:· 软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法。
· 软件工程的诞生只能大大减少软件开发成本并提高软件质量,不能从根本上消除软件危机。
3.软件生存周期为什么要划分阶段?各个阶段的任务是什么?
解:· 软件也是一种产品,同样存在生存周期。把软件生存周期划分为几个阶段后,软件开发按照每个阶段的基本任务进行并产生相应的工作结果,这样有利于对软件开发过程进行管理,有利于提高软件产品质量。
· 可行性研究与计划阶段的基本任务:研究开发该项目的可行性。
需求分析阶段的基本任务: 理解和表达用户的要求。
设计阶段的基本任务: 建立系统的结构。
编程阶段的基本任务: 编写程序。
测试阶段的基本任务: 发现错误和排除错误。
4.什么是软件?如何评价软件的质量?
解:· 软件是程序以及开发、使用和维护程序所需的所有文档。
· 软件质量从可维护性、可靠性、可理解性和效率等方面对软件作较全面的评价。
求采纳为满意回答。
Ⅱ 软件工程开发过程中应注意的问题
需求调研分析、概要设计、详细设计、编码、测试、软件交付准备、验收
Ⅲ 软件工程是如何克服软件危机的
研制软件系统需要投入大量的人力和物力,但系统的质量却难以保证,也就是说,开发软件所需的高成本同产品的低质量之间有着尖锐的矛盾,这种现象就是所谓的“软件危机”。
· 产生软件危机的原因:
j 用户对软件需求的描述不精确,可能有遗漏、有二义性、有错误,甚至在软件开发过程中,用户还提出修改软件功能、界面、支撑环境等方面的要求。
k 软件开发人员对用户需求的理解与用户的本来愿望有差异,导致开发出来的软件产品与用户要求不一致。
l 大型软件项目需要组织一定的人力共同完成,多数管理人员缺乏开发大型软件系统的经验。各类人员的信息交流不及时、不准确、有时还会产生误解。
m 软件项目开发人员不能有效地、独立自主地处理大型软件的全部关系和各个分支,因此容易产生疏漏和错误。
n 缺乏有利的方法学和工具方面的支持,过分的依靠程序设计人员在软件开发过程中的技巧和创造性,加剧软件产品的个性化。
o 软件产品的特殊性和人类智力的局限性,导致人们无力处理“复杂问题”。
· 要克服软件危机,就要认真分析软件危机的原因,探索用工程的方法进行软件生产的可能性,即用现代工程的概念、原理、技术和方法进行计算机软件的开发、管理、维护和更新。
2. 什么叫软件工程?软件工程的诞生是否从根本上消除了软件危机? 为什么?
解:· 软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法。
· 软件工程的诞生只能大大减少软件开发成本并提高软件质量,不能从根本上消除软件危机。
3.软件生存周期为什么要划分阶段?各个阶段的任务是什么?
解:· 软件也是一种产品,同样存在生存周期。把软件生存周期划分为几个阶段后,软件开发按照每个阶段的基本任务进行并产生相应的工作结果,这样有利于对软件开发过程进行管理,有利于提高软件产品质量。
· 可行性研究与计划阶段的基本任务:研究开发该项目的可行性。
需求分析阶段的基本任务: 理解和表达用户的要求。
设计阶段的基本任务: 建立系统的结构。
编程阶段的基本任务: 编写程序。
测试阶段的基本任务: 发现错误和排除错误。
4.什么是软件?如何评价软件的质量?
解:· 软件是程序以及开发、使用和维护程序所需的所有文档。
· 软件质量从可维护性、可靠性、可理解性和效率等方面对软件作较全面的评价。
Ⅳ 软件工程专业发展问题
就业方向 本专业学生毕业后可以从事各级各类企事业单位的办公自动化处理、计算机安装与维护、网页制作、计算机网络和专业服务器的维护管理和开发工作、动态商务网站开发与管理、软件测试与开发及计算机相关设备的商品贸易等方面的有关工作。 除考取国内外名牌大学研究生外,主要毕业去向是计算机软件专业公司﹑信息咨询公司﹑以及金融等其它独资、合资企业。 就业前景 中国的软件行业规模不是很大,有些软件企业在软件制作上,也只是采用了一些软件工程的思想,距离大规模的工业化大生产比较还是有一定的差距;原因有管理体制的问题,市场问题,政策问题,也有软件工程理论不全面和不完善的问题。所以软件工程的研究和应用,以及中国软件行业的进一步发展,都需要一定的既有软件工程的理论基础和研究能力,又有一定的实践经验的软件工程科学技术人员来推动。软件工程的前途是光明的。
Ⅳ 关于软件工程专业的发展方向的建议
,net
Ⅵ 软件工程发展趋势
软件工程发展方向主要有四个方向,软件项目管理,软件框架设计,软件品质管理,软件运行维护。软件项目管理指管理整个软件开发过程,包括需求分析,人员配置,软硬件设施,与客户沟通等等,贯穿这个开发流程,当软件开发结束后才终止。软件框架设计指开发一套成熟的软件设计方法或架构,能够指导程序开发人员进行软件设计,且节约开发时间,且做出的系统安全稳定。软件品质质量管理指开发出的软件符合用户设想的目标,满足时间操作的功能,符合需求,且能在实际中运行。软件运行维护指软件后期管理维护升级,由于软件开发过程中难免会留有bug,在系统运行阶段才暴露出来,这就需求软件升级、更新,确保软件质量。
Ⅶ 什么是软件工程它可以解决什么问题
软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、
技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够
得到的最好的技术方法结合起来,这就是软件工程。
软件工程(SoftWare Engineering)的框架可概括为:目标、过程和原则。
(1)软件工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程度。这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。
(2)软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。
(3)软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。
Ⅷ 软件工程将来会怎样发展
这个问题很复杂,恕在下自不量力说几句。
软件工程的目标是最小的成本、最高的质量、最短的开发时间开发软件产品。眼下流行的各种软件工程方法对这个目标的实现都差强人意。以RUP为代表的重量方法用来做计划、准备的时间太多,真正用在开发的精力却很少,以为只要企业保证软件过程的实施,其他的事情都好办,这种极端压抑人性的方法不会取得很好效果。轻量方法要好一些,毕竟绝大部分注意力都在开发上,大家都很喜欢,可是仅依靠少数几个人,对付不了大型项目。当然,大家都在改进各自的缺点,吸收对方的优点。
G.Booch说过,自动化不足是软件开发过程中大量问题存在的重要原因,在下深以为然,并且认为是最小的成本、最高的质量、最短的开发时间之目标难以实现的根本原因。因此,将来的软件工程必然要发展到以软件自动化技术为核心的阶段——4GL时代。
为什么4GL时代还没有来临,这是因为软件自动化太困难,眼下所取得的成果局限在某些很窄的领域内,达不到实际项目要求,而且这种技术太难理解,需要对理论的深入学习,一般的开发人员难以接受。软件自动化技术没有大发展的重要愿意是目前描述动作语义的技术都很低级,因此即便用形式化方法作设计也是很费时间的,虽然可以提高一定的效率,但是还是远远不够的。
为了解决这个问题,只有从利用以前的成果入手了,也就是复用构件,但不是用今天的构件技术。将来,实现了机器检索的大型构件库,这是计算机实现对构件的查找、转配等自动化的构件库,不是今天的手工构件库。但这样的构件库为什么没有出现,还是老问题,我们还没有一个很理想的描述动作语义的方法,计算机无法判定两个构件或规约和构件之间是否等价,或者有等价的成分,当然也就无法进行自动检索了。
虽然有很多困难,但我相信将来软件工程的发展方向必将是高度自动化的构件式开发方法。
上面说的,完全是个人观点,也许不足采信。