《软件开发方法》PPT课件.ppt
《《软件开发方法》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件开发方法》PPT课件.ppt(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第 6 6 章章 软件开发方法软件开发方法6.1 6.1 软件软件6.2 6.2 软件生存周期软件生存周期6.3 6.3 软件开发模型软件开发模型1计算机语言的发展计算机语言的发展 第一代语言第一代语言 机器语言机器语言第二代语言第二代语言 汇编语言汇编语言第三代语言第三代语言 高级语言高级语言,亦称过程语言亦称过程语言 FORTRAN、COBOL、C、PASCAL 第四代语言第四代语言 非过程化语言非过程化语言 SQL第五代语言第五代语言 智能性语言智能性语言2软件软件=程序程序+文档文档程序是按事先设计的功能和性能要求执行的指令序列数据是使程序能正常操纵的信息的数据结构文档是与程序开发、
2、维护和使用有关的图文材料3软件的特征1.软件开发不同于硬件设计2.软件生产不同于硬件制造3.软件维护不同于硬件维修4软件危机定义定义 软件开发和维护过程中遇到的一系列严重问题表现表现e用户很不满意e质量很不可靠(产品无评价手段)e软件不可维护e对软件开发成本和进度的估算很不准确e没有适当的文档e软件成本比重上升e软件供不应求5软件危机产生的原因:产生的原因:(1)软件是逻辑的系统部件不是物理的系软件是逻辑的系统部件不是物理的系 统部件,以程序和文档形式存在统部件,以程序和文档形式存在 (2)软件规模越来越大,功能越来越强,软件规模越来越大,功能越来越强,软件结构非常复杂软件结构非常复杂结论:结
3、论:软件危机产生的根本原因与软件产品的特软件危机产生的根本原因与软件产品的特征和软件产品开发与维护的方法不正确有关征和软件产品开发与维护的方法不正确有关 解决软件危机的根本出路:解决软件危机的根本出路:(1)认识问题的原因所在,吸取前人的经验认识问题的原因所在,吸取前人的经验 (2)要有相应的理论、技术、工具要有相应的理论、技术、工具6软件工程软件工程软件工程的目的在于获得廉价的、能在软件工程的目的在于获得廉价的、能在实际机器上高效和可靠地工作的软件。实际机器上高效和可靠地工作的软件。为此需要建立并应用牢固的为此需要建立并应用牢固的工程工程准则准则和和方法方法软件工程软件工程定义很多,其定义很
4、多,其核心思想核心思想是:是:“采用工程化的原理和方法对软件进行计采用工程化的原理和方法对软件进行计划、开发和维护划、开发和维护”,因此需要建立和应,因此需要建立和应用用工程工程准则准则和和方法方法7软件生存周期软件生存周期软件生存周期一般划分为计划、开发、运行三个时期,每一时期又区分为若干阶段。e计划(定义)时期有问题定义和可行性研究两个阶段 e开发时期有需求分析、系统设计、编码和测试四个阶段 e运行时期主要是系统维护阶段 8问题定义可行性研究需求分析软件设计编码测试维护典型的软件生存周期 开发阶段维护阶段(软件系统目标与范围说明书)(可行性论证报告)(需求说明书)定义阶段(设计说明书)(程
5、序)(测试报告)(软件维护报告)9计划时期计划时期计划时期的主要任务:调查和分析调查用户需求分析新系统的主要目标,分析开发该系统的可行性。计划时期还应制定出人力、资源及进度计划。10开发时期开发时期开发时期的任务 设计和实现设计包括:需求分析、软件设计实现包括:编码和测试 把设计和实现分成两步走,目的是在开发初期让程序人员集中全力搞好软件的逻辑结构,避免过早地为实现的细节分散精力。11需求分析其任务在于弄清用户对软件系统的全部需求,并用“需求规格说明书”的形式准确地表达出来。12软件设计主要任务是将需求转变为软件的表示形式,有时又可细分为总体设计和详细设计。设计阶段要编写设计文档。13编码即按
6、照选定的语言编码即按照选定的语言,把设计的过程性描述翻译为源,把设计的过程性描述翻译为源程程序序。与与“需需求求分分析析”或或“设设计计”相相比比,“编编码码”要要简简单单得得多多,所所以以通通常由编码员(常由编码员(codercoder)或初级程)或初级程序员担任。序员担任。14测试是开发时期最后一个阶段。测试是开发时期最后一个阶段。按照不同的层次,又可细分为单元测试按照不同的层次,又可细分为单元测试 、综合测试、确认测试和系统测试等步、综合测试、确认测试和系统测试等步 骤。测试是保证软件质量的重要手段。骤。测试是保证软件质量的重要手段。测试阶段的文档称为“测试报告”,包括测试计划、测试用例
7、与测试结果等内容。15运行时期运行时期运行时期是软件生存周期的最后一个时期。软件人员在这一时期的工作,主要是做好软件维护。16软件开发模型软件开发模型传统的软件开发模型 瀑布模型 基于生存期的开发范型基于生存期的开发范型自顶向下,逐步细化自顶向下,逐步细化每一步都要求给出相每一步都要求给出相应的技术文档应的技术文档17主要特点主要特点坚持坚持结构化结构化(将逻辑实现与物理实现分开)思想和强调思想和强调文档文档齐齐套,是瀑布开发模型的两条重套,是瀑布开发模型的两条重要准则。要准则。瀑布模型瀑布模型 Waterfall Model(1976)18 传统的软件开发模型快速原型模型需求分析需求分析原型
8、开发原型开发最终系统设计最终系统设计原型评价原型评价最终系统实现最终系统实现用户用户反馈反馈19快速原型范型快速原型范型Rapid Prototyping Paradigm (1)建立原型建立原型 (2)实现最终软件实现最终软件原型开发范型的最大原型开发范型的最大优点优点:用户的用户的早期介入早期介入20面向对象开发模型面向对象开发模型面向对象思想的最重要特征,是在解题空间中引入了“对象”的概念,使之逼真地模拟问题空间中的客观实体,从而达到与人类的思维习惯相一致。21两种程序设计方法两种程序设计方法程序设计的两次飞跃结构化程序设计e程序=数据结构+算法面向对象程序设计e程序=对象+消息 22两
9、类软件工程方法两类软件工程方法传统软件工程e软件分析 总体设计 详细设计 面向过程的编码 测试 面向对象软件工程e软件分析与对象抽取 对象详细设计 面向对象的编码 测试 23结构化开发方法结构化开发方法基本思路:把整个系统开发过程分成若干阶段,每个阶段进行若干活动,每项活动应用一系列标准、规范、方法和技术,完成一个或者多个任务,形成符合给定规范的产品。分而治之“结构化”的含义:用一组规范的步骤、准则和工具来进行某项工作。24核心思想核心思想:自顶向下和逐步求精自顶向下和逐步求精SASA方法的特点方法的特点使使用用描描述述需需求求说说明明书书的的规规范范工工具具(数数据据流流图图、数数据据词词典
10、典、小小说说明明(加加工逻辑的描述工逻辑的描述)),使文档规范化使文档规范化 基本手段基本手段:分解和抽象分解和抽象 分解分解:大问题分割成小问题大问题分割成小问题,分别解决分别解决 抽象抽象:把细节略去把细节略去,先考虑最本质属性先考虑最本质属性25SASA方法方法分析步骤:分析步骤:e建立建立当前系统的当前系统的具体模型具体模型e抽象抽象出当前系统的出当前系统的逻辑模型逻辑模型e建立建立目标系统的目标系统的逻辑模型逻辑模型e对对目目标标系系统统做做完完整整的的描描述述。考考虑虑人人机机界界面和其它一些问题面和其它一些问题主要描述工具:主要描述工具:e 数据流图数据流图 表达需求表达需求 e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件开发方法 软件 开发 方法 PPT 课件
限制150内