版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,3.3.3 数据结构(Data Structures),数据结构:研究程序设计中计算机操作对象以及它们之间关系和运算的一个专门学科。 研究数据结构一般包括三个方面的内容: 数据的逻辑结构 数据的存储结构 在数据上定义的运算的集合,2,数据结构的产生,(1)数据 是对客观事物的符号表示。在计算机科学中其含义是指所有能够输入到计算机中并被计算机程序处理的符号集合。例如:数字、字母、汉字、图形、图像、声音都称为数据。 (2)数据元素 是数据集合中的一个实体,是计算机程序中加工处理的基本单位。,数据结构中涉及到的基本概念,数据元素按其组成可分为简单型数据元素和复杂型数据元素。简单型数据元素由一个数
2、据项组成,所谓数据项就是数据中不可再分割的最小单位;复杂型数据元素由多个数据项组成,它通常携带着一个概念的多方面信息。 数据元素具有广泛的含义。一般来说,现实世界中客观存在的一切个体都可以是数据元素。例如,描述一年四季的季节名,可以作为季节的数据元素;表示数值的各个数:11,34,25,67,99,可以作为数值的数据元素;在数据处理领域中,通常把数据元素之间这种固有的关系简单地用前后件关系(或者直接前驱与直接后继关系)来描述。,4,数据的逻辑结构,数据元素之间的逻辑关系,与数据在计算机内部如何存储无关,独立于计算机,有以下几种结构: 线性结构:数据元素之间存在线性关系,即最多只有一个前导和后继
3、元素; 树形结构:数据元素之间呈层次关系,即最多有一个前导和多个后继元素; 图状结构:数据元素之间的关系为多对多的关系。,5,数据的逻辑结构,6,数据的存储结构,数据元素在计算机中的存储方式,分为: 顺序存储结构 链式存储结构 数据域 指针域 索引存储结构 散列存储结构,7,数据的存储结构,数据的存储结构实质上是它的逻辑结构在计算机存储器上的实现。 为全面地反映一个数据元素的逻辑结构,它在存储器中的映象应包括两方面的内容: 数据元素自身值 数据元素之间关系 链接表是以指针方式表示的“线性表结构”,infolink,infolink,infolink,第1个学生,第2个学生,第n个学生,学生表的
4、链接结构,8,对各种数据逻辑结构有相应的各类运算,每种逻辑结构都有一个运算的集合,常用的运算有:检索、插入、删除、更新、排序等。实质上,数据的运算定义在数据逻辑结构上,而其运算的具体实现要在存储结构上进行。 运算的定义直接依赖于逻辑结构,但运算的实现必依赖于存贮结构。,数据的运算,9,3. 4软件工程基础,1、软件工程概述 2、软件工程研究内容 3、软件开发模型 软件生存周期 软件开发模型:瀑布模型、增量模型、螺旋模型和软件重用模型 4、软件开发过程,10,1 软件工程概述,由于硬件技术的进步,计算机得到了广泛应用。 因而出现了一些复杂的、大型的软件开发项目,虽然技术不断发展,但始终不能满足软
5、件发展的要求,从而形成了“软件危机”。 软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。几乎所有软件都不同程度地存在这些问题。,11,1 软件工程概述,从微观上看,特征表现:在开发过程没有规范化和系统化、开发计划,不能按期完成、经费超支导致成本过高,甚至工程最终失败。 从宏观及整个社会对软件的需求来看,实质是软件产品的供应赶不上硬件的发展和用户需求的增长。 原因: 开发靠手工,没有统一、公认的方法论规范指导。负责开发管理的中高级人员,对产业规律性和质量度量研究不透彻,不能及时解决实际出现的问题。,12,解决危机的方法: 提出结构程序设计方法 提出用工程方法开发软件 从理论上
6、探讨程序正确性和软件可靠性问题。 目前,软件开发工程化成为提高软件开发效率的唯一的方法。,1 软件工程概述,13,2 软件工程研究内容,软件工程是计算机领域的一个较大的研究方向,其内容十分丰富,包括:理论、结构、方法、工具、环境、管理、经济、规范等,软件工程,软件开发技术,软件工程管理,软件开发方法,软件开发工具,软件开发环境,软件开发管理,软件心理学,软件工程经济学,14,3 软件开发模型,1、软件生存周期 定义:由软件定义、软件开发和运行维护三个时期组成,每个时期又可进一步划分成若干个阶段。 软件定义时期的工作: 问题定义,弄清用户要计算机解决的问题是什么。 可行性研究,为前一阶段提出的问
7、题寻求一种或数种在技术上可行、且在经济上有较高效益的解决方案。,15,软件开发时期的五个阶段: 需求分析:弄清用户对软件系统的全部需求,主要是确定目标系统必须具备哪些功能。 总体设计:设计软件的结构,即确定程序由哪些模块组成以及模块间的关系。 详细设计:针对单个模块的设计。 编码:按照选定的语言,把模块的过程性描述翻译为源程序。 测试:通过各种类型的测试使软件达到预定的要求,3 软件开发模型,16,3、软件开发模型,(1)瀑布模型 将软件生存周期的各项活动规定为依照固定顺序连接的若干阶段工作,形如瀑布流水,最终得到软件产品。,17,(2)增量模型,先开发一个“原型”软件,完成主要功能,征求用户
8、意见, 再逐步完善,最终获得满意的软件产品。 特点:具有较大的灵活性, 应用范围:适合于软件需求不明确、设计方案有一定风险的软件项目。,系统定义及用户需求分析,原型设计编码,测试原型,完善原型,产品系统的设计实现,18,(3)螺旋模型,结合瀑布模型与增量模型,并加入风险分析。模型沿螺线旋转,在笛卡尔坐标的四个象限上分别表达了四个方面的活动,即: 制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件; 风险分析:分析方案,考虑如何识别和消除风险; 实施工程:实施软件开发 客户评估:评价开发工作,提出修正建议。 沿螺线自内向外每旋转一圈便开发出更为完善的一个新的软件版本。,19,20,(4
9、)软件重用模型,特点:开发具有各种一般性功能的软件模块,将它们组成软件重用库。 通常对于一个具体的软件开发会存在若干方法的组合与交叉,也可使用新的开发模型与方式。,21,4 软件开发过程,在软件计划确定后,目前通常采用结构化方法的软件开发过程或面向对象方法的软件开发过程。,软件测试,软件计划后,面向对象分析,面向对象设计,面向对象编程,软件计划后,结构化分析,结构化设计,结构化程序设计,软件测试,22,特点:采用自顶向下、逐步求精的方式来进行程序设计,以模块化设计为中心,将待开发的软件系统划分为若干个相对独立的模块。模块间工作明确,相互独立。 优点:一定程度上解决了软件的可靠性、可生产性和可维护性等方面的问题,部分缓解了软件危机。 缺点:对大型软件的开发,在稳定性、可修改性、可维护性等方面仍然存在许多问题,A、结构化程序设计,23,起源于面向对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高支模施工方案名称(3篇)
- 38类护理急救预案
- 职业规划图表模板
- 安全生产应急方案
- 洗衣机零部件制作工成果竞赛考核试卷含答案
- 有色金属强化熔炼工操作评估知识考核试卷含答案
- 空管自动化系统机务员QC管理竞赛考核试卷含答案
- 12专题六 信息系统的支撑技术及搭建
- 机械加工材料切割工操作安全模拟考核试卷含答案
- 精对(间)苯二甲酸装置操作工安全宣教竞赛考核试卷含答案
- 2026内蒙古自治区民政厅所属事业单位招聘7人笔试备考试题及答案解析
- 2026年中质协CAQ六西格玛黑带-控制-习题道模拟考试试卷(历年真题)附答案详解
- 2026润滑油行业低碳转型与碳足迹管理研究
- 2026年江苏省苏州市姑苏区中考历史模拟试卷(一)(含答案)
- 树木修枝劳务协议书
- 2026年安徽省合肥市经开区中考语文二模试卷(含详细答案解析)
- 2025-2026学年江苏省南京市栖霞区七年级(下)期中英语试卷含答案
- 2026年医疗事业单位编制公共基础知识考点预测真题题库(含答案)
- 2026年党章党纪党规应知应会知识测试题库(含答案)
- 社区采购询价制度
- 仓库与采购管理制度
评论
0/150
提交评论