1、高校学报信息管理系统 详细设计 和 核心编码与功能实现三. 高校学报信息管理系统 详细设计 和 核心编码与功能实现1.引言1.1.编写目的本文档是在概要设计基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。本文档的预期读者是系统开发人员,以及使用该系统的用户和维护该系统的人员。1.2.背景a待开发的软件系统的名称:华北水利水电学院学学报信息管理系统b本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络:项目任务提出者:华北水利水电学院项目开发者:姚*阁用户:华北水利水电学报编辑部1.3.定义学报管理: 所谓
2、学报管理,主要包括对刊用稿件的组稿、审稿、编辑加工、终审、排版、校对、发行等多个环节,涉及到的信息资源包括稿件信息、作者信息、审稿人信息、评审结果、编委会终审结论、编辑排版信息等等。SQLSERVER2005:开发系统使用的数据库名称1.4.参考资料 1实用软件工程学 庄晋林 杨志宏 中国水利水电出版社2软件工程导论 张海藩 清华大学出版社2.总体设计2.1需求概述高校学报编辑的工作主要包括对刊用稿件的组稿、审稿、编辑加工、终审、排版、校对、发行等多个环节,涉及到的信息资源包括稿件信息、作者信息、审稿人信息、评审结果、编委会终审结论、编辑排版信息等等。具体还有一些细节工作则更为烦琐,诸如:稿件
3、的送审、回复结果登记;对编辑排版结果需要进行毛校、一校、二校和三校多次校对后才能正式出版发行。与此相关还有大量的统计、汇总工作要做,这就要求所开发的系统具有较为丰富的查询、统计功能,以方便用户。2.2软件结构学报管理信息系统软件结构3.程序描述3.1.系统管理模块3.1.1功能系统管理主要对该系统的各类使用人员的账户信息进行管理,主要由超级管理员的来完成。账户基本信息主要包括:姓名、性别、出生日期、手机号、电子邮件和地址,该系统的各类使用人员按权限大小依次为:超级管理员、审稿人、普通工作人员、作者。由超级管理员对各类使用人员的账户信息进行统一管理,主要包括对账户信息的添加、删除、修改和查询等操
4、作。3.1.1性能该部分主要是对员工信息的查询和维护,所以对精度要求不高。但是对于时间特性要求较高,因为用户要查询,并要对查询出来的信息进行维护,所以系统响应时间要短,一般为1-2秒。因此在此段程序里,从数据库里查询员工信息的时候可以用存储过程,以节约时间。3.1.1输入项该系统中各类使用人员账户的基本信息,包括:姓名、性别、出生日期、手机号、电子邮件和地址3.1.1输出项更新后的账户信息3.1.1流程逻辑其流程图如下:3.2稿件处理模块3.2.1功能稿件处理模块主要完成对稿件的处理,首先由作者向系统提交稿件信息,稿件信息主要包括稿件编号、稿件名称、作者、类别和来稿日期,然后由审稿人进行一审、
5、二审、终审,通过终审的稿件将由普通工作人员进行毛校、一校、二校,最后由普通工作人员将校对过的稿件出版发行。3.2.1性能由于这些程序都是对数据库的操作,所以在精度上没有过多的要求,所要求的就是对时间特性的,需要响应时间短,一般为1-2秒,为此可以将一些频繁的操作用存储过程来实现,比如说查询功能。3.2.1输入项源稿件信息,包括:稿件编号、稿件名称、作者、类别和来稿日期3.2.1输出项待出版发行的稿件3.2.1流程逻辑其流程图如下:3.3统计报表模块3.3.1功能统计报表模块主要对系统中各类信息进行统计,由超级管理员来完成,主要包括作者统计、稿件统计、审稿人统计、出版发行统计。3.3.1性能对精
6、度没有要求,但是对时间上要求还是要响应时间短,一般为1-2秒,为此,可以把一些频繁的操作用存储过程来实现,比如说是查询。3.3.1输入项各类信息的基本信息,包括:稿件信息、作者信息、审稿人信息、评审信息、费用信息。3.3.1输出项统计分类后的各类信息3.3.1流程逻辑其流程图如下:3.4费用管理模块3.4.1功能费用管理模块主要是对各类费用信息进行管理,主要包括对费用信息的浏览和统计,费用统计包括,评审费统计、稿费统计、出版发行费统计、办公费统计。3.4.1性能对精度没有要求,但是对时间上要求还是要响应时间短,一般为1-2秒,为此,可以把一些频繁的操作用存储过程来实现,比如说是查询。3.4.1
7、输入项所有费用信息3.4.1输出项统计分类后的费用信息3.4.1流程逻辑其流程图如下:4. 核心编码与功能实现4.1 权限控制核心代码: public partial class F_Main : Form DataClass.MyDataClass MyClass = new LJM.DataClass.MyDataClass(); public F_Main() InitializeComponent(); this.label2.Text = string .Format (0:现在是yyyy年M月d日,H点m分,dddd, DateTime.Now); if (LJM.DataClas
8、s.MyDataClass.Login_Limit = 1 | LJM.DataClass.MyDataClass.Login_Limit = 3) Menu_7_BianJiPaiBan.Enabled = false; #region 将StatusStrip控件中的信息添加到treeView控件中 / / 读取菜单中的信息. / / TreeView控件 / MenuStrip控件 public void GetMenu(TreeView treeV, MenuStrip MenuS) for (int i = 0; i 0) for (int j = 0; j 0) for (int
9、p = 0; p newmenu2.DropDownItems.Count; p+) /遍历三级菜单项 /将三级菜单名称添加到TreeView组件的子节点newNode2中 /if (newmenu2.DropDownItemsp.Enabled) newNode2.Nodes.Add(newmenu2.DropDownItemsp.Text); #endregion #region 将StatusStrip控件中的信息添加到treeView控件中 / / 读取菜单中的信息. / / TreeView控件 / MenuStrip控件 public void Show_Form(string F
10、rmName,int n) if (FrmName = 稿件统计) /判断当前要打开的窗体 F_GaoJian_Count FGaoJianCount = new F_GaoJian_Count(); FGaoJianCount.Text = 稿件统计; FGaoJianCount.ShowDialog(); FGaoJianCount.Dispose(); MyClass.con_close(); if (FrmName = 工作人员) PerForm.F_Worker FrmStaffInfo = new LJM.PerForm.F_Worker(); FrmStaffInfo.Text
11、= 工作人员信息; /设置窗体名称 FrmStaffInfo.ShowDialog(); /显示窗体 FrmStaffInfo.Dispose(); if (FrmName = 添加职工) this.Tag = 2;/表示注册 PerForm.F_WorkerRegister FrmRegister = new PerForm.F_WorkerRegister(); /声明注册窗口,进行调用 FrmRegister.ShowDialog(); FrmRegister.Dispose(); MyClass.con_close(); if (FrmName = 稿件信息) PerForm.F_Ma
12、gazine FrmMagazineInfo = new LJM.PerForm.F_Magazine(); FrmMagazineInfo.Text = 稿件信息; /设置窗体名称 FrmMagazineInfo.ShowDialog(); /显示窗体 FrmMagazineInfo.Dispose(); MyClass.con_close(); if (FrmName = 作者信息) PerForm.F_Author FrmAuthorInfo = new LJM.PerForm.F_Author(); FrmAuthorInfo.Text = 作者信息; /设置窗体名称 FrmAutho
13、rInfo.ShowDialog(); /显示窗体 FrmAuthorInfo.Dispose(); MyClass.con_close(); if (FrmName = 审稿人信息) PerForm.F_Worker FrmStaffInfo = new LJM.PerForm.F_Worker(); FrmStaffInfo.Text = 审稿人员信息; /设置窗体名称 FrmStaffInfo.ShowDialog(); /显示窗体 FrmStaffInfo.Dispose(); MyClass.con_close(); if (FrmName = 作者统计) F_Author_Coun
14、t FAuthorCount = new F_Author_Count(); FAuthorCount.Text = 作者统计; FAuthorCount.ShowDialog(); FAuthorCount.Dispose(); if (FrmName = 审稿人统计) Review fReviewCount = new Review(); fReviewCount.Text = 审稿人统计; fReviewCount.ShowDialog(); fReviewCount.Dispose(); if (FrmName = 稿件评审情况统计) F_GaoJian_Count FGaoJianC
15、ount = new F_GaoJian_Count(); FGaoJianCount.Text = 稿件评审情况统计; FGaoJianCount.ShowDialog(); FGaoJianCount.Dispose(); if (FrmName = 编委会终审情况统计) F_GaoJian_Count FGaoJianCount = new F_GaoJian_Count(); FGaoJianCount.Text = 编委会终审情况统计; FGaoJianCount.ShowDialog(); FGaoJianCount.Dispose(); if (FrmName = 出版发行统计)
16、 F_Publish fPublish = new F_Publish(); fPublish.Text = 出版发行统计; fPublish.ShowDialog(); fPublish.Dispose(); if (FrmName = 费用信息) F_Charge fCharge = new F_Charge(); fCharge.Text = 费用信息; fCharge.ShowDialog(); fCharge.Dispose(); if (FrmName = 费用统计) F_ChargeCount fCahrgeCount = new F_ChargeCount(); fCahrge
17、Count.Text = 费用统计; fCahrgeCount.ShowDialog(); fCahrgeCount.Dispose(); if(FrmName=稿件送审) PerForm.F_SendDraft F_SendDlg = new LJM.PerForm.F_SendDraft(); F_SendDlg.ShowDialog(); F_SendDlg.Dispose(); if (FrmName = 评审回复) PerForm.F_SendDraft F_SendDlg = new LJM.PerForm.F_SendDraft(); F_SendDlg.Text = 评审回复;
18、 F_SendDlg.ShowDialog(); F_SendDlg.Dispose(); if(FrmName = 稿件校对) PerForm.F_ProofDraft F_ProofDraft = new LJM.PerForm.F_ProofDraft(); F_ProofDraft.ShowDialog(); F_ProofDraft.Dispose(); #endregion #region 用TreeView控件调用StatusStrip控件下各菜单的单击事件 / / 用TreeView控件调用StatusStrip控件下各菜单的单击事件. / / MenuStrip控件 / Tr
19、eeView控件的TreeNodeMouseClickEventArgs类 public void TreeMenuF(MenuStrip MenuS, TreeNodeMouseClickEventArgs e) string Men = ; for (int i = 0; i 0) /遍历二级菜单项 for (int j = 0; j 0) /遍历三级菜单项 for (int p = 0; p newmenu2.DropDownItems.Count; p+) if (newmenu2.DropDownItemsp).Text = e.Node.Text)/ if (newmenu2.Dr
20、opDownItemsp).Enabled = false)/ / MessageBox.Show(当前用户无权限调用 + + e.Node.Text + + 窗体);/ break;/ / else/ if (newmenu2.DropDownItemsp).Text.Trim() = 员工生日提示 | (newmenu2.DropDownItemsp).Text.Trim() = 员工合同提示)/ Show_Form(newmenu2.DropDownItemsp).Text.Trim(), 1);/ else Show_Form(newmenu2.DropDownItemsp).Text
21、.Trim(), 2); #endregion private void F_Main_Load(object sender, EventArgs e) F_Login FrmLogin = new F_Login(); /声明登录窗口,进行调用 FrmLogin.ShowDialog(); FrmLogin.Dispose(); if (DataClass.MyDataClass.Login_Limit = 0) ; else if (DataClass.MyDataClass.Login_Limit = 1)/审稿人 Tool_Worker_Add.Enabled = false; thi
22、s.Menu_7_BianJiPaiBan.Enabled = false; this.Tool_Worker.Enabled = false; else if (DataClass.MyDataClass.Login_Limit = 2)/普通工作人 Tool_Worker_Add.Enabled = false; this.Menu_4_ShenGaoRen.Enabled = false; else if (DataClass.MyDataClass.Login_Limit = 3)/作者 Menu_1.Enabled = false; Menu_4_ShenGaoRen.Enabled = false; Tool_Worker.Enabled = false; Tool_Worker_Add.Enabled = false; Menu_5_PingShen.Enabled = false; Menu_7_BianJiPaiBan.Enabled = false; Menu_8.Enabled = false; Menu_9.Enabled = false; GetMenu(treeView1,menuStrip1); / 4.2
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1