




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生公寓管理系统详细设计学生公寓管理系统详细设计 评 审 日 期: 2016 年 1 月 15 日 项目编号项目编号20160624 文档编号文档编号3 密密 级级内部内部 第 2 页 共 22 页 兰州理工大学 课程设计 目目 录录 1. 导言导言 3 1.1 目的.3 1.2 范围.3 1.3 缩写说明.3 1.4 术语定义.3 1.5 引用标准.4 1.6 参考资料.4 2 系统设计概述系统设计概述 .4 3 详细设计概述详细设计概述 .5 学生信息学生信息管理模块的详细设计管理模块的详细设计 .5 4.视图层5 4.2 控制层.9 4.3 模型层.15 宿舍信息宿舍信息管理模块的详细设计管理模块的详细设计 .16 5.1 视图层.16 5.2 控制层.16 5.3 模型层.16 6 用户登录模块的详细设计用户登录模块的详细设计 17 6.1 视图层.17 6.2 控制层.17 6.3 模型层.17 7 用户管理模块的详细设计用户管理模块的详细设计 17 7.1 视图层.17 7.2 控制层.17 7.3 模型层.18 8 客户端模块的详细设计客户端模块的详细设计 18 8.1 视图层.18 8.2 控制层.18 9 复用的模块复用的模块 18 9.1 客户标签库.18 9.3 结果显示.21 第 3 页 共 22 页 兰州理工大学 课程设计 1. 导言导言 1.1 目的 该文档的目的是描述学生公寓管理系统项目的详细设计,其主要内容包括: 系统功能简介 系统详细设计简述 各个模块的 2 层划分 最小模块组件的伪代码 本文档的预期的读者是: 开发人员 项目管理人员 测试人员 1.2 范围 该文档定义了系统的各个模块和模块接口,但未确定单元的具体实现,这部分内容将 在实现中确定。 1.3 缩写说明 jsp java server page(java 服务器页面)的缩写,一个脚本化的语言。 mvc (模式视图控制)的缩写,表示一个三 层的结构体系。 1.4 术语定义 :一种框架体系结构。 第 4 页 共 22 页 兰州理工大学 课程设计 1.5 引用标准 1 企业文档格式标准 v1.1 2 软件详细设计报告格式标准 v1.1 1.6 参考资料 1 实战 美 机械工业出版社 2 系统设计概述系统设计概述 根据学生公寓管理系统的概要设计,本系统按照功能角度分解,可以分为客户端 子系统和管理端子系统。根据页面流的设计,管理端系统分为学生信息管理,宿舍信息管 理等 2 个模块,他们的关系如图-,以下将分小节对各个部分分别进行详细设计。 第 5 页 共 22 页 兰州理工大学 课程设计 3 详细设计详细设计概述概述 由于本系统采用了基于体系结构的设计,即采用的三层设计模式, 采用面向对象的语言。所以,基本采用面向对象的设计方法。在整个的开发过程 中,尽可能采用复用的原则,例如采用标签库,统一数据库的基本操作,统一结果显示等。 学生公寓管理系统 学生信息管理系 统 宿舍管理系统 添加管理 查找管理 删除管理 学号管理 姓名管理 宿舍号管理 图-1:模块设计 第 6 页 共 22 页 兰州理工大学 课程设计 本文档的详细设计主要是按照的的三个层次分别编制视图层、控 制层和模型层模块的伪代码。为下一步的编码提供基础。伪代码(pseudocode)是一种算法 描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言实现。 因此,伪代码必须结构清晰,代码简单,可读性好,并且类似自然语言。 学生信息模块的详细设计学生信息模块的详细设计 学生信息管理模块主要实现学生公寓管理的维护和发布,学生信息管理的 视图层、控制层和模型层三个层次 4.视图层 视图层主要实现表示层的功能,视图层包括、组件以及 java 中标签库等。 (一)form 组件 学生信息管理视图层共有 20 个文件,表是 addstudentform 的伪代码 描述。 表 /* * system: online job application system * version: 1.0 * copyright (c) 2016 by 兰州理工 company, inc. all rights reserved. * class: addjobform * summary: 只增加学生信息的form * create: 2016.01.23程亚崇 * update: 2016.01.28 程亚崇 */ package com.兰州理工company.struts.form; import javax.servlet.http.httpservletrequest; import org.apache.struts.action.actionerrors; import org.apache.struts.action.actionform; import org.apache.struts.action.actionmapping; / 集成了actionform的属性和方法 public class submitanswerform extends actionform 第 7 页 共 22 页 兰州理工大学 课程设计 / - instance variables /* 学生信息 */ private string jobname; /* 添加学生信息 */ private string pubdate; /* 查找学生信息 */ private string enddate; /* 删除学生信息 */ private string description; /* 学号*/ private string requirements; /* 宿舍号 */ private int studentnum; / - methods package view; import java.awt.borderlayout; import java.awt.eventqueue; import javax.sound.midi.mididevice.info; import javax.swing.jframe; import javax.swing.jpanel; import javax.swing.border.emptyborder; import javax.swing.jlabel; import java.awt.font; import java.awt.color; import javax.swing.jtabbedpane; import javax.swing.jscrollpane; import javax.swing.jbutton; import javax.swing.jtextfield; import javax.swing.jtextpane; import entity.student; import manager.studentmanager; import manager.sushemanager; import java.awt.event.actionlistener; import java.awt.event.actionevent; 第 8 页 共 22 页 兰州理工大学 课程设计 import java.util.list; import javax.swing.jtextarea; public class main extends jframe private jpanel contentpane; private jtextfield id; private jtextfield name; private jtextfield susheid; private jtextfield id2; private jtextfield name2; private jtextfield susheid2; private jtextfield id3; private jtextfield susheid3; /* * launch the application. */ public static void main(string args) eventqueue.invokelater(new runnable() public void run() try main frame = new main(); frame.setvisible(true); catch (exception e) e.printstacktrace(); ); /* * create the frame. */ public main() setdefaultcloseoperation(jframe.exit_on_close); setbounds(100, 100, 650, 532); contentpane = new jpanel(); contentpane.setborder(new emptyborder(5, 5, 5, 5); setcontentpane(contentpane); contentpane.setlayout(null); jtabbedpane tabbedpane = new jtabbedpane(jtabbedpane.top); 第 9 页 共 22 页 兰州理工大学 课程设计 tabbedpane.setbounds(10, 10, 638, 474); contentpane.add(tabbedpane); jpanel panel = new jpanel(); tabbedpane.addtab(“学生信息管理“, null, panel, null); panel.setlayout(null); jlabel lblnewlabel = new jlabel(“u5b66u751fu4fe1u606fu7ba1u7406“); lblnewlabel.setforeground(color.red); lblnewlabel.setfont(new font(“微软雅黑“, font.bold, 44); lblnewlabel.setbounds(153, 26, 316, 44); panel.add(lblnewlabel); jtabbedpane tabbedpane_1 = new jtabbedpane(jtabbedpane.top); tabbedpane_1.setbounds(37, 106, 546, 294); panel.add(tabbedpane_1); jpanel panel_2 = new jpanel(); tabbedpane_1.addtab(“添加“, null, panel_2, null); panel_2.setlayout(null); jlabel lblnewlabel_4 = new jlabel(“u5b66u53f7“); lblnewlabel_4.setbounds(173, 54, 54, 15); panel_2.add(lblnewlabel_4); jlabel lblnewlabel_5 = new jlabel(“u59d3u540d“); lblnewlabel_5.setbounds(173, 104, 54, 15); panel_2.add(lblnewlabel_5); jlabel lblnewlabel_6 = new jlabel(“u5bbfu820du53f7“); lblnewlabel_6.setbounds(173, 158, 54, 15); panel_2.add(lblnewlabel_6); id2 = new jtextfield(); id2.setbounds(271, 51, 66, 21); panel_2.add(id2); id2.setcolumns(10); name2 = new jtextfield(); name2.setbounds(271, 101, 66, 21); panel_2.add(name2); name2.setcolumns(10); susheid2 = new jtextfield(); 第 10 页 共 22 页 兰州理工大学 课程设计 susheid2.setbounds(271, 155, 66, 21); panel_2.add(susheid2); susheid2.setcolumns(10); 其它 form 伪代码详见文件 wszp-pd-dd-position-viewform.doc,它有关于每个 的伪代码的详细描述。 (二)客户标签库 客户端的标签库包括 struct 标签、struct bean 标签、struct logic 标签和自定义 标签库,其中 struct 标签、struct bean 标签和 struct logic 标签是 struct 的标签库, 而 cv 标签库是本系统自定义的标签。详见复用模块的详细设计。 4.2 控制层 学生信息制层共有 2 个 action 文件,表是 addjobaction 的伪代码描述。 表: addjobaction 的伪代码 import java.io.bufferedinputstream; import java.io.bufferedreader; import java.io.bufferedwriter; import java.io.file; import java.io.fileinputstream; import java.io.filenotfoundexception; import java.io.fileoutputstream; import java.io.filereader; import java.io.filewriter; import java.io.ioexception; import java.io.printwriter; import java.util.arraylist; import java.util.list; import javax.imageio.stream.fileimageinputstream; import entity.student; 第 11 页 共 22 页 兰州理工大学 课程设计 public class studentmanager file file = new file(“e:/xuesheng.txt“); bufferedreader br = null; bufferedwriter bw=null; public list getallstudents() try br = new bufferedreader(new filereader(file); catch (filenotfoundexception e) / todo auto-generated catch block e.printstacktrace(); list students=new arraylist(); string studentstr = null; while (true) try studentstr = br.readline(); catch (ioexception e) e.printstacktrace(); if(studentstr=null) return students; if(studentstr.trim().equals(“) continue; student student = trans(studentstr); students.add(student); public student getstudentbyid(int id) try br = new bufferedreader(new filereader(file); catch (filenotfoundexception e) / todo auto-generated catch block e.printstacktrace(); 第 12 页 共 22 页 兰州理工大学 课程设计 string studentstr = null; while (true) try studentstr = br.readline(); catch (ioexception e) e.printstacktrace(); if(studentstr=null) return null; if(studentstr.trim().equals(“) continue; student student = trans(studentstr); if (student.getid() = id) return student; public student getstudentbyname(string name) try br = new bufferedreader(new filereader(file); catch (filenotfoundexception e) / todo auto-generated catch block e.printstacktrace(); string studentstr = null; while (true) try studentstr = br.readline(); catch (ioexception e) e.printstacktrace(); if(studentstr=null) try 第 13 页 共 22 页 兰州理工大学 课程设计 br.close(); catch (ioexception e) / todo auto-generated catch block e.printstacktrace(); return null; if(studentstr.trim().equals(“) continue; student student = trans(studentstr); if (student.getname().equals(name) return student; public list getstudentbysusheid(int susheid) try br = new bufferedreader(new filereader(file); catch (filenotfoundexception e) / todo auto-generated catch block e.printstacktrace(); list students=new arraylist(); string studentstr = null; while (true) try studentstr = br.readline(); catch (ioexception e) e.printstacktrace(); if(studentstr=null) return students; if(studentstr.trim().equals(“) continue; student student = trans(studentstr); 第 14 页 共 22 页 兰州理工大学 课程设计 if (student.getsusheid()=susheid) students.add(student); public void add(student student2) list students=getallstudents(); students.add(student2); string str=“; for(student student:students) str+=(student.getid()+“,“+student.getname()+“,“+student.getsusheid() +“n“); try bw=new bufferedwriter(new filewriter(file); catch (ioexception e) / todo auto-generated catch block e.printstacktrace(); try bw.append(str); bw.close(); catch (ioexception e) / todo auto-generated catch block e.printstacktrace(); public void delete(student student) deletebyid(student.getid(); public boolean deletebyid(int id) list students=getallstudents(); 第 15 页 共 22 页 兰州理工大学 课程设计 boolean flag=false; for(int index=0;indexstudents.size();index+) if(students.get(index).getid()=id) students.remove(index); flag=true; break; if(flag=false) return false; string str=“; for(student student:students) str+=(student.getid()+“,“+student.getname()+“,“+student.getsusheid() +“n“); try bw=new bufferedwriter(new filewriter(file); catch (ioexception e) / todo auto-generated catch block e.printstacktrace(); try bw.append(str); bw.close(); catch (ioexception e) / todo auto-generated catch block e.printstacktrace(); return true; public student trans(string sstr) student student = new student(); string str = sstr.split(“,“); student.setid(integer.parseint(str0); student.setname(str1); student.setsusheid(integer.parseint(str2); 第 16 页 共 22 页 兰州理工大学 课程设计 return student; 4.3 模型层 学生信息管理模型层共有 5 个组件, 表: studentbean 的伪代码 /* * system: online cv system * version: 1.0 * copyright (c) 2006 by lanzhouligong company, inc. all rights reserved. * class: job * summary: 处理student信息的bean * create: 2016.01.15 程亚崇 * update: 2016.01.20 程亚崇 */ package entity; public class student private integer id; private string name; private integer susheid; public integer getid() return id; public void setid(integer id) this.id = id; public string getname() return name; public void setname(string name) = name; 第 17 页 共 22 页 兰州理工大学 课程设计 public integer getsusheid() return susheid; public void setsusheid(integer susheid) this.susheid = susheid; 宿舍信息管理模块的详细设计宿舍信息管理模块的详细设计 5.1 视图层视图层 宿舍信息管理视图层包括组件以及标签库等。详见和伪代码文件。 共有 8 个文件,每个模块的伪代码详见文件 wszp-pd-dd-knowledge- viewform.doc。标签库详见 12.1 描述。 5.2 控制层 宿舍信息管理管理控制层共有 2 个 action 文件,每个 action 伪代码的描述详见文件 wszp-pd-dd- knowledge-control.doc。 5.3 模型层 宿舍题管理模型层共有 4 个文,每个伪代码的描述详见文件 wszp- pd-dd-knowledge-model.doc。 6 用户登录模块的详细设计用户登录模块的详细设计 用户登陆管理主要实现了对管理端用户登录的验证和权限管理功能,用户登陆管理的 视图层、控制层和模型层三个层次的模块如表所示。 第 18 页 共 22 页 兰州理工大学 课程设计 6.1 视图层 用户登陆管理视图层包括、组件以及标签库等。详见和伪代码文件 共有 1 个文件,每个模块的伪代码详见文件 wszp-pd-dd-login- viewform.doc。标签库详见 12.1 描述。 9.2 控制层 用户登陆管理控制层共有 1 个 action 文件,每个 action 伪代码的描述详见文件 wszp-pd-dd-login-control.doc。 9.3 模型层 用户登陆管理模型层共有 3 个文,每个伪代码的描述详见文件 wszp-pd-dd-login-model.doc。 7 用户管理模块的详细设计用户管理模块的详细设计 用户管理主要实现对管理端用户的增删功能以及用户的权限设置功能,用户管理的 视图层、控制层和模型层三个层次。 7.1 视图层用户管理视图层包括组件以及标签库等。详见和伪代码文 件。共有 5 个文件,每个模块的伪代码详见文件 wszp-pd-dd-user- viewform.doc。标签库详见 12.1 描述。 7.2 控制层 用户管理控制层共有 2 个 action 文件,每个 action 伪代码的描述详见文件 wszp-pd- dd- user-control.doc。 7.3 模型层 用户管理模型层共有 2 个文,每个伪代码的描述详见文件 wszp-pd- dd-user-model.doc。 第 19 页 共 22 页 兰州理工大学 课程设计 8 客户端模块的详细设计客户端模块的详细设计 客户端模块主要实现学生的详细信息功能,客户端模块的视图层、控制层和 模型层三个层次的模块 8.1 视图层 客户端管理视图层包括组件以及标签库等。详见和伪代码文件 wszp-pd- dd-client-viewjsp.doc。共有 10 个文件,每个模块的伪代码详见文件 wszp-pd-dd-client-viewform.doc。标签库详见 12.1 描述。 8.2 控制层 客户端管理控制层共有 2 个 action 文件,每个 action 伪代码的描述详见文件 wszp-pd- dd-client-control.doc。 8.3 模型层 客户端管理模型层共有 2 个文,每个伪代码的描述详见文件 wszp- pd-dd-client-model.doc。 9 复用的模块复用的模块 复用是本系统设计的一个重要原则,尤其 struct 体系本身也遵循了复用的原理,本系统复 用的部分主要包括标签库、io 流基本操作以及结果的显示等环节。 9.1 客户标签库 客户标签库主要包括 (一)struct 标准标签库 本系统中使用了 struct html 标签、struct bean 标签和 struct logic,他们是 struct 标准标 签库。 (二)自定义标签库 标签是系统自定义的标签库,表 c-是标签库的标签模块。 表 c-:标签库的标签模块 序号标签功能描述 第 20 页 共 22 页 兰州理工大学 课程设计 1validatesessiontag 身份验证 2pagebeantag 分页 表是身份验证的伪代码说明,用户登录后进入的每个页面,为了安全的考虑管理 端都需要进行用户验证,以防止非法登录 表:身份验证的伪代码 /* * system: online cv system * version: 1.0 * copyright (c) 2016 by xxx, in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机械制造技术基础期末试题及答案
- 交通银行2025绍兴市结构化面试15问及话术
- 中国银行2025乐山市信息科技岗笔试题及答案
- 工商银行2025平顶山市秋招笔试综合模拟题库及答案
- 2025年3D打印技术的金属3D打印技术
- 中国银行2025秋招笔试性格测试题专练及答案海南地区
- 农业银行2025洛阳市秋招群面模拟题及高分话术
- 中国银行2025北京市秋招笔试专业知识题专练及答案
- 2025行业数字化转型路径分析
- 中国银行2025双鸭山市金融科技岗笔试题及答案
- 风电场基础知识培训课件记录
- 2025广东广州市公安局第二批招聘交通辅警150人笔试参考题库附答案解析
- 2025年内科慢性疾病治疗路径分析测试答案及解析
- 2025秋人教版(2024)七年级上册英语学期教学计划
- 智能会计应用课件
- 2025全国小学生“学宪法、讲宪法”活动知识竞赛题库及答案
- 2025-2026学年北师大版小学数学四年级上册教学计划及进度表
- 【初一】【七年级】【语文上】【秋季】开学第一课《“语”你相遇今朝》【课件】
- 国防知识教育培训课件
- 预防艾滋病、梅毒和乙肝母婴传播服务流程
- 中国陶瓷教学课件
评论
0/150
提交评论