01 软件工程概论试讲 软件工程概述

合集下载

《软件工程》课件——第1章 软件工程概述

《软件工程》课件——第1章 软件工程概述

软件的分类
图1.3 软件的分类
软件的分类
另外,从软件工程学的角度来划分软件产品,可以分为基础软件、支 撑软件和应用软件等。
基础软件是指保证计算机运行并支撑应用软件运行的基础环境,包括 操作系统、数据库、中间件。
支撑软件是指支撑各种软件的开发与维护的软件,又称减开发环境( Integrated Development Environment, IDE),主要有环境数据库、各 种接口软件和工具组,包括编程工具、建模工具、版本控制、软件测试等 类型。
软件的特性
图1.1 硬件失效曲线图
软件的特性
图1.2 软件失效曲线
软件的特性
⑥ 应用特性。软件的应用极为广泛,如今它 已渗入国民经济和国防的各个领域,现已成为信 息产业、先进制造业和现代服务业的核心,占据 了无可取代的地位。
软件的特性
(2)软件的生产特性 ① 软件开发特性。由于软件固有的特性,使得软件的开发不仅具
有技术复杂性,还有管理复杂性。技术复杂性体现在:软件提供的功能比 一般硬件产品提供的功能多,而功能的实现具有多样性,需要在各种实现 中做出选择,更有实现算法上的优化带来的不同,而实现上的差异会带来 使用上的差别。管理上的复杂性表现在:第一,软件产品的能见度低,要看 到软件开发进度比看到有形产品的进度困难得多;第二,软件结构的合理性 差,结构不合理使软件管理复杂性随软件规模增大而呈指数增长。
软件的特性
③ 软件维护特性。软件在运行过程中的维护工作比硬件复杂得多。
首先软件投入运行后,总会存在缺陷甚至暴露出潜伏的错误,需要进行“纠 错性维护”。其次,用户可能要求完善软件性能,对软件产品进行修改,进 行“完善性维护”。当支撑软件产品运行的硬件或软件环境改变时,也需要 对软件产品进行修改,进行“适应性维护”。软件的缺陷或错误属于逻辑性 的,因此,不需要更换某种备件,而是修改程序,纠正逻辑缺陷,改正错误 ,提高性能,增加适应性。当软件产品规模庞大、内部的逻辑关系复杂时, 经常会发生为纠正一个错误而产生新错误的情况,因此,软件产品的维护往 往比硬件产品的维护工作量大且复杂。

软件工程:01 软件工程概述

软件工程:01 软件工程概述
4
教材
软件工程
钱乐秋,赵文耘,牛军钰编著 出版社 清华大学出版社
5
主要参考书和参考网站
软件工程—方法与实践. 许家珆 主编. 电子工业出版社 2007 软件工程—实践者的研究方法. Roger S.pressman著,黄柏素,梅 宏等译,机械工业出版社,1999 实用软件工程. 赵池龙编著,电子工业出版社 UML面向对象技术与实践. 宋波等, 科学出版社,2005 面向对象系统分析与设计. Joey George等著,龚晓庆等译,清华 大学出版社,2008
软件工程
(Software Engineering)
概述
1
课程的性质、目的与任务
• 软件工程是本专业的一门必修课程。 • 通过本课程的学习,使学生能从中了解软件开发的整个过
程,掌握相关理论和指导思想。为了让学生真正得以实践 ,结合实际软件开发项目,让学生从问题定义开始,经过 可行性研究、需求分析、概要设计、详细设计、编码直到 最后要对自己开发的软件还要进行测试,这样一个软件开 发过程,从而使学生掌握软件开发的基本技能,培养团队 精神及勾通与协作能力,锻炼文档编写能力,提高独立的 工作能力,通过本课程的学习,为学生后期的毕业设计环 节奠定基础。
(3)作为开发人员在一定阶段的工作成果和结束标志。 (4)记录开发过程中有关信息,便于协调以后的软件开发、使用和维护。 (5)提供对软件的运行、维护和培训的有关信息,便于管理人员、开发人
员、操作人员、用户之间协作、交流和了解,使软件开发活动更科学有 效。 (6)便于潜在用户了解软件的功能、性能等各项指标,为选购符合自己需 要的软件提供依据。
1)文档 = 开发文档 + 管理文档 + 用户文档。
计算机软件产品开发文件编制指南GB 8567-88.doc

第一讲软件工程概述

第一讲软件工程概述

第一讲软件工程概述软件的定义软件是运算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。

程序是按事先设计的功能和性能要求执行的指令序列数据是使程序能正常操纵信息的数据结构文档是与程序开发,爱护和使用有关的图文材料软件危机软件危机是指运算机软件开发和爱护过程中所遇到的一系列严峻问题。

概括的说即为:能否满足对软件日益增长的需求?能否爱护数量日益增长的现有软件?软件工程的定义B o e h m:运用现代科学技术知识来设计并构造运算机程序及为开发、运行和爱护这些程序所必需的相关文件资料I E E E:软件工程是开发、运行、爱护和修复软件的系统方法F r i t z B a u e r:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法软件工程要素三要素:方法、工具和过程(缺乏一个过程,洗厕所的都有方法和工具,但没有一个好的过程)软件工程方法为软件开发提供了“如何做”的技术软件工具为软件工程方法提供了自动的或半自动的软件支撑环境软件生命周期(Life Cycle)软件有一个孕育、产生、成长、成熟、衰亡的生存过程。

那个过程即为运算机软件的生命周期软件生存期的六个步骤,即制定打算、需求分析、设计、实现、测试及运行爱护软件生命周期:制订打算确定要开发软件系统的总目标给出功能、性能、可靠性以及接口等方面的要求完成该软件任务的可行性研究估量可利用的资源(硬件,软件,人力等)、成本、效益、开发进度制定出完成开发任务的实施打算,连同可行性研究报告,提交治理部门审查软件生命周期:需求分析对用户提出的要求进行分析并给出详细的定义,得到系统逻辑模型,可用数据流程图、数据字典和简要算法加以表示。

编写软件需求说明书或系统功能说明书及初步的系统用户手册提交治理机构评审软件生命周期:软件设计概要设计—把各项需求转换成软件的体系结构。

结构中每一组成部分差不多上意义明确的模块,每个模块都和某些需求相对应。

第1讲 软件工程概述

第1讲 软件工程概述

第1讲软件工程概述信息化系统的特点:海量信息资源、分布、动态、成长、无法集中控制计算机软件:与计算机系统操作有关的程序以及任何与之相关的文档的集合程序: 由程序设计语言所描述的、能为计算机所识别、理解和处理的语句序列。

程序设计语言有良好、严格语法和语义面向机器: 如汇编语言、机器语言等面向过程: 如Fortran, Pascal, C等等面向对象: 如Java等等面向问题: 如结构化查询语言SQL等等文档:记录软件开发活动和阶段性成果、理解软件所必需的阐述性资料,需求分析文档,软件设计文挡等。

编写文档目的:促进对软件的开发,管理和维护;便于各种人员(用户,开发人员)的交流软件特点:不会老化逻辑产品(智力, 无形) 维护困难和复杂(完善, 纠错,…...) 生产只需复制软件开发性质如成本、进度等难以估计软件的开发更加依赖于开发人员的业务素质、智力、人员的合作、组织和管理软件危机:软件在开发和维护过程中遇到的一系列问题,困扰学术界和工业界,用户对软件开发缺乏信心,软件开发的高投入和高风险原因:逻辑产品,不同于物理产品,复杂性高,逻辑产品,逻辑复杂性,远高于硬件复杂性,软件的复杂性随规模呈指数级上升。

规模大。

应用扩大,代码量,1000万行,仍在不断膨胀。

影响软件生产率和质量的因素比较复杂。

人员的能力和水平。

团队合作。

缺乏有效、系统原理、原则、方法和工具的指导和辅助。

软件危机-->根源-->解决途径:软件工程产生:1968年NATO 计算机科学会议软件工程是运用工程的、数学的、计算机等科学概念、方法和原理来指导软件开发和管理和维护的一门学科。

三要素:过程(管理部分)方法(技术手段)工具(自动或半自动地支持软件的开发和管理)要素之间相互关联和支持目标:正确性可靠性可维护性可重用性可追踪性可移植性可互操作性有效性原则:抽象,模块化,信息隐藏,局部化,一致性,完全性,可验证性,实践经验的总结软件过程:是指软件生存周期所涉及的一系列相关过程。

软件工程概论PPT课件

软件工程概论PPT课件

集成测试
总结词
集成测试是在单元测试的基础上,将多个模块或组件组合在一起进行测试,以验证它们之间的集成是否正常工作。
详细描述
在软件开发过程中,当多个模块或组件完成单元测试后,需要进行集成测试来验证它们之间的交互和集成是否正 常。集成测试的目的是发现模块之间的接口问题和集成后的性能问题,以确保软件的整体功能和性能达到要求。
编码
选择编程语言
根据项目需求和团队技术能力,选择适合的 编程语言进行编码。
编码规范
制定编码规范,确保代码的可读性、可维护 性和可扩展性。
编码实现
按照设计文档和编码规范,编写代码实现各 个模块的功能。
代码审查
对编写的代码进行审查,确保其符合规范和 设计要求,并进行必要的重构和优化。
测试
单元测试
对每个模块进行单元测试,确保其功能正常、符合设计要求。
界面风格与一致性
界面设计应保持一致的风格,以提高用户对软件系统的认知和熟悉 度。
模块设计与划分
模块设计与划分概述
模块设计与划分是指将软件系统划分为一系列相互独立、可复用 的模块。
模块化设计的好处
模块化设计可以提高软件系统的可维护性、可扩展性和可重用性。
模块间的通信与协作
模块间的通信和协作是模块化设计的关键,应确保模块间的松耦 合和低耦合。
05 软件测试工程
单元测试
总结词
单元测试是对软件中的最小可测试单元进行检查和验证,通常以函数或方法为 单位进行测试。
详细描述
单元测试是软件开发过程中的一种测试方法,旨在验证软件的最小单元是否符 合设计要求和功能规范。它通常在编码阶段同步进行,以确保代码的正确性和 可靠性。单元测试的方法包括白盒测试和黑盒测试。

第一章软件工程概论

第一章软件工程概论

31
• 软件工程过程定义了:
– 方法使用的顺序 – 要求交付的文档资料 – 为保证质量和适应变化所需要的
管理 – 软件开发各个阶段完成的里程碑
2020/11/4
32
软件工程项目的基本目标
• 付出较低的开发成本
• 达到要求的软件功能
• 取得较好的软件性能
• 开发的软件易于移植
• 需要较低的维护费用
• 第二次则在此基础上获得较为满意的 软件产品
2020/11/4
25
螺旋模型
• 螺旋模型沿着螺线旋转,在四个象 限上分别表达四个方面的活动,即:
• 制定计划──确定软件目标,选定实 施方案,弄清项目开发的限制
• 风险分析──分析所选方案,考虑如 何识别和消除风险
• 实施工程──实施软件开发
• 客户评估──评价开发工作,提出修 正建议
• 软件的开发至今尚未完全摆脱手工 艺的开发方式
• 软件本身是复杂的
• 实际问题的复杂性
• 程序逻辑结构的复杂性
• 软件成本相当昂贵
• 相当多的软件工作涉及到社会因素
2020/11/4
4
2020/11/4
5
软件的分类
• 按软件的功能进行划分:
– 系统软件 • 操作系统 • 数据库管理系统 • 设备驱动程序 • 通信处理程序等
2020/11/4
6
– 支撑软件 • 文本编辑程序 • 文件格式化程序 • 磁盘向磁带向数据传输的程序 • 程序库系统 • 支持需求分析、设计、实现、 测试和支持管理的软件
2020/11/4
7
– 应用软件
• 商业数据处理软件 • 工程与科学计算软件 • 计算机辅助设计/制造软件 • 系统仿真软件 • 智能产品嵌入软件 • 医疗、制药软件 • 事务管理、办公自动化软件 • 计算机辅助教学软件

第1章软件工程概述

第1章软件工程概述
计算机上运行时所必需的数据。 公认的解释:
程序、支持程序运行的数据以及与程序有关的文 档资料的完整集合。 其中: 程序是按事先设计的功能和性能要求执行的指令序
列; 数据是使程序能正常操作信息的数据结构; 文档是与程序开发、维护和使用有关的图文材料。
软件的特点 软件是一种逻辑实体,具有抽象性 软件成本集中在开发上 运行过程中没有磨损、老化。
1.4.2 软件过程模型
1 线性顺序模型(瀑布模型) 按顺序开发软件的方法。
1.4.2 软件过程模型
线性顺序模型的缺点 实际项目很少按照该模型给出的顺序进行 客户常常难以清楚地给出所有需求 客户必须有耐性,只能等到项目开发周期地后期才能
得到程序的运行版本,若有错,则可能是灾难性的。 过分依赖于早期进行的需求调查,不能适应需求的变
介绍了软件的基本概念、定义、特点;
对软件的类别进行了简单的讲解;
简述了软件的3个发展阶段和软件危机 产生的原因;
重点讲解了软件过程及其模型;
简单介绍了CASE工具的概念和主要内 容。
1. 软件工程概念提出的原因?软件危机的表现 有哪些?
2. 什么是软件?什么是软件过程?传统的和最 新的软件过程模型都有哪些?
主要过程
支持过程
组织过程
获供开运维文配质验确联审问管基改培
取应发行护档置量证认合核题理础进训
过过过过过编管保过过评过解过设过过
程程程程程制理证程程审程决程施程程
过过过
过过过
程程程
程程程
1.4.2 软件过程模型
软件过程模型
1.4.2 软件过程模型
软件过程模型是从软件需求定义直至软件交 付使用后报废为止,在这整个生存期中的系 统开发、运行和维护所实施的全部过程、活 动和任务的结构框架。 目前主要有 线性顺序模型(瀑布模型) 原型模型 螺旋模型 快速应用开发模型等

软件工程讲义-01

软件工程讲义-01
软件工程 3
一、软件的概念
软件的定义软件由计算机程序、数据及文档组成。 软件的定义软件由计算机程序、数据及文档组成。 软件与硬件、数据库、 软件与硬件、数据库、人、过程等共同构成计算 机系统。 机系统。 软件按功能分类:应用软件、系统软件、 软件按功能分类:应用软件、系统软件、支撑软 件。 软件的发展经历了三个阶段:程序设计阶段、 软件的发展经历了三个阶段:程序设计阶段、程 序系统阶段、软件工程阶段。 序系统阶段、软件工程阶段。
软ቤተ መጻሕፍቲ ባይዱ工程
20
解决软件危机的途径
树立对计算机软件的正确认识。 树立对计算机软件的正确认识。 软件开发应该是组织良好、管理严密、 软件开发应该是组织良好、管理严密、各类人 员团结协作共同完成的工程项目。 员团结协作共同完成的工程项目。必须充分吸 取和借鉴人类长期以来从事各种工程项目所积 累的行之有效的原理、概念、技术和方法, 累的行之有效的原理、概念、技术和方法,并 研究能更有效地开发软件的技术和方法。 研究能更有效地开发软件的技术和方法。 积极开发和使用计算机辅助软件工程(CASE) 积极开发和使用计算机辅助软件工程(CASE) 工具。 工具。 总之,为了解决软件危机就要从技术措施( 总之,为了解决软件危机就要从技术措施(方 法和工具)和组织管理两个方面去研究。 法和工具)和组织管理两个方面去研究。
软件工程方法时期(70初至80年代中) 软件工程方法时期(70初至80年代中) 初至80年代中 集成的计算机辅助软件工程时期( 集成的计算机辅助软件工程时期(ICASE 80年代后 年代后) Integrated CASE -80年代后)
软件工程
5
软件发展的三个时期及其特点
时 期 程序设计 程序系统 软件工程 程序、文档、 软件所指 程序 程序及规 程序、文档、 格说明书 数据 主要程序设 汇编及机器 高级语言 软件语言 计语言 语言 软件工作范 编写程序 包括设计 软件生存期 围 和测试 需求者 程序设计者 少数用户 本人
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.2 软件工程
30
采用生命周期方法学可以大大提高软件开发的成功率,软 件开发的生产率也能明显提高。
目前,传统方法学仍然是人们在开发软件时使用得十分广 泛的软件工程方法学。
第1章 软件工程学概述
1.2.3 软件工程方法学
1.2 软件工程
31
面向对象方法学: 概念:与传统方法相反,面向对象方法把数 据和行为看成是同等重要的,它是一种以数 据为主线,把数据和对数据的操作紧密地结 合起来的方法。
软件工程导论
第1章 软件工程学概述
1
认识软件
作为软件工程专业学生,相信大家都写了不少程序了, 但是软件是否等同于程序呢?
答案是否定的,软件=程序+数据+文档。
第1章 软件工程学概述
引言
2
第1章 软件工程学概述
迄今为止,计算机系统已经经历了4个不同的发展阶 段,但是,人们仍然没有彻底摆脱“软件危机”的困扰, 软件已经成为限制计算机系统发展的瓶颈。
1.1 软件危机
4
1.1.1 软件危机的介绍
在计算机软件的开发和维护过程中所遇到的一系列 严重问题。
第1章 软件工程学概述
1.1.1 软件危机的介绍
5
第1章 软件工程学概述
超预算
平均超出费用: 189%
推迟发布
平均超出时间: 222%
不能满足期望
平均覆盖率: 61%
28% Successful
第1章 软件工程学概述
1.2.3 软件工程方法学
1.2 软件工程
27
1. 传统方法学 概念:传统方法学也称为生命周期方法学或结构化范型。它采 用结构化技术(结构化分析、结构化设计和结构化实现)来完成 软件开发的各项任务,并使用适当的软件工具或软件工程环境 来支持结构化技术的运用。
第1章 软件工程学概述
软件定义时期通常进一步划分成3个阶段,即问题定义、 可行性研究和需求分析。开发时期具体设计和实现在前一个 时期定义的软件,它通常由下述4个阶段组成:总体设计, 详细设计,编码和单元测试,综合测试。其中前两个阶段又 称为系统设计,后两个阶段又称为系统实现。维护时期的主 要任务是使软件持久地满足用户的需要。
1.2.3 软件工程方法学
1.2 软件工程
33
面向对象方法学基本原则: 尽量模拟人类习惯的思维方式,使开发软件的方法与过程
尽可能接近人类认识世界、解决问题的方法与过程,从而使 描述问题的问题空间(也称为问题域)与实现解法的解空间(也 称为求解域)在结构上尽可能一致。
第1章 软件工程学概述
1.2.3 软件工程方法学
第1章 软件工程学概述
1.2.1 软件工程的介绍
1.2 软件工程
21
1968年在第一届NATO会议上曾经给出了软件工程的一个 早期定义:“软件工程就是为了经济地获得可靠的且能在 实际机器上有效地运行的软件,而建立和使用完善的工程 原理。”
1993年IEEE进一步给出了一个更全面更具体的定义: “软件工程是: ①把系统的、规范的、可度量的途径应用 于软件开发、运行和维护过程,也就是把工程应用于软件; ②研究①中提到的途径。
金融业: 到了2000年,银行里面的电脑可能将2000年解释为1900年,引 起利
息计算上的混乱,甚至自动将所有的记录消除;自动取款机会拒收“00” 年的提款卡; 保险业:
保险公司可能会将每份保险的年限算错。 电信业:
你在1999年12月31日23:59分打了三分钟的电话,电话局的账单却 可能显示为(-100年+3分钟);
第1章 软件工程学概述
1.2.3 软件工程方法学
36
主要内容
1.1 软件危机 1.2 软件工程 1.3 软件生命周期 1.4 软件过程
第1章 软件工程学概述
1.3 软件生命周期
1.3 软件生命周期
37
软件生命周期由软件定义、软件开发和运行维护(也称为 软件维护)3个时期组成,每个时期又进一步划分成若干个阶 段。
1.2.1 软件工程的介绍
1.2 软件工程
23
1.2.2 软件工程的基本原理
1、用分阶段的生命周期计划严格管理 2、坚持进行阶段评审 3、实行严格的产品控制 4、采用现代程序设计技术 5、结果应能清楚地审查 6、开发小组的人员应该少而精 7、承认不断改进软件工程实践的必要性
第1章 软件工程学概述
1.2.2 软件工程的基本原理
1.1 软件危机
13
1.1.2 产生软件危机的原因
与软件本身特点有关
1软件不同于硬件, 管理和控制软件 开发过程相当困 难。
2软件在运行过程 中不会因为使用 时间过长而被 “用坏 “如果运 行中发现了错误, 很可能是遇到了 一个在开发时期 引入的在测试阶 段没能检测出来 的错误。
3软件不同于一般 程序 ,它的一个 显著特点是规模 庞大 ,而且程序 复杂性将随着程 序规模的增加而 呈指数上升。
软件定义时期的任务是: 确定软件开发工程必须完成的 总目标;确定工程的可行性;导出实现工程目标应该采用的 策略及系统必须完成的功能;估计完成该项工程需要的资源 和成本,并且制定工程进度表。这个时期的工作通常又称为 系统分析,由系统分析员负责完成。
第1章 软件工程学概述
1.3 软件生命周期
38
1.3 软件生命周期
第1章 软件工程学概述
1.2.1 软件工程的介绍
1.2 软件工程
22
软件工程具有的本质特性
软件工程关注于大型程序的构造 软件工程的中心课题是控制复杂性 软件经常变化 开发软件的效率非常重要 和谐地合作是开发软件的关键 必须有效地支持它的用户 两种背景的人创造产品这个特性与前两个特性紧密相关
第1章 软件工程学概述
1.2.3 软件工程方法学
28
1.2 软件工程
传统方法学的特点: 传统方法学把软件生命周期的全过程依次划分为若干个
阶段,然后顺序地完成每个阶段的任务。 每个阶段的开始和结束都有严格标准,对于任何两个相
邻的阶段而言,前一阶段的结束标准就是后一阶段的开始标 准。
第1章 软件工程学概述
1.2.3 软件工程方法学
7、软件开发生产率提高的速度,远远跟不上计 算机应用迅速普及深入的趋势。
第1章 软件工程学概述
1.1.1 软件危机的介绍
1.1 软件危机
12
软件危机的本质
软件开发也是,导致巨大损失的原因可
能只是一开始的错误和做法,这是由于计算 机软件开发的个体化特点所导致的。
第1章 软件工程学概述
1.1.2 产生软件危机的原因
2软 定件义开时发期人没员有在正
确全面地理解用 户需求,直到测 试阶段或软件交 付使用后才发现 “已完成的 ”软 件不完全符合用 户的需要。
3严软重件的开问发题的是不在同
阶段进行修改需 要付出的代价是 很不相同的,如 下图所示。
第1章 软件工程学概述
1.1.2 产生软件危机的原因
1.1 软件危机
16
1.2 软件工程
34
面向对象方法学: 优点: 降低了软件产品的复杂性,提高了软件的可 理解性,简化了软件的开发和维护工作。 面向对象方法特有的继承性和多态性,进一 步提高了面向对象软件的可重用性。
第1章 软件工程学概述
1.2.3 软件工程方法学
1.2 软件工程
35
1.2.3 软件工程方法学
1、传统方法学
24
什么叫做高质量的软件?
能够运行起来的软件? 能够满足用户需求的软件?
软件除了能够满足用户需求外,还有具有如下反应软件质量的 属性: • 可维护性:软件必须能够不断进化以满足客户的需求变化 • 可依赖性:软件必须是可靠、保密、安全的 • 有效性:指的是软件效率,不应该浪费内存、处理器等资源 • 可用性:软件必须是可用的,用户可以很方便的使用
6错误的认识和做法 主要表现为忽视软 件需求分析的重要 性,认为软件开发 就是写程序并设法 使之运行,轻视软 件维护等
程序员不爱写文
档但是讨厌别的 程序员不写文档
第1章 软件工程学概述
1.1.2 产生软件危机的原因
15
1.1 软件危机
软件开发与维护的方法不正确有关
1只 视重软视件程配序置而其忽余
成分的糊涂观念。
1+1>>2
第1章 软件工程学概述
1.1.2 产生软件危机的原因
14
1.1 软件危机
与软件本身特点有关
4事实上,对用户要 求没有完整准确的 认识就匆忙着手编 写程序是许多软件 开发工程失败的主 要原因之一。
5目前相当多的软件 专业人员对软件开 发和维护还有不少 糊涂观念 。在实 践过程中或多或少 地采用了错误的方 法和技术,这可能 是使软件问题发展 成软件危机的主要 原因。
在软件开发的不同阶段进行修改需要付出的代价
第1章 软件工程学概述
1.1.2 产生软件危机的原因
17
1.1 软件危机
1.1.3 消除软件危机的途径(——软件工程)
首先应该对计 算机软件有一 个正确的认识。
软件=?+?+? 软件特点?
充分认识到软 件开发不是某 种个体劳动的 神秘技巧 , 而应该是各类 人员协同配合, 共同完成的工 程项目。
• 传统方法学也称为生命周期方法学或结构化范型。它采用结构化 技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各 项任务,并使用适当的软件工具或软件工程环境来支持结构化技 术的运用。
2、面向对象方法学
• 与传统方法相反,面向对象方法把数据和行为看成是同等重要的, 它是一种以数据为主线,把数据和对数据的操作紧密地结合起来 的方法。
4、软件常常是不可维护的。
第1章 软件工程学概述
1.1.1 软件危机的介绍
相关文档
最新文档