1、1第6章 信息系统与数据库(2)信息系统开发与管理信息系统开发与管理n 难度难度n 复杂性复杂性n 人员要求高人员要求高信息系统信息系统开发和管理开发和管理 是一项系统工程是一项系统工程涉及多学科的综合技术涉及多学科的综合技术.开发周期长、投资大、风险大开发周期长、投资大、风险大比一般技术工程有更大复杂性比一般技术工程有更大复杂性系统分析、设计和管理人员掌系统分析、设计和管理人员掌握多方面技术握多方面技术(软件工程,软件工程,DBS设计,程序设计方法设计,程序设计方法,领域业务领域业务知识知识)。了解应用环境。了解应用环境.2第6章 信息系统与数据库(2)软件工程与信息系统开发概述软件工程与信
2、息系统开发概述n 软件危机与软件工程软件危机与软件工程n1960年代以来年代以来:n 计算机性能不断提高计算机性能不断提高n 应用范围越来越广泛应用范围越来越广泛n 软件系统开发越来越复杂。软件系统开发越来越复杂。大型软件系统开发成本高,大型软件系统开发成本高,可靠性差,甚至有时人们无法可靠性差,甚至有时人们无法管理自身所创造出来的管理自身所创造出来的复杂逻辑系统,致使软件生产复杂逻辑系统,致使软件生产和维护出现了很大的困难,和维护出现了很大的困难,当时人们称此为当时人们称此为“软件危机软件危机”。问题严重问题严重3第6章 信息系统与数据库(2)软件工程与信息系统开发概述软件工程与信息系统开发
3、概述n软件危机与软件工程软件危机与软件工程软件危机软件危机 正确理解和表达应用需求是正确理解和表达应用需求是艰巨的任务艰巨的任务.但常常被忽略。但常常被忽略。软件是逻辑产品。软件开发过软件是逻辑产品。软件开发过 程是思考过程,很难进行质量程是思考过程,很难进行质量管理和进度控制。管理和进度控制。随着问题复杂度的增加,处理问随着问题复杂度的增加,处理问 题的效率随之下降,而所需题的效率随之下降,而所需 时间和费用则随之增加。时间和费用则随之增加。大型软件开发必须有严密完整的工程技术和科学的过程,大型软件开发必须有严密完整的工程技术和科学的过程,向向“工程化工程化”发展发展:“软件工程软件工程”分
4、析原分析原因因解解决决途途径径4第6章 信息系统与数据库(2)软件工程与信息系统开发概述软件工程与信息系统开发概述n 软件工程方法要点软件工程方法要点:n 软件开发技术。软件开发规范化和工程化软件开发技术。软件开发规范化和工程化,对开对开n 发中的策略、原则、步骤和文档做出规定发中的策略、原则、步骤和文档做出规定.n 软件工程管理。对软件生产中重要环节,按计软件工程管理。对软件生产中重要环节,按计n 划、进度执行,实现预期的社会和经济效益划、进度执行,实现预期的社会和经济效益.n 软件开发方法。主要有:生命周期方法、原型软件开发方法。主要有:生命周期方法、原型n 法以及面向对象的分析设计方法等
5、。法以及面向对象的分析设计方法等。n 软件开发工具。采用软件开发工具和环境软件开发工具。采用软件开发工具和环境,保证保证n 软件开发各个阶段任务的完成。软件开发各个阶段任务的完成。5第6章 信息系统与数据库(2)软件工程与信息系统开发概述软件工程与信息系统开发概述n 常用的信息系统开发方法常用的信息系统开发方法(1)-结构化生命周期方法结构化生命周期方法n 信息系统从规划开始,经过分析设计、实施直到投信息系统从规划开始,经过分析设计、实施直到投入运行使用过程中入运行使用过程中,随其生存环境的变化而不断修改,当随其生存环境的变化而不断修改,当它不再适应需要时就要被淘汰,而由新的信息系统代替它不再
6、适应需要时就要被淘汰,而由新的信息系统代替老的信息系统,这种循环称为老的信息系统,这种循环称为信息系统的生命周期信息系统的生命周期。n 结构化方法将信息系统软件生命分为系统规划,系结构化方法将信息系统软件生命分为系统规划,系统分析,系统设计,系统实施和系统维护统分析,系统设计,系统实施和系统维护5个阶段。各阶个阶段。各阶段工作按顺序开展,形如自上而下的瀑布,所以又称段工作按顺序开展,形如自上而下的瀑布,所以又称瀑瀑布模型方法。布模型方法。6第6章 信息系统与数据库(2)软件工程与信息系统开发概述软件工程与信息系统开发概述n常用的信息系统开发方法常用的信息系统开发方法-结构化生命周期方法结构化生
7、命周期方法 系统规划系统规划系统分析系统分析系统设计系统设计系统实施系统实施系统维护系统维护 每一个阶段都有每一个阶段都有明确的工程任务并明确的工程任务并产生规范的文档资产生规范的文档资料料,且必须评审。且必须评审。用以及时发现错误,用以及时发现错误,防止将错误蔓延到防止将错误蔓延到后续阶段,避免重后续阶段,避免重大损失。大损失。7第6章 信息系统与数据库(2)软件工程与信息系统开发概述软件工程与信息系统开发概述n 结构化生命周期法的分析和设计原则结构化生命周期法的分析和设计原则:n 自顶向下,逐层分解求精自顶向下,逐层分解求精,分析和设计整个系分析和设计整个系n 统,减小和控制开发过程的复杂
8、性。统,减小和控制开发过程的复杂性。n 图示工具(如数据流程图和图示工具(如数据流程图和E-R图等)描述图等)描述n 分析和设计的内容,便于各类人员交流。分析和设计的内容,便于各类人员交流。n 明确阶段任务。例如,系统分析阶段明确系明确阶段任务。例如,系统分析阶段明确系n 统的结构和功能(做什么),系统设计阶段统的结构和功能(做什么),系统设计阶段n 确定其如何实现(怎么做)。确定其如何实现(怎么做)。n 强调用户参予开发过程的作用。强调用户参予开发过程的作用。8第6章 信息系统与数据库(2)软件工程与信息系统开发概述软件工程与信息系统开发概述n 常用的信息系统开发方法常用的信息系统开发方法(
9、2)-原型法原型法n 所谓所谓原型原型,是指分析设计人员与用户合作,在短期,是指分析设计人员与用户合作,在短期内定义用户基本需求的基础上,首先开发出一个具备基内定义用户基本需求的基础上,首先开发出一个具备基本功能、实验性的、简易的应用软件。运行这个原型,本功能、实验性的、简易的应用软件。运行这个原型,并在相应的辅助开发工具的支持下,按照不断求优的设并在相应的辅助开发工具的支持下,按照不断求优的设计思想,通过反复的完善性实验而最终开发出符合用户计思想,通过反复的完善性实验而最终开发出符合用户要求的信息系统。要求的信息系统。9第6章 信息系统与数据库(2)软件工程与信息系统开发概述软件工程与信息系
10、统开发概述n数据库系统设计概要数据库系统设计概要n 信息系统设计最重要的核心技术是软件工程和基于信息系统设计最重要的核心技术是软件工程和基于DBS的设计技术。的设计技术。n DBS设计任务设计任务:应用部门应用部门信息需求信息需求计算机环境计算机环境硬件硬件,OS,DBMS等等应用部门应用部门处理需求处理需求DBS设计设计各类数据模式各类数据模式应用程序应用程序10第6章 信息系统与数据库(2)软件工程与信息系统开发概述软件工程与信息系统开发概述 DBSn设计步骤设计步骤11第6章 信息系统与数据库(2)系统规划和分析系统规划和分析n 系统规划系统规划 n n 系统规划任务系统规划任务:n 调
11、查应用部门的环境、目调查应用部门的环境、目n 标和现行系统标和现行系统.n 根据其发展目标对新系统根据其发展目标对新系统n 的需求的需求,进行分析和预测进行分析和预测.n 考虑新系统所受的各种约束考虑新系统所受的各种约束.n 研究开发新系统的必要性研究开发新系统的必要性n 和可能性,提出方案和计划和可能性,提出方案和计划.n 从管理、技术、经济和社会从管理、技术、经济和社会n 等方面进行可行性分析等方面进行可行性分析.系统规划过程系统规划过程:12第6章 信息系统与数据库(2)系统规划和分析系统规划和分析n 系统分析系统分析n(1)系统分析的任务系统分析的任务n 采用系统工程的思想和方法,把复
12、杂的对象分解成简单的采用系统工程的思想和方法,把复杂的对象分解成简单的n 组成部分组成部分,明确各部分用户的各种数据需求和处理需求明确各部分用户的各种数据需求和处理需求.n(2)系统分析的方法系统分析的方法n 使用结构化分析方法(使用结构化分析方法(SA)。)。SA方法从最上层的组织机方法从最上层的组织机n 构入手,采用自顶向下逐层分解的方法分析系统,并用构入手,采用自顶向下逐层分解的方法分析系统,并用n 形式化或半形式化的描述(如数据流程图和数据字典)说形式化或半形式化的描述(如数据流程图和数据字典)说n 明数据和处理过程的关系。明数据和处理过程的关系。13第6章 信息系统与数据库(2)系统
13、规划和分析系统规划和分析n 系统分析系统分析n(3)系统分析的工具系统分析的工具n 数据流程图(数据流程图(DFD):使用直观的图形符号,使用直观的图形符号,描述系统业务处理过程、描述系统业务处理过程、信息流和数据要求的工具。信息流和数据要求的工具。.外部实体系统对数据的处理逻辑数据流(数据的外部来源和去处)数据流数据存储数据字典数据字典(DD):数据流程图表达了数据和数据流程图表达了数据和 处理的关系,数据字典则处理的关系,数据字典则是系统中各类数据定义和是系统中各类数据定义和描述的集合,是进行详细描述的集合,是进行详细的数据分析所获得的主要的数据分析所获得的主要成果。在数据字典中对数成果。
14、在数据字典中对数据流程图中的数据项、数据流程图中的数据项、数据结构、数据流、处理逻据结构、数据流、处理逻 辑、数据存储和外部实体辑、数据存储和外部实体等进行定义等进行定义.14第6章 信息系统与数据库(2)系统规划和分析系统规划和分析n 数据流程图实例数据流程图实例-某大学教学管理信息系统数据流程图某大学教学管理信息系统数据流程图n 15第6章 信息系统与数据库(2)系统设计系统设计n(1)系统设计的任务和内容系统设计的任务和内容n系统设计任务系统设计任务:为实现系统目标具体规定数据结构和系统功能为实现系统目标具体规定数据结构和系统功能.n系统设计的内容系统设计的内容:概念结构设计概念结构设计
15、和和逻辑结构设计逻辑结构设计.客观对象客观对象概念概念结构结构转换转换数据模式数据模式转换转换DB(E-R图)图)(二维表)(二维表)概念结构设概念结构设计计逻辑结构设计逻辑结构设计16第6章 信息系统与数据库(2)系统设计系统设计 (概念结构设计概念结构设计)n(2)概念结构设计概念结构设计n 将需求分析得到的用户需求转换为概念模型的将需求分析得到的用户需求转换为概念模型的n 过程就是过程就是概念结构设计概念结构设计。n 概念结构设计的方法和过程概念结构设计的方法和过程n 开发一个全局性的信息系统,由于其问题的复开发一个全局性的信息系统,由于其问题的复n 杂性,在系统规划和需求分析阶段一般采
16、用自杂性,在系统规划和需求分析阶段一般采用自n 顶向下的方法。而在概念结构设计中则采用自顶向下的方法。而在概念结构设计中则采用自n 底向上的方法,即首先定义各局部应用的概念底向上的方法,即首先定义各局部应用的概念n 结构,然后将它集成起来得到全局的概念结构。结构,然后将它集成起来得到全局的概念结构。17第6章 信息系统与数据库(2)系统设计系统设计 (概念结构设计概念结构设计)概念结构设计概念结构设计18第6章 信息系统与数据库(2)系统设计系统设计 (概念结构设计概念结构设计)n 概念结构设计的工具概念结构设计的工具(表示方式表示方式)n E-R图图n 用表示用表示“实实体体-联联系系概概念
17、念”的的E-R图图,对一个单位信息状况进行对一个单位信息状况进行直观说明,称为一个单位的直观说明,称为一个单位的E-R概念结构。概念结构。n E-R图中图中:n 矩形框表示实体集矩形框表示实体集n 菱形框表示联系菱形框表示联系n 椭圆(或圆形)框表示属性椭圆(或圆形)框表示属性n 加斜杠线的属性组成相应实体集的主键加斜杠线的属性组成相应实体集的主键n 联系与实体集相连的线上注明联系的语义类型。联系与实体集相连的线上注明联系的语义类型。19第6章 信息系统与数据库(2)系统设计系统设计 (概念结构设计概念结构设计)nE-R图的实例图的实例:学号SNO姓名SNAME系别DEPART出生年月BDAT
18、E学生S所属SCL班级CLASS班号CLNO班名CLNAME班长MONITOR排座ss教室座位SIE排号ROW列号COLUMN选课SC成绩GRADE课程C课程号CNO课程名CNAME学时LHOUR开课时间SEMESTERnm1n11性别SEX身高HEIGHT20第6章 信息系统与数据库(2)系统设计系统设计 (逻辑结构设计逻辑结构设计)n(3)逻辑结构设计逻辑结构设计n n 面向系统的全局关系模式面向系统的全局关系模式:把概念结构设把概念结构设n 计产生全局计产生全局E-R图中的实体和联系,转换图中的实体和联系,转换n 为关系为关系DBMS 所支持的关系型数据的逻所支持的关系型数据的逻n 辑结
19、构,即面向系统的全局关系模式辑结构,即面向系统的全局关系模式.n n n 面向用户的视图面向用户的视图:是是全局关系模式的子集全局关系模式的子集.n 用定义视图实现用定义视图实现按转换规则按转换规则(见阅读材料见阅读材料6.3)21第6章 信息系统与数据库(2)物理结构设计物理结构设计n 物理结构设计物理结构设计n 反映数据关系模式的基本表对应于计算机外的存储文件反映数据关系模式的基本表对应于计算机外的存储文件.物理物理设计的任务是选取相应的文件存储结构和文件存取路径设计的任务是选取相应的文件存储结构和文件存取路径.n 目标:目标:有效利有效利用存储用存储空间空间,提高性提高性能能.22第6章
20、 信息系统与数据库(2)物理结构设计物理结构设计n 特别提示特别提示:n DBS的物理结构设计与多种因素有关的物理结构设计与多种因素有关:n 应用处理需求应用处理需求(内容和频率)变化内容和频率)变化n 数据特性(属性值分布,长度及个数)变化数据特性(属性值分布,长度及个数)变化n 处理需求随应用环境而变化处理需求随应用环境而变化n n 由此由此,数据特性因数据库状态的改变而变化,导致数据特性数据特性因数据库状态的改变而变化,导致数据特性在在DBS设计阶段很难准确估计。因而,设计阶段很难准确估计。因而,数据库物理设计和一般数据库物理设计和一般产品设计有很大的区别产品设计有很大的区别:DBS设计
21、往往只提供一种初始设计,设计往往只提供一种初始设计,在在DBS运行过程中还应根据用户要求不断调整。过分强调所谓运行过程中还应根据用户要求不断调整。过分强调所谓“精确设计精确设计”,企图一次成功,并不符合,企图一次成功,并不符合DBS的设计特点。的设计特点。23第6章 信息系统与数据库(2)系统实施与运行维护系统实施与运行维护n(1).系统实施系统实施n系统实施的任务系统实施的任务:n 实现系统设计阶段提出的数据逻辑结构、存储结构实现系统设计阶段提出的数据逻辑结构、存储结构和软件结构,按实施方案完成一个可实际运行的信息系和软件结构,按实施方案完成一个可实际运行的信息系统,交付用户使用。统,交付用
22、户使用。n具体工作具体工作:n 按系统逻辑结构和物理物理结构按系统逻辑结构和物理物理结构,用关系用关系DBMS-n SQL语言编制源代码,调试产生目标模式,并将语言编制源代码,调试产生目标模式,并将n 数据载入数据载入DB中;中;n 功能程序设计,按软件结构设计提出的模块要求功能程序设计,按软件结构设计提出的模块要求n 进行程序编码、编译、联接以及测试的工作。进行程序编码、编译、联接以及测试的工作。24第6章 信息系统与数据库(2)系统实施与运行维护系统实施与运行维护n(2).系统的运行和维护系统的运行和维护n n 在保证信息系统正常运行的前提下,为提高系统运行在保证信息系统正常运行的前提下,
23、为提高系统运行的有效性而对系统的硬件、软件和文档所做的修改和完的有效性而对系统的硬件、软件和文档所做的修改和完善都称为系统维护。系统维护有善都称为系统维护。系统维护有3类:类:n 纠正性维护。纠正应用软件设计中遗留的种种错误。纠正性维护。纠正应用软件设计中遗留的种种错误。n 适应性维护。适应硬件适应性维护。适应硬件/软件环境变更软件环境变更,对应用程序作对应用程序作 适当修改。适当修改。n 完善性维护。数据转储,为提高系统性能完善性维护。数据转储,为提高系统性能,对系统和应对系统和应n 用程序的修改等。用程序的修改等。25第6章 信息系统与数据库(2)系统实施与运行维护系统实施与运行维护n 特别提示特别提示:(1)数据库维护是一项有一定技术难度数据库维护是一项有一定技术难度的工作,实质上它是再分析、再设计的工作,实质上它是再分析、再设计、再编程、再测试的过程,同时还、再编程、再测试的过程,同时还包括程序和各种文档的修改。包括程序和各种文档的修改。(2)从时间上看,维护是从时间上看,维护是DBS应用中应用中的最后一个阶段,但从工作性质来看,的最后一个阶段,但从工作性质来看,维护实际上是与维护实际上是与DBS管理和控制密切管理和控制密切相关的活动,是数据库应用的深化。相关的活动,是数据库应用的深化。