《软件技术概论与基础》教学课件 第2章 软件工程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.系统实施阶段 系统实施阶段是将系统设计阶段的结果通过编码、调试和测试, 最终在计算机和网络上具体实现,也就是将设计文本变成能够在 计算机上运行的软件系统,系统实施阶段是对前期全部工作的具 体检验。 在本阶段中,用户的参与特别重要。
2024/7/13
21
一 1.2 软件行业的发展现状及发展前景
5.系统验收阶段 系统通过试运行,系统性能的优劣及其他问题都会暴露在用户 面前,这时就进入了系统验收阶段。
2024/7/13
思维导图
学习目标
– 了解软件工程的概念 – 了解软件生命周期及各个阶段的作用 – 了解软件需求工程 – 了解软件开发模型及适用场景 – 了解软件测试方法、软件测试分类、
软件测试流程及常用软件测试工具
重点难点
– 学习重点 – 软件工程概念 – 软件生命周期 – 需求工程 – 软件开发模型 – 软件测试
2024/7/13
8
一 2.1 软件工程概述
软件工程的目标是在给定成本、进度的前提下,开发出具有适 用性、有效性、可修改性、可靠性、可理解性、可维护性、可重 用性、可移植性、可追踪性、可互操作性和满足用户需求的软件 产品。追求这些目标有助于提高软件产品的质量和软件开发效率, 减少软件产品维护的困难。
系统规划阶段的目标是制定出系统的长期发展方案,决定系统 在整个生命周期内的发展方向、规模和发展进程。
系统规划阶段主要形成需求规范说明书。
2024/7/13
16
一 2.2 软件生命周期
2.2.2 系统开发阶段 系统开发阶段是信息系统生命周期中最重要和最关键的阶段,
该阶段又可以分为总体规划、系统分析、系统设计、系统实施和 系统验收5个阶段。
软件技术概论与基础
第2章 软件工程
学习导入
在信息化时代,各行各业都离不开软件技术的支持, 软件随处可见,但软件开发是一个系统工程,开发人员要 熟悉软件开发技术和管理技术。那么,软件是怎样被开发 出来的?存在哪些开发流程?软件质量如何控制?软件是 否也存在生命周期?等等。通过对本章内容的学习,上述 问题就能迎刃而解。。
2024/7/13
22
一 2.2 软件生命周期
2.2.3 系统运维阶段 当软件系统通过验收并正式移交给用户以后,系统就进入了运维阶段。 1.系统维护的概念 为了清除系统在运行中发生的故障和错误,软件和硬件维护人员要对
系统进行必要的修改与完善;为了使系统适应用户环境的变化,满足用 户提出的新需求,也要对原系统进行局部的更新,这些工作称为系统维 护。
2024/7/13
29
一 2.3 需求工程
2.需求工程发展简介 在20世纪80年代中期,形成了软件工程的子领域——需求工程。 进入20世纪90年代后,需求工程成为人们研究的热点。 1993年,IEEE在美国加利福尼亚州的圣迭戈举办了第一届需求工程国际研讨会(ISRE), 确定以后每两年举办一次; 从1994年起每两年举办一次需求工程国际会议(ICRE); 1996年,世界著名科技期刊、图书出版公司Springer-Verlag(施普林格)发行了新刊物 Requirements Engineering;同时,一些关于需求工程的工作小组相继成立。
2024/7/13
33
一 2.3 需求工程
2.3.2 需求分析概述 1.需求分析的概念 需求分析也称软件需求分析、系统需求分析或需求分析工程等,
是开发人员经过深入细致地调研和分析,准确理解用户和项目的 功能、性能、可靠性等具体要求,将用户非形式的需求表述转化 为完整的需求定义,从而确定系统必须“做什么”的过程。
问题定义是软件定义时期的第一个阶段,要弄清用户“要解决 什么问题”。
可行性分析通过对项目的市场需求、技术难度、设备选型、环 境影响、资金筹措、盈利能力等方面的研究。
需求分析是至关重要的一步,因为它包含了获取用户需求与定 义的信息,以及对需要解决的问题所能达到的最清晰的描述。
2024/7/13
15
一 2.2 软件生命周期
2024/7/13
24
一 2.2 软件生命周期
5.系统维护的工作量 系统维护的工作量一般占整个软件生命周期的60%~80%,维护 类型主要包括改正性维护、适应性维护、完善性维护和预防性维 护。
2024/7/13
25
一 2.2 软件生命周期
1)改正性维护 为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的 错误而应当进行的诊断和改正错误的过程称为改正性维护。 2)适应性维护 在软件的使用过程中,外部环境(软件和硬件配置)、数据环境 (数据库、数据介质、数据格式)等可能发生变化,为使软件能适应新 的环境而进行的维护称为适应性维护。
Barry Boehm(巴利·玻姆)给出的定义是:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这 些程序所必需的相关文件资料。
IEEE(电气与电子工程师协会)在软件工程术语汇编中的定义是:软件工程是,(1)将系统化的、严格约束的、可量 化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;(2)对(1)中所述方法的研究。
何把经过时间考验而证明正确的管理技术与当前能够得到的最好的技术方法结合起来的学科。它涉及程序设计语言、数据
库、软件开发工具、系统平台、标准、设计模式等方面。
2024/7/13
7
一 2.1 软件工程概述
软件工程包括两方面内容: 一是软件开发技术;二是软件工程管理。 软件开发技术包含软件工程方法学、软件工具和软件开发环境; 软件工程管理包含软件工程经济学和软件管理学。
2024/7/13
26
一 2.2 软件生命周期
3)完善性维护
在软件的使用过程中,用户往往会对软件提出新的功能与性能需求, 为了满足这些需求,需要修改或再开发软件以扩充软件功能,增强软件 性能,改进软件处理效率,以及提高软件的可维护性。
4)预防性维护
为了提高软件的可维护性、可靠性等,采用先进的软件工程方法对 需要维护的软件或软件中的某一部分进行重新设计、编制和测试,为将 来软件正常运行打下良好的基础。
2024/7/13
28
一 2.3 需求工程
2.3.1 需求工程概述
1.需求工程的概念
需求工程(Requirements Engineering,RE)是指应用已证实有效 的技术、方法进行需求分析,确定用户需求,帮助软件分析人员正确理 解问题并定义目标系统的所有外部特征的一门学科。
需求工程的结果是对待开发系统给出清晰的、一致的、精确的且无 二义性的需求模型,形成需求文档,通常以需求规格说明书的形式来定 义待开发系统的所有外部特征。
2024/7/13
34
一 2.3 需求工程
2.需求分析的目标 需求分析的目标是深入描述软件的功能和性能,确定软件设计 的限制和软件同其他系统元素的接口细节,定义软件的其他有效 性需求。
2024/7/13
35
一 2.3 需求工程
3.需求分析研究的对象 需求分析阶段研究的对象是软件项目的用户要求。 一方面必须全面理解用户的各项要求,但又不能全盘接受所有 的要求; 另一方面,要准确地表达被接受的用户要求。只有经过确切描 述的软件需求才能成为软件设计的基础。
Fritz Bauer在NATO会议上给出的定义是:软件工程是建立并使用完善的工程化原则,以较经济的手段获得能在实际机 器上有效运行的可靠软件的一系列方法。
《计算机科学技术百科全书》中的定义是:软件工程是应用计算机科学、数学、逻辑学及管理科学等原理开发软件的 工程。
目前比较被认可的定义是:研究与应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如
2024/7/13
13
一 2.2 软件生命周期
2.2.1 系统规划阶段 系统规划阶段也叫项目立项阶段,是软件开发的开始阶段,该
阶段需要软件开发方与软件需求方共同讨论,以确定软件开发的 目标和分析其可行性。
该阶段主要涉及问题定义、可行性分析和需求分析等内容。
2024/7/13
14
一 2.2 软件生命周期
2024/7/13
30
一 2.3 需求工程
3.需求工程的内容 需求工程包括获取、分析、定义、验证和管理软件需求的所有 活动。 需求工程分为两类,一类是需求开发,另一类是需求管理。
2024/7/13
31
一 2.3 需求工程
3.需求工程的内容
2024/7/13
32
一 2.3 需求工程
(1)需求开发 需求开发包括4个主要活动:需求获取、需求分析、需求定义和 需求验证。 2.需求管理 需求管理包含需求分配、需求评审、变更控制和需求跟踪。
2024/7/13
10Biblioteka 一 1.2 软件行业的发展现状及发展前景
20世纪60年代中期后,随着集成电路的应用,计算机硬件得到了快 速发展,硬件环境相对稳定,出现了大容量、高速度的计算机,计算机 的应用范围不断扩大,软件开发与应用急剧增长。软件系统的规模越来 越大,复杂程度越来越高,软件可靠性问题也越来越突出。在这个时期, 软件开发进度难以预测,开发成本难以控制,产品功能难以满足用户需 求,产品质量无法得到保证,产品难以维护且缺少适当的文档资料。落 后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件 开发与维护过程中出现一系列严重问题,这种现象被称为“软件危机”。
2024/7/13
17
一 2.2 软件生命周期
1.总体规划阶段 系统总体规划是系统开发的起始阶段,它的基础是需求分析。 一个比较完整的总体规划应当包括系统开发目标、总体结构、 管理流程、实施计划和技术规范等。 本阶段主要形成可行性研究报告。
2024/7/13
18
一 2.2 软件生命周期
2.系统分析阶段 系统分析阶段的目标是为系统设计阶段提供系统的逻辑模型。 内容包括组织结构及功能分析、业务流程分析、数据和数据流 程分析、系统初步方案等。 本阶段主要形成系统方案说明书。
2024/7/13
23
一 2.2 软件生命周期
2.系统维护的任务 系统维护的任务是改正软件系统在使用过程中发现的隐含错误,扩充在使 用过程中用户提出的新的功能及性能需求。 3.系统维护的目的 系统维护的目的是维护软件系统的“正常运作”。 4.系统维护的主要文档 系统维护阶段主要形成软件问题报告和软件修改报告,它们用于记录发现 软件错误的情况及修改软件的过程。
– 学习难点 – 对软件工程的理解 – 需求分析方法与分析工具
相关知识
2.1 软件工程概述 2.2 软件生命周期 2.3 需求工程 2.4 软件开发模型 2.5 软件测试
一 2.1 软件工程概述
2.1.1 软件工程的概念
目前,对软件工程(Software Engineering,SE)还没有统一的定义,很多学者、组织机构分别给出了自己的定义。
2024/7/13
9
一 1.2 软件行业的发展现状及发展前景
2.1.2 软件工程的诞生背景 在20世纪60年代以前,软件设计只是在特定的应用和指定的计
算机上进行设计与编程,采用的是依赖于计算机的机器语言或汇 编语言,软件规模小,没有文档资料,极少使用系统化的开发方 法,主要是计算机科学家们自己设计、开发并使用的一种自给自 足的软件开发方式。
2024/7/13
19
一 2.2 软件生命周期
3.系统设计阶段 根据系统分析阶段的结果设计出系统的实施方案,内容包括系 统架构设计、数据库设计、处理流程设计、功能模块设计、安全 控制方案设计、系统组织和队伍设计、系统管理流程设计等。 本阶段主要形成系统实施方案。
2024/7/13
20
一 2.2 软件生命周期
2024/7/13
11
一 1.2 软件行业的发展现状及发展前景
为了应对软件危机,在1968年的一次会议上第一次提出了“软 件工程”概念,“软件工程”作为正式的术语被确定下来,标志 着一个新学科的开始,从此软件开发进入了软件工程时代。
2024/7/13
12
一 2.2 软件生命周期
软件生命周期大致可以分成4个阶段,即系统规划阶段、系统开 发阶段、系统运维阶段、系统更新阶段。
2024/7/13
27
一 2.2 软件生命周期
2.2.4 系统更新阶段 系统更新阶段也叫系统消亡阶段。开发完成一个软件系统后,
想让其一劳永逸地运行下去是不现实的,所开发的软件系统经常 会不可避免地遇到系统更新改造、功能扩展,甚至报废重建的情 况。因此,在软件系统建设的初期就要考虑系统的消亡条件和时 机,以及因此而花费的成本。
相关文档
最新文档