信息技术工程学院。
11计科。纪月。
2023年10月18日应信息技术工程学院邀请,云南省优秀中青年破格教授、硕士生导师、昆明理工大学信息工程与自动化学院计算机系副系主任、昆明理工大学软件质量技术研究所所长、中国计算机学会软件工程专委会委员姜瑛教授做客我校,为信息技术工程学院师生作了题为“软件工程的发展”的学术报告。
在学术报告过程中,姜瑛教授的报告语言生动、案例切实,精彩的演讲,让我们对软件工程的了解也更加深入和具体。
20世纪50年代,软件伴随着第一台电子计算机的问世诞生了。以写软件为职业的人也开始出现,他们多是经过训练的数学家和电子工程师。2023年代美国大学里开始出现授予计算机专业的学位,教人们写软件。
在计算机系统发展的初期,硬件通常用来执行一个单一的程序,而这个程序又是为一个特定的目的而编制的。早期当通用硬件成为平常事情的时候,软件的通用性却是很有限的。大多数软件是由使用该软件的个人或机构研制的,软件往往带有强烈的个人色彩。
早期的软件开发也没有什么系统的方法可以遵循,软件设计是在某个人的头脑中完成的一个隐藏的过程。而且,除了源**往往没有软件说明书等文档。
为迎接软件危机的挑战,人们进行了不懈的努力。这些努力大致上是沿着两个方向同时进行的。
从管理的角度,希望实现软件开发过程的工程化。这方面最为著名的成果就是提出了大家都很熟悉的“瀑布式”生命周期模型。它是在60年代末“软件危机”后出现的第一个生命周期模型。
如下所示:
分析 → 设计 → 编码 → 测试 → 维护。
后来,又有人针对该模型的不足,提出了快速原型法、螺旋模型、喷泉模型等对“瀑布式”生命周期模型进行补充。现在,它们在软件开发的实践中被广泛采用。
这方面的努力,还使人们认识到了文档的标准以及开发者之间、开发者与用户之间的交流方式的重要性。一些重要文档格式的标准被确定下来,包括变量、符号的命名规则以及原**的规范式。
软件工程发展的第二个方向,侧重与对软件开发过程中分析、设计的方法的研究。这方面的重要成果就是在70年代风靡一时的结构化开发方法,即po(面向过程的开发或结构化方法)以及结构化的分析、设计和相应的测试方法。
软件工程的目标是研制开发与生产出具有良好的软件质量和费用合算的产品。费用合算是指软件开发运行的整个开销能满足用户要求的程度,软件质量是指该软件能满足明确的和隐含的需求能力有关特征和特性的总和。软件质量可用六个特性来作评价,即功能性、可靠性、易使用性、效率、维护性、易移植性。
软件不是纯物化的东西,其中包含着人的因素,于是就有很多变动的东西,不可能像理想的物质生产过程,基于物理学等的原理来做。早期的软件开发仅考虑人的因素,传统的软件工程强调物性的规律,现代软件工程最根本的就是人跟物的关系,就是人和机器(工具、自动化)在不同层次的不断循环发展的关系。
面向对象的分析、设计方法的出现使传统的开发方法发生了翻天覆地的变化。随之而来的是面向对象建模语言、软件复用、基于组件的软件开发等新的方法和领域。
与之相应的是从企业管理的角度提出的软件过程管理。即关注于软件生存周期中所实施的一系列活动并通过过程度量、过程评价和过程改进等涉及对所建立的软件过程及其实例进行不断优化的活动使得软件过程循环往复、螺旋上升式地发展。其中最著名的软件过程成熟度模型是美国卡内基梅隆大学软件工程研究所 (sei)建立的cmm,即能力成熟度模型。
此模型在建立和发展之初,主要目的是为大型软件项目的招投标活动提供一种全面而客观的评审依据,而发展到后来,又同时被应用于许多软件机构内部的过程改进活动中。
迄今为之,为了达到最初设定的目标,软件工程界已经提出了一系列的理论、方法、语言和工具,解决了软件开发过程中的若干问题,而软件工程正式从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。
姜瑛教授的报告会让我们对软件工程的发展历程和趋势、研究内容和方法等有了更为深入的认识,进一步激发了我们对软件产业的兴趣及关注。
软件工程心得体会
1.2需求分析的原则。1 需求分析必须能够表达和理解问题的数据域和功能域。数据域包括数据流 数据内容和数据结构,而功能域反映上述 3 方面的控制信息。2 需求分析要把一个复杂问题按功能进行分解并逐层细化。通常,软件系统要处理的问题如果太大 太复杂就很难理解,若划分成几部分,并确定各部分间的接口,就可...
学习软件工程的心得体会
软件工程学习心得体会1 整本书的内容逻辑很清晰明了,由浅入深循序渐进,首先我就大概描述下我们所学的内容,第一章是从整体分析软件工程这门学科的发展和所处的社会环境,接着后面的几章深入分析了软件开放过程和模式 软件项目管理 计算机工程 需求分析 结构化分析建模以及基于uml面向对象分析建模等。接着我就详...
学习软件工程的心得体会
软件工程学习心得体会1 整本书的内容逻辑很清晰明了,由浅入深循序渐进,首先我就大概描述下我们所学的内容,第一章是从整体分析软件工程这门学科的发展和所处的社会环境,接着后面的几章深入分析了软件开放过程和模式 软件项目管理 计算机工程 需求分析 结构化分析建模以及基于uml面向对象分析建模等。接着我就详...