软件工程课件第7章.ppt

上传人:牧羊曲112 文档编号:6434254 上传时间:2023-10-30 格式:PPT 页数:80 大小:660KB
返回 下载 相关 举报
软件工程课件第7章.ppt_第1页
第1页 / 共80页
软件工程课件第7章.ppt_第2页
第2页 / 共80页
软件工程课件第7章.ppt_第3页
第3页 / 共80页
软件工程课件第7章.ppt_第4页
第4页 / 共80页
软件工程课件第7章.ppt_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《软件工程课件第7章.ppt》由会员分享,可在线阅读,更多相关《软件工程课件第7章.ppt(80页珍藏版)》请在三一办公上搜索。

1、实用软件工程,-IT企业软件的开发与管理赵池龙,第7章 软件建模,本章导读:软件开发的主要工作是软件需求和软件设计,软件需求和软件设计的关键问题是软件建模,简称建模。建模的工具很多,最时尚的是UML提供的九种图:类图、对象图、用例图、时序图、协作图、状态图、活动图、构件图和实施图,重点是建立系统的用例图、时序图和类图。仅管如此,UML仍然不是一种建模思想或建模方法,而只是一种建模语言或建模工具。作为软件建模实用技术的经验总结,本章提出了“业务模型、功能模型、数据模型”这三个模型的建模思想与建模方法,以及这三个模型的描述方式与“用例图、时序图和类图”之间的关系,并且用三个模型的思想与方法来分析一

2、个建模案例。信息系统的数据模型就是数据库,本章深入浅出地论述数据库设计的理论、方法、技巧与艺术,即数据模型的设计方法与艺术。,软件建模,要求了解 1)软件建模的概念 2)UML的建模思想 要求理解 1)UML的支撑环境Rose 2)UML建模思想的优缺点 3)三个模型建模思想的优缺点 要求掌握 1)业务模型的概念及表示方式 2)功能模型的概念及表示方式 3)数据模型的概念及表示方式,7.1 三个模型的建模思想7.1.1 三个模型概论,软件建模中的三个模型是指业务模型、功能模型和数据模型。【定义7-1】功能模型FM(Function Model)是描述系统能做什么,即对系统的功能、性能、接口和界

3、面进行定义。【定义7-2】业务模型OM(Operation Model)是描述系统在何时、何地、由何角色、按什么业务规则去做,以及做的步骤或流程,即对系统的操作流程进行定义。【定义7-3】数据模型DM(Data Model)是描述系统工作前的数据来自何处,工作中的数据暂存什么地方,工作后的数据放到何处,以及这些数据之间的关联,即对系统的数据结构进行定义。,三个模型概论,功能模型和业务模型在需求分析时建模,数据模型在设计时建模。通常,数据模型建模用Power Designer、ER win、Oracle Designer 或Class Diagram表示;功能模型用功能点列表或Use Case

4、Diagram表示;业务模型用自然语言加上流程图或Sequence Diagram表示。三个模型建模思想的优点是:简单、直观、通俗、易懂、易学、易用,非常适合于关系数据库管理系统RDBMS支持的信息系统。当三个模型建好之后,在这三个模型的支持下,运用强大的面向对象编程语言,以及软件组织内部的业务基础平台、类库、构件库等财富,软件开发在技术上就能顺利实现。,三个模型概论,不管是系统软件还是应用软件,都有一个建模问题,而且三个模型的建模思想,也适合于系统软件建模。信息系统是应用软件的重要组成部分,对信息系统的分析和研究,最好的入手方法仍然是它的数据结构。与系统软件不同,这里的数据结构表现形式,主要

5、是它的数据模型概念数据模型CDM和物理数据模型PDM,关系数据库管理系统RDBMS是它的主要运行环境。为了获得信息系统的整体框架,要同时弄清它的业务模型和功能模型。业务模型就是系统的操作流程和业务规则;功能模型就是系统的功能菜单和用户界面;数据模型就是系统的数据结构和数据字典。,7.1.2 业务模型,在企业信息系统(例如,MIS或ERP)中,业务模型就是系统的业务流程图加上相应的业务规则。这里的业务流程图,是指企业在业务流程再造BPR(Business Process Reengineering)之后形成的操作流程和业务规则。业务模型的范围包括:企业的组织结构,部门职责及岗位(或角色)职能,岗

6、位操作流程,岗位业务规则,每个流程的输入、响应、输出。业务模型的描述方法为:组织结构图,岗位(或角色)职能表,业务流程图加上业务规则说明。,业务模型,业务流程图的画法没有统一的规定,软件企业在软件工程规范中自定一套,在其内部推广。一般要规定输入、处理、输出、文件及流向的图形标志。在图形内部或外部可书写文字说明。业务流程图也可以用业务操作步骤来描述,还可以用类似于程序流程图的图形来表达。在UML中,完整的业务模型由用例图、时序图、交互图、状态图、活动图来表述。但是,时序图在表述中起到核心作用。业务模型是动态的,所以有时称业务模型为动态模型或操作模型。业务模型既是功能模型设计的基础,又是用户操作手

7、册编写的依据。,7.1.3 功能模型,从宏观上说,功能模型是什么?读者可以从多个不同的角度来回答这个问题。若站在用户的角度上看,功能模型就是系统功能需求列表;若站在设计者的角度上看,功能模型就是系统内部功能模块(功能部件)的有机排列和组合;若站在Rose角度上看,功能模型就是系统的用例的集合;若站在产品的角度上看,功能模型就是系统的用户操作手册;若站在操作界面的角度上看,功能模型就是系统的功能菜单。总之,功能模型描述系统能做什么,是系统所有功能的集合,具体表现在系统的功能、性能、接口和界面上。,功能模型,功能模型在需求分析时的表示方法为:系统功能需求列表、性能需求列表、接口需求列表、界面需求列

8、表。UML规定采用用例图来描述功能模型。功能模型的设计和实现方法为:将相同的功能归并,设计为一个个的构件或组件(部件),将不同的功能设计成模块,然后用面向对象的语言将这些离散的部件或模块组装起来,形成一个完整的系统,供最终用户使用。功能模型既是动态的,又是静态的。因为有的功能与系统运行的时间序列有关。功能模型既是数据库和数据结构设计的基础,又是功能模块(功能部件)设计、编程实现和测试验收的依据。,7.1.4 数据模型,企业信息系统中的数据模型,是指它的E-R图及其相应的数据字典。这里的数据字典,包括实体字典、属性字典、关系字典。这些数据字典,在数据库设计的CASE工具帮助下,都可以查阅、显示、

9、修改、打印、保存。数据模型分为概念数据模型CDM和物理数据模型PDM两个层次。CDM就是数据库的逻辑设计,即E-R图。PDM就是数据库的物理设计,即物理表。,数据模型,数据模型的表示方法为:系统的概念数据模型CDM和物理数据模型PDM,加上相应的表结构。UML规定,用类图加上对象图来表述数据模型。在UML的实现工具Rose 2002中,可以建立系统的数据模型。数据模型本身是静态的,但是在设计者心目中,应该尽量将它由静态变成动态。设计者可以想象数据(或记录)在相关表上的流动过程,即增加、删除、修改、传输与处理等,从而在脑海中运行系统,或在E-R图上运行系统。,7.2 数据模型设计概论,什么是好的

10、数据模型?其条件有三:一是满足功能需求,二是满足性能需求,三是该模型能长期稳定,尽量做到“以不变应万变”。所谓“以不变应万变”,就是当用户的功能需求发生某些变化时,数据库设计的框架不需要做任何改动,就可以适应用户的功能需求。数据库设计的主要工作是:设计数据库的表(数据就存在表里面),表的结构就是数据的存储结构。数据库设计的难易程度取决于两个要素:“数据关系的复杂程度”和“数据量的大小”。如果应用软件只涉及几张简单的表,并且数据量特别小,那么设计这样的数据库就非常容易。如果应用软件要涉及几百张复杂的表,并且数据量特别大,那么设计这样的数据库就非常艰难。开发人员学习数据库设计的特点是:入门特别容易

11、,但是成为高手非常困难。,7.2.1 数据库与数据库管理系统,数据库和数据库管理系统是有区别的,前者是应用软件,后者是系统软件。数据库管理系统的基本功能是:管理用户的数据库及其在数据库上的各种操作,以及数据库对外的各种接口。关系数据库管理系统RDBMS自带许多语句(命令),这些语句可分为三大类:数据定义语言DDL,如CREATE,ALTER,DROP;数据操纵语言DML,如SELECT,UPDATE,INSERT,DELETE;数据控制语言DCL,如分支语句、循环语句。,数据库与数据库管理系统,一般而言,数字信息系统是在一个或几个大型数据库的支持下来运行的,数据库加上应用程序,就是数字化信息系

12、统。在人们的交流中,习惯上常常将数据库和数据库管理系统混为一谈,不加区别。所以要根据不同场合、不同习惯、以及上下文来分析,所讲的“数据库”三个字,到底是指数据库,还是指数据库管理系统。,7.2.2 数据库的组成,一个数据库由一台数据库服务器、一个数据库管理系统DBMS、一个数据库管理员DBA、多张表(每张表中有许多条记录)、表上的视图和索引、许多用户和角色所组成。若一个数据库的表不是存放在网络的一个节点(一台数据库服务器)上,而是存放在多个节点(多台数据库服务器)上,则称此数据库为分布式数据库。通俗地讲,数据库是表的集合,表由字段组成,表中存放着记录。由于记录的数据可以是原始数据、信息代码数据

13、、统计数据和临时数据4种,所以又可将表划分为基本表、代码表、中间表和临时表4种。,数据库的组成,(1).存放原始数据的表,称为基本表。(2).存放信息代码数据的表,称为代码表。(3).存放统计数据的表,称为中间表。(4).存放临时数据的表,称为临时表。原始数据和信息代码数据,统称为基础数据。基本表和代码表,统称为基表。数据库设计主要是指基本表设计,当然也包括代码表、中间表、临时表和视图的设计,因为基本表的设计较难,代码表、中间表、临时表和视图的设计较易。,数据库的组成,基本表与中间表、临时表不同,因为它具有如下4个特性:(1)原子性。基本表中的字段是不可再分解的。(2)原始性。基本表中的记录是

14、原始数据的记录。(3)演绎性。由基本表与代码表中的数据,可以派生出所有的输出数据。(4)稳定性。基本表的结构是相对稳定的,表中的记录是需要长期保存的。代码表又称为“数据字典”,它是存放单位代码、物资代码、人员代码、科目代码等等信息编码的表。中间表是存放统计数据的表,它是为数据仓库、输出报表或查询结果而设计的。临时表是程序员个人设计的,存放临时记录,为个人所用。基表和中间表由DBA维护,临时表由程序员自己用程序自动维护。,数据库的组成,与基本表、代码表、中间表、临时表不同,视图是一种虚表,它依赖数据源的实表而存在,这些实表是基本表和代码表。视图是供程序员使用数据库的一个窗口,是基表数据综合的一种

15、形式,是数据处理的一种方法,是用户数据保密的一种手段。为了进行复杂数据处理、提高运算速度和节省存储空间,视图的定义深度一般不得超过三层。若三层视图仍不够用,则应在视图上定义临时表,在临时表上再定义视图。这样反复交迭定义,视图的深度就不受限制了。对于某些与国家政治、经济、技术、军事和安全利益有关的信息系统,视图的作用更加重要。这些系统的基本表、代码表物理设计之后,立即在基本表上建立第一层视图,这层视图的个数和结构,与基本表的个数和结构完全相同,并且规定,所有的程序员,一律只准在视图上操作。只有数据库管理员,带着多个人员共同掌握的“安全钥匙”,他才能直接在基本表上操作。,7.2.3 数据库设计的内

16、容与步骤,1数据库需求分析需求分析都是从业务流程开始,这是因为:用户只能从业务流程上提出需求,而将功能、性能和接口需求置于业务流程之中。用户的需要是从原始单据的录入、统计、查询、报表的输出开始的,中间可能有数据处理、传输与转换的问题。数据库需求分析的步骤是:收集系统所有的原始单据(信息源产生的数据)和统计报表,弄清楚两者之间的关系,写明输出数据项中的数据来源与算法。若原始单据覆盖了所有需要的业务内容,并且能满足所有统计报表的输出数据要求,则需求分析完毕。反之继续分析。,数据库设计的内容与步骤,2数据库概念设计数据库概念设计是指设计出数据库的概念数据模型CDM(E-R 图),以及相应的数据字典(

17、DD),如实体字典、属性字典、关系字典。所谓实体,就是一组相关元数据的集合。所谓实例,就是实体的一次表现。【例7-1】“姓名,性别,身高,体重,民族”这一组相关元数据的集合,就组成人这个实体。而“张三,男,1.8,90,汉族”就是人这个实体的一次表现,它不是一个实体,而是一个实例。如果将“体重”改为“毛重”,则“姓名,性别,身高,毛重,民族”就不是一个实体,因为人不能用毛重、净重描述,猪和货物可以用毛重、净重描述。概念设计的特点是:与具体的数据库管理系统和网络系统无关,它相当于数据库的逻辑设计。,数据库设计的内容与步骤,3数据库物理设计数据库物理设计是指设计出数据库的物理数据模型PDM,即数据

18、库服务器物理空间上的表、字段、索引、表空间、视图、储存过程、触发器,以及相应的数据字典。物理设计的特点是:与具体数据库管理系统和网络系统有关。数据库物理设计的方法是:(1)确定关系数据库管理系统平台,即选定具体的RDBMS。(2)利用数据库提供的命令和语句,建立表、索引、触发器、存储过程、视图等。(3)列出表与功能模块之间的关系矩阵,便于详细设计。,4数据库设计步骤,*7.3 数据库设计的理论与方法,1.原始单据与实体之间的关系数据库设计的工作之一是画E-R图,E-R图上的元素是实体和关系。那么,实体在哪儿呢?即如何发现、找到、抽象出实体呢?我们说,实体就蕴涵在原始单据中!原始单据与实体之间关

19、系在一般情况下,它们是一对一的关系,即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单据对应多个实体,或多张原始单据对应一个实体。这里的实体可以理解为基本表。明确这种对应关系,对设计录入界面大有好处。【例7-2】在人力资源信息系统中,一份员工履历资料对应三个基本表:员工基本情况表、社会关系表、工作简历表。这就是“一张原始单据对应多个实体”的典型例子。,数据库设计的理论与方法,2主键与外键一般而言,一个实体不能既无主键(PK),又无外键(FK)。在E-R图中,处于叶子部位的实体,可以定义主键,也可以不定义主键(因为它无子孙),但必须要有外键(因为它有父

20、亲)。PK是供程序员使用的表间连接工具,可以是一个无物理意义的数字串,由程序自动加1来实现;也可以是有物理意义的字段名或字段名的组合,不过前者比后者好。我们主张主键原子化,即只用一个字段做主键。,数据库设计的理论与方法,3通俗地理解范式理论通俗地理解范式,对于数据库设计大有帮助。这里所说的通俗地理解范式是指够用的理解,并不一定是最科学、最准确的理解。第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解。第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性。进一步讲,在数据库设计时,作为惟一性标志的主键,最好是一个字段,而不是组合字段,这就是主键的原子性。现在

21、的关系数据库管理系统,都提供了惟一标识ID类型的字段,就是为了实现主键的原子性。第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。,数据库设计的理论与方法,其他更高级的范式:BCF、4NF、5NF等各级范式,研究的内容是解决实体本身的原子性问题。由此可见:“只要实现了属性、主键、实体三者的原子化,就从根本上符合了各级范式的要求了”。这就是画龙点睛!这就是范式理论的实质!啊,原来如此!数据库设计规范化理论的实质,就是引导并帮助设计人员实现“实体、属性、主键的原子化”!没有冗余的数据库设计可以做到。但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行

22、效率,就必须降低范式标准,适当保留冗余数据,这就是用空间换时间的做法。具体做法是:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。人们常称“降低范式的过程”为“反规范化设计过程”。,数据库设计的理论与方法,【例7-3】有一张存放商品的基本表,如表7-3所示。“金额”这个字段的存在,表明该表的设计不满足第三范式,因为“金额”可以由“单价”乘以“数量”得到,说明“金额”是冗余字段。但是,增加“金额”这个冗余字段,可以提高查询统计的速度,这就是以空间换时间的做法。在Rose 2002中,规定列有两种类型:数据列和计算列。“金额”这样的列

23、被称为“计算列”,而“单价”和“数量”这样的列被称为“数据列”。主键与外键在多表中的重复出现,不属于数据冗余,这个概念必须清楚,事实上有许多人还不清楚。非键字段的重复出现,才是数据冗余,而且是一种低级冗余,即重复性的冗余。高级冗余不是字段的重复出现,而是字段的派生出现。,数据库设计的理论与方法,4数据库设计中的两大窍门数据库设计既是一门科学(因为它有坚实的理论基础),又是一门技术(因为它有很多的技巧)。站在IT企业的数据库开发上讲,数据库设计的核心窍门只有两个:窍门之一:如果两个实体(或多个实体)之间的关系非常复杂,那么它们之间就可能存在多对多的关系。对于这种情况,我们不但要善于认别多对多关系

24、,而且要正确处理多对多关系。窍门之二:要建立稳定的数据模型,就要掌握“以不变应万变”的设计技巧,这个技巧就是“列变行”。,多对多关系,寻找“笛卡尔积的子集”的窍门,就是“要善于认别与正确处理实体之间的多对多关系”。若两个实体之间存在多对多的关系,则应消除这种关系。消除的办法是,在两者之间增加第三个实体。这样,原来一个多对多的关系,现在变为两个一对多的关系。剩下的问题是:要将原来两个实体的共同属性分配到第三个实体中去,还要将原来两个实体的主键当作第三个实体的外键。这里的第三个实体,实质上就是“笛卡尔积的子集”,它对应一张基本表。在现实生活中,到处存在多对多的关系。例如:老师与课程、学生与课程、读

25、者与图书、旅客与客房、司机与车辆、船舶与货物、飞机与机场、运动员与项目、等等。,多对多关系,多对多关系,“列变行”,所谓“列变行”,就是将第一个表中的某些列,变为第二个表中的某些行。这样,就将原来设计不科学的一个表,变为现在设计很科学的两个表:其中一个为主表或父表,另一个为从表或子表(又称明细表),通过主键与外键,两个表进行连接,共同完成相关的操作。具体做法,请看【例7-8】学生成绩单的管理,就是一个“列变行”的例子。,(1).“列变行”之前的表结构,(2).“列变行”之后的表结构,列变行之后的输出方案:建立“学生成绩表”视图,Create View 学生成绩表 As Select 学生表.学

26、号,姓名,课程名称,成绩 From 学生表,成绩表 Where 学生表.学号=成绩表.学号,“列变行”,现在来分析“列变行”之后的表结构设计中的优点,这个优点就是“实事求是”。第一,在四年级之前,他们没有学完三十门课程,这种设计也不会浪费一点存储空间;第二,到四年级时,即使个别学生修了两个学位,共计有三十多门课程,这种设计也不需要改动表结构,达到了“以不变应万变”的目的。在现实生活中,到处存在需要“列变行”的例子,因为到处有主表与明细表的关系。例如:部门与员工、员工基本情况与个人简历、月基本工资与月补贴、订单头与订单体、等等。,数据库设计的理论与方法,5学会西瓜理论和西瓜方法【定义7-4】所谓

27、西瓜理论,就是在数据库分析时,如果将属性比作芝麻,将主要实体比作大西瓜,将次要实体比作小西瓜,那么芝麻必须围绕西瓜转,小西瓜必须围绕大西瓜转。【定义7-5】所谓西瓜方法,就是在数据库设计时,如果将属性比作芝麻,将主要实体比作大西瓜,将次要实体比作小西瓜,那么在用CASE工具设计E-R图时,应先画出大西瓜,后画出小西瓜,用西瓜包住芝麻,用大西瓜统帅小西瓜。,学会西瓜理论和西瓜方法,“实体主导型方法”只是提出了“以实体统帅属性”的思想,建议在数据库分析与设计时,软件工程师首先要抓住实体,从实体出发去寻找、发现、确定属性,而不要采取本末倒置的“属性主导型方法”,即从属性出发,通过属性的分解与归约,来

28、寻找、发现、确定实体。“西瓜理论和西瓜方法”排除了“属性主导型方法”,它认为“属性主导型方法”是抓住了芝麻而丟掉了西瓜,用这样的方法去分析和设计数据库,尤其是大型数据库和复杂数据库,很容易对读者产生误导,因而在信息系统的分析和设计中,不宜采取这种方法。,学会西瓜理论和西瓜方法,“西瓜理论和西瓜方法”除了继承“实体主导型方法”的上述特点之外,还更进一步地提出:(1).在数据库需求分析和设计时,一方面要以实体去统帅属性,另一方面要以主要实体去统帅次要实体;(2).不但要使属性围绕实体转,而且要使次要实体围绕主要实体转;(3).在任何信息系统的全局E-R图中,其主要实体的数目都是有限的,数据库分析与

29、设计的任务,就是善于发现、捕获主要实体,并用主要实体去组织、规划、设计全局E-R图。,学会西瓜理论和西瓜方法,在一般情况下,一个主题数据库对应且只对应一个主要实体。例如,财务系统的财务主题数据库,其主要实体是记账凭证。人事系统的人事主题数据库,其主要实体是员工的基本情况。劳资系统的劳资主题数据库,其主要实体是月工资。港口的船舶调度系统的调度主题数据库,其主要实体是在港船。集装箱系统的主题数据库,其主要实体是集装箱。在特殊情况下,一个主题数据库可对应二至三个主要实体。在极端情况下,一个主题数据库才对应四个及四个以上的主要实体。由于这样的主题数据库比较复杂,具体例子暂时不举。,学会西瓜理论和西瓜方

30、法,在西瓜理论和西瓜方法的指导下,利用CASE工具画E-R图的步骤是:(1).先画主要实体(抓大西瓜),用大西瓜来统帅中小西瓜;(2).再画次要实体(抓中西瓜),使中西瓜围绕大西瓜转;(3).后画代码实体(抓小西瓜),使小西瓜围绕中西瓜转;(4).最后分配或补充实体的属性(捡芝麻);(5).最后画关系,并调整E-R图的部署。信息系统的E-R图没有标准答案,因为它的设计不是惟一的,只要它覆盖了系统需求就是可行的。,数据库设计的理论与方法,6完整性约束表现在三个方面(1)实体完整性:每个实体必须有唯一性标志,用以区分不同的实体,这个唯一性标志是用实体的主键(PK)来实现。实体完整性是第二范式的内容

31、,是实体原子化的目标。(2)参照完整性。所谓参照完整性,就是由主表到从表的方向是参照关系,由从表到主表的方向是依赖关系。这样参照和依赖关系,是通过主键(PK)、外键(FK)和触发器来加以实现。关系数据库的本质,就是分析、研究、处理主表与从表的关系,即主键与外键的关系。(3)用户定义完整性:它是用户单位规定的一些业务规则,这些业务规则有时用存储过程实现,有时用触发器来实现,有时用定义域(对字段的取值范围进行定义)的完整性来实现。业务规则反映用户单位的业务逻辑,必须在数据库需求分析时彻底搞清。,数据库设计的理论与方法,7防止数据库设计打补丁的方法是“三少原则”(1)一个数据库中表的个数越少越好。只

32、有表的个数少了,才能说明系统的E-R图少而精,去掉了重复的、多余的实体,形成了对客观世界的高度抽象,进行了系统的数据集成,防止了打补丁式的设计。(2)一个表中组合主键的字段个数越少越好,最好是用一个字段做主创,即主键原子化。因为主键的作用,一是建立主键索引,二是作为从表的外键,所以组合主键的字段个数少了,不仅节省了运行时间,而且节省了索引存储空间。(3)一个表中的字段个数越少越好。只有字段的个数少了,才能说明在系统中不存在数据重复,且很少有数据冗余,更重要的是督促读者学会“列变行”,这样就防止了将子表中的字段拉入到主表中去,在主表中留下许多空余的字段。,数据库设计的理论与方法,9提高数据库运行

33、效率的办法提高数据库系统运行效率的办法是:(1)在数据库物理设计时,降低范式,增加冗余,少用触发器,多用存储过程。(2)当计算非常复杂、且一次处理的记录条数非常多时(例如,一千万条),复杂计算要先在数据库外面实现,如以文件系统方式用C+语言计算处理完成之后,最后才入库追加到表中去。这是数据库系统设计的经验。(3)发现某个表的记录太多(例如,超过一千万条),则要对该表进行水平分割。水平分割的做法是,以该表主键PK的某个值为界线,将该表的记录水平分割为两个表。若发现某个表的字段太多(例如,超过80个),则垂直分割该表,将原来的一个表分解为两个表。,提高数据库运行效率的办法,(4)对数据库管理系统D

34、BMS进行系统优化,即优化各种数据库的环境参数,如缓冲区个数。(5)在使用面向数据的SQL语言进行程序设计时,尽量采取优化算法。(6)优化数据库的环境参数也能够提高数据库的性能。例如给服务器配置更快的CPU,增加内存。运行数据库是非常消耗内存的,内存对数据库性能影响比较大。由于现在市场上的内存条越来越便宜,所以为服务器配置足够多的内存恐怕是成本最低、难度最低、见效最快的性能优化方法。(7)除了优化表结构之外,在安装数据库系统时,要为系统指定“块大小”(一次物理读写操作所涉及的字节数)。在创建表时,也要为表指定一定的空间。如果“块大小”和“表空间”与实际的数据存储不匹配的话,那么会产生许多磁盘碎

35、片,这将降低数据库物理操作的性能。,7.4 信息系统建模实例分析,省级新华书店信息系统建模案例 1数据模型分析从全局实体关系图中,我们发现,CDM有以下3个主要实体:(1)图书:它存放了新华书店历年来发行的全部图书信息。(2)仓库图书:它存放了储运中心仓库现有的全部图书信息。(3)门市图书:它存放了书城或连锁书店各自现有的全部图书信息。以上面三个主要实体为中心,按照实体之间的关系连线,就能理出数据模型的内部关系思路,并将所有的次要实体统帅起来,使所有的次要实体都以这三个实体为中心,形成一个完整的新华书店信息系统数据模型。,数据模型分析,在省级新华书店信息系统的概念数据模型CDM中,与“图书”直

36、接关联的实体有:出版社、仓库图书、书城入库、订购单体、书城订单、图书警戒线。与“仓库图书”直接关联的实体有:现货批销、付退货、图书报废、入库单、仓库货位、市外调拨、内部迁移、内退入库、市内配送、图书。与“门市图书”直接关联的实体有:市内配送、内退入库、销售记录、书店、书城入库。每个实体的名称、主键、属性在CDM图上显示得很清楚。根据概念数据模型CDM,利用Power Designer Data Architect工具,就可自动生成物理数据模型PDM,此处省略,读者可上机操作。,2功能模型分析,省级新华书店信息系统的功能模型具有16项功能,用“功能点列表”的方式来描述和分析,现将分析结果列在表7

37、-12之中。(1).“输入内容”是用户对信息系统的录入(2).“输出内容”是信息系统对外的显示或打印(3).“系统响应”是系统对用户操作的处理过程。具体内容见教材:省级新华书店信息系统的功能模型”.,3业务模型分析,业务模型属于动态模型,本实例分析中用“业务操作步骤”来描述。省级新华书店信息系统的业务模型由下列10大步骤组成。步骤1:制作订购单操作流程。步骤2:制作订单操作流程。步骤3:图书期货入库操作流程。步骤4:图书配送操作流程。,业务模型分析,步骤5:图书销售操作流程。步骤6:图书退货操作流程。步骤7:图书调拨操作流程。步骤8:图书现货批销操作流程。步骤9:查询统计。步骤10:制作记账凭

38、证。新华书店信息系统夜以继日地在企业网上运行,周而复始地执行上述10项操作,全心全意地为读者服务。,4分析结论,当对上述“三个模型”研究分析之后,不但完成了需求分析的主要工作量,而且完成了概要设计中的主要内容数据库设计。在此基础上,再对新华书店信息系统进行概要设计和详细设计,理应感到心中有数了。当详细设计评审通过(不符合项为零)后,再利用面向对象的强大编程工具PowerBuilder,Delphi,C+等语言进行实现,加上面向功能的测试和面向过程的管理,系统按计划(进度、成本、质量)实现,是顺理成章的事。,7.5 三个模型建模思想总结,1三个模型建模思想的优点(1)符合中国人的心理:系统有什么

39、功能?对应系统的“功能模型”。系统怎么操作?对应系统的“业务模型”。系统的数据怎样组织?对应系统的“数据模型”。(2)符合客观事物的发展规律。因为做任何事情,都必须回答三个问题:做什么?这就是系统“功能模型”的任务。怎么做?这就是系统“业务模型”的任务。在什么地方做?做事的原材料在什么地方?做完后的产品放到什么地方?这就是系统“数据模型”的任务。,三个模型建模思想总结,(3)符合将复杂问题简单化的哲学思想。项目经理主要精力是“三抓”:抓系统的“功能模型”。抓系统的“业务模型”。抓系统的“数据模型”。(4)符合“简单、方便、直观”的原则。“功能模型”看得见:菜单、界面、报表。“业务模型”摸得着:

40、操作说明书、业务流程图、业务规则。“数据模型”听得懂:实体、属性、关系、表、字段、记录、数据字典、原始数据、统计数据、临时数据。,三个模型建模思想总结,(5)符合节省成本降低费用的经济效益目标。中国软件的开发方法与文档标准,不应该完全与发达国家相同,而结合中国的国情来做。(6)三个模型的建模思想既适合应用软件建模,又适合系统软件建模。,三个模型建模思想总结,2三个模型建模思想的缺点(1)功能模型表述不规范:目前,功能模型还只能用“功能点列表、性能点列表、接口列表”这三个列表来表示,或者用UML的用例图和用况规约来描述,其他还没有找到更好的方法。(2)业务模型表述不规范:目前,业务模型还只能从“

41、业务操作步骤、业务流程图、用户操作手册”这三个方面来表示。在UML中,完整的业务模型由用例图、时序图、交互图、状态图、活动图来表述,其他还没有找到更好的办法。(3)只能覆盖需求分析和设计两个阶段,不能覆盖整个软件生存周期。业务模型和功能模型主要适合在软件需求阶段建模,数据模型主要适合在软件设计阶段建模。当然,这三个模型对软件实现、软件测试两个阶段,也具有重要指导意义。,三个模型建模思想总结,3值得思考的问题(1)业务模型和功能模型描述方法的改进和提高,是三个模型建模思想的发展方向。既然UML的作者申明,UML只是一种建模语言,不是一种方法论,它独立于过程,不包括过程中的方法与步骤,利用它建模时

42、,可遵循任何类型的建模过程。由此可见,方法论与语言工具是不同的,三个模型的建模思想属于方法论,UML属语言工具。(2)数据模型能否可以用类图来创建呢?回答是不行。那该怎么办?为了解决这个问题,UML中新增加了数据模型的语法,其实现工具Rose 2002也支持这一功能。在Rose 2002的逻辑视图中,可以创建表以及表中的字段、约束、主键、外键、关系、索引、触发器和存储过程。这样,就将Rose的建模方式与三个模型的建模思想结合在一起了。,值得思考的问题,(3)三个模型不完全是并列关系,而应以数据模型为中心,以业务模型和功能模型为两个基本点。尤其是在企业信息系统的分析、设计和实现中,因为关系型数据

43、库管理系统RDBMS仍然是其支撑平台,所以应该这样去理解三个模型的建模思想。(4)“三个模型”的思想,加上“五个面向”的实施理论,就构成了一个完整的方法论,该方法论不仅适合信息系统建设,而且也适合其他应用软件和系统软件的建设。,*7.6 UML的建模思想7.6.1 UML对软件工程的重大影响,UML是Rational Rose的理论基础,Rational Rose是UML的建模实现途径,即Rose是UML的实现工具。尽管UML的作者申明:UML不是一种建模思想,只是一种建模语言或工具。但是,UML和 Rose的组合在事实上已构成了一种新的软件建模思想和开发方式,并且势必会对软件工程的发展与创新

44、产生重大影响,这种影响将主要表现在如下四个方面:,UML对软件工程的重大影响,(1)软件生存周期:UML用统一的软件开发生存周期 RUP 来替代原有的软件生存周期。(2)软件建模方式:UML用可视化的语言实现软件整个生存周期各个阶段的建模。(3)软件文档规范:正向工程和逆向工程的文档全部由UML建模工具自动产生。(4)软件人员分工:UML使得分析、设计、实现、维护的岗位界线逐渐趋向模糊。上述4方面的影响都是不可忽视的,尽管这些影响当前还没有完全成为现实。,UML对软件工程的重大影响,UML的几个“关键问题”是:(1)UML的概念模型(2)UML的建模思想(3)UML的软件开发生存周期(4)UM

45、L的缺点与不足(5)UML的支撑环境Rose(6)UML的发展方向,7.6.2 UML的概念模型,使用UML的关键是用它来简明、准确地建立模型。为了帮助读者达到这个目的,我们将对UML中实质性内容的几个要点做一个简明扼要的介绍。只要抓住这些要点,UML入门并不太难,深造也可能办得到。为了理解UML的建模元素,关键是要学习它的三个要素:(1).面向对象的基本“构造块”(积木块)(2).支配这些构造块放在一起建模的“规则”(建模的粘合剂)(3)运用于整个UML的“公共机制”(模型的图纸说明),UML的概念模型,1UML的“构造块”UML中有3种基本构造块,分别是“事物”、“关系”和“图”,它们是U

46、ML建模中的积木元素或积木组合体。第1种构造块:事物。事物是构造块,UML中有4种事物,它们分别是结构事物、行为事物、分组事物和注释事物。(1).结构事物(Structural Thing),它是UML模型中的静态元素,包括类、接口、协作、用况、主动类、构件和节点7种元素。,UML的概念模型,(2).行为事物(Behavioral Thing),它是UML模型中的动态元素,包括交互和状态机2种元素。(3).分组事物(Grouping Thing),它是UML模型的组织元素,主要是包(Package),用一个包含名称的左上角带有一个小矩形的大矩形表示。(4).注释事物(Annotational

47、Thing),它是UML模型的解释元素,主要是注解(Note),用一个包含注解内容的右上角为折角的矩形表示。,UML的概念模型,第2种构造块:关系。关系也是构造块,UML中有5种关系,利用这些关系可以设计出结构良好的模型。(1).依赖(Dependency)(2).关联(Association)(3).泛化(Generalization)(4).实现(Realization)(5).累积(Aggregation),UML的概念模型,第3种构造块:图。图也是构造块,UML中有9种图。(1).类图(Class Diagram)(2).对象图(Object Diagram)(3).用况图(Use C

48、ase Diagram)(4).顺序图(Sequence Diagram)(5).协作图(Collaboration diagram)(6).状态图(Statechart Diagram)(7).活动图(Activity Diagram)(8).构件图(Component Diagram)(9).实施图(Deployment Diagram),UML的概念模型,2UML运用构造块的“规则”为了将UML的构造块有机地组装在一起形成一个结构良好的模型,UML需要描述下列事物的5种语义规则。(1).命名:为事物、关系和图命名(2).范围:给一个名字以特定含义的语境,即范围(3).可见性:怎样使用或看

49、见名字,即可见性(4).完整性:事物如何正确、一致地相互联系(5).执行:运行或模拟动态模型的含义是什么,即执行,UML的概念模型,3UML的“公共机制”UML有4种在整个语言中一致应用的机制,使得该语言变得较为简单。(1).规格说明(2).修饰(3).通用划分(4).扩展机制到此为止,对UML建模的3个要素“积木块、粘合剂、图纸说明”介绍完毕。为了全面理解UML的建模过程,还需要熟悉UML的建模思想和软件开发生存周期。,UML的建模思想,1UML的宏观建模思想UML的宏观建模思想,表现在它的“9个模型、9种图、5张视图”上面。模型是对现实系统的一种简化与抽象,不同的模型是对同一个现实系统的不

50、同映射;图是目标系统的投影;视图是体系结构的投影。由于大型软件系统的复杂性,很难用一个模型、一种图、一张视图来描述清楚,所以在UML中出现了这么多的模型、图和视图。对于同一个软件系统,没有必要同时使用“9个模型、9种图、5张视图”,正确的原则是“精兵简政、实事求是、按需使用”。,UML的建模思想,9个模型:业务模型、领域模型、用况模型(也称需求模型)、分析模型、设计模型、过程模型、部署模型(也称实施模型)、实现模型和测试模型。9种图:类图、对象图、用况图、顺序图、协作图、状态图、活动图、构件图、部署图(也称实施图)。5张视图:用况视图、设计视图、进程视图、实现视图和实施视图。读者可以从不同的角

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号