为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

住房管理系统《软件工程导论》论文

2020-03-08 36页 doc 161KB 2阅读

用户头像

is_842972

暂无简介

举报
住房管理系统《软件工程导论》论文 编 号: B04500064     学 号: 201240420224     软件工程论文 教 学 院 计算机学院 课程名称 软件工程导论 题 目 住房管理系统 专 业 网络工程 班 级 网络工程二班 姓 名 李后浪 同组人员 刘小虎、丁兵武、梅锟 指导教师 涂进     2014 年 6 月 26 日             一、可行性研究:    3 1、背景:    3 2、问题定义:    3 3...
住房管理系统《软件工程导论》论文
编 号: B04500064     学 号: 201240420224     软件工程论文 教 学 院 计算机学院 课程名称 软件工程导论 题 目 住房管理系统 专 业 网络工程 班 级 网络工程二班 姓 名 李后浪 同组人员 刘小虎、丁兵武、梅锟 指导教师 涂进     2014 年 6 月 26 日             一、可行性研究:    3 1、背景:    3 2、问题定义:    3 3、高层流程图:    3 4、可行性论证:    3 1、经济方面的可行性:    3 2、技术方面的可行性:    4 3、操作可行性:    4 4、法律、社会效益可行性:    5 二、需求分析:    6 1、功能需求:    6 2、性能需求:    6 3、可靠性和可用性需求:    6 4、出错处理需求:    6 5、接口需求:    7 6、约束:    7 7、数据流图:    7 1)顶层数据流图:    7 2) 0层数据流图:    8 3)一层数据流图:    8 三、总体设计:    12 1、软件结构的层次图:    12 2、数据流图映射到一级分解:    12 3、数据流图映射到二级分解:    12 四、详细设计:    14 五、编码:    15 1、最主要的模块:    15 六、测试:    20 1、白盒测试:    21 2、黑盒测试:    22 七、总结(Conclusions)    23 一、可行性研究: 1、背景: 随着国家教育的调整和完善,我国高等院校大面积扩招,给宿舍管理带来了不小的冲击,要使学生拥有一个好的学习环境和生活氛围,是每一所高校都必须面对的重要工作。 2、问题定义: 管理高等学校宿舍的有关方面,比如公寓管理、设备管理、来访人员管理等。 3、高层流程图: 4、可行性论证: 通过分析现有的系统,补充现有系统的不足,使之能解决住房管理的各方面的问题。 1、经济方面的可行性: 经济可行性主要是对项目的经济效益进行评价。目前,各个大学已建立了校园网络系统,具备了运行网络平台的MIS的硬件基础,而且本系统是各个学校自行开发。因此开发、设计这套系统的支出费用是学校可以承担的,即经济上是可行的 。 成本效益分析: 1、货币的时间价值: 完成目标系统估计共需6000元,系统完成后每年可节省3000元,5年可节省15000元 假定年利率12%,将来的收入折算成现在值: 年 将来值 (1+i)^n 现在值 累计的现在值 1 3000 1.12 2678.57 2678.57 2 3000 1.25 2400.00 5078.57 3 3000 1.40 2142.86 7221.43 4 3000 1.57 1910.83 9132.26 5 3000 1.76 1704.55 10836.81           2、工程的投资回收期: 6000-5078.57=921.43(元)。 921.43/2142.86=0.43 因此投资回收期是2.43年。 3、工程的纯收入预计是:10836.81-6000=4836.81(元)。 4、投资回收率: P=F1/(1+j)+F2/(1+j)^2+…+Fn(1+j)^n 解得 工程的投资回收率是41%~42%。 2、技术方面的可行性: 技术上的可行性要考虑将来采用的硬件和软件技术能否满足用户提出的要求。基于当前的计算机网络技术和数据技术已成熟,而且管理信息系统(MIS)的各种开发技术也已经相当成熟,并且在各个领域都不乏成熟的案例。所以为各个大学开发一套网络平台的多用户共享信息的宿舍管理系统在技术上是可行的。 3、操作可行性: 宿舍管理系统的开发不会影响学校其它职能部门的正常运行。现有的生活部负责人及生活老师素质比较高,所以宿舍管理系统的实施不会遭到阻力,加上校领导的支持和其它各部分的配合,宿舍管理系统的实施在运营上是可行的。 4、法律、社会效益可行性: 宿舍管理系统的开发不会违反国家相关的法律、法规,因此在法律上是可行的;在社会效益上,宿舍管理系统可以减少高等学校雇佣的管理人员的数量,可以减少学校开支,另外宿舍管理系统比人工管理系统更加快速,便捷,准确,减少了人工管理过程中容易出现的一些人为失误,使管理变得更方便。 二、需求分析: 1、功能需求: 基于学校的宿舍管理采用的还是人工来进行管理的,为了适应学校发展的实际状况,我通过实地调研之后,认为实现学生宿舍管理系统在设计时应尽可能的贴近学生便于学生用户操作,系统在实现上应具有入相功能: (1)系统实现用户身份认证管理。 (2) 系统应提供学生入学的注册、基本信息的录入。 (3) 系统应提供宿舍基本情况的录入。 (4) 系统应提供学生住宿情况的基本登记。 (5) 系统应提供学生退宿情况的处理。 (6) 系统还应具有基本的查询功能。 2、性能需求: 速度(响应时间): 在查询学生的住宿信息时,响应时间必须达到0.01秒内即可得到查询结果。 信息量速率: 信息量速率达到1M/s。 主存容量: 主存容量2M。 磁盘容量: 磁盘容量应大于5G。 安全性: 学生住宿基本信息不能被随意修改,只能被该系统的管理员修改。 3、可靠性和可用性需求: 可靠性: 住房管理系统在一个月内不能出现两次以上故障。 可用性: 在任何时候主机或备份机上的住房管理系应该至少有一个是可用的,而且在一个月内在任何一台计算机上系统不可用的时间不能超过总时间的2%。 4、出错处理需求: 如果它接收到从另一个系统发出来的违反协议格式的消息,那么它应该不理睬这个信息。 5、接口需求: 用户接口需求: 查询学生信息时,学生的姓名应该一直显示在”学生“正文框中。 硬件接口: USB接口。 软件接口需求: 住房管理系统能与它的环境进行数据交换。 通信接口需求: 使用TCP/IP通信协议接口。 6、约束: 精度: 输入的信息必须准确,查询结果也必须准确。 工具和语言约束: 使用图形和文字工具,语言使用英文编码,注释文档用中文。 设计约束: 设计时不能使该系统的模块数过多,也不能过少。 应该使用的标准: 使用标准输入输出流输入数据。 应该使用的硬件平台: 主机箱、显示器、键盘、鼠标、音箱和话筒. 7、数据流图: 1)顶层数据流图: 2) 0层数据流图: 3)一层数据流图: 公寓管理: 寝室管理: 卫生检查管理: 设备管理管理: 来访人员管理: 三、总体设计: 宿舍管理系统登录框 1、软件结构的层次图: 设备管理管理 学 生 信 息 录 入 管 理 综合查询管理 来访人员管理 公寓管理 寝室管理 卫生检查管理 宿管科 2、数据流图映射到一级分解: 输出处理结果 宿舍管理员进行处理 输入宿舍管理信息 3、数据流图映射到二级分解: 寝室管理 公寓管理 打印处理 删除处理 添加处理 基本宿舍信息 修改处理 另做它用或需拆迁的公寓 删除处理 查询处理 添加处理 输入已有公寓 要修改的公寓 添加新建公寓 设备管理管理 卫生检查管理 打印信息 维修打印 卫生基本信息 统计多次 统计寝室 添加设施处理 保修登记 删除已统计 添加处理 来访人员管理 打印处理 查询处理 删除处理 添加处理 四、详细设计: 软件系统其中的一个最主要模块的伪码: Begin 进入学生信息录入界面 { 输入 A学号 B寝室号 C姓名 If A学号大于081842130并且A学号小于081842137 跳转到下一个判定框 If  B寝室号大于10011并且 B寝室号小于10017 输出 “入宿成功” 录入入住基本信息 else 输出 入宿失败; if 姓名不在数据库内 输出 “找不到该学生,入宿失败” If 需要修改学生姓名或寝室号等信息 输入 原学生信息 输入 修改后的学生信息 将修改后的信息存入数据库 If 需要删除学生信息 输入需要删除信息的学生姓名和学号 执行删除操作 返回 } 五、编码: 1、最主要的模块: 软件系统其中的一个最主要模块的编码: Student.java public class Student implements java.io.Serializable{ String number; String name; String bednumber; public String GetNumber(){ return number; } public String GetName(){ return name; } public String GetBedroomNumber(){ return bednumber; } public void SetNumber(String NUMBER){ this.number=NUMBER; } public void SetName(String NAME){ this.name=NAME; } public void SetBedroomNumber(String BED){ this.bednumber=BED; } } Manage.java主方法代码 public class Manage{ public static void main(String args[]){ Show show=new Show(); show.setTitle("宿舍管理mis系统"); } Show.java显示方法代码 import java.io.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; import static javax.swing.JFrame.*; public class Show extends JFrame implements ActionListener { File file=new File("java.txt"); //存放链的文件 JMenuBar bar; JMenu fileMenu; JMenu search,update; JMenuItem 录入,显示; JTextArea show; JMenuItem 学号,姓名, 寝室号; JMenuItem 修改,删除; Input inputMessage; ToBed tobed; ToDelete todelete; ToName toname; ToNumber tonumber; ToUpdate toupdate; JLabel label; JPanel pCenter; JTable table; Object 表格单元[][],列名[]={"学号","姓名","寝室号"}; CardLayout card; Show(){ label=new JLabel(); label.setIcon(new ImageIcon("java.jpg")); tobed=new ToBed(); todelete=new ToDelete(); toname=new ToName(); tonumber=new ToNumber(); toupdate=new ToUpdate(); 学号=new JMenuItem("按学号"); 姓名=new JMenuItem("按姓名"); 寝室号=new JMenuItem("按寝室号"); 修改=new JMenuItem("修改"); 删除=new JMenuItem("删除"); 录入=new JMenuItem("录入"); 显示=new JMenuItem("显示"); bar=new JMenuBar(); search=new JMenu("查找"); update=new JMenu("编辑"); fileMenu=new JMenu("菜单选项"); search.add(学号); search.add(姓名); search.add(寝室号); update.add(修改); update.add(删除); fileMenu.add(录入); fileMenu.add(显示); bar.add(fileMenu); bar.add(search); bar.add(update); setJMenuBar(bar); fileMenu.addActionListener(this); 录入.addActionListener(this); 显示.addActionListener(this); search.addActionListener(this); update.addActionListener(this); 学号.addActionListener(this); 姓名.addActionListener(this); 寝室号.addActionListener(this); 修改.addActionListener(this); 删除.addActionListener(this); inputMessage=new Input(file); //创建录入截面 card=new CardLayout(); pCenter=new JPanel(); pCenter.setLayout(card);  //设置面板布局格式 pCenter.add("",label); add(pCenter,BorderLayout.CENTER); setVisible(true); setBounds(100,200,650,370); validate(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void actionPerformed(ActionEvent e) { if(e.getSource()==录入) { pCenter.add("录入",inputMessage); add(pCenter,BorderLayout.CENTER); card.show(pCenter,"录入"); } if(e.getSource()==显示) { try{ FileInputStream fi=new FileInputStream(file); ObjectInputStream oi=new  ObjectInputStream(fi); LinkedList StudentList=(LinkedList)oi.readObject(); fi.close(); oi.close(); int length=StudentList.size(); 表格单元=new Object[length][3]; table=new JTable(表格单元,列名); pCenter.removeAll(); pCenter.add("录入",inputMessage); pCenter.add("显示",new JScrollPane(table)); pCenter.validate(); Iterator iter=StudentList.iterator(); int i=0; while(iter.hasNext()) { Student student=iter.next(); 表格单元[i][0]= student.GetNumber(); 表格单元[i][1]=student.GetName(); 表格单元[i][2]=student.GetBedroomNumber(); i++; } table.repaint(); } catch(Exception ee){} card.show(pCenter,"显示"); } if(e.getSource()==学号){ pCenter.add("按学号查询",tonumber); add(pCenter,BorderLayout.CENTER); card.show(pCenter,"按学号查询"); } if(e.getSource()==姓名){ pCenter.add("按姓名查询",toname); add(pCenter,BorderLayout.CENTER); card.show(pCenter,"按姓名查询"); } if(e.getSource()==寝室号){ pCenter.add("按寝室号查询",tobed); add(pCenter,BorderLayout.CENTER); card.show(pCenter,"按寝室号查询"); } if(e.getSource()==修改){ pCenter.add("修改档案信息",toupdate); add(pCenter,BorderLayout.CENTER); card.show(pCenter,"修改档案信息"); } if(e.getSource()==删除){ pCenter.add("删除课程信息",todelete); add(pCenter,BorderLayout.CENTER); card.show(pCenter,"删除课程信息"); } } } 六、测试: s 1.设计测试用例15个(白盒法10个,黑盒法5个): 1、白盒测试: 用条件组合覆盖来测试,可能出现的条件组合共有以下9种情况: (1) A<=081842130, B<=10011; (2) A<=081842130 , 10011=10017; (4) A>=081842137, B<=10011; (5) A>=081842137, 10011=081842137, B>=10017; (7) 081842130=10017; 测试输入: .NO 类别 用例 实际结果 备注     输入数据 理论结果     Test1 A<=081842130 路径 1 sabdg A学号=081842130,B寝室号=10011 入宿失败! 入宿失败! 通过 Test2 A>=081842137 路径 2 sabdg A学号=081842138,B寝室号=10018 入宿失败! 入宿失败! 通过 Test3 081842130=10017 路径5 sabcdg A学号=081842131,B寝室号=10018 入宿失败! 入宿失败! 通过             经过以上白盒测试,预期结果和测试结果均相同,所以该模块没有发现错误。 2、黑盒测试: .NO 划分类 输入数据 理论结果 实际结果 测试结果 Test1 有合法字符的字符串 姓名:张三 成功,并连接数据库查找是否由此用户 与理论一致 正确 Test2 含有非法字符串 姓名: $Mike 不能连接数据库进行查找,提示该学生不存在或错误 与理论一致 正确 Test3 学号为1-9个数字 姓名:张三 学号:080111145 提示此用户存在 并进入登录界面 进入登陆界面 正确 Test4 学号个数不在1-9内 姓名:张三 学号:4444747785 提示密码错误 与理论一致 正确 Test5 学号全为空格符 姓名:张三 学号;空 提示错误 提示错误 正确             七、总结(Conclusions) 学生住宿管理系统完成学生入住,学生退宿,修改入住信息,删除入住信息等一系列管理功能,开发本系统的总体任务是实现学生公寓管理的系统化和自动化。本着实用性和介绍性的原则,整个系统由七大模块组成,每个大的模块又包括三至四个小的模块。 一、 系统管理部分:包括对学生信息的增删该查功能。 二、  学生信息管理部分:包括对学生在校信息的详细查询。但不能修改学生的基本信息。 三、  宿舍信息管理部分:包括对宿舍信息的增删改查等的基本操作。 四、  学生住宿信息管理部分:包括学生的入宿,退宿,修改住宿信息的基本操作。 五、评比及奖励管理:提供对学生宿舍的各项奖励查询和基本的评比活动的查询。 六、综合信息查询部分,提供对所有在校学生和住宿情况的整体查询。是系统的核心内容。 七、帮助部分:提供基本的操作帮助。 软件工程  成绩评定表     1、论文内容 a)内容: 不完整 □ 完整 □ 详细 □ b)设计: 较 差 □ 合理 □ 非常合理 □ c)实现: 未实现 □ 部分实现 □ 全部实现 □ d)文档格式: 不规范 □ 基本规范 □ 规范 □ 考勤成绩: , 占总成绩比例10%     论文成绩: , 占总成绩比例90% 总成绩: 2、评语 指导教师签字: 年 月 日    
/
本文档为【住房管理系统《软件工程导论》论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索