太原理工大学软件工程-第一章软件工程概述
- 格式:ppt
- 大小:303.50 KB
- 文档页数:61
第一章软件工程概述1.1软件工程的产生和发展软件工程是在克服60年代末所出现的“软件危机”的过程中逐渐形成与发展的。
自1968年在北大西洋公约组织(NATO)举行软件可靠性的学术会议上正式提出“软件工程(Software Engineering)”的概念以来,在不到40年的时间里,软件工程在理论和实践两方面都取得了长足的进步。
软件工程是一门指导计算机软件系统开发和维护的工程学科,是一门新兴的边缘学科,它涉及到计算机科学、工程科学、管理科学、数学等多学科,软件工程的研究范围广,不仅包括软件系统的开发方法和技术、管理技术,还包括软件工具、环境及软件开发的规范。
软件是信息化的核心,国民经济、国防建设、社会发展及人民生活都离不开软件。
软件产业关系到国家经济发展和文化安全,体现了国家综合实力,是决定21世纪国际竞争地位的战略性产业。
因此大力推广应用软件工程的开发技术及管理技术,提高软件工程的应用水平,对促进我国软件产业与国际接轨,推动软件产业的迅速发展起着十分重要的关键作用。
1.1.1 软件工程的发展过程软件工程的产生和发展是与软件的发展过程紧密相关的。
自从第一台电子计算机诞生以来,就开始了软件的生产,“软件工程”提出至今,它的发展已经历了四个重要阶段:1.第一代软件工程(60年代末到70年代)60年代末,软件生产主要采用“生产作坊方式”。
随着软件需求量、规模及复杂度的迅速增大,生产作坊的方式已不能够适应软件生产的需要,出现了所谓“软件危机”,即软件生产效率低,大量质量低劣的软件涌入市场或在开发过程中夭折。
由于“软件危机”的不断扩大,对软件生产已经产生了严重危害。
为了克服“软件危机”(Software crisis),在著名的NATO(北大西洋公约组织)软件可靠性会议上第一次提出“软件工程”的名词,将软件开发纳入了工程化的轨道,基本形成了软件工程的概念、框架、技术和方法。
这阶段又称为传统的软件工程。
2.第二代软件工程(80年代中到90年代)80年代中开始,以Smalltalk为代表的面向对象的程序设计语言相继推出,面向对象的方法与技术得到发展,从90年代起,研究的重点从程序设计语言逐渐转移到面向对象的分析与设计,演化为一种完整的软件开发方法和系统的技术体系。
第1章软件工程概述软件工程的研究领域包括软件的开发方法、软件周期以及软件工程的实践等。
软件危机与软件工程的起源1. 计算机系统的发展历程20 世纪 60 年代中期以前,是计算机系统发展的早期:软件为每个具体应用而专门编写的。
软件实质为规模较小的程序,编写容易,没有系统化的方法,对软件开发工作更没有进行任何管理。
编写者和使用者为同一个(或同一组)人。
软件设计只是一个模糊的过程,除了程序清单之外,没有其他文档资料。
20 世纪 60 年代中期到 70 年代中期,是计算机发展的第二代:硬件发展:多道程序、多用户系统引入了人机交互的新概念,使硬件和软件的配合上了一个新层次。
实时系统能够从多个信息源收集、分析和转换数据,使得进程控制能以毫秒而不是分钟来进行。
在线存储技术的进步导致了第一代数据库管理系统的出现。
软件发展:软件个体化特性。
软件数量极具膨胀。
在程序运行时发生的错误必须设法改正。
用户有了新的需求时必须相应的修改程序。
硬件或操作系统更新时,通常需要修改程序以适应新的环境。
软件维护工作,以令人吃惊的比例耗费资源,许多程序的个体化特性使得它们最终成为不可维护的。
2. 软件定义:软件是由一个完整的配置组成:程序:能够完成预定功能和性能的可执行的指令序列。
数据:是使程序能够适当地处理信息的数据结构。
文档:是开发、使用和维护程序所需要的图文资料。
1983 年 IEEE 对软件的定义:计算机程序、方法、规则、相关的文档资料、运行程序时所必须的数据。
特点:1) 软件是一种逻辑实体,而不是具体的物理实体。
2) 软件的生产与硬件不同。
在软件开发过程中没有明显的制造过程。
3) 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。
4) 软件成本相当高。
3. 软件危机介绍软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件危机包含两方面问题:如何开发软件,以满足对软件日益增长的需求;如何维护,数量不断膨胀的已有软件。
太原理工软件工程
太原理工软件工程专业概况
软件工程专业是太原理工大学信息科学与工程学院的一门重要学科。
该专业致力于培养学生在软件设计、开发和测试方面的能力,培养学生具备扎实的软件工程理论基础和实践能力。
太原理工软件工程专业设置了多门专业课程,涵盖了软件工程的各个领域。
学生将学习计算机基础知识、编程语言、算法与数据结构、数据库等课程,同时还将学习软件设计、软件测试、软件项目管理等相关理论和技术。
在培养学生专业技能的同时,太原理工软件工程专业也注重培养学生的创新能力和实践能力。
学生将有机会参加各种软件开发项目,锻炼从项目需求分析到软件设计和开发的综合能力。
除了课程学习,太原理工软件工程专业也鼓励学生积极参与实习和科研活动。
学生将有机会在相关企业进行实习,了解软件行业的实际工作环境,提升自己的实践能力。
同时,学生还可以参与科研项目,深入学习软件工程的前沿技术和理论,为学术研究做出贡献。
毕业后,太原理工软件工程专业的学生可以选择从事软件工程师、软件开发工程师、系统分析员等职业。
随着信息技术的飞速发展,软件工程专业的就业前景广阔,待遇也较为优厚。
总之,太原理工软件工程专业致力于培养学生具备软件设计、
开发和测试的能力,注重培养学生的实践和创新能力,为学生未来的职业发展打下坚实的基础。
软件工程一二章知识点总结一、软件工程概述1.1 软件工程定义软件工程是指将系统化、规范化、可靠化、高效化地开发、维护和管理软件的过程。
它包括了一系列的方法和工具,旨在提高软件开发的质量和效率。
1.2 软件危机软件危机是指在软件开发和维护过程中所出现的一系列问题,包括进度滞后、成本超支、质量不高等。
软件工程的出现正是为了解决这些软件危机。
1.3 软件工程的目标软件工程的主要目标是提高软件开发的质量、提高开发效率、降低开发成本,并且使得软件能够满足用户的需求。
1.4 软件工程的原则软件工程有七大原则,包括可管理性、稳定性、可维护性、灵活性、可重用性、可移植性和高效性。
1.5 软件工程的特点软件工程有其自身的特点,包括软件的不可见性、复杂性、变化性和一致性。
软件开发过程要充分考虑这些特点。
1.6 软件危机的原因软件危机主要是由于软件的复杂性、需求的不断变化、开发过程的管理不善和技术水平的不足等诸多原因导致的。
要解决软件危机,就需要采用科学的方法进行软件开发。
二、软件生命周期2.1 软件生命周期模型软件生命周期模型是描述软件开发过程中不同阶段的模型。
常见的软件生命周期模型包括瀑布模型、原型模型、迭代模型、螺旋模型、敏捷开发模型等。
2.2 软件生命周期阶段软件生命周期通常包括需求分析、设计、编码、测试、部署和维护等不同阶段。
每个阶段都有其特定的任务和目标。
2.3 瀑布模型瀑布模型是软件开发中最经典的一种模型,它将软件开发过程分为需求分析、设计、编码、测试和维护五个阶段,严格按照顺序进行。
该模型适用于需求变化不大的项目。
2.4 原型模型原型模型是一种以原型开发为基础的模型,它能够快速生成原型,帮助用户更好地理解需求,并且在软件开发过程中充分考虑需求的变化。
2.5 敏捷开发敏捷开发是一种迭代、灵活、快速响应需求变化的软件开发方法。
它强调团队合作、交付价值、持续改进和迭代开发。
三、需求工程3.1 需求工程定义需求工程是指对需求进行理解、规范、记录和验证的过程。