版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9章详细设计●
概述●业务对象模型设计●功能逻辑设计●类的设计及优化本章内容一概述1.详细设计的任务
详细设计是在体系结构设计的基础上,深入到各子系统内部的细节设计工作。2.详细设计的工作●业务对象模型设计●功能逻辑设计●类的设计,类关系的设计●类的优化二业务对象模型设计
9.2.1业务对象模型的概念业务对象是从业务领域中提取的业务实体,这些业务对象将作为信息系统中软件的基本构成元素,并作为信息系统中公用的实体类。作用:
●业务对象是功能逻辑设计的基础;●业务对象是数据库设计的基础。9.2.2业务对象模型设计的工作
●提取业务对象;
●对象属性设计;●对象基本操作设计;
●
对象关系设计;●建立业务对象模型。1
提取业务对象
业务对象来源于业务领域中的业务实体;用类的简化形式把提取的业务对象描述出来。
书店业务中提取的部分业务对象9.2.3业务对象模型设计过程
书店业务中提取的业务对象
书店业务中提取的部分业务对象
2
对象属性设计属性用来表示对象的静态特性,对提取的对象应该设计其属性。
书店系统业务对象的属性3对象操作设计
操作是业务对象的动态性质。业务对象的完整操作需要在全面考虑了业务对象在系统中完成的功能、对象之间的相互联系、系统的性能实现等多种设计因素之后,才能完全确定。在此主要进行对象基本操作设计。
书店系统业务对象的基本操作4对象关系设计对象之间存在泛化、关联、组成、依赖等关系。需要确定提取的各个业务对象之间的关系,为建立业务对象模型奠基基础。例如
5
业务对象模型设计
●业务对象模型用类图来描述提取出的业务对象之间的关系;●业务对象模型是整个系统的静态基础;●功能逻辑设计中实现各用例功能中的实体类取之于业务对象模型;●业务对象模型也是数据库设计的基础。
业务对象模型在整个系统设计中起着十分重要的作用。案例分析
书务系统业务对象模型设计案例分析
1图书,图书类别,出版社案例分析
2图书案例分析
3订购图书案例分析
4图书入库案例分析
5盘存和报损案例分析
6图书销售三功能逻辑设计
9.3.1功能逻辑设计的含义功能逻辑设计是对在需求阶段确定的用用例描述的系统功能,设计它的实现逻辑。
9.3.2
为什么要进行功能逻辑设计●一个子系统能够完成它所跟踪的用例的功能。●完成用例功能,实现其操作,就是信息系统中若干个类中的对象,通过操作的执行和相互之间消息发送来实现用例的功能。
功能逻辑设计的原理
9.3.3功能逻辑设计的工作第一,提取功能用例涉及的类;第二,绘制功能逻辑类图;第三,分析交互信息,得出功能逻辑交互图。
9.3.4功能逻辑设计的过程
---
以编辑书目和图书销售为例
编辑书目,图书销售功能用例图案例分析
案例分析
*、功能用例A书目编辑案例分析
*书目编辑界面A编辑书目案例分析
1、提取功能用例涉及的类A编辑书目案例分析
2功能用例简略类图A编辑书目案例分析
3功能用例类图A编辑书目4功能逻辑用例顺序图案例分析
案例分析
案例分析
案例分析
案例分析
9.3.4功能逻辑设计的过程
---
以图书销售为例讨论功能逻辑设计过程。
图书销售功能用例图案例分析
案例分析
边界类:售书处理界面
实体类:图书,架存图书,待售图书,售出图书
图书类别,出版社,售书单,个人会员控制类:售书处理管理器
案例分析
1、提取业务对象案例分析
案例分析
2功能用例类图案例分析
案例分析
案例分析
四类的优化
9.4.1类优化的原则使类能够明确地表示事物实体,并具有相对独立性、一致性和适中的规模。
9.4.2类优化的方法
1、利用数据库范式理论对类进行优化
▲一级规范:数据表(类)中不存在多值属性;例如:职工号姓名工资基本工资职务工资工龄工资
职工号姓名基本工资职务工资工龄工资
▲
二级规范:满足一级规范,且数据表(类)中不存在对主键属性部分依赖的属性,例如:
学生成绩(学生号,姓名,班级,课程号,课程名,成绩)
改为:学生(学生号,姓名,班级)
课程(课程号,课程名)
成绩(学生号,课程号,成绩)
▲
三级规范:满足二级规范,且在数据表(类)中不存在传递依赖关系。例如:
学生信息(学生号,姓名,班级,系名,系办地址)
改为:学生信息(学生号,姓名,班级,系名)
系(系名,系办地址)图7.39书店信息系统的图书订单下面对由“图书订单”所产生的“图书订单”类进行优化:
1.一级规范
把所有多值属性从类中抽取出来,构成一个新类。
“图书订单”类中,从“计划单序号”到“实际到货日期”8个属性都是多值的。把这些属性从“图书订单”类中提取出来,形成新的“订单图书”类(见图7.41)。订单图书是本订单所订购的图书,它是图书订单的有机构成部分,因此,“订单图书”类与“图书订单”类是组成关系。在一个订单中最多可以有20种图书,多重性标为1...20。图7.40初步的“图书订单”类图7.41一级规范后的“图书订单”类
2.二级规范
二级规范要求在类中不存在部分依赖关系的属性。在图7.41中,“订单图书”类的关键属性是“订单号”和“书号”,但是“书名”、“作者”、“单价”三个属性则仅依赖“书号”关键属性,存在部分依赖关系,所以需要进行优化。二级规范后的“图书订单”类见图7.42。图7.42二级规范后的“图书订单”类
3.三级规范
三级规范要求消除在类的属性中存在的传递依赖关系。在“图书订单”类中,“出版社编号”依赖“订单号”,但是从“出版社名称”到“账号”6个属性仅依赖“出版社编号”,并不直接依赖“订单号”,这是典型的传递依赖关系,需要消除。三级规范之后的“图书订单”类见图7.43。图7.43三级规范后的“图书订单”类
4.进一步优化
图7.43中“图书订单”的属性仍然偏多,并且“合计”和“总计”两个属性属于派生属性,可以去掉。可以把几个费用属性独立出来形成一个新的“订单费用”类,作为“图书订单”类的部分类。这样优化之后的类图见图7.44。图7.44“图书订单”优化类图练习:
优化”订购货品”订购货品订单编号货品编号货品名称货品规格订购数量单价到货日期供货商编号供货商名称地址联系电话采购员编号采购员姓名采购员电话四类的设计1、这个阶段设计的类与业务对象的区别
●
设计的类是业务对象的细化和分解。
●
设计的类需要反映系统的非功能性需求。
●
设计的类着眼于实现,必须考虑所有实现细节
2
.类的设计
1)边界类的设计
●边界类承担着信息的输入和输出以及信息的界面组织等任务。
●边界类设计涉及到人机工程、审美和操作方便性等方面的知识和要求。
●边界类设计依赖于信息系统所采用的实现环境和设计语言。
●边界类在可视化的设计语言中一般表现为:框架《Form》,窗口《Windows》,菜单《menu》,控件《Controls》等形式。
namespace小型书务系统{ ///Form1的摘要说明。 publicclassForm1:System.Windows.Forms.Form { privateSystem.Windows.Forms.MainMenumainMenu1; privateSystem.Windows.Forms.MenuItemmenuItem1; privateSystem.Windows.Forms.MenuItemmenuItem2; privateSystem.Windows.Forms.MenuItemmenuItem3; privateSystem.Windows.Forms.MenuItemmenuItem4; privateSystem.Windows.Forms.MenuItemmenuItem5; privateSystem.Windows.Forms.MenuItemmenuItem6; privateSystem.Windows.Forms.MenuItemmenuItem7; privateSystem.Windows.Forms.MenuItemmenuItem8; privateSystem.Windows.Forms.MenuItemmenuItem9; privateSystem.Windows.Forms.MenuItemmenuItem10; privateSystem.Windows.Forms.MenuItemmenuItem11; privateSystem.Windows.Forms.MenuItemmenuItem12; privateSystem.Windows.Forms.MenuItemmenuItem13; privateSystem.Windows.Forms.MenuItemmenuItem14; privateSystem.Windows.Forms.MenuItemmenuItem15; privateSystem.Windows.Forms.MenuItemmenuItem16; privateSystem.Windows.Forms.MenuItemmenuItem17; privateSystem.Windows.Forms.MenuItemmenuItem18;
privateSystem.Windows.Forms.MenuItemmenuItem28; privateSystem.Windows.Forms.MenuItemmenuItem29; privateSystem.Windows.Forms.MenuItemmenuItem30; privateSystem.Windows.Forms.Labellabel1;
privateSystem.Windows.Forms.MenuItemmenuItem19; privateSystem.Windows.Forms.MenuItemmenuItem20; privateSystem.Windows.Forms.MenuItemmenuItem21; privateSystem.Windows.Forms.MenuItemmenuItem22; privateSystem.Windows.Forms.MenuItemmenuItem23; privateSystem.Windows.Forms.MenuItemmenuItem24; privateSystem.ComponentModel.Containercomponents=null;
……
2)实体类的设计●持久型实体类一般需要数据库
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JSD26-生命科学试剂-MCE
- 2026年美林银行 测试题及答案
- 2026年虚拟场景测试题及答案
- 2026年数学旋转平移测试题及答案
- 2026年银豹系统测试题及答案
- 2026年fbi悬疑测试题及答案
- 2026年国外乐理测试题及答案
- 2026年企业编考试资料测试题及答案
- AI在市政工程技术中的应用
- 学生考勤制度
- 2026安全生产月:国务院国资委安全生产“十条硬措施”培训
- 2026上海虹口社工招聘考试试卷(带答案)
- 安全生产笔记摘抄
- 2026年“全国安全生产月活动”《安全知识》竞赛题库(附含答案)
- 2026年4月自考13124英语(专)试题试题及答案
- 致敬时代楷模:英雄事迹与精神传承
- 制程无有害物质识别及风险评估表
- 旋挖灌注桩旁站记录
- 《网络综合布线》教案
- 2022-2023学年广州市增城区数学四下期末教学质量检测试题含解析
- 《小数的初步认识》单元作业设计
评论
0/150
提交评论