1软件工程学概述
- 格式:ppt
- 大小:1.99 MB
- 文档页数:67


第 1 页 共 8 页 第一章 软件工程学概述
第一节 软件危机
1. 为了消除软件危机,20世纪60年代后期形成了新学科:计算机软件工程学。
2. 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
(这些问题不是不能运行的软件才仅仅具有的,几乎所有的软件都不同程度存在这些问题。)
3. 软件危机包含两个方面的问题:
1. 如何开发软件,以满足对软件日益增长的需求。
2. 如何维护数量不断膨胀的已有软件。
4. 产生软件危机的原因 (page4—图1.1)
1. 一方面与软件本身的特点有关
2. 另一方面也和软件开发与维护的方法不正确有关。
5. 软件不同于一般程序,它的一个显著特点是:“规模庞大”。
6.
软件开发流程:
1. 问题定义: (确定要求解决的问题是什么)
2. 可行性研究: (决定该问题是否存在一个可行的解决办法)
3. 需求分析: (深入具体的了解用户需求)
进入开发时期:
对软件设计 概要设计
详细设计
编写程序(全部工作量10%—20%)
测试
交付使用
7. 软件产品的配置:
包括: 程序、文档、数据
8. 软件危机的一些典型表现:
1. 对软件开发成本和进度的估计常常不准确
2. 用户对“已完成的”软件系统不满意的现象经常发生
3. 软件产品的质量往往靠不住
4. 软件常常是不可维护的
5. 软件通常没有适当的文档资料。
6. 软件成本在计算机系统总成本中所占的比例逐年上升。
7. 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
第 2 页 共 8 页
第二节 软件工程
1. 软件工程定义
软件工程是: 把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;
0835软件工程一级学科简介
软件工程(Software Engineering)是一门综合性的学科,涉及软件开发、软件质量保证、软件项目管理等多个领域。本文将对软件工程的定义、发展历程、重要性、学科内容以及职业发展方向等进行简要介绍。
软件工程是指运用工程化的原理、方法和工具,对软件开发、维护和管理过程进行系统化、规范化、可量化的管理和控制,从而确保软件能够以预期的成本、进度和质量满足用户需求。其发展始于20世纪60年代末期的软件危机,当时软件开发过程中频繁出现的延期、超支、低质量等问题迫使人们开始重视软件开发的管理与规范。
随着信息技术的迅猛发展,软件工程作为一门学科逐渐形成并得到广泛应用。它涵盖了需求分析、系统架构设计、软件开发、测试与调试、部署与运维等多个环节。通过对软件开发过程的体系化管理,软件工程能够提高软件开发效率、降低开发风险,并确保软件产品的可靠性、可维护性以及可扩展性。
软件工程的学科内容包括但不限于以下几个方面:
1. 需求分析与规格说明:在项目启动阶段,软件工程师需要与客户充分沟通,了解用户需求,并将其转化为明确的规格说明,以便后续开发与设计过程中的参考。 2. 软件设计与开发:软件设计是软件工程中重要的一环,它包括系统架构设计、模块设计、数据结构设计、算法设计等。软件开发则侧重于根据设计方案编写代码,实现软件功能。
3. 软件测试与调试:为了确保软件质量,软件工程师需要进行全面的测试与调试工作。测试包括单元测试、集成测试、系统测试等,通过不同层次的测试,发现并修复软件中的错误与缺陷。
4. 部署与运维:软件部署指将软件安装到用户的计算机或服务器上,并配置好所需的环境。软件运维则是在软件发布后,负责监控、维护和更新软件,以确保其正常运行。
软件工程一级学科对于培养具备软件开发与管理能力的专业人才至关重要。软件工程专业的学生需具备扎实的计算机基础知识,如数据结构、操作系统、算法等,并能够熟练运用各种软件开发工具和编程语言。此外,软件工程师还需要具备团队合作精神、代码审查与调试能力、分析与解决问题的能力等软实力。
山西大学商务学院教案
2010—2011学年第二学期
课程名称 软件工程
授课对象 08计科GB3、GB4、DB10
授课教师 刘忠宝
教材版本 软件工程 张海藩等著
第一章 软件工程学概述
教学目标与要求 1.掌握程序软件、软件、软件危机与软件工程等基本概念内涵
2.掌握软件工程的基本原理和方法
3.了解生命周期方法,着重理解软件工程过程的实质
4.会应用各种软件开发模型
教学重点与难点 重点:软件危机的相关概念、软件生命周期
难点:软件生命周期、软件过程模型
教学过程设计 新课导入、新课教学、课堂讨论、作业讲评。
教学方法 以多媒体讲授为主,适当结合提问、设问、讨论等方法。
§1.1 软件危机
一、软件危机的介绍:
1、计算机系统的发展历程:四个阶段
2、软件危机的含义
软件的概念
软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文材料。
软件的特点:7个
每个特点都显示在屏幕上
软件的分类
从6个方面对软件进行分类
软件的发展
四个阶段
软件危机的含义:软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题
软件危机的表现:
7个方面
二、产生软件危机的原因
与软件开发和维护有关的许多错误认识和作法的形成,可以归因于在计算机系统发展的早期阶段软件开发的个体化特点。错误的认识和作法主要表现为忽视软件需求分析的重要性,认为软件开发就是写程序并设法使之运行,轻
在此详细介绍软件的概念、特点及分类
对每个特点进行详细阐述
由上面计算机发展的四个阶段引出软件发展的四个阶段
对每个方面进行阐述
对6个原因进行阐述
软件工程专业简介
软件工程的定义
定义1:软件工程是为了经济地获得能够在实际机器上高效运行的可靠软件而建立和使用的一系列好的工程化原则。【Bauer 1972】
定义2:软件工程是以工程的形式应用计算机科学和数学原理,从而经济有效地解决软件问题。【CMU/SEI-90-TR-003】
定义3:软件工程是将系统性的、规范化的、可度量的方法应用于软件的开发、运行和维护。【IEEE 1990】
软件工程学科的特点
软件工程作为一门工程学科,建立在计算机科学和数学的基础上,其重点在于软件的分析与评价、规格说明、设计与演化,另外还涉及管理与质量、创新、标准、个人技能、团队协作和专业实践等。
与计算机科学的关系
软件工程建立在计算机科学基础上。在软件工程中,需要运用计算机科学的研究成果指导软件开发,计算机科学的理论、方法、原理和技术在软件工程中得到应用。
软件工程与计算机科学是不同的学科。软件工程是一门工程学科,涉及传统工程学科的知识领域。软件工程需要传统工程的基本理论、方法和技术来指导生产软件产品。
计算机科学 软件工程
是一门科学,研究信息和计算的理论基础,以及在计算机系统应用中的具体实现技术 是一门工程学科,它要求以系统化、可控制和有效的工程化方法创建高质量的软件。
涉及到相关的数学和计算理论,包括描述和变换信息的算法、有效地自动化等。 涉及到相关的质量、规划、经济、知识、应用等方面的原理和方法。
知识领域:计算理论、算法和数据结构、编程方法和语言、计算机组成和体系结构、通信和网络、安全、数据库、计算机图形、科学计算、人工智能、人机交互等。 知识领域:软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法、软件质量等。
涉及数学、计算学科。 涉及计算机科学、管理、工程等学科。
与工程科学的关系
软件工程与传统意义上的工程学科还有所不同,主要体现在以下几个方面。