数据模型设计软件 软件工程数据模型
发布日期:2020-09-29摘要:怎么才能成为一个优秀的软件模型设计者? 1 人远比技术重要 你开发软件是为了供别人使用,没有人使用的软件只是没有意义的数据的集合而已。许多在软件方面很有成就的行家在他们事业的初期却表现平平,因为他 ...
怎么才能成为一个优秀的软件模型设计者?
1. 人远比技术重要 你开发软件是为了供别人使用,没有人使用的软件只是没有意义的数据的集合而已。
许多在软件方面很有成就的行家在他们事业的初期却表现平平,因为他 们那时侯将主要精力都集中在技术上。
显然,构件(components),EJB(Entepise Java Beans)和代理(agent)是很有趣的东西。
但是对于用户来说,如果你设计的软件很难使用或者不能满足他们的需求,后台用再好的技术也于事无补。
多 花点时间到软件需求和设计一个使用户能很容易理解的界面上。
2. 理解你要实现的东西 好的软件设计人员把大多数时间花费在建立系统模型上,偶尔写一些源代码,但那只不过是为了验证设计过程中所遇到的问题。
这将使他们的设计方案更加可行。
3. 谦虚是必须的品格 你不可能知道一切,你甚至要很努力才能获得足够用的知识。
软件开发是一项复杂而艰巨的工作,因为软件开发所用到的工具和技术是在不断更新的。
而且,一个人也不可能了解软件开发的所有过程。
在日常生活中你每天接触到的新鲜事物可能不会太多。
但是对于从事软件开发的人来说,每天可以学习很多新东西(如果愿意的话)。
4. 需求就是需求 如果你没有任何需求,你就不要动手开发任何软件。
成功的软件取决于时间(在用户要求的时间内完成)、预算和是否满足用户的需求。
如果你不能确切知道用户需要的是-什么,或者软件的需求定义,那么你的工程注定会失败。
5. 需求其实很少改变,改变的是你对需求的理解 Oject ToolSmiths公司的Doug 。
Smith常喜欢说:"分析是一门科学,设计是一门艺术"。
他的意思是说在众多的"正确"分析模型中只存在一个最"正确"分析模型可以完全满足解决某个具体问题的需要(我理解的意思是需求分析需要一丝不苟、精确的完成,而设计的时候反而可以发挥创造力和想象力 - 译者注)。
如果需求经常改动,很可能是你没有作好需求分析,并不是需求真的改变了。
你可以抱怨用户不能告诉你他们想得到什么,但是不要忘记,收集需求信息是你工作。
你可以说是新来的开发人员把事情搞得一团糟,但是,你应该确定在工程的第一天就告诉他们应该做什么和怎样去做。
如果你觉得公司不让你与用户充分接触,那只能说明公司的管理层并不是真正支持你的项目。
你可以抱怨公司有关软件工程的管理制度不合理,但你必须了解大多同行公司是怎么做的。
你可以借口说你们的竞争对手的成功是因为他们有了一个新的理念,但是为什么你没先想到呢?需求真正改变的情况很少,但是没有做好需求分析工作的理由却很多。
6. 经常阅读 在这个每日都在发生变化的产业中,你不可能在已取得的成就上陶醉太久。
每个月至 少读2、3本专业杂志或者1本专业书籍。
保持不落伍需要付出很多的时间和金钱,但会使你成为一个很有实力的竞争者。
7. 降低软件模块间的耦合度 高耦合度的系统是很难维护的。
一处的修改引起另一处甚至更多处的变动。
你可以通过以下方法降低程序的耦合度:隐藏实现细节,强制构件接口定义,不使用公用数据结构,不让应用程序直接操作数据库(我的经验法则是:当应用程序员在写S-QL代码的时候,你的程序的耦合度就已经很高了)。
耦合度低的软件可以很容易被重用、维护和扩充。
8. 提高软件的内聚性 如果一个软件的模块只实现一个功能,那么该模块具有高内聚性。
高内聚性的软件更容易维护和改进。
判断一个模块是否有高的内聚性,看一看你是否能够用一个简单的句子描述它的功能就行了。
如果你用了一段话或者你需要使用类似"和"、"或"等连词,则说明你需要-将该模块细化。
只有高内聚性的模块才可能被重用。
数据库和数据模型设计的关注点有哪些?
实体-联系图(Entity-Relation Diagam)用来建立数据模型,在数据库系统概论中属于概念设计阶段,形成一个独立于机器,独立于DBMS的ER图模型。
通常将它简称为ER图,相应地可把用ER图描绘的数据模型称为ER模型。
ER图提供了表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。
ER模型最早由Pete Chen于1976年提出,它在数据库设计领域得到了广泛的认同,但很少用作实际数据库管理系统的数据模型。
即使对SXL-92数据库来说,设计好的数据库也是具有挑战性的。
它们可以在许多关于数据库设计的文献中找到,比如Toy Teosey 的著作(1994 )。
大部分数据库设计产品使用实体-联系模型(ER模型)帮助用户进行数据库设计。
ER数据库设计工具提供了一个“方框与箭头”的绘图工具,帮助用户建立ER图来描绘数据。
构成E-R图的基本要素是实体、属性和联系,其表示方法为: ˙实体型:用矩形表示,矩形框内写明实体名; ˙属性:用椭圆形或圆角矩形表示,并用无向边将其与相应的实体连接起来;多值属性由双线连接;主属性名称下加下划线; ˙联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型 在E-R图中要明确表明1对多关系,1对1关系和多对多关系。
˙1对1关系在两个实体连线方向写1; ˙1对多关系在1的一方写1,多的一方写N; ˙多对多关系则是在两个实体连线方向各写N,M
数据仓库的数据模型是什么?
研究开发多媒体数据库要解决的关键技术问题: a 多媒体数据模型 多媒体数据模型主要采用关系数据模型的扩充和采用面向对象的设计方法。
由于用传统的关系模型难以描述多媒体信息和定义对多媒体数据对象的操作,目前在关系模型扩充方面除了引入抽象数据类型外,较多的采用语义模型的方法。
关系模型主要描述数据的结构,而语义模型则主要表达数据的语义,语义模型的层次高于关系模型,后者可以作为前者的基础。
目前的研究表明,采用面向对象的方法来描述和建立多媒体数据模型是较好的方法,面向对象的主要概念包括对象、类、方法、消息、封装和继承等,可以方便地描述复杂的多媒体信息。
b 数据的压缩和解压缩 由于多媒体数据,如声音、图像及视频等数据量大,存贮和传输需要很大的空间和时间,因此必须考虑对数据进行压缩编码,压缩方法要考虑到复杂性,实现速度及压缩质量等问题。
c 多媒体数据的存贮管理和存取方法 目前常用的有分页管理、B+树 和Hash方法等。
在多媒体数据库中还要引入基于内容的检索方法、矢量空间模型信息索引检索技术、超位检索技术及智能索引技术等。
d 多媒体信息的再现及良好的用户界面 在多媒体数据库中应提供多媒体宿主语言调用,还应提供对声音、图像、图形和动态视频的各种编辑和变换功能。
e 分布式技术 多媒体数据通信对网络带宽有较高的要求,需要相应的高速网络,此外还要解决数据集成、异构多媒体数据语言查询、调度和共享等问题。
如何进行数据库的设计?
数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。
在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。
一、数据库和信息系统 (1)数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的 功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。
(2)数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。
(3)数据库设计是信息系统开发和建设的重要组成部分。
(4)数据库设计人员应该具备的技术和知识: 数据库的基本知识和数据库设计技术 计算机科学的基础知识和程序设计的方法和技巧 软件工程的原理和方法 应用领域的知识二、数据库设计的特点 数据库建设是硬件、软件和干件的结合 三分技术,七分管理,十二分基础数据 技术与管理的界面称之为“干件” 数据库设计应该与应用系统设计相结合 结构(数据)设计:设计数据库框架或数据库结构 行为(处理)设计:设计应用程序、事务处理等 结构和行为分离的设计 传统的软件工程忽视对应用中数据语义的分析和抽象,只要有可能就尽量推迟数据结构设计的决策早期的数据库设计致力于数据模型和建模方法研究,忽视了对行为的设计 如图:三、数据库设计方法简述 手工试凑法 设计质量与设计人员的经验和水平有直接关系 缺乏科学理论和工程方法的支持,工程的质量难以保证 数据库运行一段时间后常常又不同程度地发现各种问题,增加了维护代价 规范设计法 手工设计方 基本思想 过程迭代和逐步求精 规范设计法(续) 典型方法: (1)新奥尔良(New Orleans)方法:将数据库设计分为四个阶段 S.B.Yao方法:将数据库设计分为五个步骤 I.R.Palmer方法:把数据库设计当成一步接一步的过程 (2)计算机辅助设计 ORACLE Designer 2000 SYBASE PowerDesigner四、数据库设计的基本步骤 数据库设计的过程(六个阶段) 1.需求分析阶段 准确了解与分析用户需求(包括数据与处理) 是整个设计过程的基础,是最困难、最耗费时间的一步 2.概念结构设计阶段 是整个数据库设计的关键 通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型 3.逻辑结构设计阶段 将概念结构转换为某个DBMS所支持的数据模型 对其进行优化 4.数据库物理设计阶段 为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法) 5.数据库实施阶段 运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果 建立数据库,编制与调试应用程序,组织数据入库,并进行试运行 6.数据库运行和维护阶段 数据库应用系统经过试运行后即可投入正式运行。
在数据库系统运行过程中必须不断地对其进行评价、调整与修改 设计特点: 在设计过程中把数据库的设计和对数据库中数据处理的设计紧密结合起来将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计 设计过程各个阶段的设计描述: 如图:五、数据库各级模式的形成过程 1.需求分析阶段:综合各个用户的应用需求 2.概念设计阶段:形成独立于机器特点,独立于各个DBMS产品的概念模式(E-R图) 3.逻辑设计阶段:首先将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式;然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图(View),形成数据的外模式 4.物理设计阶段:根据DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式 六、数据库设计技巧 1. 设计数据库之前(需求分析阶段) 1) 理解客户需求,询问用户如何看待未来需求变化。
让客户解释其需求,而且随着开发的继续,还要经常询问客户保证其需求仍然在开发的目的之中。
2) 了解企业业务可以在以后的开发阶段节约大量的时间。
3) 重视输入输出。
在定义数据库表和字段需求(输入)时,首先应检查现有的或者已经设计出的报表、查询和视图(输出)以决定为了支持这些输出哪些是必要的表和字段。
举例:假如客户需要一个报表按照邮政编码排序、分段和求和,你要保证其中包括了单独的邮政编码字段而不要把邮政编码糅进地址字段里。
4) 创建数据字典和ER 图表 ER 图表和数据字典可以让任何了解数据库的人都明确如何从数据库中获得数据。
ER图对表明表之间关系很有用,而数据字典则说明了每个字段的用途以及任何可能存在的别名。
对SQL 表达式的文档化来说这是完全必要的。
5) 定义标准的对象命名规范 数据库各种对象的命名必须规范。
2. 表和字段的设计(数据库逻辑设计) 表设计原则 1) 标准化和规范化 数据的标准化有助于消除数据库中的数据冗余。
标准化有好几种形式,但Third Normal Form(3NF)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。
简单来说,遵守3NF 标准的数据库的表设计原则是:“One Fact in One Pla...
业务模型,功能模型和数据模型三个模型建模思想有怎样的优缺点
软件建模中的三个模型是指业务模型、功能模型和数据模型。
【【定义 定义77--11】】功能模型 功能模型FM FM((Function Model Function Model)是描述系统能 )是描述系统能做做 什么 什么,即对系统的功能、性能、接口和界面进行定义。
,即对系统的功能、性能、接口和界面进行定义。
【 【定义 定义77--22】】业务模型业务模型OM OM((Operation Model Operation Model)是描述系统在何 )是描述系统在何 时、何地、由何角色、按什么业务规则去做,以及做的步骤或流 时、何地、由何角色、按什么业务规则去做,以及做的步骤或流 程,即对系统的操作流程进行定义 程,即对系统的操作流程进行定义((怎么做 怎么做))。
。
【【定义 定义77--33】】数据模型 数据模型DM DM((Data Model Data Model)是描述系统工作前的 )是描述系统工作前的 数据来自何处,工作中的数据暂存什么地方,工作后的数据放到 数据来自何处,工作中的数据暂存什么地方,工作后的数据放到 何处,以及这些数据之间的关联,即对系统的数据结构进行定义 何处,以及这些数据之间的关联,即对系统的数据结构进行定义 ((数据怎么组织 数据怎么组织) ) 。
。
三个模型概论 三个模型概论((续续)) 功能模型和业务模型在 功能模型和业务模型在需求时 需求时建模,数据模型在 建模,数据模型在设计 设计 时时建模。
通常,数据模型建模用 建模。
通常,数据模型建模用Power Designer Power Designer、、ER ER win win、、Oracle Designer Oracle Designer 或或Class Diagram Class Diagram表示;功能模型 表示;功能模型 用功能点列表或 用功能点列表或Use Case Diagram Use Case Diagram表示;业务模型用自 表示;业务模型用自 然语言加上流程图或 然语言加上流程图或Sequence Diagram Sequence Diagram表示。
表示。
三个模型建模思想的 三个模型建模思想的优点 优点是:简单、直观、通俗、易 是:简单、直观、通俗、易 懂、易学、易用,非常适合于关系数据库管理系统 懂、易学、易用,非常适合于关系数据库管理系统 RDBMS RDBMS支持的信息系统。
支持的信息系统。
展开
【数据模型管理】数据库系统中数据模型的作用
不同的数据库管理系统采用不同的数据模型,常用的数据模型有三种: 层次模型 用树形结构来表示实体及实体之间联系的模型称为层次模型。
这种数据模型具有层次清楚,容易理解等优点,所以在早期数据库系统中采用这种模型。
在层次模型中每一个结点表示实体集,指向结点的指针表示两个实体集之间的联系,在层次模型中秒年个个结点间的关系只能是1-m关系,通常把表示1的实体集放在上方,称为父结点,而表示m的实体集放在下方,称为子结点。
树的最高位置上只有一个结点,称为根结点。
每个结点由若干个记录值表示。
网状模型 如果实体及实体之间的联系组成的结构为一有向图,则称为网状模型。
网状模型的特点为:可以有一个以上的结点无父结点,至少有一个结点有多于一个父结点。
所以网状模型可以表示为m-n关系。
关系模型 用表格形式表示实体以及实体之间的联系,称为关系模型,它是以关系数学理论为基础的。
关系模型简洁明了,便于使用,具有很大的发展前景,而且它们简单易学,用户使用的环境不断改进,已成为目前世界上最畅销的大众数据库系统。
① 用户级 又称为外模式,这是从各个用户角度看到和使用的数据库,因此也称为用户视图。
每个用户获准使用的部分数据称为子模式,这部分数据的逻辑结构称为局部逻辑结构。
② 概念级 又称为概念模式,这是数据管理员看到的数据库,称为DBA视图,它是所有用户视图的一个最小几乎,是对数据库整体逻辑的描述,故称整体逻辑结构。
③ 物理级 又称为内模式,是系统管理员对数据进行的物理组织,称为系统程序员视图,也称为数据的存储结构。
-
给我们打电话
7*24小时服务热线:1399999999
全国客服热线:400-0000-000 -
百度地图
福建省三明市 -
给我们发邮件
E-mail:[email protected]
在线沟通