姓名:陈君文班级:12计科(2)班学号:201210510213手机话费查询系统1、需求分析1.1编写目的使用该数据库使用户和通信工作这更好的管理和查询手机话费1.2背景项目名称:手机话费查询系统项目提出者:中国移动,中国联通,中国电信总公司项目开发者:项目开发人员项目鉴定者:各通信总公司项目开始时间:××××-××-××。1.3定义系统数据流程图的一些定义:数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。基本符号:圆框,表示加工;学生表示数据的源点;:方框,表示数据的源点或数据的终点;:箭头,表示被加工数据的路径和流向,即数据流;:双杠,表示数据存储,可以是一个纪录或一个数据文件,可用名词或名1.4目标当用户使用手机时所产生的费用需由手机营业厅和用户知道并且缴纳相应的手机话费费用,需要有相应的话费打印凭证。对手机话费查询系统可以分为三类:用户:用户需要对自己所消费的信息由明确的细节了解并且可以随时的查询自己的消费记录。营业员:工作人员可以借助手机话费查询系统自动查寻到用户的消费记录,可以自动的管理并计算出用户的消费金额,帮助营业员管理用户信息等。管理人员:管理人员需要了解该手机话费查询系统的缺点和不足,应具备一定的数据库知识,不过只要了解就行,这些人员负责对数据库中重要数据及基本数据的更新,如对静态表的重新定义,普通用户的权限分配。1.5功能分析⑴数据源点和数据终点数据源点和数据终点用方框表示,它是系统之外的实体,可以是人、事、物、部门或其他系统,如工作人员和用户。⑵加工(数据处理变换)加工用圆框表示,是对数据进行处理的逻辑单元,它接受若干输入数据流,通过加工内部产生规定的输出数据流。如查询手机用户基本信息。⑶数据流数据流用带数据流标识的箭头表示,表示系统处理的数据对象和数据流动的方向。数据流的方向可以是:从一个加工流向另一个加工、从加工流向数据存储或数据存储流向加工、从源点流向加工或从加工流向终点,如箭头所表示就是流向。1.6需求分析在手机话费查询系统中,主要有手机用户和工作人员两个操作实体,对于普通的手机用户来说,该系统仅允许他们作一个操作:即可以使用该系统通过手机号与密码发出查询请求,查询该手机所剩余的话费。工作人员必须通过账号与相对应的密码登陆系统才能有权限完成以下的各种功能。工作人员的登陆可以统计并查看所有的手机用户信息。1.6.1通过对手机话费查询的各个步骤、所需的各项信息等的分析,我们规定:手机话费管理系统中实体的联系如下:一个用户可以注册多个手机号码,一个手机号码只能被一个用户注册。用户和号码之间是一对多的联系。一个用户可以拥有多张银行卡,一张银行卡只能属于一个用户,用户和银行卡之间是一对多的联系。一张银行卡可以为多个号码缴费,一个号码可以由多张银行卡缴费,银行卡和号码之间是多对多联系。④一个号码可以办理多个业务,一个业务可以被多个号码办理,号码和业务之间是多对多的联系。⑤一个帐目包含多种业务,一种业务只能产生一种业务,帐目和业务之间是一对多的联系。1.6.2数据字典⒈数据项⑴用户信息①数据项名:身份证号码含义说明:用户的唯一标识别名:ID_no类型:字符型长度:18②数据项名:用户姓名含义说明:手机用户的姓名别名:user_name类型:字符型长度:8③数据项名:用户密码含义说明:用户查询信息时的密码别名:user_password类型:字符型长度:10④数据项名:用户性别含义说明:手机用户的性别别名:user_sex类型:字符型长度:2取值范围:男\女⑤数据项名:用户地址含义说明:用户的家庭住址别名:user_addr类型:字符型长度:20⑥数据项名:用户状态含义说明:手机号码的开/停状态别名:user_state类型:字符型长度:2取值范围:开/停⑵工作人员信息①数据项名名:工作人员编号含义说明:工作人员唯一标识别名:staff_id类型:字符型长度:10②数据项名:工作人员姓名含义说明:工作人员的姓名别名:staff_name类型:字符型长度:10③数据项名:工作人员口令含义说明:操作记录工作人员的登录密码别名:staff_password类型:字符型长度:10④数据项名:工作人员性别含义说明:工作人员的性别别名:staff_sex类型:字符型长度:2取值范围:男\女⑶银行卡信息①数据项名:银行卡号含义说明:银行卡的唯一标识别名:bank_card类型:字符型长度:18②数据项名:余额含义说明:银行卡的余额别名:bank_balance类型:money型长度:8⑷手机信息①数据项名:手机号码含义说明:用户注册的手机号码别名:phone_no类型:字符型长度:12⑸业务信息①数据项名:业务名称含义说明:手机所能办理业务的名称别名:YEWU_name类型:字符型长度:8②数据项名:业务金额含义说明:业务对于的金额别名:YEWU_sum类型:money型长度:8③数据项:业务编号含义说明:业务的唯一标示别名:YEWU_no类型:字符型长度:6⑹账目信息①数据项:消费月份含义说明:手机消费的具体月份别名:consume_month类型:字符型长度:4②数据项名:账目编号含义说明:账目的唯一标示别名:account_no类型:字符型长度:10③数据项名:业务费含义说明:用户注册手机号码的时间别名:YEWU_fee类型:money型长度:8⑺话费信息①数据项名:话费编号含义说明:话费的唯一标示别名:cost_no类型:字符型长度:10②数据项:话费余额含义说明:手机当前剩余的话费别名:balance类型:money型长度:8③数据项名:手机号码含义说明:用户注册的手机的号码别名:phone_no类型:字符型长度:12⑻注册信息①数据项名:注册时间含义说明:用户注册手机号码的时间别名:register_time类型:日期型②数据项名:手机号码含义说明:用户注册的手机的号码别名:phone_no类型:字符型长度:12⑼办理信息①数据项名:办理时间含义说明:手机号码办理业务的时间别名:BANLI_time类型:日期型⑼缴费信息①数据项名:缴费金额含义说明:银行卡缴费时的金额别名:pay_sum类型:money型长度:8②数据项名:缴费时间含义说明:卡缴费的时间别名:pay_time类型:日期型2、数据结构数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。对数据结构的描述,数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}。⑴工作人员信息结构={工作人员,此结构描述工作人员的具体信息,组成:{工作人员编号,工作人员姓名,工作人员口令,工作人员性别}}⑵用户银行卡结构={银行卡,此结构描述充值时银行卡的具体信息,组成:{银行卡号,余额}}⑶话费结构={话费,此结构描述当前剩余话费的具体信息,组成:{手机号码,话费余额}}⑷手机用户个人信息结构={用户,此结构描述用户的具体信息,组成:{身份证号码,用户姓名,用户性别,用户地址,用户密码,用户年龄}}⑸业务结构{业务,此结果描述用户所能办理业务的具体信息,组成:{业务编号,业务名称,业务金额}}⑹帐目结构{帐目,此结果描述用户办理的业务消费的具体信息,组成:{帐目编号,消费月份,业务费}}3、数据流⑴用户注册号码={注册号码,用户到工作人员处注册手机号码,此数据来源于用户,流向用户个人信息存储,组成:{用户,工作人员}}⑵工作人员注册用户={注册用户,用户注册号码时工作人员添加新用户的注册信息,此数据来源于工作人员,流向用户个人信息存储,组成:{工作人员,用户}}⑶产生个人信息={个人信息,用户注册经工作人员确认的号码后产生的用户个人信息,此数据来源于用户,流向用户信息存储,组成:{工作人员,用户}}⑷用户信息{提供用户信息,工作人员修改用户信息时的信息来源,此信息来源于用户个人信息存储,流向工作人员,组成:{工作人员}}⑸工作人员修改信息={修改后的信息,工作人员修改后的个人信息,此信息来源于工作人员,流向用户信息存储,组成:{工作人员}}⑹查询剩余话费={提供话费信息,用户查询剩余话费时的信息来源,此数据来源于话费,流向用户,组成:{用户,话费}}⑺提供个人信息={提供个人信息,充值时用户信息和银行卡信息进行综合,此数据来源于用户个人信息存储,流向话费信息存储,组成:{用户}}⑻产生银行卡余额={银行卡余额,综合用户信息与银行卡信息后产生银行卡余额进行缴费,此数据来源于用户和银行卡,流向话费信息存储,组成:{用户,银行卡}}⑼产生缴费金额={缴费金额,银行卡剩余金额中支出部分金额缴纳话费,此数据来源于用户和银行卡,流向话费信息存储,组成:{用户,银行卡}}⑽用户办理业务={业务办理,用户办理手机业务,此数据来源于用户,流向个人业务信息存储,组成{用户,业务}}⑾具体业务={具体业务,用户可办理的所有业务,此数据来源于业务,流向个人业务信息存储,组成{业务}}⑿办理的业务={办理的业务,用户确认办理的业务,此数据来源于业务和用户,流向个人业务信息存储,组成:{业务,用户}}⒀产生的帐目={帐目,用户办理的所有业务的消费帐目,此数据来源于业务信息存储,流向帐目信息存储,组成:{业务,用户}}⒁产生帐目信息={帐目信息,用户办理的所有业务产生的帐目信息,此数据来源于帐目信息存储,流向帐目,组成{帐目}}⒂用户查询剩余话费={提供账目信息,用户查询账目信息时提供账目信息,此数据来源于话费信息存储,流向用户,组成:{用户,话费}}⒃工作人员查询业务={提供业务信息,工作人员查询所有业务时提供业务信息,此数据来源于业务,流向工作人员,组成:{业务,工作人员}}⒄工作人员查询帐目={提供帐目信息,工作人员查询所有用户的帐目信息时提供帐目信息,此数据来源于帐目,流向工作人员,组成:{帐目,工作人员}}⒅工作人员查询个人业务={提供个人业务信息,工作人员查询用户个人业务时提供个人业务信息,此数据来源于个人信息存储,流向工作人员,组成:{工作人员}}4、数据存储⑴用户个人的信息={用户个人信息存储,用于存储手机用户的个人资料及话费信息等,信息来源工作人员,去向用户,组成:{用户,工作人员}}⑵手机的话费信息={话费信息存储,用于存储手机的话费记录,信息来源用户和银行卡,去向话费,组成:{用户,银行卡,话费}}⑶业务信息={个人业务信息存储,用于存储提供的所有业务,信息来源业务,去向帐目,组成:{用户,业务}}⑷帐目信息={帐目信息存储,用于存储用户所办业务的具体帐目信息,信息来源业务信息存储,去向帐目,组成:{业务,用户}}5、处理过程⑴用户对号码注册={注册,用户对手机号码进行注册,输入:{注册号码,注册用户},输出:{个人信息},处理:{用户进行号码注册,工作人员确认注册后,产生用户个人信息}}⑵用户缴纳话费={缴费,用户使用银行卡为手机缴费。输入:{提供个人信息,银行卡余额,缴费金额},输出:{当前话费信息},处理:{,首先综合用户与银行卡信息,然后从银行卡中扣除缴费金额,更新话费信息}}⑶帐目产生{生成帐目,用户办理的所有业务具体消费帐目,输入:{办理的业务},输出:{帐目信息},处理:{统计用户办理业务后,产生具体的帐目信息}}软硬件平台设计(1)软件平台:windows操作系统、Sql-Server2000数据库(2)硬件平台:普通微机6、概念设计6.1概念结构设计思想概念结构设计是将需求分析阶段所得到的用户需求抽象为信息结构,能够真实、充分的反映现实世界,包括事物与事物之间的联系,能满足用户对数据的处理需求,易于理解,易于更改,易于向关系、网状、层次等各种数据模型转换。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,是用来描述某个特定组所关心的信息结构,从而更加稳定。6.2概念结构设计方法概念桔构设计通常有四种方法,自顶向下、自底向上、逐步扩