1主要内容•主要指标与文档•全程一体化建模过程•建模要领•应用要领建模过程与要领2建模的主要文档(1)描述组织分工的建模文档(2)描述业务流程的建模文档(3)描述业务信息的建模文档(4)描述信息化需求定义的建模文档3描述组织分工的建模文档①反映一个组织中上下级关系的组织结构图以及相关描述;②反映一个组织中层次化职能分工分解的组成结构树以及相关描述。4描述业务流程的建模文档①反映宏观业务联系的业务协作流程图以及相关描述;②反映微观业务操作的功能执行流程图以及相关描述。5描述业务信息的建模文档•①反映业务信息内容及其联系的业务信息关系图以及相关描述;•②反映业务信息基本流向的数据流图以及相关描述;•③反映活动主体之间信息交互的数据接口图以及相关描述;•④反映活动主体操作信息的业务信息操作权限图以及相关描述;6描述信息化需求定义的建模文档•基于组成结构树的信息化,重点包括:功能定义过程定义数据定义以及相关描述。71.6全程一体化建模过程•业务调查•需求定义•总体设计•详细设计•生成程序8业务调查1.填写业务调查表2.描述组织结构3.准确捕捉业务流程,全面搜集业务信息(数据)4.归纳业务部门间的活动5.归纳业务部门间交换的业务信息6.描述业务数据的具体内容9填写业务调查表这是了解用户业务的第一步。该表是描述组织机构的组成结构树及描述业务流程的事件流程图的依据。•岗位设置、责任(往往“挂”在墙上)•业务报表/信息(往往“摆”在桌子上)•所需软件(可在需求定义阶段与用户共同确定)10描述组织结构用户的业务组织结构是我们认识了解其业务的最佳向导,PlayCASE用组成结构树来表示它。划分组织结构的一般原则:•第0层:企业自身•第1层:企业的业务部门类别(如生产经营部门等)•第2层:具体的业务处室(如销售处等)•第3层:业务处室所设的业务岗位(如财务处的记帐员、成本会计等)•第4层:每个岗位的工作职责(如成本会计要核算生产成本、核算销售成本等)。11准确捕捉业务流程,全面搜集业务信息(数据)PlayCASE用事件流程图描述业务流程,其方式是沿组成结构树自上而下,从整体到部分。•对用户业务流程的调查应该从划分业务流程种类开始。划分依据:一个业务流程由一组联系紧密的业务活动组成。•通过经验丰富的用户提供的业务的各种细节,无一遗漏地捕捉到用户进行业务活动时产生的各种业务数据,这些数据往往体现为报表、票据等,它们可以用于生成数据流程图(DFD)。12归纳业务部门间的活动PlayCASE根据事件流程图,用事件接口图自动归纳业务部门间的业务活动。•事件接口图和事件流程图一一对应,它按层次来表达业务部门(人)之间的业务分工,集中反映了各个部门(人)的业务活动。•从宏观上把握和认识企业的业务划分与工作职责。13归纳业务部门间交换的业务信息PlayCASE根据事件流程图中事件所携带的数据,用数据接口图自动归纳业务部门(人)之间的信息交互。•数据接口图和事件流程图一一对应,按层次来表达企业内部的信息界面,说明信息的由来和去处。•从整体上把握和认识企业进行业务活动时所交互的信息。14描述业务数据的具体内容•在事件流程图中捕捉到的业务数据,PlayCASE用“信息/表单”来描述,可从两方面深入认识:–业务数据的具体内容(现阶段考虑)–业务数据间的联系(总体设计阶段考虑)•如果业务数据种类较多,为了保证调研的效率,在业务调查阶段可以采取折衷方式:–不描述业务数据的具体内容–只描述关键部分–保留原始材料(数据)–忽略部分应当在总体设计时补充。15需求定义1.确定哪些业务需要计算机软件2.描述软件系统的运行模式16确定哪些业务需要计算机软件•在业务调查的基础上,用组成结构树定义软件的基本结构:每个节点由业务部门和支持它的计算机软件组成。•组成结构树应当分解到:凡是需要计算机软件的部门,分解到每个业务岗位的工作职责。•一般来讲,业务调查很难一次彻底完成,往往贯穿整个开发过程。17描述软件系统的运行模式PlayCASE用事件流程图描述未来软件的总体行为,它是真实业务的仿真。这种直接支持日常业务活动的软件最容易被用户接受。18总体设计1.描绘软件的全部结构2.描述软件的总体运行过程3.划分软件的功能界面4.划分软件的数据界面5.描述信息流动情况6.归纳上下级模块的数据传递7.进行数据库的概念设计8.描述数据(构件)间的相互关系19描绘软件的全部结构•明确结构树中哪些节点是子系统,哪些节点是功能(模块),其判断可以综合两方面因素:–支持业务部门或业务岗位的软件,可以视为子系统,替代业务岗位某项职责的软件可以视为功能(模块);–单个运行的软件(可执行文件)可以视为子系统,反之为功能(模块)。•在此基础上,根据用户实际业务的需要,对现有结构树的末级节点进行适当的功能分解。20原则•功能分解要尽可能根据用户的业务活动规则进行,按照国家制度规定进行。•功能分解程度最好对应到“原子”级业务活动。•从某种意义上来说,这种分解是需求分析的深化。21描述软件的总体运行过程在需求定义的基础上,根据组成结构树所做的功能分解,把事件流程图进一步向下逐层展开,来描述软件的总体运行过程。22划分软件的功能界面•PlayCASE根据上述事件流程图,用事件接口图自动归纳子系统(或模块)间的功能交互。•事件接口图和事件流程图一一对应,按层次来表达软件内部的功能界面,说明哪些功能由哪些子系统(模块)来完成。•从宏观上把握和认识系统每部分所具备的各种功能。23划分软件的数据界面•PlayCASE根据事件流程图中事件所携带的数据,用数据接口图自动归纳子系统(模块)间的信息交互。•数据接口图和事件流程图一一对应,按层次来表达软件内部的数据界面,说明信息的来源和去处。•从整体上把握和认识系统运行时所交互的信息。24描述信息流动情况•数据流图用于描述信息流动的情况•在纵向表示了函数分解关系•在横向上表示了数据依赖关系•和事件流程图一一对应•在系统开发的任何阶段都可以得到数据流图25归纳上下级模块的数据传递PlayCASE提供的功能调用树与软件工程教科书所讲的结构图是一致的。•组成结构树的所有节点视做软件的模块•父级模块调用子级模块完成有关功能•集中反映父级模块传递给子级模块的数据和子级模块返回的数据26进行数据库的概念设计•补充业务调查时业务数据(信息/表单)的具体内容被忽略的部分。•指定数据属性值的基本类别(如数字型、字符型、时间型等)•属性值的具体类型(如数字型中的整数、浮点数等),可以在详细设计中确定,因为在总体设计时,并不需要考虑实现系统所使用的编程工具和DBMS。27描述数据(信息/表单)间的相互关系•信息/表单关系图包括了实体—关系图的全部内容•三种数据关系:组装关系、分类关系、关联关系•由业务数据本身的性质或者根据业务活动找到这些关系•全面建立所有数据的关系,尽可能消除孤立数据28详细设计1.设计用户界面及其运行序列2.进行数据库的逻辑设计3.进行数据库的物理设计4.设计模块5.生成程序29设计用户界面及其运行序列•设计每个子系统的所有用户界面。•典型的用户界面有如菜单、对话框、Form(窗体)等。•给出这些界面的运行序列,形成用户界面原型系统,预演未来软件系统的运行模式。30进行数据库的逻辑设计•定义信息/表单的键字(包括主键、外键和候选键),保持数据一致性;•确定实现信息/表单具体的DBMS或编程语言;•定义信息/表单属性值的具体类型;•建立交叉表,消除多对多的连接关系;•信息/表单应当符合第3范式,至少要达到第2范式,消除更新异常情况。31进行数据库的物理设计•定义信息/表单的索引,优化数据检索;•垂直分割信息/表单,优化数据存取;•定义视图、查询,为编程提供方便;•定义信息/表单的方法。32物理数据库的设计•理解应用类型•使用定量评估•理解存储分层结构•理解DBMS中的瓶颈•选择平台•物理设计原则与常规硬件设计建议33理解应用类型操作类型只读:SELECT操作;DML:Insert,Update,Delete操作。应用类型OLTP、DSS、批作业处理、OLAP、VCDB34应用类型(1)OLTP(联机事务处理)——是一个包含繁重DML的应用。(2)DSS(决策支持系统)——通常是一个大型的、包含历史性内容的只读数据库,通常用于简单的固定查询。(3)批作业处理——批作业处理系统是作用于数据库的非交互性的自动应用。通常含有繁忙的DML语句并有较低的并发性。(4)OLAP(联机分析处理)——可提供分析服务。包含大量计算。有时是OLTP和DSS模型的交叉。(5)VCDB(可变基数数据库)——通常被用作一个处理系统的数据库后端。在数据处理期间,数据库中的表显著地增长或收缩。35使用定量评估•事务分析*并发用户数目*响应时间*经过的时间*事务数目*并发程序的数目*读或写的字节数•筛分分析表有多大36理解存储分层结构CPU中的高速缓存内存RAID硬盘SCSI磁盘普通磁盘联机磁带联机读写光盘脱机使用的磁带和光盘37RAIDRAID(冗余廉价磁盘阵列)是一组能并行工作的磁盘。能够减少I/O时间,通过数据条技术来实现并行工作。1.RAID0——没有校验的基本数据条。特点:速度快,但无校验。适用于tempdb。2.RAID1——是传统的,硬件级的磁盘镜像。两部分磁盘是同时写的。特点:可靠性最高。写较慢、读快、贵、没有数据条状化的内部机制。3.RAID5——带有校验的数据条。它将校验信息与数据一起保存在所有磁盘上。校验信息和数据一样受到保护。特点:可靠性较高、写慢。4.使用RAID设备的考虑:•造价、性能、可靠性;•数据和日志使用不同的RAID设备。38理解DBMS中的瓶颈1.网络;2.对DSS、VLDS来说,硬盘的I/O尤为突出;3.OLTP和OLAP内存和CPU较突出。39选择平台1.Intel公司的微机系列和Sun公司的Solaris系统;2.WindowsNTUnix:支持多CPU3.Oracle9iSQLSERVER2000Sybase40物理设计原则与常规硬件设计建议1.设计原则2.硬件设计:主要目标是消除或减少竞争。411.设计原则•分而治之:分区、分段和并行。•预分配和预编译:静态分配和固定分配。即提前分配你的资源。•前摄:预测主要的问题。•批量、块和批处理:使用大量传送。即持有着相同的起源和终点的I/O操作组合在一起。•合理地分割应用:客户/服务器的分工要合理。422.硬件设计•把表和索引分开;•把大的表和索引段放到它们自己的盘上;•把经常联合的表放在单独的盘上,或把它们聚合;•必要时,把不常联合的表放在相同的盘上;•把DBMS软件与表和索引分开;•把数据字典与表和索引分开;•为任务日志使用RAID1;•为表数据使用RAID5;•为索引使用RAID0。43设计模块•用伪码(一种规范的结构化模块设计语言)(事件流程图中的【Pcode】)•PAD(问题分析图)设计每个模块的运行过程。(岗位说明书中的【工作职责】)44生成程序在对软件进行概念设计、逻辑设计、物理设计之后,PlayCASE就可以自动生成程序代码框架。•代码框架是面向对象语言的类声明体或数据库的表定义语句、视图定义语句、查询SQL。–类声明体包括数据成员和函数成员–数据库的表定义语句包括了域名、域的值类型、键型、索引、主键、外键等。451.7建模要领•组织建模组织建模按部门、岗位、职责、工作步骤方式展开,其目的是描述员工的本职工作。用结构树来描述组成结构。•流程建模业务流程描述了企业与客户和供应商、企业内部部门之间、员工之间的业务往来情况以及员工本职工工作进行的具体过程。用职责执行流程图分层次描述业务流程。•数据建模数据建模主要描述业务数据(单据与报表)的内容及期间的关系。用业务信息关系图描述单据的具体栏目。461.8应用要领应用要领归结为:同时把握业务和软件。47对于用户业务,应当从四个方面来全面深入地来认识•企业的组织结构——表现为组成结构树;•业务流程——表现为事件流程图;•业务数据——表现为信息/表单;•业务数据