




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 软件工程导论 第1章 软件工程概述 1 第第1 1章章 软件工程概述软件工程概述 本章主要内容本章主要内容 n软件的发展、定义及特征;软件的发展、定义及特征; n软件危机的表现及解决途径;软件危机的表现及解决途径; n软件工程定义及三要素,软件工程原理及目标;软件工程定义及三要素,软件工程原理及目标; n软件生存周期的概念和内容;软件生存周期的概念和内容; n五种软件开发模型;五种软件开发模型; n软件开发方法和开发工具;软件开发方法和开发工具; n传统软件工程和面向对象软件工程。传统软件工程和面向对象软件工程。 软件工程导论 第1章 软件工程概述 2 第第1 1章章 软件工程概述软件工程概
2、述 本章结构:本章结构: n1.1 软件与软件危机软件与软件危机 n1.2 软件工程软件工程 n1.3 软件生存周期软件生存周期 n1.4 软件开发模型软件开发模型 n1.5 软件开发方法和软件开发工具软件开发方法和软件开发工具 n1.6 传统软件工程和面向对象软件传统软件工程和面向对象软件 工程工程 软件工程导论 第1章 软件工程概述 3 1.1 软件与软件危机软件与软件危机 1.1.1 软件的定义 软件是程序、数据及其相关文档组成的完整集合。软件是程序、数据及其相关文档组成的完整集合。 可以写作为:软件可以写作为:软件= =程序程序+ +数据数据+ +文档。文档。 程序:程序是按事先设计好
3、的功能和性能要求执行的程序:程序是按事先设计好的功能和性能要求执行的 指令序列。指令序列。 数据:数据是指程序能正常处理信息的数据和数据结数据:数据是指程序能正常处理信息的数据和数据结 构。构。 文档:文档是与程序运行和维护有关的图文资料。文档:文档是与程序运行和维护有关的图文资料。 要纠正软件就是程序,开发软件就是编写程序的错误观念。要纠正软件就是程序,开发软件就是编写程序的错误观念。 软件工程导论 第1章 软件工程概述 4 1.1 软件与软件危机软件与软件危机 1.1.2 1.1.2 软件的特点软件的特点 (1 1) 软件具有抽象特征;软件具有抽象特征;逻辑实体逻辑实体, ,不是物理实体。
4、不是物理实体。 (2 2) 软件具有无明显制造过程特征;软件具有无明显制造过程特征;主要是研制。主要是研制。 (3 3) 软件无备件的特征;软件无备件的特征;不存在老化,存在退化。不存在老化,存在退化。 (4 4) 手工制作特征;手工制作特征;手工开发手工开发, ,脑力劳动。脑力劳动。 (5 5) 成本昂贵特征;成本昂贵特征;开发软件的费用不断增加。开发软件的费用不断增加。 软件工程导论 第1章 软件工程概述 5 是软件开发和维护过程中遇到的一系列严重问题。是软件开发和维护过程中遇到的一系列严重问题。 软件开发过程是一种高密集度的脑力劳动,软件开发的模软件开发过程是一种高密集度的脑力劳动,软件
5、开发的模 式及技术不能适应软件发展的需要。致使大量质量低劣的式及技术不能适应软件发展的需要。致使大量质量低劣的 软件涌向市场,有的花费大量人力财力,而在开发过程中软件涌向市场,有的花费大量人力财力,而在开发过程中 就夭折。就夭折。 问题出在哪了问题出在哪了 1.1 软件与软件危机软件与软件危机 软件工程导论 第1章 软件工程概述 6 “软件危机软件危机” 的出现是由于软件的规模越来越大,的出现是由于软件的规模越来越大, 复杂度不断增加,软件需求量增大。复杂度不断增加,软件需求量增大。 软件开发技术的进步未能满足发展的要求。在软件开软件开发技术的进步未能满足发展的要求。在软件开 发中遇到的问题找
6、不到解决的办法,问题积累起来,形态发中遇到的问题找不到解决的办法,问题积累起来,形态 尖锐的矛盾,导致了软件危机。尖锐的矛盾,导致了软件危机。 “软件危机软件危机”主要表现在两个方面:主要表现在两个方面: (1)(1)软件产品质量低劣,甚至开发过程就夭折。软件产品质量低劣,甚至开发过程就夭折。 (2)(2)软件生产率低,不能满足需要。软件生产率低,不能满足需要。 1.1 软件与软件危机软件与软件危机 软件工程导论 第1章 软件工程概述 7 1.1 软件与软件危机软件与软件危机 软件危机的主要表现如下: (1 1)用户需求不明确、变更过多)用户需求不明确、变更过多 (2 2)软件成本日益增长)软
7、件成本日益增长 (3 3)开发进度难以控制)开发进度难以控制 (4 4)软件质量差)软件质量差 (5 5)软件维护困难)软件维护困难 软件工程导论 第1章 软件工程概述 8 1.1 软件与软件危机软件与软件危机 软件危机产生的原因 (1 1)软件开发无计划性)软件开发无计划性 (2 2)软件需求不充分)软件需求不充分 (3 3)软件开发过程无规范)软件开发过程无规范 (4 4)软件产品无评测手段)软件产品无评测手段 解决软件危机的途径 (1 1)应该加强软件开发过程的管理。)应该加强软件开发过程的管理。 (2 2)推广使用开发软件的成功技术与方法)推广使用开发软件的成功技术与方法 (3 3)开
8、发和使用好的软件工具)开发和使用好的软件工具 软件工程导论 第1章 软件工程概述 9 软件危机的出现软件危机的出现, ,向人们提出的问题向人们提出的问题: : 如何开发软件,满足用户对软件的如何开发软件,满足用户对软件的 需求?需求? 如何维护数量众多的已有软件?如何维护数量众多的已有软件? 软件工程导论 第1章 软件工程概述 10 解决软件危机的途径解决软件危机的途径 采用采用工程化方法工程化方法和和工程途径工程途径来来研制研制与与 维护维护软件软件 软件工程生成的过程软件工程生成的过程 采用必要的组织管理措施采用必要的组织管理措施 采用采用先进的技术、方法先进的技术、方法与与工具工具来来开
9、发开发 设计设计软件软件 主要有主要有: 软件工程导论 第1章 软件工程概述 11 1.2 软件工程软件工程 1.2.1 1.2.1 软件工程的产生及发展软件工程的产生及发展 为了解决软件危机,人们在软件开发中也不断改进和发展,在50多年中计算机软件开发经 历了三个发展阶段: 程序设计阶段:程序设计阶段:约为约为5050至至6060年代年代 生产方式是个体劳动,生产工具是机器语言,汇编语言。生产方式是个体劳动,生产工具是机器语言,汇编语言。 程序系统阶段程序系统阶段:约为:约为6060至至7070年代年代 生产方式是小集团合作生产,生产工具是高级语言,开发方法仍依靠生产方式是小集团合作生产,生
10、产工具是高级语言,开发方法仍依靠 个人技巧,但开始提出结构化方法。个人技巧,但开始提出结构化方法。 软件工程阶段软件工程阶段:约为:约为7070年代以后年代以后 生产方式是工程化的生产,使用数据库,开发工具,开发环境,网络,生产方式是工程化的生产,使用数据库,开发工具,开发环境,网络, 分布式,面向对象技术来开发软件。分布式,面向对象技术来开发软件。 软件工程导论 第1章 软件工程概述 12 计算机科学、数学计算机科学、数学: :用于构造模型与算法。用于构造模型与算法。 管理科学管理科学: : 用于用于生产生产计划、资源、质量、成本等管理。计划、资源、质量、成本等管理。 工程科学工程科学: :
11、 用于费用估算,制定进度,制定计划和方案用于费用估算,制定进度,制定计划和方案 为达到软件优质高产这个目标,从为达到软件优质高产这个目标,从技术技术到到管理管理做做 了大量的努力,从而逐渐已形成了了大量的努力,从而逐渐已形成了“软件工程学软件工程学 ”这一新学科这一新学科. . 1.2 软件工程软件工程 软件工程导论 第1章 软件工程概述 13 1.2 软件工程软件工程 软件工程的三要素软件工程的三要素:方法、工具、过程方法、工具、过程 方法:方法:为软件开发提供为软件开发提供“如何做如何做”的技术,是完成软件开发的技术,是完成软件开发 各项任务的技术方法;各项任务的技术方法; 工具:工具:指
12、软件开发、维护和分析中使用的程序系统,为软指软件开发、维护和分析中使用的程序系统,为软 件工程方法的运用提供自动或者半自动的支撑环境;件工程方法的运用提供自动或者半自动的支撑环境; 过程:过程:为开发高质量软件所规定的各项任务的工作步骤;为开发高质量软件所规定的各项任务的工作步骤; 软件工程导论 第1章 软件工程概述 14 1.2 1.2 软件工程软件工程 1.2.21.2.2软件工程的基本原理软件工程的基本原理 软件工程专家b.w.boehm提出软件工程7条基本原理 : 1. 用分阶段的生存周期计划严格管理 2. 坚持进行阶段评审 3. 实行严格的产品控制 4. 采用现代程序设计技术 5.
13、结果应能清楚地审查 6. 开发小组的人员应少而精 7. 承认不断改进软件工程实践的必要性 软件工程导论 第1章 软件工程概述 15 1.2 1.2 软件工程软件工程 1.2.31.2.3软件工程的基本目标软件工程的基本目标 付出较低的开发成本;付出较低的开发成本; 达到预期的软件功能;达到预期的软件功能; 取得较好的软件性能;取得较好的软件性能; 使软件易于移植;使软件易于移植; 需要较低的维护费用;需要较低的维护费用; 能按时完成开发,及时交付使用;能按时完成开发,及时交付使用; 互补关系: 互斥关系: 低开发成本 易于维护 高可靠性 高性能 按时交付 图 1.1 软件工程目标之间的关系 软
14、件工程导论 第1章 软件工程概述 16 1.3 1.3 软件生存周期软件生存周期 生存周期生存周期: :一个软件从提出开发要求开始直到该一个软件从提出开发要求开始直到该 软件报废为止的整个时期。软件报废为止的整个时期。包括: n制定计划 n需求分析 n软件设计 n程序编码 n软件测试 n运行维护 软件工程导论 第1章 软件工程概述 17 一个软件从提出开发要求开始直一个软件从提出开发要求开始直 到该软件报废为止的整个时期。到该软件报废为止的整个时期。 软件生存周期可划分为若干时期:软件生存周期可划分为若干时期: 计划计划 问题定义问题定义 退役退役 维护维护 运行运行 编码编码 测试测试 需求
15、分析需求分析 概要设计概要设计 详细设计详细设计 可行性研究可行性研究 软件开发软件开发 运行维护运行维护 软件工程导论 第1章 软件工程概述 18 l软件工程采用的生存周期方法就是从软件工程采用的生存周期方法就是从时间角度时间角度 对软件开发和维护的对软件开发和维护的复杂问题复杂问题进行进行分解分解。 l划分原则:划分原则: 1. 各阶段的任务彼此间尽可能相对独立各阶段的任务彼此间尽可能相对独立 2. 同一阶段的工作任务性质尽可能相同同一阶段的工作任务性质尽可能相同 1.3 1.3 软件生存周期软件生存周期 软件工程导论 第1章 软件工程概述 19 1.3 1.3 软件生存周期软件生存周期
16、1 1制订计划阶段制订计划阶段 n计划阶段计划阶段有问题定义和可行性研究有问题定义和可行性研究任务。任务。 n问题定义问题定义:确定系统基本目标、规模和基本任务:确定系统基本目标、规模和基本任务 n可行性研究可行性研究:从经济、技术、法律等方面确定系:从经济、技术、法律等方面确定系 统是否值得开发。统是否值得开发。 软件工程导论 第1章 软件工程概述 20 1.3 1.3 软件生存周期软件生存周期 2需求分析阶段需求分析阶段 主要解决的问题是主要解决的问题是“目标系统必须做什么目标系统必须做什么” n做需求调研,让用户提出对系统的需求做需求调研,让用户提出对系统的需求 n对需求分析、综合并给出
17、详细定义对需求分析、综合并给出详细定义 n用用“需求规格说明书需求规格说明书”的形式准确地表达出来,的形式准确地表达出来, 提交管理机构评审。提交管理机构评审。 软件工程导论 第1章 软件工程概述 21 1.3 1.3 软件生存周期软件生存周期 3软件设计阶段软件设计阶段 是软件工程的技术核心,主要任务是把已确定了的各 项需求转换成一个相应的体系结构,通常细分成概要设 计和详细设计两个阶段。 n概要设计:确定系统设计方案,软件总体结构和 数据结构,给出功能明确的模块。 n详细设计:描述如何具体的实现系统。确定实现 模块的所需的算法和数据结构。 软件工程导论 第1章 软件工程概述 22 1.3
18、1.3 软件生存周期软件生存周期 4 4程序编码阶段程序编码阶段 该阶段的主要任务就是该阶段的主要任务就是按照选定的语言按照选定的语言把软件设计转换成把软件设计转换成 计算机可以接受的程序代码,即计算机可以接受的程序代码,即编写程序代码编写程序代码。 5 5软件测试阶段软件测试阶段 测试是保证软件质量的重要手段,其主要方式是在测试是保证软件质量的重要手段,其主要方式是在设设 计测试用例计测试用例的基础上检验软件的各个组成部分。的基础上检验软件的各个组成部分。 6 6运行、维护阶段运行、维护阶段 改正错误、修改扩充功能以延长软件的使用寿命,改正错误、修改扩充功能以延长软件的使用寿命, 提高软件的
19、效益。提高软件的效益。 软件工程导论 第1章 软件工程概述 23 1.4 软件开发模型软件开发模型 软件开发模型:软件开发模型: 描述软件开发过程中各种活动如何执行的模型描述软件开发过程中各种活动如何执行的模型。 现有多种软件生存期模型。例如:瀑布模型、演化模型、 螺旋模型、智能模型等。它们各有特色,但一般都包含 “定义(或计划)”、“开发”和“维护”3类活动。 n定义活动主要弄清软件“做什么”; n开发活动集中解决让软件“怎么做”; n维护活动则聚集于软件的“修改”; 即“what-how-change”。 软件工程导论 第1章 软件工程概述 24 1.4 软件开发模型 1.4.1 1.4.
20、1 瀑布模型瀑布模型 瀑布模型规定了各项软件工程活动,包括:瀑布模型规定了各项软件工程活动,包括:制定开发计划、需求分析制定开发计划、需求分析 和说明、软件设计、程序编码、测试、运行维护和说明、软件设计、程序编码、测试、运行维护。并且规定了它们自。并且规定了它们自 上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。如图上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。如图1.21.2所所 示。示。 计划 需求分析 设计 编码 运行、维护 测试 定义 阶段 维护阶段 开 发 阶 段 图 1.2 瀑布模型 软件工程导论 第1章 软件工程概述 25 1.4 软件生存周期及软件开发模型软件生存周期
21、及软件开发模型 图1.4 瀑布模型 定义做什么的问题结构定义做什么的问题结构 设计如何做的体系结构设计如何做的体系结构 修改设计修改设计 软件工程导论 第1章 软件工程概述 26 瀑布模型开发特点:瀑布模型开发特点: 阶段间的顺序和依赖性阶段间的顺序和依赖性 只有前一段的工作完成后,后一段工作才开始。前一段工只有前一段的工作完成后,后一段工作才开始。前一段工 作成果的输出,是后一段工作的输入。作成果的输出,是后一段工作的输入。 推迟了实现观点推迟了实现观点 过早地考虑程序的实现,常常导致大量返工,有时甚至给开发人员带过早地考虑程序的实现,常常导致大量返工,有时甚至给开发人员带 来灾难性的后果。
22、来灾难性的后果。 瀑布模型在编码以前安排了分析阶段和设计阶段,并且明确宣布,这瀑布模型在编码以前安排了分析阶段和设计阶段,并且明确宣布,这 两个阶段都只考虑目标系统的逻辑模型,不涉及软件的物理实现。两个阶段都只考虑目标系统的逻辑模型,不涉及软件的物理实现。 质量保证的观点质量保证的观点 每一阶段都要完成文档都要对完成的文档复审。每一阶段都要完成文档都要对完成的文档复审。 软件工程导论 第1章 软件工程概述 27 瀑布模型瀑布模型主要不足:主要不足: 缺乏灵活性缺乏灵活性 无法解决软件需求不明确或不准确的问题无法解决软件需求不明确或不准确的问题 没有体现人员之间的通信和软件工具之间没有体现人员之
23、间的通信和软件工具之间 的联系、活动之间的并行与串型的关系的联系、活动之间的并行与串型的关系 1.4 1.4 软件生存期模型软件生存期模型 不支持软件重用不支持软件重用 软件工程导论 第1章 软件工程概述 28 1.4 软件开发模型 1.4.2 快速原型模型快速原型模型 快速原型模型的基本思想是:软件开发人员根据用户提出的软件基本 需求快速开发一个原型,以便向用户展示软件系统应有的部分或全部 的功能和性能,在征求用户对原型的评价意见后,进一步使需求精确 化、完全化,并据此改进、完善原型,如此迭代,直到软件开发人员 和用户都确认软件系统的需求并达成一致的理解为止。 需求的采集和 细化 快速设计
24、建造原型 用户评价原型 对原型加工 (需求精确化) 产品样品(需 求确认) 图 1.3 快速原型 软件工程导论 第1章 软件工程概述 29 1.4 软件开发模型 1.4.3 增量模型增量模型 增量模型规定软件的开发过 程是一次开发产品的一个部分。 首先应该开发产品的基本部分, 然后再逐步开发产品的附加部 分。 可行性论证 验证 需求分析 验证 体系结构设计 验证 对每个构件进 行详细设计、实 现、 集成、 测试, 交付给用户 验证 维护 图 1.4 增量模型 增量模型和瀑布模型之间的本质区别是:增量模型和瀑布模型之间的本质区别是: 瀑布模型属于整体开发模型,它规定 在开始下一个阶段的工作之前,
25、必须 完成前一阶段的所有细节。 增量模型属于非整体开发模型,它推 迟某些阶段或所有阶段中的细节,从 而较早地产生工作软件。 软件工程导论 第1章 软件工程概述 30 1.4 软件开发模型 1.4.4 螺旋模型(spiral model) 螺旋模型将螺旋模型将瀑布模型瀑布模型与与演化模型演化模型结合起来,结合起来,并且加入并且加入 两种模型均忽略了的风险分析两种模型均忽略了的风险分析,弥补了两者的不足。,弥补了两者的不足。 螺旋模型沿着螺线旋转,每个旋转周期分为四个方面的活动,即: (1) 制定计划确定软件目标,选定实施方案,弄清项目开 发的限制条件; (2) 风险分析分析所选方案,考虑如何识别
26、和消除风险; (3) 实施工程实施软件开发; (4) 客户评估评价开发工作,提出修正建议。 n对于高风险的大型软件,螺旋模型是一个理想的开发方法。对于高风险的大型软件,螺旋模型是一个理想的开发方法。 n风险分析是螺旋模型的一项重要活动风险分析是螺旋模型的一项重要活动。 详细设计 编码 单元 测试 集成 测试 验收 测试 需求计划与 生命周期 开发计划 集成与测 试计划 设计验证 与确认 需求 确认 软件产 品设计 软件 需求 风险分析 风险分析 风险分析 可 运 行 的原型 原型 3 原型 2 原型 1 累计费用 制定计划 决定目标 方案与限 制 风险分析 评估方案, 识别并排除 风险 实施开
27、发 开发、验 证下一产 品 客户评估 实现 图 1.5 螺旋模型 软件工程导论 第1章 软件工程概述 32 1.4 软件开发模型 1.4.5 喷泉模型喷泉模型 它是以面向对象的软件开发 方法为基础,以用户需求为动 力,以对象来驱动的模型。 u适用于面向对象方法。 主张分析和设计过程的重叠、 不严格区分。 模块集成过程:反复经过分 析、设计、测试、集成,再 分析、设计、测试、集成。 软件工程导论 第1章 软件工程概述 33 1.4 软件开发模型 【例1.1】假设你被任命为一家软件公司的项目负责人,你的工作是管理该公 司已被广泛应用的字处理软件的新版本开发。由于市场竞争激烈,公司规定了 严格的完成
28、期限并且已对外公布。你打算采用哪种软件生命周期模型?为什么? 解:解:对这个项目的一个重要要求是,严格按照已对外公布了的日期完成产品 开发工作,因此,选择生命周期模型时、应该着重考虑哪种模型有助于加快产 品开发的进度。使用增量模型开发软件时可以并行完成开发工作,因此能够加 快开发进度。 这个项目是开发该公司已被广泛应用的字处理软件的新版本,从上述事实至 少可以得出3点结论:第一,旧版本相当于一个原型,通过收集用户对旧版本 的反映,较容易确定对新版本的需求,没必要再专门建立一个原型系统来分析 用户的需求;第二,该公司的软件工程师对字处理软件很熟悉,有开发字处理 软件的丰富经验,具有采用增量模型开
29、发新版字处理软件所需要的技术水平; 第三,该软件受到广大用户的喜爱,今后很可能还要开发更新的版本,因此, 应该把该软件的体系结构设计成开放式的,以利于今后的改进和扩充。 软件工程导论 第1章 软件工程概述 34 1.4 1.4 软件开发方法软件开发方法 软件开发的目标是要在规定的投资和时间内,开发软件开发的目标是要在规定的投资和时间内,开发 出符合用户的需求,高质量的软件,为此需要有成功的出符合用户的需求,高质量的软件,为此需要有成功的 开发方法。开发方法。 为了克服软件危机,从为了克服软件危机,从60年代末开始,一直在进行年代末开始,一直在进行 软件方法的研究与实践,提出了多种软件开发方法和
30、技软件方法的研究与实践,提出了多种软件开发方法和技 术,对软件产业的发展起着不可估量的作用。术,对软件产业的发展起着不可估量的作用。 1.5 1.5 软件开发方法和软件开发工具软件开发方法和软件开发工具 软件工程导论 第1章 软件工程概述 35 1.5 1.5 软件开发方法和软件开发工具软件开发方法和软件开发工具 1.5.1 1.5.1 软件开发方法的概念软件开发方法的概念 通常把在软件生命期中所使用的通常把在软件生命期中所使用的一整套技术一整套技术的集的集 合称为方法(合称为方法(methodologymethodology)或范型)或范型(paradigm ) (paradigm ) 。
31、n指导研制软件的某种标准规程,说明指导研制软件的某种标准规程,说明“什么时候做什么及什么时候做什么及 怎么做怎么做” n软件方法规定了:明确的工作步骤、具体的描述方式以及软件方法规定了:明确的工作步骤、具体的描述方式以及 确定的评价标准。确定的评价标准。 软件工程导论 第1章 软件工程概述 36 1.5 1.5 软件开发方法和软件开发工具软件开发方法和软件开发工具 特别要注意:特别要注意: 由于软件与程序是不同的概念,由于软件与程序是不同的概念,软件开软件开 发方法与程序设计方法是两个不同的概念。发方法与程序设计方法是两个不同的概念。 软件开发方法可以是针对局部的,也可软件开发方法可以是针对局
32、部的,也可 以是针对全局的。更加以是针对全局的。更加强调强调和重点研究的是和重点研究的是 需求分析与软件设计的开发方法。需求分析与软件设计的开发方法。 软件工程导论 第1章 软件工程概述 37 1.5 1.5 软件开发方法和软件开发工具软件开发方法和软件开发工具 1.5.2 1.5.2 软件开发的基本方法软件开发的基本方法 1. 1. 结构化开发方法结构化开发方法 2. 2. 面向对象开发方法面向对象开发方法 面向过程的开发方法(传统的)面向过程的开发方法(传统的) 面向对象的开发方法面向对象的开发方法 基于构件的开发方法基于构件的开发方法 软件工程导论 第1章 软件工程概述 38 1.5 1
33、.5 软件开发方法和软件开发工具软件开发方法和软件开发工具 1.5.2 1.5.2 软件开发的基本方法软件开发的基本方法 1. 结构化开发方法 是一种面向数据流面向数据流的开发方法,是现有的软件开发方法中 最成熟,应用最广泛的方法。 结构化方法总的指导思想:结构化方法总的指导思想:自顶向下、逐步求精,以数据自顶向下、逐步求精,以数据 流,数据的封闭性准则来逐层分解的,它的基本原则是功流,数据的封闭性准则来逐层分解的,它的基本原则是功 能的分解与抽象。能的分解与抽象。 结构化方法强调结构的合理性。提出了一组提高软件结构 质量的准则,如功能的分解与抽象、模块独立性、信息屏分解与抽象、模块独立性、信
34、息屏 蔽等蔽等。 主要特点:是快速,自然和方便。 软件工程导论 第1章 软件工程概述 39 1.5 1.5 软件开发方法和软件开发工具软件开发方法和软件开发工具 1.5.2 1.5.2 软件开发的基本方法软件开发的基本方法 2. 面向对象方法 oosdoosd(object-oriented software developmentobject-oriented software development)法这是)法这是8080年代推年代推 出的一种全新的软件开发方法。非常实用而强有力,被誉为出的一种全新的软件开发方法。非常实用而强有力,被誉为9090年代软年代软 件的核心技术之一。件的核心技术
35、之一。 其基本思想是:其基本思想是:对问题领域进行自然的分割,以更接近对问题领域进行自然的分割,以更接近 人类通常思维的方式建立问题领域的模型,以便对客观的信人类通常思维的方式建立问题领域的模型,以便对客观的信 息实体进行结构和行为的模拟,从而使设计的软件更直接地息实体进行结构和行为的模拟,从而使设计的软件更直接地 表现问题的求解过程。表现问题的求解过程。面向对象的开发方法以对象作为最基面向对象的开发方法以对象作为最基 本的元素,是分析和解决问题的核心本的元素,是分析和解决问题的核心。 软件工程导论 第1章 软件工程概述 40 1.5 1.5 软件开发方法和软件开发工具软件开发方法和软件开发工具 1.5.3 1.5.3 软件开发工具软件开发工具 为软件工程方法的运用提供自动或者半自动的支撑环境为软件工程方法的运用提供自动或者半自动的支撑环境 目前已经推出很多软件开发工具,如: n需求分析阶段的psl/psa系统; n编码阶段的各种语言编译工具、编辑程序、连接程序等; n测试阶段的测试数据产生程序、动态分析程序、静态分析程序等; n软件自动测试工具; n维护阶段的版本控制系统等。 n分析、设计阶段的各种图形工具,如数据流图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络设备配置要点试题及答案
- 2025届湖北省孝感市汉川市数学八下期末监测试题含解析
- 行政法学高效学习试题及答案策略
- 2025软考网络管理员技巧与试题
- 高考数学复习资料试题及答案
- 经营风险管理计划
- 部门目标与个人目标的协同计划
- 新学年教学工作总体规划计划
- 策划班级知识分享会计划
- 内部审核对生产计划的支持
- 2025-2030年中国煤电行业市场深度发展趋势与前景展望战略研究报告
- 2025年医院感染控制试题及答案
- 2025年黄山市祁门文化旅游发展集团有限公司招聘5人笔试参考题库附带答案详解
- 2025-2030中国植物蛋白行业市场发展趋势与前景展望战略研究报告
- 2025年内蒙古自治区赤峰市通辽市中考二模历史试题(含答案)
- 马工程西方经济学(精要本第三版)教案
- 2025年北京龙双利达知识产权代理有限公司招聘笔试参考题库含答案解析
- 2025至2030年中国玻璃钢夹砂给水管道市场分析及竞争策略研究报告
- 重庆财经学院专职辅导员招聘真题2024
- 你好红领巾课件
- 八年级道德与法治下册《国家监察机关》
评论
0/150
提交评论