段的工作,本人已经正确理解了系统的需求。即以数据流图、数据字典和一组加工描述的表达形式建立了系统的逻辑模型。软件设计的任务就是如何应用一组原理与方法并遵循质量的评价原则逐步实现系统逻辑模型的过程。
软件设计从概念上分为结构设计和详细设计两个阶段。结构设计又称为总体设计,其主要的任务是制订系统实现方案和设计规范并合理确定软件系统的整体模块结构及接口关系。详细设计,也称为模块设计,其主要任务是详细规定每个模块功能的实现算法。
结构化设计的核心思想是:如何应用抽象的原则,将系统功能逐层分解为层次化的模块结构。模块的划分不是随意的,它需要遵循一些模块划分的指导性原则。
模块是数据说明、可执行语句等程序对象构成并执行相对独立功能的逻辑实体,它可以单独命名而且可以实现按名访问。例如,过程、函数、子程序、宏等等都可以看作模块。模块化是一种"分而治之,各个击破"式的总是求解方式,它降低了总是的复杂程度,简化了软件的设计过程。
4.2层次图
层次方框图是用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表各个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。
随着结构的精细化,层次方框图对数据结构也描绘得越来越详细,这种模式非常适合于需求分析阶段的需要。系统分析员从对顶层信息的分类开始,沿图中每条路径反复细化,直到确定了数据结构的全部细节时为止。
以下是本系统的层次图(图4-1,图4-2所示):
图4-2 填写评价表结构图
4.3数据库设计
4.3.1数据库设计概述
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。这个是数据库在应用领域的主要研究课题。
大型数据库的设计和开发是一项庞大的工程,是涉及多学科的综合性技术。其开发周期长、耗资多、失败的风险也大。必须把软件工程的原理和方法应用到数据库建设中来。对于从事数据库设计的专业人员来讲,应该具备多方面的技术和知识。主要有:
数据库的基本知识和数据库设计论述;
计算机科学的基础知识和程序设计的方法和技术;
软件工程的原理和方法;
应用领域的知识。
4.3.2数据库设计的特点
数据库设计既是一项涉及多学科的综合性技术,又是一项庞大的工程项目。有人讲"三分技术,七分管理,十二分基础数据"是数据库建设的基本规律,这是有一定道理的。技术与管理的界面(称之为"干件")十分重要。数据库建设是硬件、软件和干件的结合。这是数据库设计的特点之一。
数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来。这是数据库设计的特点之二。
传统的软件工程忽视对应用中数据语义的分析和抽象。例如结构化设计(StructureDesign,简称SD方法)和逐步求精的方法着重于处理过程的特性,只要有可能就尽量推迟数据结构设计的决策。这种方法显然对于数据库应用系统是不妥的。数据库模式是各应用程序共享的结构,是稳定的,永久的,不像以文件系统为基础的应用系统,文件是某一应用程序私用的。数据库设计质量的好坏直接影响系统中各个处理过程的性能和质量。
早期的数据库设计致力于数据模型和建模方法研究,着重结构特性的设计而忽视了对行为的设计。也就是说比较重视在给定的应用环境下,采用什么原则、方法来建造数据库的结构,而没有考虑应用环境要求与数据库结构的关系,因此结构设计与行为设计是分离的(如图4-3所示)。
图4-3结构和行为分离的设计
4.3.3 数据库设计方法简述
由于信息结构复杂,应用环境多样,在相当长的一段时间内数据库设计主要采用手工凑法。使用这种方法与设计人员的经验和水平有直接关系,数据库设计成为一种技艺而不是工程技术,缺乏科学理论和工程方法的支持,工程的质量难以保证,常常是数据库运行一段时间后又不同程度地发现各种问题,增加了系统维护的代价。十余年来,人们努力探索,提出了各种数据库设计方法,这些方法运用软件工程的思想和方法,提出了各种设计准则和规程,都属于规范设计法。
规范设计法中比较著名的有新奥尔良(NewOrleans)方法。它将数据库设计分为四个阶段:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。其后,S.B.Yao等又将数据库设计分为五个步骤。又有I.R.Palmer等主张把数据库设计当成一步接一步的过程,并采用一些辅助手段每一过程。
基于E-R模型的数据库设计方法,基于3NF(第三范式)的设计方法,基于抽象语法规范的设计方法等,是在数据库设计的不同阶段上支持实现的具体技术和方法。
规范设计法从本质上看仍然是手工设计方法,其基本思想是过程迭代和逐步求精。
数据库工作者和数据库厂商一直在研究和开发数据库设计工具。经过十多的努力,数据库设计工具已经实用化和产品化。例如Design2000和PowerDesigner分别是ORACLE公司和SYBASE公司推出的数据库设计工具软件。这些工具软件可以自动地或辅助设计人员完成数据库设计过程中的很多任务。人们已经越来越认识到自动数据库设计工具的重要性。特别是大型数据库的设计需要自动设计工具的支持。人们也日益认识到数据库设计和应用设计应该同时进行,目前许多计算机辅助软件工程(ComputerAidedSofewareEnginneering,简称CASE)工具已经开始强调这两个方面。
4.3.4 数据库设计的基本步骤
按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段(如图4-4所示):
需求分析;
概念结构设计;
逻辑结构设计;
物理结构设计;
数据库实施;
数据库运行和维护;
1.需求分析阶段
进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。作为地基的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度与质量。需求分析做得不好,甚至会导致整个数据库设计返工重做。
图4-4 数据库设计步骤
2.概念结构设计阶段
概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
3.逻辑结构设计阶段
逻辑结构设计是将概念结构转换为某个DBMS 所支持的数据模型,并对其进行优化。
4.数据库物理设计阶段
数据库物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
5.数据库实施阶段
在数据库实施阶段,设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
6.数据库运行和维护阶段
数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。
设计一个完善的数据库应用系统是不可能一蹴而就的,它往往是上述六个阶段的不断反复。
按照这样的设计过程,数据库结构设计的不同阶段形成数据库的各级模式,如图4-5所示。需求分析阶段,综合各个
上一篇:
ASP网上答疑系统(论文和程序)
下一篇:
成本管理详细介绍