第6章软件开发知识.ppt

上传人:少林足球 文档编号:3614513 上传时间:2019-09-18 格式:PPT 页数:42 大小:548.61KB
返回 下载 相关 举报
第6章软件开发知识.ppt_第1页
第1页 / 共42页
第6章软件开发知识.ppt_第2页
第2页 / 共42页
第6章软件开发知识.ppt_第3页
第3页 / 共42页
第6章软件开发知识.ppt_第4页
第4页 / 共42页
第6章软件开发知识.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《第6章软件开发知识.ppt》由会员分享,可在线阅读,更多相关《第6章软件开发知识.ppt(42页珍藏版)》请在三一文库上搜索。

1、第6章 软件开发知识,6.1 数据库原理及应用 6.2 软件工程,6.1 数据库原理及应用,关系数据库 关系数据库语言 常用关系数据库管理系统 数据库应用系统开发工具 数据库设计 数据库的发展,6.1.1 关系数据库,有关数据库的4个概念 数据(Data) 描述事物的符号记录。,6.1.1 关系数据库,有关数据库的4个概念 数据库(DataBase,简称DB) 长期存储在计算机内的、有组织的、可共享的数据集合。 数据库管理系统(DataBase Management System,简称DBMS) 位于用户和操作系统之间的一层数据管理软件。 完成数据定义、数据操纵、数据库运行管理与维护功能。 数

2、据库系统(DataBase System,简称DBS) 以数据库为核心的,在数据库管理系统的支持下完成一定的数据存储和管理功能的应用软件系统。,6.1.1 关系数据库,数据管理技术的三个阶段 人工管理阶段/文件系统阶段/数据库阶段。 数据库的主要特点 数据冗余度小 重复数据少,节省存储空间并有利于保持数据的一致性。 数据共享度高 多个应用程序共享使用同一个数据库。 数据独立性高 物理独立性/逻辑独立性。,6.1.1 关系数据库,数据库管理系统分类 层次数据库/网状数据库。 关系数据库/对象-关系数据库。 面向对象数据库。 关系模式示例 学生(学号,姓名,年龄,系别) 课程(课程号,课程名,学时

3、) 选课(学号,课程号,分数),6.1.1 关系数据库,关系示例 学生(学号, 姓名, 年龄, 系别) 0701 张三 18 计算机 0702 李四 19 计算机 0703 王五 19 化学 选课(学号, 课程号,分数) 0701 C01 92 0701 C02 78 0702 C01 65 0703 C02 86 0703 C03 95 课程(课程号,课程名, 学时) C01 计算机导论 34 C02 高等数学 102 C03 大学英语 68,6.1.2 关系数据库语言,关系数据库语言的特点 非过程化 只要提出做什么,而不必指明如何做 。 功能一体化 数据定义与数据操纵格式统一。 一种语法两

4、种使用方式。 人机交互方式与嵌入主语言方式。 面向集合操作 语法简捷、易学易用,6.1.2 关系数据库语言,应用示例 对于上述学生选课关系,如果查询选修了“计算机导论“课程的学生的姓名,可以写出如下查询语句: SELECT 学生.姓名 FROM 学生, 选课, 课程 WHERE 学生.学号=选课.学号 AND 选课.课程号=课程.课程号 AND 课程.课程名=“计算机导论“ ;,6.1.3 常用关系数据库管理系统,小型数据库管理系统 MySQL Access 大型数据库管理系统 Oracle MS SQL Server DB2,6.1.3 常用关系数据库管理系统,大型数据库管理系统的特点 基于

5、网络环境的数据库管理系统。 支持大规模的应用。 自动锁功能使得并发用户可以安全而高效地访问数据。 可以保证系统的高度安全性。 提供方便而灵活的数据备份和恢复方法及设备镜像功能。 提供多种维护数据完整性的手段。 提供了方便易用的分布式处理功能。,6.1.4 数据库系统开发工具,自带开发工具 专用开发工具 PowerBuilder Delphi Visual Basic Visual C+,6.1.5 数据库设计,需求分析 对组织的工作现状和用户需求进行调查分析。 明确用户的信息需求和系统功能。 提出拟建系统的逻辑方案。,6.1.5 数据库设计,概念结构设计 将需求分析阶段得到的用户需求抽象为反映

6、现实世界信息需求的数据库概念结构(E-R图)。 设计局部E-R图。 集成局部E-R图为全局E-R图。 优化全局E-R图。,6.1.5 数据库设计,逻辑结构设计 把概念结构设计阶段的E-R图转换成与具体的DBMS产品所支持的数据模型相一致的逻辑结构。 将E-R图转换为关系模型。 对关系模型进行优化。,6.1.5 数据库设计,物理结构设计 确定数据库在实际的物理设备上的存储结构和存取方法。 确定数据的存储安排。 存取路径的选择与调整。 确定系统配置。,6.1.5 数据库设计,数据库实施 根据逻辑设计和物理设计的结果,在选用的DBMS上建立起数据库 建立数据库结构。 载入实验数据并测试应用程序。 载

7、入全部实际数据并试运行应用程序。,6.1.5 数据库设计,数据库的运行和维护 数据库的转储和恢复。 数据库的安全性完整性控制。 数据库性能的监督和分析。 数据库的重组织与重构造。,6.1.6 数据库的发展,分布式数据库 由一组数据组成,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力,可以执行局部应用。同时,每个结点也能通过网络通信子系统执行全局应用。 本地数据库管理系统。 全局数据库管理系统。 全局数据字典。 通信管理。,6.1.6 数据库的发展,XML数据库 可扩展标记语言(eXtensible Markup Language)的简称,正在逐步成为新一代Web数据

8、描述和数据交换的标准。 与HTML的主要区别 内容与形式的分离。 良好的可扩展性。 良好的跨平台移植性。 良好的自描述性。,6.1.6 数据库的发展,数据仓库 面向主题的、集成的、时变的、非易失的数据集合,支持管理部门的决策过程。,6.1.6 数据库的发展,数据挖掘 是从存放在数据库、数据仓库或其他信息库中的大量数据中发现有用知识的过程。 主要功能 概念描述/关联分析/分类/聚类。 孤立点分析/演变分析。,6.1.6 数据库的发展,大数据 规模大到目前的软件工具难以有效收集、存储、管理和分析的数据。,6.1.6 数据库的发展,大数据 的特点 数据量大:一般都在太字节(TB)以上。 类型多样:包

9、括数值、文本、图像、视频、音频等各种类型的结构化和非结构化数据。 处理速度快:对大数据的分析处理速度要快,分析结果要能及时用于支持决策。 价值大:原始数据价值密度低,但经分析处理后能够带来巨大的经济社会价值。,6.1.6 数据库的发展,大数据示例 美国华盛顿大学计算机专家奥伦埃齐奥尼开发了一个机票价格预测系统Farecast,基于对以往机票实际价格的分析来预测未来机票的价格,帮助人们在合适的时间以最低的价格购买机票。 到2012 年为止,Farecast系统用了将近10万亿条价格记录来帮助预测美国国内航班的票价。Farecast票价预测的准确度已经高达75 ,使用Farecast 票价预测工具

10、购买机票的旅客,平均每张机票可节省50 美元。,6.1.6 数据库的发展,大数据示例 美国华盛顿大学计算机专家奥伦埃齐奥尼开发了一个机票价格预测系统Farecast,基于对以往机票实际价格的分析来预测未来机票的价格,帮助人们在合适的时间以最低的价格购买机票。 到2012 年为止,Farecast系统用了将近10万亿条价格记录来帮助预测美国国内航班的票价。Farecast票价预测的准确度已经高达75 ,使用Farecast 票价预测工具购买机票的旅客,平均每张机票可节省50 美元。,6.2 软件工程,软件开发的复杂性 软件工程的基本原则 软件开发方法 系统分析 系统设计 系统实施 系统运行与维护

11、,6.2.1 软件开发的复杂性,软件危机 软件开发成本和开发进度的估计往往很不准确。 用户对“已完成”的软件系统不满意的现象经常发生。 软件产品的质量往往不可靠。 软件没有适当的文档资料。 软件通常是不可维护的。 软件工程 采用工程的概念、原理、技术和方法来开发和维护软件。,6.2.1 软件开发的复杂性,复杂性的表现 开发环境的复杂性 用户需求的多样性 技术手段的综合性 计算机硬件和软件技术。 数据通信与网络技术。 数据采集与存储技术。 多媒体技术。,6.2.2 软件工程的基本原则,B. W. Boehm总结的7条基本原则 用分阶段的生命周期计划进行严格的管理。 坚持进行阶段评审。 实行严格的

12、产品控制。 采用现代程序设计技术。 结果应能清楚地审查 。 开发小组的人员应该少而精。 承认不断改进软件工程实践的必要性。,6.2.3 软件开发方法,生命周期法 含义:将整个软件的开发过程分解成若干个阶段,并对每个阶段的目标、任务、方法作出规定,使整个软件的开发过程具有合理的组织和科学的秩序。 生命周期的四个主要阶段 系统分析/系统设计/系统实施/系统运行与维护。 遵循的原则 用户参与的原则/先逻辑后物理的原则。 自顶向下的原则/工作成果描述标准化原则。,6.2.2 软件开发方法,快速原型法 以少量代价快速地构造一个可执行的软件系统,使用户和开发人员可以较快地确定需求。 需求规格原型 渐进原型

13、,6.2.2 软件开发方法,面向对象法 把数据和对数据的操作同等看待,是一种以数据为主线,把数据和对数据的操作紧密结合起来的方法。 主要特点 把对象作为融合了数据及在数据上的操作行为的统一软件构件,用对象分解取代了结构化方法的功能分解。 把所有对象都划分为类。每个类定义了一组数据和一组操作,类是对具有相同数据和相同操作的一组相似对象的定义。,6.2.2 软件开发方法,面向对象法 主要特点 按照父类与子类的关系,把若干个相关类组成一个层次结构的系统。下层子类自动拥有上层父类中定义的数据和操作,这种特性称为继承性。 对象彼此之间仅能通过发送消息互相联系,对象的所有私有信息都被封装在该对象内,不能从

14、外界直接访问,这就是封装性。,6.2.4 系统分析,系统分析的任务 对组织的工作现状和用户需求进行调查、分析,明确用户的信息需求和系统功能,提出拟建系统的逻辑方案。 系统分析步骤 系统初步调查 可行性研究 技术可行性/经济可行性/运行可行性。 系统详细调查 新系统逻辑方案的提出 系统分析说明书全面/系统/准确/详实/清晰。,6.2.5 系统设计,系统设计任务 从软件的总体目标出发,根据系统分析阶段对系统逻辑功能的要求,并考虑到技术、经济、运行环境等方面的条件,确定系统的总体结构和系统各组成部分的技术方案,合理选择计算机和通信的软、硬件设备,提出系统的实施计划,确保总体目标的实现。 系统设计依据

15、 系统分析的成果/现行技术。 国家标准与行业规范/用户需求/系统运行环境。,6.2.5 系统设计,系统设计步骤 总体结构设计 运行模式选择/操作系统选择。 数据库管理系统选择。 网络平台及结构选择。 系统功能结构设计。 详细设计 算法设计/编码设计。 数据库设计/用户界面设计。,6.2.6 系统实施,系统实施的任务 以系统分析和系统设计阶段的工作成果为依据,将技术设计方案转化成物理实现。 主要工作步骤 程序设计 系统测试 模块测试/集成测试/验收测试。 系统转换 直接转换/并行转换/分阶段转换。,6.2.7 系统运行与维护,维护含义 在系统运行阶段,为了改正错误或满足新的需要而修改/完善系统的

16、过程。 维护内容 应用程序维护/数据维护。 编码维护/硬件设备维护。 维护类型 纠错性维护/适应性维护。 完善性维护/预防性维护。,6.2.8 软件工具,软件工具定义 用来辅助软件开发的软件,能在软件开发的各个阶段为开发人员提供帮助,有助于提高软件开发的质量和效率。 软件工具种类 项目管理工具/配置管理工具/分析和设计工具。 编程工具/测试工具/维护工具。,6.2.8 软件工具,软件开发环境定义 在基本硬件和软件的基础上,为支持软件的工程化开发而使用的软件系统。由软件工具和和环境集成机制构成。 计算机辅助软件工程定义 用一些计算机软件来辅助软件的开发。,6.3 本章小结,软件开发所需知识 程序设计语言/数据库技术/软件工程。 数据库技术 数据库语言/常用DBMS/开发工具。 数据库设计(需求分析/概念设计/逻辑设计/物理设计/实施与维护)。 软件工程 软件危机导致软件工程的出现。 生命周期法/快速原型法/面向对象法。 软件开发过程(分析/设计/实现/测试/维护)。 软件工具/软件开发环境/计算机辅助软件工程。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1