




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
煤炭合同管理构件框架设计5.4.1 系统的构件的需求分析1. 构件标识构件标识阶段目的是产生业务与系统的接口集合及构件说明,组成初步构件框架。在这个阶段强调应该管理哪些信息及接口,构件应该提供哪些功能及构件间如何实现有效的运作。1) 标识业务类型模型及业务接口(1) 决定核心业务类型依据上面给出的合同类图标识出类间的依赖关系(如图5.16)图5.16 合同类间的依赖关系在图中可以看出合同管理员,煤产品,煤炭合同,合同备档,客户,合同执行人员都有扇入关系所以将它们放入核心类型候选集中。在候选集中合同管理员,煤产品,煤炭合同,客户,合同执行人员都具有自己的标识性,合同备档则必须取决于合同,因此不保留该类型。目前候选集中存在的类型为合同管理员,煤产品,煤炭合同,客户,合同执行人员。合同管理员,煤产品,客户,合同执行人员都属于分类类型可以标识出自己的类别且没有扇出关系,所以保留在核心类型中。合同类有三条扇出线但这三条扇出线都不是指派关系所以可以保留在核心类型集合中。所以管理员,煤产品,客户,合同执行人员,合同是满足核心类型特性的业务类型。(2) 由核心业务类型产生业务接口,并标识其责任归属。合同备档,合同备档状态,合同执行状态都具有扇出关系,合同备档应属于合同管理接口,合同备档状态依赖于合同备档所以也应属于合同管理接口。合同执行状态有两条扇出线,但与合同类的耦合较强,所以合同执行状态也应属于合同管理接口。经过上述步骤,即可产生一个具有核心类型、业务接口及责任归属的业务类型模型,如图5.17所示。图5.17 具有业务接口,核心业务类型及责任归属的合同类图2) 标识系统接口及操作(1) 年订货合同录入用例I. “订货合同录入()”系统操作的目的是将年订货合同录入至系统。数据类型”ContractDetail”包含合同的细节,数据类型”ContractKind”标识合同类别。系统操作的表达方式为:”I年订货合同录入:订货合同录入(In ContractDetail:ContractDetail,In ContractKind:String): boolean”。II. “查询合同()”系统操作的目的是确保系统中不会有重复的合同存在。必须回传系统中是否存在该合同的信息。系统操作的表达方式为:”I年订货合同录入:查询合同( in ContractCode:String,out CanSave:boolean):boolean”。III. “合同备档()”系统操作的目的是使录入系统的合同建立档案信息并允许借阅。数据类型”ContractRecord”包含合同备档信息系统操作的表达方式为:”I年订货合同录入:合同备档(in ContractCode:String,In ContractRecord:ContractRecord):boolean”。(2) 空白合同登记用例I. “登记()”系统操作的目的是对销售合同的录入进行初始登记,以便系统中不会出现重复的销售合同。系统操作的表达方式为:”I空白合同登记:登记 (In ContractCode:String,In ContractKind:String):boolean”。(3) 销售合同录入用例I. “销售合同录入()”系统操作的目的是查找出已经登记的空白合同并将该销售合同录入。系统操作的表达方式为:”I销售合同录入:销售合同录入(In ContractCode:String,In ContracDetailt:ContractDetail ):boolean”。(4) 合同修改用例I. “列出合同细节()”系统操作的目的是将须修改的合同从”Contract”中提取出来以便进行修改。系统操作的表达方式为:”I合同修改:列出合同细节(In ContractCode:String,Out ContractDetail:ContractDetail ):boolean”。II. “列出合同执行状态()”系统操作的目的是将须修改合同对应的合同状态列出以便合同执行人员修改。数据类型”ContractState”用来存放合同执行状态的细节。系统操作的表达方式为:”I合同修改:列出合同执行状态(In ContractCode:String,Out ContractNowState:ContractState):boolean”。III. “状态修改()”系统操作的目的是修改合同状态以便跟踪合同的执行。系统操作的表达方式为:”I合同修改:状态修改(in ContractCode:String,In ContractState:String):boolean”。IV. “合同修改()”系统操作的目的是修改出现录入错误的合同。系统操作的表达方式为:”I合同修改:合同修改(In ContractCode:String,In ContractDetail:ContractDetail):boolean”。(5) 合同借阅登记用例I. “查询记录状态()”系统操作的目的是查询该合同现在的状态如果已经借出则不允许借阅。系统操作的表达方式为:”I合同借阅登记:查询记录状态(In ContractCode:String,Out CanChange:boolean )boolean”II. “借阅()”系统操作的目的是对允许借阅的合同借阅。系统操作的表达方式为:”I合同借阅登记:借阅(In ContractCode:String,In ContractRecordState:String,In BorrowMan:String):boolean”。(6) 合同归还登记用例I. “归还登记()”系统操作的目的是对借出的合同归还时进行登记。系统操作的表达方式为:”I合同归还登记:归还登记(In ContractCode:String,In ContractRecordState:string)boolean”。(7) 打印用例I. “打印数据()”系统操作的目的是取出打印数据。数据类型”PrintContract”包含合同须打印的细节。系统操作的表达方式为:”I打印:打印数据(In ContractCode:String,Out PrintContractl:PrintContract):boolean”。II. “打印输出()”系统操作的目的是将取出的打印数据传入打印机进行打印。数据类型”Printer”包含打印机的详细信息。系统操作的表达方式为:”I打印:打印输出(In PrintContract:PrintContract,In Printer:Printer)boolean”(8) 合同查询I. “查询()”系统操作的目的是根据合同的不同细节查找相关合同以便相关人员查阅并同时列出合同执行状态。在这里将建立一个新的数据类型来保存查询条件SelectCondition。 系统操作的表达方式为:”I合同查询:查询(InSelectCondition:SelectCondition, out ContractDetail:ContractDetail,out ContractState:ContractState)boolean”。最后将系统接口,系统操作整理成系统接口汇总图,如图5.18所示。图5.18 系统接口汇总图2. 构件交互1) 挖掘业务操作(1) 年订货合同录入I. 订货合同录入():系统操作不记录任何业务信息,必须将系统操作传送到业务构件进行处理。合同管理构件主要是管理合同信息,可将”订货合同录入()”系统操作传送到合同管理构件。因此合同管理构件要提供相应的”订货合同录入()”操作及参数才能满足”I年订货合同录入”系统接口的操作需求从图5.19可知合同管理模块会将外界的要求的”订货合同录入()”操作响应传递至合同管理构件进行处理。1:订货合同录入(C,C)I 订货合同录入:合同管理子系统/I 合同管理1.1:订货合同录入(C,C)图5.19 订货合同录入操作分解图II. 查询合同():系统操作只是单纯的查询系统中是否有重复的合同编号存在,属于单纯操作传递。可以将此操作传送到合同管理构件,由“I合同管理”业务接口来提供“查询合同()”的操作以满足系统接口的需求。从图5.20中可知运销管理系统会将外界要求的“查询合同()”操作响应传递给合同管理构件进行处理。1.1:查询合同(ContractCode,CanSave)1:查询合同(ContractCode,CanSave)I 订货合同录入:合同管理子系统/I 合同管理图5.20 查询合同操作分解图III. 合同备档():系统操作的目的是将已录入的合同在合同记录集中备档,于单纯的操作传递。可将此操作传送到合同管理构件,由”I合同管理”业务接口提供”合同备档()”操作以满足系统接口的需求。(2) 空白合同登记I. 登记():系统操作的目的是在合同集中增加一个不重复的新空白合同,属于单纯的操作传递,可将此操作传送到合同管理构件,由”I合同管理”业务接口提供相应得操作以满足系统接口的需求。(3) 销售合同录入I. 录入():该系统操作属于单纯的传递操作,可将此操作传送到合同管理构件,由”I合同管理”业务接口提供相应得操作”录入()”以满足系统接口的需求。(4) 合同修改I. 列出合同细节():该系统操作属于单纯的传递操作,可将此操作传送到合同管理构件,由”I合同管理”业务接口提供相应得操作”列出合同细节()”以满足系统接口的需求。II. 列出合同执行状态():该系统操作属于单纯的传递操作,可将此操作传送到合同管理构件,由”I合同管理”业务接口提供相应得操作”列出合同执行状态()”以满足系统接口的需求。III. 状态修改():该操作不是单纯的传递操作,涉及客户管理属于复杂的操作转换下面将该操作分解。a) 首先依据合同编号读取合同执行状态操作如”列出合同执行状态()”。b) 对执行状态进行修改返回值为该执行详细情况,数据类型” ExecuteStepCondition” 表示该详细情况。业务操作表达为:”I合同管理:状态修改返回(In ContractCode:String,In ContractState:ContractState,Out StepCondition:ExecuteStepCondition,Out Customer:CustomerDetail)boolean”c) 将该详细情况发送至”客户管理”构件,由客户执行确认动作,以便保证合同的顺利执行。业务操作表达为:”I客户管理:合同执行确认(in ContractCode:String,in ExecuteStepCondition:ExecuteStepCondition,out ifConfirm:boolean)Boolean”d) 若执行状态为已到货,则将合同详细情况发送至”结算管理”构件,由结算管理构件执行该合同的结算管理,并修改该合同执行状态为已完成。业务操作为:”I结算管理:结算(in ContractDetail:ContractDetail,In Customer:Customer, out areChecked:boolean)boolean”IV. 合同修改():该系统操作属于单纯的传递操作,可将此操作传送到合同管理构件,由”I合同管理”业务接口提供相应得操作”合同修改()”以满足系统接口的需求。(5) 合同借阅登记I. 查询记录状态():该系统操作属于单纯的传递操作,可将此操作传送到合同管理构件,由”I合同管理”业务接口提供相应得操作”查询记录状态 ()”以满足系统接口的需求。II. 借阅():该系统操作属于单纯的传递操作,可将此操作传送到合同管理构件,由”I合同管理”业务接口提供相应得操作”借阅 ()”以满足系统接口的需求。(6) 合同归还登记I. 归还登记():该系统操作属于单纯的传递操作,可将此操作传送到合同管理构件,由”I合同管理”业务接口提供相应得操作”归还登记()”以满足系统接口的需求。(7) 打印I. 打印数据():该系统操作属于单纯的传递操作,可将此操作传送到合同管理构件,由”I合同管理”业务接口提供相应得操作”打印数据()”以满足系统接口的需求。II. 打印输出():该系统操作涉及打印管理外部系统,需要将该操作参数”PrintContract”,”Printer”传送到相应的”I打印管理”业务接口进行打印处理,数据类型”PrinterSetting”包含打印设置的细节。该操作的业务表达为:”I打印管理:打印(In PrintContract:PrintContract,In Printer:Printer,In PrinterSetting:PrinterSetting)boolean”。(8) 合同查询I. 查询():在”I合同修改”接口中存在”列出合同细节()”操作和”列出合同执行状态()”操作,并将这两个操作传递至”I合同管理”业务接口中提供相应操作满足”I合同修改”接口要求,因为”查询()”操作中的数据类型”SelectCondition”包含查询条件细节,所以完全可以满足”I合同修改”接口中”列出合同细节()”,”列出合同执行状态()”操作的要求,并且也可以满足”I年订货合同录入”接口中的操作”合同查询()”。所以在”I合同管理”业务接口中,只需要提供相应得一个”查询()”操作就可满足这四个操作的要求。该操作的业务表达为:”I合同管理: “查询(InSelectCondition:SelectCondition, out ContractDetail:ContractDetail,out ContractState:ContractState)boolean”。2) 修改接口操作(1) 维护参照完整性I. 利用数据关系矩阵找出业务类型间的参照关系从表5.1中可以看出、煤炭合同、合同管理员、客户、合同备档、煤产品等业务类型都被其它业务类型所参考。因此如果有任何的业务操作对这些业务类型做修改或删除的动作,都会引起参照完整性的问题。表5.1 合同管理的数据关系矩阵被 参 考 方合同管理员煤 产品煤炭合同合同执行状态合同备档合同备档状态客户合同执行人运参 考方合同管理员煤产品煤炭合同合同执行状态合同备档合同备档状态客户合同执行人员II. 利用操作参照矩阵找出有问题的业务操作利用数据关系矩阵找出业务类型间的参照关系,将业务类型填入横轴。将业务操作填入纵轴,依照每个业务操作内容判断其业务操作的存取动作。如表5.2 所示大部分的业务操作对业务类型的存取模式都为“Read”或“Add,因此不会有对应问题发生。只有”I合同管理:状态修改()”、”I合同管理:合同修改()”、”I合同管理:借阅()”、”I合同管理:归还登记()”对业务类型有”Edit”操作。可以看出”I合同管理:合同修改()”修改”煤炭合同”类,由数据关系矩阵可知”煤炭合同”类型依赖”合同管理员”、”客户”、”煤产品”三个类型,但所以合同修改时必须确保所依赖的类中存在所修改的”合同管理员”、”客户”、”煤产品”。所以应在”合同管理”构件的接口”I 合同管理”中提供相应的操作取出该合同管理员对象,操作的业务表达为”I合同管理:提取管理员信息(in ManageCode:string out ContractManagerDetail:ContractManagerDetail)boolean” 并将该操作传递至”合同管理员”构件的”I合同管理员管理”接口。在”合同管理”构件的接口”I 合同管理”中提供相应得取出该客户对象详细信息的操作,操作的业务表达方式为”I合同管理:提取客户信息(in CustomerCode:string out CustomerDetail:CustomerDetail)boolean”,并将该操作传递至”客户”构件的接口”I 客户管理”中。在” I 合同管理”接口提供操作取出煤产品信息,并将该操作传递至”煤产品”构件的接口”I 煤产品管理”中。操作的表达方式为”I合同管理:提取煤产品信息(in CoalProductCode:String, out CoalProductDetail:CoalProductDetail)boolean”。提供了这三个操作后在尽享操作”I 合同管理:合同修改()”就不会出现对应问题了。表5.2 合同管理操作参照矩阵煤炭合同合同执行状态合同备档合同备档状态I合同管理:订货合同录入()AddAddI合同管理:合同备档()AddAddI合同管理:登记()AddI合同管理:录入()AddAddI合同管理:状态修改()EditI合同管理:合同修改()EditI合同管理:查询记录状态()ReadI合同管理:借阅()EditI合同管理:归还登记()EditI合同管理:打印数据()ReadI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中原区九年级考试试卷及答案
- 电力监管理论知识考试题及答案
- 一中高二周考试卷及答案
- 安全员考考试题型及答案
- Excel与Photoshop应用知识及电商数据采集试题附答案
- 2025年中职生技能大赛理论试题及答案
- 2025年病历书写规范版考试试题及答案
- 跨部门协同服务模式-洞察与解读
- 长沙事业单位招聘考试综合类职业能力倾向测验真题模拟试卷
- 2025年4月北京门头沟龙泉镇城市协管员招聘1人考前自测高频考点模拟试题及答案详解(新)
- 心源性脑栓塞治疗指南
- 2025-2026学年接力版(2024)小学英语四年级上册(全册)教学设计(附目录)
- 妇女常见疾病防治讲座
- 厂房屋顶分布式光伏项目可行性研究报告
- 供货进度保证措施方案
- 私人财产转移协议书范本
- DB3301∕T 0396-2023 大型商业综合体消防安全管理规范
- 食品生产许可培训课件
- 2025年长沙市中考道德与法治试卷真题(含答案解析)
- 2025 二年级上册《田家四季歌》教学课件
- 面部整骨培训课件
评论
0/150
提交评论