基于校园生活一体化管理系统的数据流程分析
数据流图(DFD)是结构化系统分析方法的主要表达工具,数据流图,主要是为了说明在一个项目中,数据的处理与流动情况。
数据流图的基本组成成分包括了数据流、加工、数据存储和外部实体,用来描绘软件系统逻辑模型的图形工具,它描绘信息和数据从输入到输出的过程中所经历的一切。对于本例实验而言,将大大简化工程研发思维等重要步骤。
一、主要内容
本例实验具体包含了系统的顶层数据流图、功能数据和一层项目流图,具体可参详实验步骤。
二、实现平台
系统平台:略、Microsoft Visio 2010
三、具体内容
1、建立功能模型
1)、系统管理员与系统的数据流向:
①、查询信息请求:系统管理员对设备的在线情况与否可进行查询,并对学生、教师账号的信息进行获取查询,以及对下层权限用户已发信息的查询;等等。数据来自管理员并流向系统。
②、统计信息:系统管理员可对查询返回的设备在线情况、在校学生情况和职教师情况等的结果进行数据统计,以备此后数据深入交互奠定基础。数据来自系统并流向管理员。
③、基础数据信息:系统管理员可对相应模块的数据进行新增、修改和删除,如:对学生账号的基本信息修改、后勤设备的下架和新型产品的更新;等。来自管理员并流向系统。
④、使用记录:管理员能查看账号的使用记录,即当前在校师生的账号情况;也可以对设备,以及用户的广播信息记录进行查询。数据来自管理员并流向系统。
2)、学生与系统的数据流向:
①、查看请求:当前在校生,即当前可生效的学生账号,可以对当前校内后勤使用设备是否在线、当前校内学生、校内值班人员等情况提出查看请求。数据来自学生并流向系统。
②、添加请求:当前在校的学生,可对自己账号的基础信息进行添加修改操作;也可以通过“系统反馈”功能模块向管理员或教师提交添加请求。数据来自学生并流向系统。
③、查看结果:对于学生提出的查看请求,系统将返回给学生用户可供查看的数据流包。数据来自系统并流向学生。
④、拒绝请求:
用于角色的不同,势必会造成学生和教师账号的权限不一致,由此学生不得越过权限非法请求和查看高级权限所能获取的数据,同时对于请求返回的结果以本账号为基准,如:在设备使用时不得越权限查看他人账号的资金详情。数据来自系统并流向学生。
3)、教师与系统的数据流向:
①、查询请求:教师可向系统提交查询当前任教学生的基本信息、院系历史广播通知和任教课程信息等。数据来自教师并流向系统。
②、查询结果:
教师账号可查看来自系统返回的查询请求,如:当前所查询的学生是否为在校、当前设备是否为可用和申请教学场地是否得以批准等。数据来自系统并流向教师。
③、拒绝请求:
系统将拒绝来自教师非己权限的操作和请求结果,如:当前账号不可查看其他教师的结算工资、教师无权对学生进行成绩修改和当前账号不得对已排课程进行上课时间修改等。数据来自系统并流向教师。
④、新增请求:可向系统提交新立项的个人信息、教学场地申请新增。数据来自教师并流向系统。
2、功能数据
如图3-2所示,账号功能数据流图:
作为校园生活一体化管理系统的主要角色,都将拥有对本账号的“个人账号基本信息管理”功能,并向其递交本账号信息查看请求和本账号信息修改请求,数据流向皆有该账号流向系统的该模块;同时系统将反馈给用户一个结果,一般而言反馈信息都将被隐匿。同时在各账号的功能模块中,都与系统相关数据发生双向交互,此处不再详诉。
1)、系统管理员与系统的功能模块数据流向:
①、用户维护请求:
对当前存在的账号进行管理,包括修改该账号、删除该账号和新增用户。由于系统主管校内用户,所以系统的这一权限仅赋予系统管理员,不对其他级别用户开放。数据来自管理员并流向系统模块。
②、教务维护请求
教务维护包括毕业学生和离职教师管理,也包含对教职工的工资发放等的问题,所以这里也将发生数据的添加、修改和删除。数据来自管理员并流向系统模块。
③、设备维护请求:
设备维护主要是以对当前校园设备进行添加设备,以及将设备下架等的处理。数据来自管理员并流向系统模块。
④、信息交互维护请求:
可以对发送给用户的公告信息进行基本的维护,如:删除记录、新建发送项和搜索历史记录等等。数据来自管理员并流向系统模块。
⑤、资金管理请求:
对当前系统账号的资金管理外,还能对用户账号的资金进行维护,如:由于网络问题或者用户重复提交数据而导致账号重复扣款等问题进行处理。数据来自管理员并流向系统模块。
⑥、系统维护请求:为方便本系统日后升级和基础数据维护使用。数据来自管理员并流向系统模块。
2)、学生与系统的功能模块数据流向:
①、学生教务管理请求:
在这里学生可查看当前自己是否毕业、自己的学生档案信息和一些记过处分信息,以及对自己的学生档案进行维护;等等。数据来自学生并流向系统模块。
②、设备使用请求:
专门以对当前可用的校园设备进行消费使用等为主要设计初衷。数据来自学生并流向系统模块。
③、个人公告维护请求:
可接受来自学校下发的通知,也可以查看教师发来的课程信息,并对其都以回复处理。数据来自学生并流向系统模块。
④、个人资金管理请求:在此处,学生可以对本账号进行充值缴费和学校的已发的资助管理。数据来自学生并流向系统模块。
⑤、个人系统维护请求:可对系统进行基本的反馈,反馈信息仅系统管理员可见。数据来自学生并流向系统模块。
此处的教师与系统的功能模块发生数据流向详情,与学生账号基本类似,这里将不再一一复诉。教师的个人资金管理模块将比学生多出工资详情,具体功能模块的设计和实现开发,请详见详细设计书。
3、一层项目流图
3-3 个人账号基本信息管理
1)、加工说明
查询:管理员、学生和教师可查询本账号的基本资料
修改:管理员、学生和教师可修改本账号的基本资料
2)、数据流说明
查询请求:管理员、学生和教师的查询请求
修改请求:管理员、学生和教师的修改请求
返回结果:管理员、学生和教师的返回结果
修改信息:管理员、学生和教师的修改信息
3)、数据存储及数据项说明
账号登录表=登录ID+登录名+登录密码+上次登录时间
个人账号基本信息表=账号ID+名字+性别+民族+政治面貌+入学\就职时间+联系号码+地址
登录ID:字符型 长度11 不允许为空
登录名:字符型 长度10 不允许为空
登录密码:字符型 长度50 不允许为空
上次登录时间:字符型 长度20 允许为空
账号ID:字符型 长度11 不允许为空
名字:字符型 长度10 允许为空
性别:字符型 长度4 允许为空
民族:字符型 长度8 允许为空
政治面貌:字符型 长度8 允许为空
入学\就职时间:字符型 长度20 允许为空
联系号码:字符型 长度11 允许为空
地址:字符型 长度50 允许为空
3-4 用户管理
1)、加工说明
查询:管理员可查询全部账号,学生和教师可供查询本账号的基本资料
新增:管理员可新增新的用户
修改:管理员可修改用户的基本信息
删除:管理员可删除用户登录信息、用户基本信息
2)、数据流说明
查询请求:管理员、学生和教师的查询请求
新增请求:管理员的新增用户请求
删除请求:管理员的删除用户请求
修改请求:管理员的修改用户请求
返回结果:管理员、学生和教师的查询反馈结果
新增用户:管理员新增的用户
删除用户:管理员删除的用户
修改用户:管理员修改的用户
3)、数据存储及数据项说明
账号登录表=登录ID+登录名+登录密码+上次登录时间
个人账号基本信息表=账号ID+名字+性别+民族+政治面貌+入学\就职时间+联系号码+地址
登录ID:字符型 长度11 不允许为空
登录名:字符型 长度10 不允许为空
登录密码:字符型 长度50 不允许为空
上次登录时间:字符型 长度20 允许为空
账号ID:字符型 长度11 不允许为空
名字:字符型 长度10 允许为空
性别:字符型 长度4 允许为空
民族:字符型 长度8 允许为空
政治面貌:字符型 长度8 允许为空
入学\就职时间:字符型 长度20 允许为空
联系号码:字符型 长度11 允许为空
地址:字符型 长度50 允许为空
3-5 系统信息反馈
1)、加工说明
新增:管理员、学生和教师可新建反馈会话
修改:管理员可修改反馈会话
删除:管理员可删除反馈会话
2)、数据流说明
新增请求:管理员、学生和教师新建反馈会话的请求
删除请求:管理员删除反馈会话的请求
修改请求:管理员修改反馈会话的请求
新增反馈:管理员、学生和教师新建的反馈会话
删除反馈:管理员删除的反馈会话
修改反馈:管理员修改的反馈会话
3)、数据存储及数据项说明
反馈表=反馈ID+反馈内容+反馈注释+反馈对象
反馈ID:字符型 长度11 不允许为空
反馈内容:字符型 长度100 允许为空
反馈注释:字符型 长度20 允许为空
反馈对象:字符型 长度11 不允许为空
3-6 设备信息管理
1)、加工说明
查询:管理员、学生和教师可对设备情况进行查询
新增:管理员可新增设备
修改:管理员可修改设备
删除:管理员可删除设备
使用:管理员、学生和教师可对设备情况进行使用
2)、数据流说明
查询请求:管理员、学生和教师对设备情况进行查询的请求
新增请求:管理员对设备情况进行新增的请求
删除请求:管理员对设备情况进行删除的请求
修改请求:管理员对设备情况进行修改的请求
返回结果:管理员、学生和教师对设备情况进行查询返回的结果
新增设备:管理员添加的设备
删除设备:管理员删除的设备
修改设备:管理员修改的设备
使用设备:管理员、学生和教师使用的设备
使用请求:管理员、学生和教师对设备情况进行使用的请求
3)、数据存储及数据项说明
设备管理表=设备ID+设备名称+设备使用单价
设备ID:字符型 长度11 不允许为空
设备名称:字符型 长度20 允许为空
设备使用单价:整型 允许为空
3-7 账号资金管理
1)、加工说明
查询:管理员、学生和教师可对账号进行查询
充值:管理员、学生和教师可对账号进行资金充值
2)、数据流说明
查询请求:管理员、学生和教师可对账号进行查询的请求
返回结果:管理员、学生和教师可对账号进行查询返回的结果
充值请求:管理员、学生和教师可对账号进行资金充值的请求
充值金额:管理员、学生和教师可对账号进行充值的金额
3)、数据存储及数据项说明
用户资金表=用户资金ID+资金
用户资金ID:字符型 长度11 不允许为空
资金:字符型 长度11 允许为空
3-8 账号会话管理
1)、加工说明
查询:管理员、学生和教师可对会话进行查询
新增:管理员、学生和教师可对会话进行添加
修改:管理员、学生和教师可对会话进行编辑
删除:管理员可对会话进行删除
2)、数据流说明
查询请求:管理员、学生和教师对会话的查询请求
新增请求:管理员、学生和教师对会话的新增请求
删除请求:管理员对会话的删除请求
修改请求:管理员、学生和教师对会话的修改请求
返回结果:管理员、学生和教师对会话查询的返回结果
新增会话:管理员、学生和教师新增的会话
删除会话:管理员删除的会话
修改会话:管理员、学生和教师修改的会话
3)、数据存储及数据项说明
会话表=会话ID+账号ID+目标账号ID+会话内容
会话ID:字符型 长度11 不允许为空
目标账号ID:字符型 长度11 不允许为空
账号ID:字符型 长度11 不允许为空
会话内容:字符型 长度100 允许为空
四、分析结果
对本例可以认为,一个基于计算机的信息处理系统由数据流和一系列的转换构成,这些转换将输入数据流变换为输出数据流。经过促成研发小组成员的各意见,本例实验项目可进行更深成次的设计。
五、分析经验
对于本例实验项目的设计和分析,所得心得可总结如下:
1)、描绘数据在系统中各逻辑功能模块之间的流动和处理过程,是一种功能型模型,主要刻画“功能的输入和输出数据”、“数据的源头和目的地”。而在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。它与数据字典一起用来构成系统的逻辑模型;
2)画数据流图,不是画控制流。数据流反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序;
3)、如果一张数据流图中的某个加工分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图及其所有的加工都应编号;
4)、提高数据流图的易懂性。注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性;等等。