1、第5章 物流信息系统开发(下)物流信息管理导引要 点5.1 开发方法 5.2 系统分析5.3 系统设计5.4 面向对象的分析与设计*5.5 系统实施 实验操作第4节 面向对象的分析与设计 4.1 统一建模语言 4.2 用例图 4.3 静态模型 4.4 动态模型应用示例4.1 统一建模语言19941996年提出统一模型语言(the Unified Modeling Language);1997年11月OMG宣布接受UML。UML是编制软件蓝图的标准化语言,用于对复杂软件系统的各种成份的可视化,说明和构造系统模型,以建立软件文档。注意:UML不是一个独立的软件工程方法,而是面向对象工程方法中的一部
2、分。UML不是程序设计语言,不能用来直接书写程序,实现系统。软件开发过程:Rational统一过程(Rational Unified Process)模型与图:UML是一种用来对系统开发的产出进行可视化、规范定义、构造和文档化的面向对象的建模语言。UML是用来描述模型的,用模型来描述系统的结构或静态特征,以及行为或动态特征。UML由视图、图、模型元素和通用机制等几部分组成。UML定义的图:用例图:Use Case图 静态结构图:对象类图、对象图、组件图和配置图 动态行为图:交互顺序图、交互协作图、状态图和活动图4.2 用例图 用例图则用简单的图形元素表示出系统的活动者、用例,以及它们之间的联系
3、,准确描述了活动者与系统的交互情况和系统所提供的服务。活动者活动者是用户作用于系统的一个角色,它是对系统边界之外的对象的描述。用例Use Case是对一个系统或一个应用的一种单一的使用方式所作的描述;Use Case是关于单个活动者在系统对话中所执行的处理行为的陈述序列。用例是对系统的用户需求(主要是功能需求)的描述,它表达了系统的功能和所提供的服务。用例的联系 用例除了与活动者有联系以外,用例之间也存在着一定的联系。泛化关联使用关联包含关联扩展关联4.3 静态模型1对象类图 在对象类图中,一方面描述各个对象类本身的组成,即类的属性、操作和对象的约束;另一方面描述系统中对象类之间的各种联系。对
4、象类对象类是面向对象模型的最基本的模型元素。属性:是类的命名的性质,它在类图标的属性分隔框中的文字说明。操作:是对象类的行为特征或动态特征,在面向对象的程序设计语言中常称为方法。关系关联关系:描述对象类之间的相互作用与相互依存的对应关系。示例:泛化关系:一般性实体与特殊性实体之间的关系,表示一般性实体的对象类称为超类(或父类),表示特殊性实体的对象类称为子类。实现关系:表示不继承结构、只继承行为的一种特殊的泛化关系,多数是用来表达接口类的实现(接口的)类之间的关系。聚合关系:表示事物的部分/整体关系的较弱的情况,也称为“has-a”联系。依赖关系:依赖是两个模型元素间的语义联系,依赖是指一个模
5、型元素的变化必影响到另一个模型元素。2对象图 对象图显示某时刻对象和对象之间的关系。一个对象图可看成一个对象类图的特殊用例,实例和对象类可在其中显示。3包图、组件图与配置图包图它是在UML中用类似于文件夹的符号表示的模型元素的组合,它不是UML的正式图。物理图(组件图和配置图)组件图表示系统中的不同物理组件及其联系,它表达的是系统代码本身的结构。配置图也称部署图,由节点构成,节点代表系统的硬件,组件在节点上驻留并执行,配置图表示系统的软件与硬件之间的关系,它表达的是运行系统的结构。4.4 动态模型1顺序图 顺序图按时间顺序描述对象间的交互模式,它利用对象的“生命线”和它们之间传递的消息来显示对
6、象如何按时序参与交互。组成对象类角色:活动者、对象生命线:表示对象存在的时间激活期:又称为控制焦点,表示对象执行一个动作的期间,也即对象激活的时间段。消息:表示对象之间的通信,消息箭线从源对象指向目标对象,其上标有消息内容标签。建模时,可以采用两种不同的抽象层次:说明层的顺序图:主要是概念性说明对象类角色如何互发消息,进行交互,完成特定的功能;实例层的顺序图:具体表现一个交互的实例,这通常是一个交互剧本的图形化表现。2协作图 协同图强调的是发送和接收消息的对象之间的链接结构,它显示了一组对象及其之间的关系以及对象间收发的消息。组成活动者、对象、链接和消息说明层与实例层顺序图能够清晰地表示消息的
7、顺序和时间排列,各角色之间的关系是隐含的。协作图用各个角色的几何排列和关联线上的消息来表示角色之间的关系,但时间顺序则不明显,因为这是通过消息序号表示的。3状态图 状态图是描述一个对象基于事件反应的动态行为,显示了该对象如何根据当前所处的状态对不同的事件做出反应。组成初始状态转换:是两个状态之间的关系,由某个事件触发,然后执行特定的操作或评估。状态:是对象执行某项活动或等待某个事件时的条件。判定终结状态状态图用于显示状态机(它指定对象所在的状态序列)、使对象达到这些状态的事件和条件以及达到这些状态时所发生的操作。4活动图 活动图描述参与行为的对象类的活动的顺序,包括依赖于条件的行为和并发行为。
8、组成状态、初始状态、终结状态、判定转换:转换分叉与转换连接泳道:泳道代表对象活动的责任,它把活动图中的活动划分为若干组,并把这些组指定给对象,这些对象必须履行该组所包括的活动。活动图与状态图的实质性区别在于活动图描述的是响应内部处理的对象类的行为,状态图描述的是对象类响应事件的外部行为。UML应用示例背景修车管理流程零件管理业务流程修理工月工资核算业务现状功能分析构思问题域的静态模型动态模型的构建顺序图状态图系统实施平台第5节 系统实施 5.1 编程与系统测试 5.2 系统转换 系统实施阶段的任务是实现系统设计阶段提出的物理模型,按实施方案完成一个可以实际运行的信息系统,交付用户使用。物理平台
9、的建立(硬件)计算机系统实施:包括计算机的购买、安装、调试和人员培训等网络的实施:包括网络设备的购买、安装、调试和人员培训等相关软件的购买、系统衔接等程序设计与调试(软件)人员培训、数据的准备与录入系统转换5.1 编程与系统测试用户要求用户要求用户用户:我要什么我要什么?运行结果运行结果计算机计算机:程序运行得程序运行得到的结果到的结果源程序源程序程序员程序员:我要让计算我要让计算机怎么做机怎么做?设计说明书设计说明书设计员设计员:我要让软件我要让软件做什么做什么?需求说明书需求说明书分析员分析员:我可以提我可以提供什么供什么?12345理解正确性理解正确性表达正确性表达正确性理解正确性理解正
10、确性设计正确性设计正确性表达正确性表达正确性理解正确性理解正确性编码正确性编码正确性运行正确性运行正确性输入正确性输入正确性相符吗相符吗?1程序设计衡量编程工作的指标可靠性可维护性可理解性(可读性)效率编程工具的选择2程序测试测试的目的在于:测试是指“用意在发现错误而执行一个程序的过程”一个好的测试用例是指这个测试用例有很高的概率可以发现一个尚未发现的错误 一个成功的测试是指它成功发现了一个尚未发现的错误。错误预期结果软件配置测试配置测试测试工具结果分析排错可靠性 分析测试结果错误出错率 改正的软件预测的可靠性测试方法:静态测试白箱测试黑箱测试穷举测试3系统测试程序的调试 程序的调试是系统调试
11、的一部分,主要是调试单个处理过程编码工作的正确性,它通常是由编程人员在程序编写的时候完成的,它可以与程序的编码工作同步完成。模块测试 一个模块可能包括有几个处理过程,模块的调试是把模块中的几个处理过程按顺序连接起来,用数据调试模块内各个程序之间的控制协调关系,处理的正确性和运行效率。系统联调分调:对一个子系统内的各个模块实行联合调试,主要解决模块之间的调用关系和模块与外部功能的接口的正确性。总调:把整个系统联合起来进行调试,也就是将主控程序、调度程序和各个功能模块连接起来进行系统的总体调试。5.2 系统转换1人员培训管理人员系统操作人员系统维护人员2系统试运行数据准备各种数据的归类整理,具体方
12、法应程序化、规范化计量工具、计量方法、数据采集渠道和程序的固定各类统计、数据采集、报表应标准化、规范化将各种准备好的数据装入新系统试运行对系统进行初始化处理,并输入各原始数据记录详细记录系统运行的数据和状况对实际系统的输入方式进行全面考查将新系统与原系统的处理结果进行仔细核对对系统的实际运行指标进行测试3系统转换方式直接转换并行转换分段转换第6节 实 验一、实验目的该实验旨在结合原型法的基本思想、结构化的工具方法,以数据库为中心模拟实现一个企业的仓库库存管理系统的主要部分。借助VFP数据库管理系统及其语言(或使用VB、SQL、Access等),通过具体实现库存管理数据库建立、进货入库业务模块、
13、提货出库业务模块(选做)和主控模块及其菜单系统,使学生能理解如何运用所学原理、方法与工具,开发物流信息系统来分析解决管理中的实际问题。二、案例背景组织机构概况业务流程概况处理功能现状调查分析在以数据库为中心的原型法中,按业务流程图划分功能,通常只要展开一两层就可以了。本例划分为进货、提货、盘存3个子系统实验1 库存管理数据库的建立(1)设计数据表框架(2)建立数据库(3)建立数据库表结构(4)建立临时表结构(5)初始数据输入三、实验内容实体联系图初步E-R图优化局部E-R图综合E-R模型E-R模型转换为关系式数据表示例:实验2 库存业务模块设计与实现(1)设计人工进货单(2)设计测试数据(3)
14、设计进货业务子系统(4)设计并实现进货入库业务子系统子菜单(5)设计并实现进单输入模块(6)设计并实现验货管理模块(7)设计并实现入库管理模块(8)设计并实现单货不符进货处理模块(9)运行该业务模块,输入进货单,完成进货管理子系 统测试。业务流程优化进货管理流程提货管理流程盘存管理流程统计分析实现功能分析总体功能层次进货子系统功能层次功能结构进货模块结构示例:实验3 主控模块设计与实现(1)设计主控模块程序框图和主菜单(2)设计欢迎与登录FORM(3)设计菜单(4)设计联调的测试数据(5)系统联调主控模块功能菜单示例:登录界面案例:3PLIS系统分析与设计数据流程分析统逻辑模型数据库的分析与设计系统架构设计小结