《计算机专转本辅导_第6章 信息系统与数据库.ppt》由会员分享,可在线阅读,更多相关《计算机专转本辅导_第6章 信息系统与数据库.ppt(96页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第6 章 信息系统与数据库本章要掌握的知识点(1)计算机信息系统的定义、计算机信息系统的定义、“信息信息”和和“数据数据”的概念的概念数据库、数据库管理系统和数据库系统数据库、数据库管理系统和数据库系统数据库系统的特点数据库系统的特点数据模型:关系、层次、网状和面向对象数据模型:关系、层次、网状和面向对象E-RE-R概念模型有关术语。实体、属性、主键和联概念模型有关术语。实体、属性、主键和联系系本章要掌握的知识点(2)三种基本的联系类型:一对一、一对多、和多三种基本的联系类型:一对一、一对多、和多对多对多传统集合的关系操作:并、交、差、传统集合的关系操作:并、交、差、(广义笛(广义笛卡儿积)卡
2、儿积)专门的关系操作:插入、删除、更新、选择、专门的关系操作:插入、删除、更新、选择、投影和连接投影和连接关系数据库语言关系数据库语言SQL6.1 计算机信息系统计算机信息系统 6.1.1 什么是计算机信息系统什么是计算机信息系统 6.1.2 信息系统信息系统 的类型的类型 什么是计算机信息系统 计算机信息系统计算机信息系统(简称信息系统)是一类(简称信息系统)是一类以提供信息服务为主要目的的以提供信息服务为主要目的的数据密集型、人数据密集型、人机交互机交互的计算机应用系统。的计算机应用系统。4个主要技术特点:个主要技术特点:数据量大数据量大,一般需存放在外存中一般需存放在外存中 数据长久持续
3、有效(持久性)数据长久持续有效(持久性)数据共享使用(共享性)数据共享使用(共享性)提供多种信息服务(功能多样性)提供多种信息服务(功能多样性)(管理,检索,统计,分析,决策等管理,检索,统计,分析,决策等)。信息系统是一种面广量大的计算机应用系统信息系统是一种面广量大的计算机应用系统:教学管理系统教学管理系统 地理信息系统地理信息系统 信息检索系统信息检索系统 医学信息系统医学信息系统 决策支持系统决策支持系统 民航订票系统民航订票系统 电子政务系统电子政务系统 电子商务系统电子商务系统 .从信息处理的深度来区分信息系统从信息处理的深度来区分信息系统,基本可分为基本可分为3大类大类:业务处理
4、系统业务处理系统信息检索系统信息检索系统信息分析系统信息分析系统管理业务系统管理业务系统辅助技术系统辅助技术系统办公信息系统(办公信息系统(OA)面向操作层次面向操作层次 面向管理层次面向管理层次 CAD(计算机辅助设计)(计算机辅助设计)CAM(计算机辅助制造)(计算机辅助制造)CAPP(计算机辅助工艺规划)(计算机辅助工艺规划)6.2 关系数据库系统关系数据库系统 6.2.1 数据管理的需求和数据库系统数据管理的需求和数据库系统 6.2.2 关系数据模型关系数据模型 6.2.3 关系操作关系操作 6.2.4 关系数据库语言关系数据库语言SQL简介简介 6.2.5 数据库系统及应用新技术数据
5、库系统及应用新技术 数据库系统的组成 数据库系统数据库系统(DBS)指具有管理和控制指具有管理和控制数据库功能的计算机应用系统,它一般数据库功能的计算机应用系统,它一般由用户应用程序、计算机支持系统、数由用户应用程序、计算机支持系统、数据库、数据库管理系统和有关人员组成。据库、数据库管理系统和有关人员组成。数据库系统的特点数据库系统的特点 数据结构化。数据结构化。数据可共享高,冗余度低数据可共享高,冗余度低 数据独立于程序数据独立于程序 数据的逻辑独立性:数据的逻辑独立性:应用程序与数据库的逻辑结应用程序与数据库的逻辑结构相互独立。构相互独立。数据的物理独立性:数据的物理独立性:应用程序与数据
6、库的存储结应用程序与数据库的存储结构相互独立。构相互独立。统一管理控制数据统一管理控制数据数据模型数据模型 由于使用数据库的信息系统是一种计算机软件系由于使用数据库的信息系统是一种计算机软件系统,而计算机是不可能直接处理现实世界中的事物的。统,而计算机是不可能直接处理现实世界中的事物的。所以必须通过以下过程来处理数据所以必须通过以下过程来处理数据:具体事物及其特征具体事物及其特征概念化加工概念化加工计算机能够存储处理的数据计算机能够存储处理的数据DB计算机不可能直接处理计算机不可能直接处理现实世界中的事物现实世界中的事物进一步具体说明进一步具体说明:客观对象抽象到数据模式描述的结构客观对象抽象
7、到数据模式描述的结构客客 观观 对对象象概念结构概念结构抽象抽象数据模式数据模式抽象抽象DB(E-R图)(二维表)按计算机系统支持的结按计算机系统支持的结构构,组织数据组织数据(数据模式数据模式):逻辑结构为逻辑结构为二维表二维表存储存储结构为文件结构为文件从概念上描述对象和对从概念上描述对象和对象间的关联象间的关联,经过识别经过识别,选择选择,分类等综合分析分类等综合分析,形成形成“概念结构概念结构”(用实体用实体-联系工具联系工具E-R图图表示。表示。)综上可见综上可见:n 概念结构是分析过程中的一个中间结果,概念结构是分析过程中的一个中间结果,它将现实世界中的客观对象和对象间的关联,它将
8、现实世界中的客观对象和对象间的关联,经过识别,选择,分类等综合分析,形成经过识别,选择,分类等综合分析,形成“概念结构概念结构”。(用实体(用实体-联系工具联系工具E-R图表示)图表示)n 数据模型是直接面向计算机系统(即数数据模型是直接面向计算机系统(即数据库)中数据的数据结构据库)中数据的数据结构(包括逻辑结构和包括逻辑结构和存储结构存储结构)。(用数据模型来描述数据结构)(用数据模型来描述数据结构)E-R概念模型中的有关术语概念模型中的有关术语实体实体(entity):客观对象;客观对象;实体集实体集:具有共性的实体的集合;:具有共性的实体的集合;属性属性(attribute):实体的特
9、征;实体的特征;联系联系(relationship)一对一联系(一对一联系(1:1)一对多联系(一对多联系(1:n)多对多联系(多对多联系(m:n)实体集之间的联系实体集之间的联系 在常见的数据库系统中,根据实体集之间的在常见的数据库系统中,根据实体集之间的不同结构,通常把数据模型分为不同结构,通常把数据模型分为层次模型层次模型、网网状模型状模型、关系模型关系模型和和面向对象模型面向对象模型4 4种。种。层次模型层次模型 网状模型网状模型 关系模型关系模型 面向对象模型面向对象模型国内国内DBS普遍采用关系模型(普遍采用关系模型(95%以上),课程介绍关系模型。以上),课程介绍关系模型。关系数
10、据模型关系数据模型 关系数据模型描述数据的逻辑结构关系数据模型描述数据的逻辑结构3要素要素:数据结构数据结构 数据完整性数据完整性 数据的操作数据的操作 关系数据模型关系数据模型 从用户的观点看,用关系数据模型描述的关系数从用户的观点看,用关系数据模型描述的关系数据模式其逻辑结构具有据模式其逻辑结构具有二维表二维表的结构形式,它与人们的结构形式,它与人们日常使用的表格类似,由表名、行和列组成。表的每日常使用的表格类似,由表名、行和列组成。表的每一行称为一个一行称为一个元组元组,每一列称为一个,每一列称为一个属性属性。关系模型的基本结构是关系,也就是关系模型的基本结构是关系,也就是二维表二维表结
11、构。结构。例如:表例如:表1学生登记表(学生登记表(S):表表2 .课程开设表课程开设表 (C):表表3.学生选课成绩表学生选课成绩表 (SC):学生登记表学生登记表(S),课程开设表课程开设表(C)与学生选课成绩表之与学生选课成绩表之间的联系间的联系:关系数据模式关系数据模式:用关系数据模型对一个具体单位中客观对象及其用关系数据模型对一个具体单位中客观对象及其联系的结构描述,称为联系的结构描述,称为关系数据模式关系数据模式(简称(简称:关系模式)关系模式)关系模式的描述形式关系模式的描述形式:其中其中:R为关系模式名,即二维表名。为关系模式名,即二维表名。Ai(1in)是二维表中的列名。)是
12、二维表中的列名。R(A1,A2,Ai,An)或者或者:R =(A1,A2,Ai,An)上述数据对象(上述数据对象(S和和C)以及数据对象之)以及数据对象之间的联系(间的联系(SC)表示成关系模式分别为:)表示成关系模式分别为:S(SNO,SNAME,DEPART,SEX,BDATE,HEIGHT)C(CNO,CNAME,LHOUR,SEMESTER)SC(SNO,CNO,GRADE)这这3个关系模式也可以用汉字定义为个关系模式也可以用汉字定义为:学生学生 (学号学号,姓名,系别,性别,出生日期,身高),姓名,系别,性别,出生日期,身高)课程课程 (课程号课程号,课程名,学时,开课时间),课程名
13、,学时,开课时间)选课成绩选课成绩(学号,课程号学号,课程号,成绩),成绩)关系模式关系模式(即二维表即二维表)主主键键:能够唯一标识二维表中能够唯一标识二维表中指定元组的属性或者属性组指定元组的属性或者属性组(这组属性的任何真子集无(这组属性的任何真子集无此性质),称为该二维表的此性质),称为该二维表的候选键。候选键。如果一个关系模式有多个如果一个关系模式有多个候选键存在候选键存在,则可从中选一个则可从中选一个最常用的作为该关系模式主最常用的作为该关系模式主键键,简称简称主键。主键。候选键候选键:(学号学号)(姓名姓名,出生年月出生年月)主键主键:(学号学号)基本术语的对照基本术语的对照:关
14、系模型中的术语来自关系数学,与程序员和关系模型中的术语来自关系数学,与程序员和用户的习惯说法是相对应的。用户的习惯说法是相对应的。关系模型的关系模型的存储结构存储结构 在关系数据模型中,数据对象和数据对象之间在关系数据模型中,数据对象和数据对象之间的联系都用的联系都用二维表来二维表来表示。在支持关系模型的数据表示。在支持关系模型的数据库物理组织库物理组织(即存储结构即存储结构)中,中,二维表以文件形式存储二维表以文件形式存储。在大多数数据库中,二维表与操作系统中的文件相在大多数数据库中,二维表与操作系统中的文件相对应。对应。特别提示特别提示:数据模型和模式是有区别的。数据模型和模式是有区别的。
15、数据模型数据模型:用一组概念和定义描述数据的手段用一组概念和定义描述数据的手段 数据模式数据模式:用某种数据模型对具体情况下相关数据用某种数据模型对具体情况下相关数据结构的描述。结构的描述。具体地说,关系模式是以关系数据模型为基础,综合具体地说,关系模式是以关系数据模型为基础,综合考虑了用户的需求,并将这些需求抽象而得到的逻辑结构。考虑了用户的需求,并将这些需求抽象而得到的逻辑结构。因而不应将关系数据模型和关系模式相混淆。因而不应将关系数据模型和关系模式相混淆。特别提示:特别提示:关系模式关系模式:反映了二维表的静态结构,是相对稳定反映了二维表的静态结构,是相对稳定的。的。关系关系:是关系模式
16、在某一时刻的状态,它反映二维是关系模式在某一时刻的状态,它反映二维表的内容,由于对关系的操作不断更新着二维表中的表的内容,由于对关系的操作不断更新着二维表中的数据,因此关系是随时间动态变化的。数据,因此关系是随时间动态变化的。但在一般表述中,人们常常将关系模式和关系都称为关系,但在一般表述中,人们常常将关系模式和关系都称为关系,实际上对此二者应加以科学的区分。实际上对此二者应加以科学的区分。关系操作 在关系数据库中,通常可以定义一些操作来通过已在关系数据库中,通常可以定义一些操作来通过已知的关系知的关系(二维表二维表)创建新的关系创建新的关系(二维表二维表)。最常用的。最常用的关系操作有:关系
17、操作有:并 插入 交 更新 差 删除 笛卡尔积 选择 除 连接 投影专门的关系操作专门的关系操作传统集合的关系操作传统集合的关系操作n并并 并操作是一个二元操作。它要求参与操作的两个关系有相同的并操作是一个二元操作。它要求参与操作的两个关系有相同的关系模式。其作用是将两个关系组合成一个新的关系。根据集合论关系模式。其作用是将两个关系组合成一个新的关系。根据集合论的定义,并操作创建的新关系中的每一个元组或者属于第一个关系、的定义,并操作创建的新关系中的每一个元组或者属于第一个关系、或者属于第二个关系,或者在两个关系中皆有。或者属于第二个关系,或者在两个关系中皆有。结果关系表示选课程学生结果关系表
18、示选课程学生的的“60100分成绩表分成绩表”n交交 交操作也是一个二元操作。它对两个具有相同关系模式的关系进交操作也是一个二元操作。它对两个具有相同关系模式的关系进行操作,创建一个新关系。根据集合论的定义,交操作所创建新关行操作,创建一个新关系。根据集合论的定义,交操作所创建新关系中的每一个元组必须是两个原关系中共有的成员。系中的每一个元组必须是两个原关系中共有的成员。结果表示选课学生结果表示选课学生“70分分80分成绩表分成绩表”。n 差差 差操作也是一个二元操作。它应用于具有相同关系模式的两差操作也是一个二元操作。它应用于具有相同关系模式的两个关系。生成新关系中的元组是存在于第一个关系而
19、不存在于个关系。生成新关系中的元组是存在于第一个关系而不存在于第二个关系中的元组。第二个关系中的元组。例如,关系例如,关系SC1与关系与关系SC2进行差操作进行差操作:结果关系包括那些在结果关系包括那些在SC1表中而表中而不在不在SC2表中的成绩信息,即表中的成绩信息,即“60 69分成绩表分成绩表”专门的关系操作l插入插入 插入操作是一种一元操作。它应用于一个关系,其操作是在关系插入操作是一种一元操作。它应用于一个关系,其操作是在关系中插入新的元组(或另一个具有相同模式的关系)中插入新的元组(或另一个具有相同模式的关系).例如例如:在课程开设表(在课程开设表(C)中插入一个新的课程信息)中插
20、入一个新的课程信息 (CW101,论文写作论文写作,30,春春)。)。l删除删除 删除操作为一元操作。它根据要求删去表中相应的元组。删除操作为一元操作。它根据要求删去表中相应的元组。例如例如:从课程表(从课程表(C)中删除课程)中删除课程CC112。l更改更改 更改操作也是一种一元操作,它应用于一个关系。用来改更改操作也是一种一元操作,它应用于一个关系。用来改变关系中指定元组中的部分属性值。变关系中指定元组中的部分属性值。例如例如:课程开设表课程开设表(C)中的课程中的课程ME234元组的元组的LHOUR值由值由“40”改为改为“30”,SEMESTER值由值由“秋秋”改为改为“春春”。l选择
21、选择 选择操作是一元操作。它应用于一个关系并产生另一个新关系。新关选择操作是一元操作。它应用于一个关系并产生另一个新关系。新关系中的元组(行)是原关系中元组的子集。选择操作根据要求从原先系中的元组(行)是原关系中元组的子集。选择操作根据要求从原先关系中选择部分元组。结果关系中的属性(列)与原关系相同(保持关系中选择部分元组。结果关系中的属性(列)与原关系相同(保持不变)。不变)。例如例如:从学生登记表从学生登记表(S)中,选出性别为中,选出性别为“男男”的学生元组,组成一个新的学生元组,组成一个新关系关系“男学生登记表男学生登记表”。l投影投影 是一元操作,它作用于一个关系并产生另一个新关系。
22、是一元操作,它作用于一个关系并产生另一个新关系。新关系中的属性(列)是原关系中属性的子集。在一般新关系中的属性(列)是原关系中属性的子集。在一般情况下,虽然新关系中的元组属性减少了,但其元组情况下,虽然新关系中的元组属性减少了,但其元组(行)的数量与原关系保持不变。(行)的数量与原关系保持不变。例如例如:需要了解学生选课情况而不关心其成绩时,可对需要了解学生选课情况而不关心其成绩时,可对学生选课成绩表(学生选课成绩表(SC)进行相关的投影操作。)进行相关的投影操作。其结果的每个元组仅其结果的每个元组仅包括学(包括学(SNO)课程号(课程号(CNO)两个属性两个属性l连接连接 是一个二元操作。它
23、基于共有属性把两个关系组合起来。连接操是一个二元操作。它基于共有属性把两个关系组合起来。连接操作比较复杂并有较多的变化。作比较复杂并有较多的变化。例如例如:学生登记表(学生登记表(S)和学生选课成绩表()和学生选课成绩表(SC)的连接)的连接,生成一生成一个信息更全面的关系。个信息更全面的关系。对于已选课程的学生而言,结果关系包含对于已选课程的学生而言,结果关系包含SC表原来的信息,并增加了该学生选修课程号表原来的信息,并增加了该学生选修课程号(CNO)和成绩()和成绩(GRADE)。)。关系数据库语言SQL 数学上对关系操作的抽象描述是数学上对关系操作的抽象描述是“关系代数关系代数”。关系数
24、据库管理系统必须配置与此相应的语言,使关系数据库管理系统必须配置与此相应的语言,使用户可以对数据库进行各式各样的操作,这就构成用户可以对数据库进行各式各样的操作,这就构成了用户和数据库的接口。了用户和数据库的接口。由于由于DBMS所提供的语言一般局限于对数据库所提供的语言一般局限于对数据库的操作,不同于计算机的程序设计语言,因而称它的操作,不同于计算机的程序设计语言,因而称它为数据库语言。为数据库语言。DB数据库语言数据库语言程序程序用户用户 关系数据库语言关系数据库语言SQL特点特点 是一是一种种“非非过过程程语语言言”是是“结构结构化化语语言言”体现关系模型在结构体现关系模型在结构,完整性
25、和操作方面的特完整性和操作方面的特征征 有命令和嵌入程序两种使用方式有命令和嵌入程序两种使用方式 功能齐全功能齐全,简洁易学简洁易学,使用方便使用方便 为主流为主流DBMSDBMS产品(如产品(如ORACLEORACLE、SybaseSybase、DB2DB2、SQL ServerSQL Server等)所支持等)所支持2.SQL的数据查询的数据查询 数据库查询是数据库的数据库查询是数据库的核心操作核心操作。SQL语言提供了语言提供了SELECT语句进行数据库查询。语句进行数据库查询。SELECT查询语句简单的形式为:查询语句简单的形式为:SELECT A1,A2,An(指出目标表的列名或列表
26、达指出目标表的列名或列表达式序列,做投影操作)式序列,做投影操作)FROM R1,R2,Rm(指出基本表或视图序列,指出基本表或视图序列,做连接操作)做连接操作)WHERE F (F为条件表达式)为条件表达式)GROUP BY 列名序列列名序列 (结果表分组)(结果表分组)ORDER BY 列名排序方向列名排序方向(结果表排序)(结果表排序)3.SQL的数据更新的数据更新(1)插入语句()插入语句(INSERT)语句格式为:语句格式为:INSERT INTOINSERT INTO (1,2)VALUESVALUES(1,2,)(2)修改语句()修改语句(UPDATE)语句格式为:语句格式为:U
27、PDATEUPDATE SETSET ,WHEREWHERE (3)删除数据()删除数据(DELETE)语句的格式为:语句的格式为:DELETE FROM WHERE 该语句的功能是从指定表中删除满足该语句的功能是从指定表中删除满足WHERE子句条件的记录。子句条件的记录。如果省略如果省略WHERE子句,则删除表中所有记录。子句,则删除表中所有记录。注意注意:仅删除表中记录仅删除表中记录,表的定义仍在数据字典中。表的定义仍在数据字典中。数据库系统及应用新技术 数据库体系结构的发展数据库体系结构的发展 DBS运行在计算机系统之上,其体系结构与计算机体系结运行在计算机系统之上,其体系结构与计算机体
28、系结构密切相关。因此构密切相关。因此DBS的系统结构也随着它的硬件和软件支撑的系统结构也随着它的硬件和软件支撑环境的变化而不断演变。环境的变化而不断演变。集中式数据库系统集中式数据库系统。早期的。早期的DBMS以分时操作系统作为以分时操作系统作为运行环境,采用集中式的数据库系统结构,把数据库建立在本单运行环境,采用集中式的数据库系统结构,把数据库建立在本单位的主计算机上,且不与其他计算机系统进行数据交互。在这种位的主计算机上,且不与其他计算机系统进行数据交互。在这种系统中,不但数据是集中的,数据的管理也是集中的。系统中,不但数据是集中的,数据的管理也是集中的。客户客户/服务器结构服务器结构(C
29、/S)是一种网络处理系统。有多台用作客户机的计算机和一至多是一种网络处理系统。有多台用作客户机的计算机和一至多台用作服务器的计算机。客户机直接面向用户,接收并处理任务,台用作服务器的计算机。客户机直接面向用户,接收并处理任务,将需要将需要DB操作的任务委托服务器执行;而服务器只接收这种委操作的任务委托服务器执行;而服务器只接收这种委托,完成对托,完成对DB的查询和更新,并把查询结果返回给客户机。的查询和更新,并把查询结果返回给客户机。C/S结构的结构的DBS虽然处理上是分布的,但数据却是集中的,还是虽然处理上是分布的,但数据却是集中的,还是属于集中式数据库系统。属于集中式数据库系统。客户机客户
30、机计算机网络计算机网络DB数据库服务器数据库服务器客户机客户机客户机客户机 浏览器浏览器/服务器结构服务器结构(B/S)由浏览器,由浏览器,Web服务器服务器,数据库服务器数据库服务器3个层次组成。个层次组成。客户端使用一个通用的浏客户端使用一个通用的浏览器代替了各种应用软件。览器代替了各种应用软件。用户操作通过浏览器执行。用户操作通过浏览器执行。客户机客户机计算机网络计算机网络DBWeb服务器服务器数据库服务器数据库服务器 分布式数据库系统分布式数据库系统 数据共享和数据集中管理是数据库的主要特征。但面对应用数据共享和数据集中管理是数据库的主要特征。但面对应用规模的扩大和用户地理位置分散的实
31、际情况,如果一个单位规模的扩大和用户地理位置分散的实际情况,如果一个单位的计算机仍用联网式的集中数据库系统,将会产生很多问题的计算机仍用联网式的集中数据库系统,将会产生很多问题:各个用户结点计算机要通过网络存取数据,各个用户结点计算机要通过网络存取数据,如何解决通信开销太大和延迟的问题如何解决通信开销太大和延迟的问题?一旦数据库不能工作还将导致整个系统一旦数据库不能工作还将导致整个系统 的瘫痪,如何保证系统的可用性和可扩性的瘫痪,如何保证系统的可用性和可扩性?并行数据库系统并行数据库系统n随着应用领域随着应用领域DB规模的增长,规模的增长,n其运行负荷日益加重,对其运行负荷日益加重,对DBSn
32、性能要求也越来越高性能要求也越来越高.需求需求:n计算机系统通过并行地使用多个计算机系统通过并行地使用多个 CPU和磁盘,可提高处理速度和磁盘,可提高处理速度和和IO速度。速度。技术技术:并行数据库系统并行数据库系统 并行处理技术很适宜与关系并行处理技术很适宜与关系DBS技术相结合,在关系技术相结合,在关系模型中,数据库二维表是元组的集合,模型中,数据库二维表是元组的集合,DBS操作也是集合操作也是集合操作;在许多情况下对集合的操作可分解为一系列对子集操作;在许多情况下对集合的操作可分解为一系列对子集的操作,这些子集操作存在很好的并行性的操作,这些子集操作存在很好的并行性6.3 信息系统开发与
33、管理信息系统开发与管理 软件工程软件工程与信息系统开发概述与信息系统开发概述 系统规划与分析系统规划与分析 系统设计系统设计 系统实施与运行维护系统实施与运行维护 软件危机与软件工程软件危机与软件工程1960年代以来年代以来:计算机性能不断提高计算机性能不断提高 应用范围越来越广泛应用范围越来越广泛 软件系统开发越来越复杂。软件系统开发越来越复杂。大型软件系统开发成本高,大型软件系统开发成本高,可靠性差,甚至有时人们无法可靠性差,甚至有时人们无法管理自身所创造出来的管理自身所创造出来的复杂逻辑系统,致使软件生产复杂逻辑系统,致使软件生产和维护出现了很大的困难,和维护出现了很大的困难,当时人们称
34、此为当时人们称此为“软件危机软件危机”。问题严重问题严重l软件危机与软件工程软件危机与软件工程软件危机软件危机 正确理解和表达应用需求是正确理解和表达应用需求是艰巨的任务艰巨的任务.但常常被忽略。但常常被忽略。软件是逻辑产品。软件开发过软件是逻辑产品。软件开发过 程是思考过程,很难进行质量程是思考过程,很难进行质量管理和进度控制。管理和进度控制。随着问题复杂度的增加,处理问随着问题复杂度的增加,处理问 题的效率随之下降,而所需题的效率随之下降,而所需 时间和费用则随之增加。时间和费用则随之增加。大型软件开发必须有严密完整的工程技术和科学的过程,大型软件开发必须有严密完整的工程技术和科学的过程,
35、向向“工程化工程化”发展发展:“软件工程软件工程”分析原分析原因因解解决决途途径径 软件工程方法要点软件工程方法要点:软件开发技术软件开发技术。软件开发规范化和工程化,对开发。软件开发规范化和工程化,对开发中的策略、原则、步骤和文档做出规定。中的策略、原则、步骤和文档做出规定。软件工程管理软件工程管理。对软件生产中重要环节,按计。对软件生产中重要环节,按计 划、进度执行,实现预期的社会和经济效益。划、进度执行,实现预期的社会和经济效益。软件开发方法软件开发方法。主要有:生命周期方法、原型。主要有:生命周期方法、原型 法以及面向对象的分析设计方法等。法以及面向对象的分析设计方法等。软件开发工具软
36、件开发工具。采用软件开发工具和环境。采用软件开发工具和环境,保证保证 软件开发各个阶段任务的完成。软件开发各个阶段任务的完成。常用的信息系统开发方法常用的信息系统开发方法(1)-结构化生命周期方结构化生命周期方法法 信息系统从规划开始,经过分析设计、实施直到信息系统从规划开始,经过分析设计、实施直到投入运行使用过程中投入运行使用过程中,随其生存环境的变化而不断修随其生存环境的变化而不断修改,当它不再适应需要时就要被淘汰,而由新的信改,当它不再适应需要时就要被淘汰,而由新的信息系统代替老的信息系统,这种循环称为息系统代替老的信息系统,这种循环称为信息系统信息系统的生命周期的生命周期。结构化方法将
37、信息系统软件生命分为结构化方法将信息系统软件生命分为系统规划,系统规划,系统分析,系统设计,系统实施和系统维护系统分析,系统设计,系统实施和系统维护5个阶个阶段段。各阶段工作按顺序开展,形如自上而下的瀑布,。各阶段工作按顺序开展,形如自上而下的瀑布,所以又称所以又称瀑布模型方法。瀑布模型方法。l常用的信息系统开发方法常用的信息系统开发方法-结构化生命周期方法结构化生命周期方法 系统规划系统规划系统分析系统分析系统设计系统设计系统实施系统实施系统维护系统维护 每一个阶段都有每一个阶段都有明确的工程任务并明确的工程任务并产生规范的文档资产生规范的文档资料料,且必须评审。且必须评审。用以及时发现错误
38、,用以及时发现错误,防止将错误蔓延到防止将错误蔓延到后续阶段,避免重后续阶段,避免重大损失。大损失。结构化生命周期法的分析和设计原则结构化生命周期法的分析和设计原则:自顶向下,逐层分解求精自顶向下,逐层分解求精,分析和设计整个系分析和设计整个系统,减小和控制开发过程的复杂性。统,减小和控制开发过程的复杂性。图示工具(如数据流程图和图示工具(如数据流程图和E-R图等)描述分图等)描述分析和设计的内容,便于各类人员交流。析和设计的内容,便于各类人员交流。明确阶段任务。例如,系统分析阶段明确系明确阶段任务。例如,系统分析阶段明确系统的结构和功能(做什么),系统设计阶段统的结构和功能(做什么),系统设
39、计阶段 确定其如何实现(怎么做)。确定其如何实现(怎么做)。强调用户参予开发过程的作用。强调用户参予开发过程的作用。常用的信息系统开发方法常用的信息系统开发方法(2)-原型法原型法 所谓所谓原型原型,是指分析设计人员与用户合作,在,是指分析设计人员与用户合作,在短期内定义用户基本需求的基础上,首先开发出一短期内定义用户基本需求的基础上,首先开发出一个具备基本功能、实验性的、简易的应用软件。运个具备基本功能、实验性的、简易的应用软件。运行这个原型,并在相应的辅助开发工具的支持下,行这个原型,并在相应的辅助开发工具的支持下,按照不断求优的设计思想,通过反复的完善性实验按照不断求优的设计思想,通过反
40、复的完善性实验而最终开发出符合用户要求的信息系统。而最终开发出符合用户要求的信息系统。数据库系统设计概要数据库系统设计概要 信息系统设计最重要的核心技术是软件工程和信息系统设计最重要的核心技术是软件工程和基于基于数据库系统(数据库系统(DBS)的设计技术)的设计技术。DBS设计任务设计任务:应用部门应用部门信息需求信息需求计算机环境计算机环境硬件硬件,OS,DBMS等等应用部门应用部门处理需求处理需求DBS设计设计各类数据模式各类数据模式应用程序应用程序 系统分析系统分析 (1)系统分析的任务)系统分析的任务 采用系统工程的思想和方法,把复杂的对象分解成简单的采用系统工程的思想和方法,把复杂的
41、对象分解成简单的组成部分,明确各部分用户的各种数据需求和处理需求组成部分,明确各部分用户的各种数据需求和处理需求.(2)系统分析的方法)系统分析的方法 使用结构化分析方法(使用结构化分析方法(SA)。)。SA方法从最上层的组织机方法从最上层的组织机构入手,采用自顶向下逐层分解的方法分析系统,并用形式化构入手,采用自顶向下逐层分解的方法分析系统,并用形式化或半形式化的描述(如或半形式化的描述(如数据流程图数据流程图和和数据字典数据字典)说明数据和处)说明数据和处理过程的关系。理过程的关系。(3)系统分析的工具)系统分析的工具 数据流程图(数据流程图(DFD):使用直观的图形符号,使用直观的图形符
42、号,描述系统业务处理过程、描述系统业务处理过程、信息流和数据要求的工具。信息流和数据要求的工具。.外部实体系统对数据的处理逻辑数据流(数据的外部来源和去处)数据流数据存储数据字典数据字典(DD):数据流程图表达了数据和数据流程图表达了数据和 处理的关系,数据字典则处理的关系,数据字典则是系统中各类数据定义和是系统中各类数据定义和描述的集合,是进行详细描述的集合,是进行详细的数据分析所获得的主要的数据分析所获得的主要成果。在数据字典中对数成果。在数据字典中对数据流程图中的数据项、数据流程图中的数据项、数据结构、数据流、处理逻据结构、数据流、处理逻 辑、数据存储和外部实体辑、数据存储和外部实体等进
43、行定义等进行定义.系统设计系统设计 系统设计的内容系统设计的内容 (1)概念结构设计)概念结构设计 将需求分析得到的用户需求转换为概念模型的过程就是概念将需求分析得到的用户需求转换为概念模型的过程就是概念结构设计,概念结构设计的工具结构设计,概念结构设计的工具E-RE-R图。图。(2)逻辑结构设计)逻辑结构设计 把概念结构设计产生全局把概念结构设计产生全局E-RE-R图中的实体和联系,转换为关系图中的实体和联系,转换为关系DBMSDBMS 所支持的关系模式。所支持的关系模式。(3)物理结构设计)物理结构设计 反映数据关系模式的基本表对应于计算机外的存储文件,反映数据关系模式的基本表对应于计算机
44、外的存储文件,物物理设计的任务是选取相应的文件存储结构和文件存取路径。理设计的任务是选取相应的文件存储结构和文件存取路径。系统实施系统实施 系统实施的任务:实现系统设计阶段提出的数据逻辑系统实施的任务:实现系统设计阶段提出的数据逻辑结构、存储结构和软件结构,按实施方案完成一个可实结构、存储结构和软件结构,按实施方案完成一个可实际运行的信息系统,交付用户使用。际运行的信息系统,交付用户使用。具体工作具体工作:按系统逻辑结构和物理物理结构按系统逻辑结构和物理物理结构,用关系用关系DBMS-SQL语言编制源代码,调试产生目标模式,并将语言编制源代码,调试产生目标模式,并将 数据载入数据载入DB中;中
45、;功能程序设计,按软件结构设计提出的模块要求功能程序设计,按软件结构设计提出的模块要求 进行程序编码、编译、联接以及测试的工作。进行程序编码、编译、联接以及测试的工作。系统的运行和维护系统的运行和维护 在保证信息系统正常运行的前提下,为提高系在保证信息系统正常运行的前提下,为提高系统运行的有效性而对系统的硬件、软件和文档所做的统运行的有效性而对系统的硬件、软件和文档所做的修改和完善都称为系统维护。系统维护有修改和完善都称为系统维护。系统维护有3类:类:纠正性维护纠正性维护。纠正应用软件设计中遗留的种种错误。纠正应用软件设计中遗留的种种错误。适应性维护适应性维护。适应硬件。适应硬件/软件环境变更
46、软件环境变更,对应用程序作对应用程序作 适当修改。适当修改。完善性维护完善性维护。数据转储,为提高系统性能。数据转储,为提高系统性能,对系统和应用程序对系统和应用程序的修改等。的修改等。6.4 典型信息系统典型信息系统制造业信息系统制造业信息系统电子商务和电子政务电子商务和电子政务地理信息系统和数字地球地理信息系统和数字地球远程教育和远程医疗远程教育和远程医疗数字图书馆数字图书馆 制造业信息系统分类:制造业信息系统分类:计算机辅助设计计算机辅助设计(CAD)计算机辅助工艺规划计算机辅助工艺规划(CAPP)辅助技术系统辅助技术系统 计算机辅助制造计算机辅助制造(CAM)计算机数字控制计算机数字控
47、制(CNC)计算机集成计算机集成 计算机辅助质量控制计算机辅助质量控制(CAQC)制造资源计划系统制造资源计划系统(MRP)管理业务系统管理业务系统 企业资源计划企业资源计划(ERP).制造系统制造系统(CIMS)管理业务系统的演变和发展管理业务系统的演变和发展:将生产能力计划,车间作业和采购计划整合,同时加入将生产能力计划,车间作业和采购计划整合,同时加入来自车间、供应商和计划人员的反馈信息,以此平衡调来自车间、供应商和计划人员的反馈信息,以此平衡调整计划,从而使生产的全过程围绕物料需求计划形成一整计划,从而使生产的全过程围绕物料需求计划形成一个统一的系统。个统一的系统。MRP 加入财务子系
48、统,实现资金流与物质流的统一管理加入财务子系统,实现资金流与物质流的统一管理,把制造、财务、销售、采购以及工程技术等各子系统把制造、财务、销售、采购以及工程技术等各子系统综合为一个系统综合为一个系统.MRP(80(80年代年代)集成了企业制造、供销、财务、质量、设备、仓库、运输集成了企业制造、供销、财务、质量、设备、仓库、运输、项目、市场信息、金融投资、法规等及电子商务、过程控制、项目、市场信息、金融投资、法规等及电子商务、过程控制接口、数据采集接口等,成为覆盖整个企业的管理信息系统。接口、数据采集接口等,成为覆盖整个企业的管理信息系统。ERP(90年代年代)进一步与辅助技术系统建成进一步与辅
49、助技术系统建成,发展为发展为CIMS系统系统 电子商务的定义电子商务的定义 指对整个贸易活动实现电子化。从涵盖范指对整个贸易活动实现电子化。从涵盖范围方面定义为:交易各方以电子交易方式而不围方面定义为:交易各方以电子交易方式而不是通过直接面谈方式进行的任何形式的商业交是通过直接面谈方式进行的任何形式的商业交易,包括交换数据(如电子数据交换、电子邮易,包括交换数据(如电子数据交换、电子邮件)、获得数据(如共享数据库、电子公告牌)件)、获得数据(如共享数据库、电子公告牌)以及自动捕获数据(如条形码)等。以及自动捕获数据(如条形码)等。l 电子商务的分类电子商务的分类:企业内部的电子商务企业内部的电
50、子商务企业与客户之间的电子商务企业与客户之间的电子商务(B-C)按照相交易的双方分类按照相交易的双方分类企业之间的电子商务企业之间的电子商务(B-B)企业与政府之间的电子商务企业与政府之间的电子商务有形商品的电子订货和付款有形商品的电子订货和付款 按照交易商品性按照交易商品性质分类质分类无形商品和服务无形商品和服务电子数据交换电子数据交换(EDI)基于基于Internet电子商务电子商务 按照使用网按照使用网络类型分类络类型分类基于基于Intranet/Extranet的电子商务的电子商务 电子政务的内容电子政务的内容 是政府机构运用现代网络通讯与计算机是政府机构运用现代网络通讯与计算机技术,