大学软件开发与应用课程PPt-第6-7章软件开发new课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《大学软件开发与应用课程PPt-第6-7章软件开发new课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学 软件 开发 应用 课程 PPt _7 new 课件
- 资源描述:
-
1、1计算机语言的发展计算机语言的发展 第一代语言第一代语言 机器语言机器语言第二代语言第二代语言 汇编语言汇编语言第三代语言第三代语言 高级语言高级语言,亦称过程语言亦称过程语言 FORTRAN、COBOL、C、PASCAL 第四代语言第四代语言 非过程化语言非过程化语言 SQL第五代语言第五代语言 智能性语言智能性语言2程序是按事先设计的功能和性能要求执行的指令序列数据是使程序能正常操纵的信息的数据结构文档是与程序开发、维护和使用有关的图文材料34定义定义 软件开发和维护过程中遇到的一系列严重问题表现表现e用户很不满意e质量很不可靠(产品无评价手段)e软件不可维护e对软件开发成本和进度的估算很
2、不准确e没有适当的文档e软件成本比重上升e软件供不应求5产生的原因:产生的原因:(1)软件是逻辑的系统部件不是物理的系软件是逻辑的系统部件不是物理的系 统部件,以程序和文档形式存在统部件,以程序和文档形式存在 (2)软件规模越来越大,功能越来越强,软件规模越来越大,功能越来越强,软件结构非常复杂软件结构非常复杂结论:结论:软件危机产生的根本原因与软件产品的特软件危机产生的根本原因与软件产品的特征和软件产品开发与维护的方法不正确有关征和软件产品开发与维护的方法不正确有关 解决软件危机的根本出路:解决软件危机的根本出路:(1)认识问题的原因所在,吸取前人的经验认识问题的原因所在,吸取前人的经验 (
3、2)要有相应的理论、技术、工具要有相应的理论、技术、工具6软件工程软件工程软件工程的目的在于获得廉价的、能在软件工程的目的在于获得廉价的、能在实际机器上高效和可靠地工作的软件。实际机器上高效和可靠地工作的软件。为此需要建立并应用牢固的为此需要建立并应用牢固的工程工程准则准则和和方法方法软件工程软件工程定义很多,其定义很多,其核心思想核心思想是:是:“采用工程化的原理和方法对软件进行计采用工程化的原理和方法对软件进行计划、开发和维护划、开发和维护”,因此需要建立和应,因此需要建立和应用用工程工程准则准则和和方法方法71.2 1.2 软件生存周期软件生存周期 e计划时期有问题定义和可行性研究两个阶
4、段 e开发时期有需求分析、系统设计、编码和测试四个阶段 e运行时期主要是系统维护阶段 8问题定义可行性研究需求分析软件设计编码测试维护典型的软件生存周期 开发阶段维护阶段(软件系统目标与范围说明书)(可行性论证报告)(需求说明书)定义阶段(设计说明书)(程序)(测试报告)(软件维护报告)91.2.1 1.2.1 计划时期计划时期计划时期的主要任务:调查和分析调查用户需求分析新系统的主要目标,分析开发该系统的可行性。计划时期还应制定出人力、资源及进度计划。101.2.2 1.2.2 开发时期开发时期开发时期的任务 设计和实现设计包括:需求分析、软件设计实现包括:编码和测试 把设计和实现分成两步走
5、,目的是在开发初期让程序人员集中全力搞好软件的逻辑结构,避免过早地为实现的细节分散精力。11需求分析其任务在于弄清用户对软件系统的全部需求,并用“需求规格说明书”的形式准确地表达出来。12软件设计主要任务是将需求转变为软件的表示形式,有时又可细分为总体设计和详细设计。设计阶段要编写设计文档。13编码即按照选定的语言编码即按照选定的语言,把设计的过程性描述翻译为源,把设计的过程性描述翻译为源程序。与程序。与“需求分析需求分析”或或“设计设计”相相比,比,“编码编码”要简单得多,所以要简单得多,所以通通常由编码员(常由编码员(codercoder)或初级程)或初级程序员担任。序员担任。14测试是开
6、发时期最后一个阶段。测试是开发时期最后一个阶段。按照不同的层次,又可细分为单元测试按照不同的层次,又可细分为单元测试 、综合测试、确认测试和系统测试等步、综合测试、确认测试和系统测试等步 骤。测试是保证软件质量的重要手段。骤。测试是保证软件质量的重要手段。测试阶段的文档称为“测试报告”,包括测试计划、测试用例与测试结果等内容。151.2.3 1.2.3 运行时期运行时期运行时期是软件生存周期的最后一个时期。软件人员在这一时期的工作,主要是做好软件维护。161.3 1.3 软件开发模型软件开发模型1.3.1 传统的软件开发模型 瀑布模型 基于生存期的开发范型基于生存期的开发范型自顶向下,逐步细化
7、自顶向下,逐步细化每一步都要求给出相每一步都要求给出相应的技术文档应的技术文档17主要特点主要特点坚持坚持结构化结构化(将逻辑实现与物理实现分开)思想和强调思想和强调文档文档齐齐套,是瀑布开发模型的两条重套,是瀑布开发模型的两条重要准则。要准则。瀑布模型瀑布模型 Waterfall Model(1976)18 1.3.1 传统的软件开发模型快速原型模型需求分析需求分析原型开发原型开发最终系统设计最终系统设计原型评价原型评价最终系统实现最终系统实现用户用户反馈反馈19快速原型范型快速原型范型Rapid Prototyping Paradigm (1)建立原型建立原型 (2)实现最终软件实现最终软
8、件原型开发范型的最大原型开发范型的最大优点优点:用户的用户的早期介入早期介入201.3.2 1.3.2 面向对象开发模型面向对象开发模型面向对象思想的最重要特征,是在解题空间中引入了“对象”的概念,使之逼真地模拟问题空间中的客观实体,从而达到与人类的思维习惯相一致。21结构化技术结构化技术组件技术组件技术面向对象技术面向对象技术COM、EJB 2.1 结构化开发方法结构化开发方法2.2 面向对象开发方法面向对象开发方法22两种程序设计方法两种程序设计方法程序设计的两次飞跃结构化程序设计e程序=数据结构+算法面向对象程序设计e程序=对象+消息 23两类软件工程方法两类软件工程方法传统软件工程e软
9、件分析 总体设计 详细设计 面向过程的编码 测试 面向对象软件工程e软件分析与对象抽取 对象详细设计 面向对象的编码 测试 242.1.1 2.1.1 基本思路:把整个系统开发过程分成若干阶段,每个阶段进行若干活动,每项活动应用一系列标准、规范、方法和技术,完成一个或者多个任务,形成符合给定规范的产品。分而治之“结构化”的含义:用一组规范的步骤、准则和工具来进行某项工作。25核心思想核心思想:自顶向下和逐步求精自顶向下和逐步求精SASA方法的特点方法的特点使用描述需求说明书的规范工具使用描述需求说明书的规范工具(数据流图、数据词典、小说明(数据流图、数据词典、小说明(加加工逻辑的描述工逻辑的描
10、述)),使文档规范化使文档规范化 基本手段基本手段:分解和抽象分解和抽象 分解分解:大问题分割成小问题大问题分割成小问题,分别解决分别解决 抽象抽象:把细节略去把细节略去,先考虑最本质属性先考虑最本质属性26SASA方法方法分析步骤:分析步骤:e建立建立当前系统的当前系统的具体模型具体模型e抽象抽象出当前系统的出当前系统的逻辑模型逻辑模型e建立建立目标系统的目标系统的逻辑模型逻辑模型e对目标系统做完整的描述。考虑人机界对目标系统做完整的描述。考虑人机界面和其它一些问题面和其它一些问题主要描述工具:主要描述工具:e 数据流图数据流图 表达需求表达需求 e 数据词典数据词典 记录数据的逻辑定义记录
11、数据的逻辑定义 27数据流图数据流图(DFD)(DFD)数据流图(数据流图(Data Flow DiagramData Flow Diagram)是描述系统是描述系统中数据流程的图形工具。它标识了一个系统中数据流程的图形工具。它标识了一个系统的的逻辑输入逻辑输入和和逻辑输出逻辑输出以及把逻辑输入转换以及把逻辑输入转换为逻辑输出所需要的为逻辑输出所需要的加工处理加工处理 帐卡帐卡存折存折取取 款款 信信 息息存折存折核查核查付款付款登录登录无余拒付无余拒付储户储户付款信息付款信息可行性可行性28数据流图数据流图(DFD)(DFD)数据流图以图形的方式表达了系统中的信息数据流图以图形的方式表达了系
12、统中的信息变换和传递的过程变换和传递的过程基本符号:基本符号:数据流数据流 加工加工 数据存储数据存储 数据源点或数据源点或 终点终点29付款信息付款信息取取 款款 信信 息息无余拒付无余拒付取款单取款单 存折存折取款过程的数据流图核查核查付款付款登录登录存折存折储户储户 帐卡帐卡30数据流图数据流图(DFD)(DFD)SA方法要求:先全局后局部、先整体后细方法要求:先全局后局部、先整体后细 节、先抽象后具体节、先抽象后具体 总体数据流图总体数据流图 局部数据流图局部数据流图逐步细化逐步细化31数据流图数据流图(DFD)(DFD)一个复杂的软件其数据流图通常分为顶层、中间层和底层e顶层:顶层:
13、是一个高度抽象的软件系统的逻是一个高度抽象的软件系统的逻辑模型辑模型 e中间层:中间层:它既是上一层的加工的分解结它既是上一层的加工的分解结果,又是下一层若干加工的抽象果,又是下一层若干加工的抽象e底层:底层:由基本加工构成。所谓基本加工由基本加工构成。所谓基本加工是指不能再进行分解的加工是指不能再进行分解的加工323334数据词典数据词典(DD)(DD)SASA方法方法使用使用数据词典数据词典(Data Dictionary)对数据流名、数据存储名、数据项名、基对数据流名、数据存储名、数据项名、基本加工名进行详细说明本加工名进行详细说明 数据流图中包含的所有元素定义数据流图中包含的所有元素定
展开阅读全文