国际物流软件实操1
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
控制耦合增加了理解和编程的复 杂性,调用模块必须知道被调模 块的内部逻辑,增加了相互依赖 去除模块间控制耦合的方法: (1)将被调用模块内的判定上移到调 用模块中进行 (2)被调用模块分解成若干单一功 能模块
物流工程系
改控制耦合为数据耦合举例
A
平均成绩 最高成绩
B1
计算平均分
物流工程系
B2
计算最高分
(5) 外部耦合
一组模块均与同一外部环境关联(例如,I/O模 块与特定的设备、格式和通信协议相关联 ),它们之间便存在外部耦合。 一组模块都访问同一全局简单变量而不是同 一全局数据结构,而且不是通过参数表传 递该全局变量的信息,则称之为外部耦合。 外部偶合必不可少,但这种模块数目应尽量 少。
物流工程系
单元模块
单元一. 单元二. ) 单元三. 单元四. 物流软件介绍与分类 物流实操软件综合实操(国际贸易 物流软件实操综合实操(其他) 物流软件综合提升
物流工程系
单元一 物流软件理论部分
物流仓库管理软件简介
了解仓库管理的原则和方法,考虑这一软件由哪 些版块组成,并考虑版块设计的合理性。
物流工程系
物流报关实务软件简介 外贸单证软件简介
2级
结构设计(或1级)标准,用以管理每一对 封装级别的元素之间的相互关系
TO: FROM:
0级结构体 (代码行)
0级结构体 (代码行)
1级结构体 (程序)
结构化设计
输出端
1级结构体 耦合性 内聚 (程序) 内聚是指度量一个给定的程序内的多行代码的单 一功能性,以确定是否达到该程序所要实现的目 的。 耦合性用来度量程序之间联系的次数和强度
开发票 单价 数量
金额
计算水费
物流工程系
(3) 标记耦合(特征耦合)
两个模块都要使用同一数据结构的一部分, 不是采用全程公共数据区共享,而是通过 模块接口传递数据结构的一部分(不是简 单的数据),称为特征耦合。 (不是简单数据,而是记录、数组等)加以 联系,或都与一个数据结构有关系, 则称 这两个模块间存在标记偶合。
物流工程系
(2) 数据抽象 在不同层次上描述数据对象的 细节,定义与该数据对象相关 的操作。 例如,在CAD软件中,定义一 个叫做drawing的数据对象。可 将drawing规定为一个抽象数据 类型,定义它的内部细节为:
物流工程系
软件质量因素:
可维护性
可靠性 可理解性 效率
信息隐蔽的目的:
物流工程系
单元四 物流软件提升
设计物流软件(35分)
物流工程系
单元四 物流软件提升
1.设计一个物流软件。这个系统中包括 了物流的哪些环节?并说明你考虑的 原因。(10分) 2.请你根据你所掌握的物流操作系统的 相关内容,设计一个包含一个完整功 能模块的物流软件,并通过画图说明 各模块之间的业务管理流程。(25分)
物流工程系
4.3.2 模块独立性的度量
模块独立性, 是指软件系统中每个模块只涉 及软件要求的具体的子功能, 而和软件系 统中其它的模块的接口是简单的。 例如, 若一个模块只具有单一的功能且与 其它模块没有太多的联系, 则称此模块具 有模块独立性。模块独立性取决于模块的 内部和外部特征。
SD方法提出的定性的度量标准:
商业超市软件简介
物流工程系
单元一. 物流实操软件分类
请大家搜索资料,进行物流软件的分 类,如根据功能分类, 根据用途分类等。
物流工程系
单元二 物流软件实操综合实训
实操软件:国际贸易软件
了解国际贸易中物流的作用,进入系统后请大家 根据角色进行贸易实操。操作完成后请大家根据练习 的情况独立完成以下报告内容。
物流工程系
1.模块独立性的度量之一:耦合 性
模块间相对独立性(相互依 赖程度)的度量
耦合性越高,模块独立性越弱
物流工程系
紧密耦合-有 很多依赖关系 松散耦合-有 少量依赖关系
无耦合-没有依赖关系
物流工程系
耦合强度依赖的因素:
一模块对另一模块的引用 一模块向另一模块传递的数据量 一模块施加到另一模块的控制的数量 模块间接口的复杂程度
物流工程系
物流工程系
模块化设计的原则和目标
耦合是影响软件复杂程度和设计 质量的重要因素
目标:建立模块间耦合度尽可能
松散的系统
物流工程系
如何降低模块间耦合度:
(1) 尽量使用数据耦合 少用控制耦合 限制公共耦合的范围 坚决避免使用内容耦合 (2) 降低接口的复杂性
抽象原则应用举例
Windows NT一体化的I/O系统设计
文件管理 O 网络管理 S 设备管理
高速缓冲存储器
物流工程系
抽 象
对虚拟文件 的字节流, 虚拟文件可 为任何设备 和实体
抽象化
软件系统进行模块设计时,可有不
同的抽象层次。 在最高的抽象层次上,可以使用问 题所处环境的语言概括地描述问题 的解法。 在较低的抽象层次上,则采用过程 化的方法。
物流工程系
公共耦合存在的问题:P40 (1)软件可理解性降低 (2)诊断错误困难 (3)软件可维护性差, (4)软件可靠性差
(公共数据区及全程变量无保护措施)
慎用公共数据区和全程变量!!!
物流工程系
(7)内容耦合 (Content Coupling)
如果发生下列情形,两个模块之间 就发生了内容耦合 (1) 一个模块直接访问另一个模块 的内部数据; (2) 一个模块不通过正常入口转到 另一模块内部; (3) 两个模块有一部分程序代码重 迭(只可能出现在汇编语言中);
物流工程系
标记耦合举例 计算水电费
住户情况
计算水费
水费
住户情况
电费
计算电费
“住户情况”是一个数据结构,图中模块都 与此数据结构有关. “计算水费”和“计算电费”本无关,由于 引用了此数据结构产生依赖关系,它们之间 也是标记偶合.
物流工程系
将标记耦合修改为数据耦合举例
计算水电费
本月 用水量
水费
本月 用电量
物流工程系
设计物流软件
具体要求:
1.设计物流软件的目的,具体是为物流
哪个环节开发,如第三方物流、采购物 流、仓储物流、配送物流等,还是供应 商物流?
物流工程系
软件需求:解决“做什么” 软件设计:解决“怎么做” 软件设计的任务 问题结构(软件需求)
映射
软件结构
物流工程系
设计物流软件
2.软件框架设计与业务流程设计,根据
物流工程系
上表的扩展:包括2级封装(所有的类) TO: 0级结构体 1级结构体 2级结构体 (类) FROM: (代码行) (程序)
0级结构体 输出端 — 结构化设计 (代码行) 1级结构体 耦合性 — 内聚 (程序) 2级结构体 类的耦合 类的内聚 — (类) 类的内聚是模仿了一个程序的内聚。 类的耦合性是一种度量类之间联系的次数和强度 的方法。
物流工程系
单元三
练习一 练习国际贸易软件
练习二
1.流程设计 2.综合实训(20分) 3.贸易小论文(25分) 整体练习
物流工程系
单元三
报关实务软件介绍与实操
外贸单证软件介绍与实操 商业超市软件介绍与了解
物流工程系
登录网址:
http://192.168.118.100:883/ 国际贸易 http://192.168.118.100:882/ 外贸单证 http://192.168.118.100:881/ 报关实务
(2)业务管理流程
业务分解 业务衔接 业务处理流程
物流工程系
业务流程图
物流工程系
业务流程二维图
物流工程系
物流工程系
程序的系统结构图
物流工程系
接下来:
请同学们根据上次课方案设计的内容,
着手设计你的物流软件的框架模块和业 务管理模块。
物流工程系
4.2.2
软件过程
软件过程用以描述各模 块的处理细节(算法的详 细描述),包括对下层模 块控制的操作细节。
(6) 公共耦合(公共数据区耦合)
一组模块引用同一个公用数据区(也称全局 数据区、公共数据环境)。
公共数据区指:
全局数据结构
共享通讯区 内存公共覆盖区等
物流工程系
公共耦合举例
A
B
公共数据区
C
模块A、B、C间存在错综复杂的联系
物流工程系
公共耦合的复杂程度随耦合模块
的个数增加而显著增加。若只是 两模块间有公共数据环境,则公 共耦合有两种情况。松散公共耦 合和紧密公共耦合。
物流工程系
模块间耦合的类型
低 非直接耦合
(低耦合) 数据耦合
强 模 块 独 立 性
耦
合
标记耦合
(中耦合) 控制耦合
性
外ቤተ መጻሕፍቲ ባይዱ耦合
(较强耦合)
公共耦合 弱
物流工程系
高
(强耦合) 内容耦合
(1) 非直接耦合
两个模块没有直接关系(模块1和 模块2),模块独立性最强。
模块1
模块2
模块3
模块4
物流工程系
非直接耦合(Nondirect Coupling)
国际贸易 报关1班 2011020101
物流工程系
http://192.168.118.100:883/
国际贸易
报关2班 2011020201
物流工程系
物流软件问题汇总:
1、部分项目无“保存”“发送”按钮
2、国税局无法根据金额完成退税,所有
合同都已经自动退税,金额为零 3、根据信用证制单环节:填制汇票后可 以继续 4、结汇水单
模块之间的耦合性 模块自身的内聚性
物流工程系
在描述一个模块时,还必须按模块
的外部特性与内部特性分别描述 模块的外部特性
模块的模块名、参数表、其中的输 入参数和输出参数,以及给程序以至 整个系统造成的影响
模块的内部特性 完成其功能的程序代码和仅供该模 块内部使用的数据
物流工程系
物流工程系
4.2.3 模块化
(Modularity)
模块化是好的软件设计的一个基本准则 高层模块 从整体上把握 问题,隐蔽细节 分解
复杂问题 较小问题
分解 可减小解题所需的总的工作
物流工程系
分解、信息隐藏和模块独立性,是实 现模块化设计的重要指导思想。
物流工程系
4.2.4 抽象(Abstraction)
电费 计算电费
计算水费
物流工程系
(4) 控制耦合
一模块向下属 模块传递的信 息 (开关量、 标志等控制被 调用模块决策 的变量) 控制 了被调用模块 的内部逻辑。
物流工程系
控制耦合举例
B
读入分数
A
平均/最高 (控制信号) 成绩
平均/最高? 计算平均分 计算最高分 输出结果
B
计算平均分 或最高分
物流工程系
提高模块的独立性,减少修 改或维护时的影响面。
物流工程系
4.2.6
信息局部化
把关系密切的软件元素物理地放 得彼此靠近。 优点:可维护性好 可靠性好 可理解性好
物流工程系
§4.3 模块的独立性
4.3.1 模块独立性的概念 模块独立的含义:
模块完成独立的功能
符合信息隐蔽和信息局部化原则
模块间关连和依赖程度尽量小
两个模块之间没有直接关系,它们之 间的联系完全是通过主模块的控制和 调用来实现的。 非直接耦合的 模块独立性最 强。
物流工程系
(2) 数据耦合
一个模块访问另一个模块时,彼 此之间是通过简单数据参数 (不 是控制参数、公共数据结构或 外部变量) 来交换输入、输出信 息的。
属松散耦合。
物流工程系
数据耦合举例
物流工程系
http://192.168.118.100:883/ 国际贸易
物流管理1班 2011030101
物流工程系
http://192.168.118.100:883/
国际贸易
物流管理2班 2011030201
物流工程系
http://192.168.118.100:883/
耦合是模块之间的互相连接的紧密 程度的度量。
内聚是模块功能强度(一个模块内 部各个元素彼此结合的紧密程度)的 度量。 模块独立性比较强的模块应是高内 聚低耦合的模块。
物流工程系
模块间的耦合
物流工程系
用三个封装级别表示的软件结构
原始 代码行 程序模型
(子程序 或过程)
类/对象结构
0级
1级
物流工程系
国际贸易软件的内容,开始设计软件构 成。即包括软件组成模块,软件业务流 程等。配图说明工作流程和操作流程。
3.每人独立在三周的时间内完成。
物流工程系
4.2物流软件模块设计
(1)框架设计(总体框架设计)
系统设置、基础设置、业务管理、业务支持
物流工程系
软件框架图
物流工程系
框架图
物流工程系
4.2物流软件模块设计
物流工程系
(1) 过程的抽象 在软件工程中,从系统定义到实现,每进展一 步都可以看做是对软件解决方法的抽象化过程 的一次细化。 在软件需求分析阶段,用“问题所处环境的 为大家所熟悉的术语”来描述软件的解决方法。 在从概要设计到详细设计的过程中,抽象化 的层次逐次降低。当产生源程序时到达最低抽 象层次。