销售管理子系统开发小组的成员经过调查研究、信息流程分析和数据收集,明确了该子系统的主要功能是:处理顾客和销售员送来的订单;工厂是根据订单来安排生产的;交出货物同时开出发票;收到顾客付款后,根据发票存根和信贷情况进行应收款处理。
通过需求分析,知道整个系统功能围绕“订单”和“应收帐款”的处理来实现。数据结构中订单、顾客、顾客应收账目用的最多,是许多子功能、数据流共享的数据,因此先设计该E-R图的草图:
参照可以作为属性的事物需要符合的两条准则(准则参照),进行如下调整:
1.每张订单由订单号、若干头信息和订单细节组成。订单细节又有订货的零件号、数量等来描述。按照第二条准则,订单细节就不能作为订单的属性处理而应该上升为实体。一张订单可以订若干产品,所以订单与订单细节两个实体之间是1:n的联系。
2.原订单和产品的联系实际上是订单细节和产品的联系。每条订单细节对应一个产品描述,订单处理时从中获得当前单价、产品重量等信息。
3.工厂对大宗订货给予优惠。每种产品都规定了不同订单数量的折扣,应增加一个“折扣规则”实体存放这些信息,而不应把放在产品实体中。
对每个实体定义的属性如下,实体的码加粗:
顾客(顾客号,顾客名,地址,电话,信贷状况,账目余额)
订单(订单号,顾客号,订单项数,订货日期,交货日期,工种号,生产地点)
订单细则(订单号,细则号,零件号,订货数,金额)
应收账款(顾客号,订单号,发票号,应收金额,支付日期,支付金额,当前余额,货款限额)
产品(产品号,产品名,单价,重量)
折扣规则(产品号,订货量,折扣)
销售管理子系统E-R图如下: