信息系统开发大作业
- 格式:doc
- 大小:1.28 MB
- 文档页数:10
课程大作业-----学校管理信息系统MISOS(Management Information System Of School)前言在现代化的今天,计算机应用已普及到人类生活和工作的各个方面。
随着各种信息交流量的急剧增加,信息作为人类社会三大资源之一,将会得到广泛应用。
学校作为一个信息不断流动且信息业务广泛的单位,其自身的工作量极大,由于传统的工作方式而带来的种种不便,使得工作人员频繁奔波在各个部门之间,每天都是重复性的工作,其效率极低。
因此,有必要建立起一套与之工作方式相适应的管理系统,尽可能的利用计算机替代原始的重复性的手工管理工作。
本系统就是在这样的情况下产生的。
由于学校管理信息系统是一个庞大的系统工程,本人能力有限,只能将其部分功能展示出来,因而本系统是MISOS的测试版。
如在使用中给您带来不便请谅解!系统分析与设计1.问题提出随着信息化社会的到来,一场信息的革命已经开始,人们越来越感到信息化的到来给我们带来的不止是一件新鲜的事物,而是的的确确给我们的工作和生活所带来的改变。
(1) 学生信息网络化如今,实现网上录取,不论是北大、清华,还是天大、南大,都已实现了网上录取。
这样一来,传统的流程便显得有些多余,学生一旦被录取,学校便发送录取通知书,并同时完成存档。
如此一来,学校如果有一套系统,便可在存档的同时将学生的部分情况存入学生管理系统的数据库,同时发送录取通知书,一举两得。
(2) 人工统计的失误较多依目前的工作方式来计算、统计,需要大量的工作人员进行一次次反复重复的计算,当然会耗费大量人力、物力,这样自然提高了管理的成本。
与此同时,还会有大量数据需要不断重复的添加,修改,删除,也会造成数量统计上的不准确。
因此,不能跟上整个工作的运行速度,也不能及时搜索所需要的数据,更不能实时的提供准确,详实的数据以供参考与分析。
(3) 计算不准确这尤其体现在财务方面。
其实在统计,分析等工作中也有这样的问题。
课程大作业-----学校管理信息系统MISOS(Management Information System Of School)前言在现代化的今天,计算机应用已普及到人类生活和工作的各个方面。
随着各种信息交流量的急剧增加,信息作为人类社会三大资源之一,将会得到广泛应用。
学校作为一个信息不断流动且信息业务广泛的单位,其自身的工作量极大,由于传统的工作方式而带来的种种不便,使得工作人员频繁奔波在各个部门之间,每天都是重复性的工作,其效率极低。
因此,有必要建立起一套与之工作方式相适应的管理系统,尽可能的利用计算机替代原始的重复性的手工管理工作。
本系统就是在这样的情况下产生的。
由于学校管理信息系统是一个庞大的系统工程,本人能力有限,只能将其部分功能展示出来,因而本系统是MISOS的测试版。
如在使用中给您带来不便请谅解!系统分析与设计1.问题提出随着信息化社会的到来,一场信息的革命已经开始,人们越来越感到信息化的到来给我们带来的不止是一件新鲜的事物,而是的的确确给我们的工作和生活所带来的改变。
(1) 学生信息网络化如今,实现网上录取,不论是北大、清华,还是天大、南大,都已实现了网上录取。
这样一来,传统的流程便显得有些多余,学生一旦被录取,学校便发送录取通知书,并同时完成存档。
如此一来,学校如果有一套系统,便可在存档的同时将学生的部分情况存入学生管理系统的数据库,同时发送录取通知书,一举两得。
(2) 人工统计的失误较多依目前的工作方式来计算、统计,需要大量的工作人员进行一次次反复重复的计算,当然会耗费大量人力、物力,这样自然提高了管理的成本。
与此同时,还会有大量数据需要不断重复的添加,修改,删除,也会造成数量统计上的不准确。
因此,不能跟上整个工作的运行速度,也不能及时搜索所需要的数据,更不能实时的提供准确,详实的数据以供参考与分析。
(3) 计算不准确这尤其体现在财务方面。
其实在统计,分析等工作中也有这样的问题。
web开发技术大作业
题目:开发一个简单的在线书店系统
目标:通过开发一个在线书店系统,掌握Web开发的基本技术,包括HTML、CSS、JavaScript、后端语言(如Python、Java等)以及数据库技术(如MySQL、MongoDB等)。
要求:
1. 系统需要包含用户注册、登录、注销功能;
2. 用户可以浏览图书列表,查看图书详情,将图书加入购物车;
3. 用户可以将购物车内图书结算,生成订单;
4. 后台管理员可以管理图书、用户和订单;
5. 使用数据库存储数据。
步骤:
1. 设计数据库结构,包括用户表、图书表、订单表等;
2. 使用HTML、CSS搭建前端页面,包括注册、登录、注销、图书列表、图书详情、购物车、结算等页面;
3. 使用后端语言处理用户请求,与数据库进行交互,实现业务逻辑;
4. 测试系统功能,修复Bug;
5. 部署系统,发布上线。
总结:通过开发在线书店系统,可以掌握Web开发的基本技术,包括前后端分离的开发模式、数据库的使用、前后端交互等。
同时,也可以锻炼团队合作和项目管理的能力。
在开发过程中需要注意代码规范、可维护性和可扩展性,为未来的Web开发打下坚实的基础。
java学生管理系统大作业代码Java学生管理系统是一个基于Java语言开发的学生信息管理系统,用于方便学校教务人员进行学生信息的管理和查询。
以下是该系统的代码实现。
1. 登录界面代码实现该界面是用户登录的入口,用户需要输入用户名和密码才能进入系统。
```javaimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class Login extends JFrame implements ActionListener {JLabel lb1, lb2, lb3;JTextField txtName;JPasswordField txtPwd;JButton btnOK, btnCancel;String userName = "admin";// 默认用户名String password = "123456";// 默认密码public Login() {setTitle("学生信息管理系统登录");// 设置窗体标题setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置窗体关闭方式setSize(350, 200);// 设置窗体大小setLocationRelativeTo(null);// 设置居中显示setLayout(new BorderLayout());JPanel pNorth = new JPanel();lb1 = new JLabel("欢迎使用学生信息管理系统", JLabel.CENTER); lb1.setFont(new Font("微软雅黑", Font.BOLD, 20));pNorth.add(lb1);add(pNorth, BorderLayout.NORTH);JPanel pCenter = new JPanel();pCenter.setLayout(new GridLayout(3, 2));lb2 = new JLabel("用户名:", JLabel.RIGHT);pCenter.add(lb2);txtName = new JTextField(20);pCenter.add(txtName);lb3 = new JLabel("密码:", JLabel.RIGHT);pCenter.add(lb3);txtPwd = new JPasswordField(20);txtPwd.setEchoChar('*');// 设置密码框的回显字符pCenter.add(txtPwd);btnOK = new JButton("登录");pCenter.add(btnOK);btnCancel = new JButton("取消");pCenter.add(btnCancel);add(pCenter, BorderLayout.CENTER);btnOK.addActionListener(this);btnCancel.addActionListener(this);setVisible(true);// 显示窗体}public void actionPerformed(ActionEvent e) {if (e.getSource() == btnOK) {String name = txtName.getText();// 获取用户名String password = new String(txtPwd.getPassword());// 获取密码 if (name.equals(userName) && password.equals(password)) {setVisible(false);new MainFrame();} else {JOptionPane.showMessageDialog(Login.this, "用户名或密码错误!", "登录失败", JOptionPane.ERROR_MESSAGE);}} else if (e.getSource() == btnCancel) {txtName.setText("");txtPwd.setText("");}}public static void main(String[] args) {new Login();}}```2. 主界面代码实现该界面是系统的主界面,包含了菜单栏、工具栏和表格显示区域。
以下是一些可能的Python大作业题目,供您参考:
1. 开发一个Web应用程序:使用Python的Web框架(如Django 或Flask)来创建一个完整的Web应用程序,实现用户注册、登录、数据展示等功能。
2. 实现一个自然语言处理系统:使用Python的自然语言处理库(如NLTK或Spacy)来处理和解析文本数据,实现文本分类、情感分析、实体识别等功能。
3. 开发一个图像处理工具:使用Python的图像处理库(如OpenCV或Pillow)来读取、处理和保存图像,实现图像增强、滤镜效果、特征提取等功能。
4. 实现一个机器学习应用:使用Python的机器学习库(如Scikit-learn或TensorFlow)来构建和训练机器学习模型,实现分类、回归、聚类等功能。
5. 开发一个网络爬虫:使用Python的网络爬虫库(如BeautifulSoup或Scrapy)来抓取和解析网页数据,实现数据采集、存储和展示等功能。
6. 实现一个自动化测试工具:使用Python的自动化测试库(如Selenium或Pytest)来编写自动化测试脚本,实现对Web应用程序或API的测试。
7. 开发一个数据库管理工具:使用Python的数据库管理库(如SQLite或MySQL-connector)来连接和操作数据库,实现数据查询、
插入、更新和删除等功能。
以上题目仅供参考,您可以根据您的兴趣和专业背景来选择合适的题目。
同时,建议您在选择题目时考虑实际应用价值和可扩展性,以便在完成大作业的同时提高自己的技能和经验。
课程名称:UML系统分析与设计姓名:班级:软件132班学号:************指导老师:***作业一:绘制q q群的基础用例图QQ群操作主用例图(高层用例图)QQ群用户组成用例图查找添加群用例图进入群空间操作用例图对qq群进行操作的用例图查看QQ群资的用例图QQ群消息设置的用例图qq群内成员管理的用例图作业二:类图及其关系下面是系统分析员和一名篮球教练的谈话,用以建立一个篮球比赛的模型,谈话过程如下:分析员:教练,请大致介绍一下篮球比赛?教练员:比赛的目标是要把篮球投入篮框并且要尽量比对手得更多的分。
每个篮球队由5名队员组成,两名后卫、两名前锋和一名中锋。
每个队要将球推进到篮筐附近,将篮球投中篮筐。
分析员:如何将球推进?教练员:通过传球和运球。
但是某一方必须在规定的进攻时间内投篮。
分析员:进攻的时间是多少呢!?教练员:在某一方获得球权之后,必须在规定的进攻时间内投篮,否则犯规。
美国职业篮球比赛规定的进攻时间是24秒,国际篮球比赛的规定是30秒。
分析员:如果计算篮球比赛得分呢?教练员:在三分线之内没投入篮框一个球得两分,三分线外投入一次得三分,一次罚球得一分。
顺便说一下,罚球是对方犯规之后裁判判罚的投球,如果某个队员犯规了,裁判暂停比赛,由被侵犯的队员在罚球线处罚球分析员:能够详细说一下每个篮球队员在比赛中的情况好吗!?教练员:后卫队员通常主要是运球和传球,他们一般比前锋队员要矮小,前锋队员通常又比中锋矮。
所有队员都必须能够运球、传球、投球和抢篮板球,大部分抢篮板球和中距离投篮的工作都有前锋队员完成,中锋通常距离篮框最近,通常由他来进行篮下进攻分析员:篮球比赛的场地大小是怎么样的呢!?另外,每场比赛的时间是多少?教练员:国际比赛场地是28米长、15米宽。
篮框离地面3.05米高。
在职业篮球比赛中,一场比赛48分钟,分为四节,每节12分钟。
在国际篮联的比赛中,一场比赛40分钟,分为上下半场,各20分钟,有专门的比赛时钟记录比赛的剩余时间还有多少…上述只是部分谈话记录,但是已经涵盖了基本的信息,现在作业要求完成以下内容:•确定你设计的篮球比赛系统模型的类以及它们包含的信息(名称、属性和方法)•分析系统并确定这些类之间的关系(依赖、泛化、实现、关联),如果是关联关系还需要给出关联的属性作业三:顺序图•顾客购买一罐饮料的时序图(投入的钱数不正确)•投钱少•投钱多•顾客购买一罐饮料的时序图(没有所选择类型的商品)作业四:状态建模事件是指在某个时刻发生的事情,如本篮球赛比赛系统中,初始化时间(TimerInit)、开始计时(TimerBegin)、时间暂停(TimerPause)、进球(shot_in)、未进球(shot_out)、犯规(foul)、换人(exchangeplayer)等。
一、简答题(每题10分,共40分)1. 什么是网络化汽车服务?答:所谓网络化汽车服务是指利用计算机信息处理技术和网络技术,按照一定的科学比例组织原则,在确保安全、便利的基础上选择或设置各种类型的汽车服务网络点,从而形成一个能为汽车提供全方位服务的汽车服务体系。
2.企业网络化战略的制定应把握哪几点?答:第一,在利用互联网络进行宣传时,要确定所针对的顾客群及顾客群的范围与喜好。
第二,要满足顾客的信息需要。
企业在国际互联网上的域名必须是清楚且易于记忆的。
第三,企业必须立即回应顾客的需求。
网络企业对于顾客提出的问题一定要用最快的速度回答,而且用最快的速度加以解决。
最后,企业还要重视网络营销的效果,建立好的网络营销战略。
3.计算机网络的基本组成。
答:计算机网络是由通信子网和用户资源子网所组成。
通信子网负责通信控制和通信处理,主要有通信控制处理机、网络控制中心、分组组装/拆卸设备、网关和路由器等。
用户资源子网用于面向应用的数据处理,以实现网络资源的共享。
3、汽车服务电子商务所面临的安全问题。
答:(1)信息泄露主要包括两个方面:①交易双方进行交易的内容被第三方窃取。
②交易一方提供给另一方使用的文件被第三方非法使用。
(2)篡改电子的交易信息在网络传输过程中,可能被他人非法的修改、删除或重放,这样就使信息失去了真实性和完整性。
(3)身份识别这涉及电子商务中的两个问题。
其一是,如果不进行身份识别,第三方就有可能假冒交易一方的身份,进行身份识别后,交易双方就可防止“相互猜疑”的情况。
其二是“不可抵赖”性。
进行身份识别后,如果出现抵赖的情况,就有了反驳的依据。
4、电子商务平台的电子订货系统管理功能。
答:电子商务平台可借助Web中的邮件交互传送实现网上的订购。
网上的订购通常都是在产品,介绍的页面上提供十分友好的订购提示信息和订购交互格式框。
当客户填完订购单后,通常系统会回复确认信息单来保证订购信息的收悉。
订购信息也可采用加密的方式使客户和商家的商业信息不会泄漏。
管理信息系统实践大作业在当今数字化的时代,管理信息系统(MIS)已经成为企业和组织管理中不可或缺的一部分。
它不仅能够提高工作效率,优化决策过程,还能增强企业的竞争力。
本次实践大作业,我们将深入探讨管理信息系统在实际应用中的方方面面。
首先,让我们来了解一下管理信息系统的基本概念。
管理信息系统是一个由人、计算机硬件、软件和数据资源组成的,能够收集、传输、存储、加工、维护和使用信息的系统。
其目的是支持组织的决策、管理和控制功能。
在实际应用中,管理信息系统的类型多种多样。
例如,事务处理系统(TPS)主要用于处理日常的业务事务,如订单处理、库存管理等;管理信息系统(MIS)则为中层管理人员提供各种报表和分析,以支持其管理和决策;决策支持系统(DSS)则侧重于为高层管理人员提供决策支持,通过数据分析和模型构建来辅助决策。
以一家制造企业为例,其生产管理信息系统能够实现从原材料采购、生产计划制定、生产过程监控到产品销售的全过程管理。
通过该系统,企业可以实时掌握原材料的库存情况,合理安排采购计划,避免库存积压或缺货的情况发生。
在生产过程中,系统可以监控生产进度、质量控制等关键环节,及时发现并解决问题,确保产品按时、按质交付。
销售环节中,系统能够记录客户订单、销售业绩等信息,为企业的市场策略制定提供数据支持。
然而,管理信息系统的实施并非一帆风顺,往往会面临诸多挑战。
技术方面,系统的兼容性、稳定性和安全性是需要重点关注的问题。
如果新的管理信息系统与现有的其他系统无法兼容,可能会导致数据传输错误或系统瘫痪。
系统的稳定性也至关重要,频繁的故障会影响工作效率和数据的准确性。
此外,随着网络技术的发展,信息安全问题日益突出,企业需要采取有效的措施来保护系统中的敏感信息,防止数据泄露。
除了技术问题,人为因素也会对管理信息系统的实施产生影响。
员工对新系统的接受程度和使用能力各不相同,有些员工可能会抵制新系统的引入,认为会增加工作负担或改变原有的工作习惯。
JA V A & J2EE大作业——学生信息管理系统/src/beanFind.javapackage bean;import java.io.File;import java.io.IOException;import java.util.Iterator;import javax.servlet.jsp.JspWriter;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class Find {public String[] find(String id,String name,JspWriter out,String studentInfoPath) throws DocumentException, IOException{SAXReader saxReader = new SAXReader();Document document = saxReader.read(new File(studentInfoPath));Element root = document.getRootElement();String[]str=new String[7];int j=0;//遍历根结点(students)的所有孩子节点(肯定是student节点)boolean flagid,flagname;for ( Iterator<?> iter = root.elementIterator(); iter.hasNext(); ){out.print("<tr>");int i=0;Element element = (Element) iter.next();flagid=false;flagname=false;//遍历student结点的所有孩子节点(即id,name,age,gender,email,java),并进行处理Iterator<?> iterInner = element.elementIterator();Element elementInner = (Element) iterInner.next();if(elementInner.getText().equals(id)){flagid=true;}elementInner = (Element) iterInner.next();if(elementInner.getText().equals(name)){flagname=true;}if(id!=null&&name!=null){if(flagid&&flagname){j++;for ( Iterator<?> iterInner1 = element.elementIterator(); iterInner1.hasNext(); ){Element elementInner1 = (Element) iterInner1.next();str[i]=elementInner1.getText();out.print("<th>"+elementInner1.getText()+"</th>");i++;}break;}}else if(name!=null&&id==null){if(flagname){j++;for ( Iterator<?> iterInner1 = element.elementIterator(); iterInner1.hasNext(); ){Element elementInner1 = (Element) iterInner1.next();str[i]=elementInner1.getText();out.print("<th>"+elementInner1.getText()+"</th>");i++;}}}else if(id!=null&&name==null){if(flagid){j++;for ( Iterator<?> iterInner1 = element.elementIterator(); iterInner1.hasNext(); ){Element elementInner1 = (Element) iterInner1.next();str[i]=elementInner1.getText();out.print("<th>"+elementInner1.getText()+"</th>");i++;}break;}}else{break;}out.print("</tr>");}str[6]=j+"";return str;}}ReadUserInfo.javapackage bean;import java.io.IOException;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.util.LinkedList;public class ReadUserInfo {//文件中读取出的用户信息LinkedList<String> nameList = new LinkedList<String>();LinkedList<String> passList = new LinkedList<String>();// StringTokenizer相关变量String temp;String[] st;//用来保存用户输入信息String username;String password;public String getUsername(){return username;}public void setUsername(String username){ername = username;}public String getPassword(){return password;}public void setPassword(String password){this.password = password;}public LinkedList<String> getNameList(){return nameList;}public LinkedList<String> getPassList(){return passList;}public void read(String path) throws IOException{File file = new File(path);BufferedReader br = new BufferedReader(new FileReader(file));while ((temp = br.readLine()) != null){st =temp.split(",");nameList.add(st[0]);passList.add(st[1]);}}public boolean checknp(String name,String pass){LinkedList<String> nlist = getNameList();LinkedList<String> plist = getPassList();if(!nlist.contains(name) || !plist.contains(pass)){return false;}if(nlist.indexOf(name) != plist.indexOf(pass)){return false;}return true;}}XmlPage.javapackage bean;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.util.Iterator;import java.util.List;import javax.servlet.jsp.JspWriter;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;public class XmlPage {public void Edit(String user,String Id,String Name,String Age,String Gender,String Email,String Java,String studentInfoPath) throws DocumentException, IOException {SAXReader reader = new SAXReader();Document document = reader.read(new File(studentInfoPath));Element root = document.getRootElement();Element element = null ;for ( Iterator<?> iter = root.elementIterator(); iter.hasNext(); ){element = (Element) iter.next();//遍历student结点的所有孩子节点(即id,name,age,gender,email,java),并进行处理Iterator<?> iterInner = element.elementIterator();Element elementInner = (Element) iterInner.next();if(elementInner.getText().equals(user))break;}if(!Id.isEmpty())element.element("id").setText(Id);if(!Name.isEmpty())element.element("name").setText(Name);if(!Age.isEmpty())element.element("age").setText(Age);if(!Gender.isEmpty())element.element("gender").setText(Gender);if(!Email.isEmpty())element.element("email").setText(Email);if(!Java.isEmpty())element.element("java").setText(Java);OutputFormat out = new OutputFormat(" ", true, "utf-8");XMLWriter writer = new XMLWriter(new FileOutputStream(studentInfoPath),out);writer.write(document);writer.close();}public boolean check(String id,String studentInfoPath) throws DocumentException{SAXReader reader = new SAXReader();Document document = reader.read(new File(studentInfoPath));Element root = document.getRootElement();boolean flag=true;for ( Iterator<?> iter = root.elementIterator(); iter.hasNext(); ){Element element = (Element) iter.next();//遍历student结点的所有孩子节点(即id,name,age,gender,email,java),并进行处理Iterator<?> iterInner = element.elementIterator();Element elementInner = (Element) iterInner.next();if(elementInner.getText().equals(id)){flag=false;break;}}return flag;}public void add(String Id,String Name,String Age,String Gender,String Email,String Java,String studentInfoPath) throws Exception {SAXReader reader = new SAXReader();Document document = reader.read(new File(studentInfoPath));Element root = document.getRootElement();Element parent = root.addElement("student");Element id= parent.addElement("id");id.setText(Id);Element name = parent.addElement("name");name.setText(Name);Element age= parent.addElement("age");age.setText(Age);Element gender = parent.addElement("gender");gender.setText(Gender);Element email = parent.addElement("email");email.setText(Email);Element java = parent.addElement("java");java.setText(Java);OutputFormat out = new OutputFormat(" ", true, "utf-8");XMLWriter writer = new XMLWriter(new FileOutputStream(studentInfoPath),out);writer.write(document);writer.close();}public void Del(String id,String studentInfoPath) throws Exception {SAXReader reader = new SAXReader();Document document = reader.read(new File(studentInfoPath));Element root = document.getRootElement();Element element = null ;for ( Iterator<?> iter = root.elementIterator(); iter.hasNext(); ){element = (Element) iter.next();//遍历student结点的所有孩子节点(即id,name,age,gender,email,java),并进行处理Iterator<?> iterInner = element.elementIterator();Element elementInner = (Element) iterInner.next();if(elementInner.getText().equals(id))break;}root.remove(element);OutputFormat out = new OutputFormat(" ", true, "utf-8");XMLWriter writer = new XMLWriter(new FileOutputStream(studentInfoPath), out);writer.write(document);writer.close();}public void Reader(int diPage,int pageFileSize,JspWriter out,String studentInfoPath) throws DocumentException, IOException{SAXReader saxReader = new SAXReader();Document document = saxReader.read(new File(studentInfoPath));Element root = document.getRootElement();// 用于记录学生编号的变量int num=0;//遍历根结点(students)的所有孩子节点(肯定是student节点)for ( Iterator<?> iter = root.elementIterator(); iter.hasNext(); ){out.print("<tr>");num++;Element element = (Element) iter.next();if(num>=(diPage*pageFileSize-(pageFileSize-1))&&num<=diPage*pageFileSize){//遍历student结点的所有孩子节点(即id,name,age,gender,email,java),并进行处理for ( Iterator<?> iterInner = element.elementIterator(); iterInner.hasNext(); ){Element elementInner = (Element) iterInner.next();out.print("<th>"+elementInner.getText()+"</th>");}}out.print("</tr>");}}public int Count(String studentInfoPath) throws DocumentException{SAXReader saxReader = new SAXReader();Document document = saxReader.read(new File(studentInfoPath));List<?> list = document.selectNodes("/students/student");int num = list.size();return num;}}/src/filterAuthorityFilter.javapackage filter;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class AuthorityFilter implements Filter{//FilterConfig可用于访问Filter的配置信息private FilterConfig config;//实现初始化方法public void init(FilterConfig config){this.config = config;}//实现销毁方法public void destroy(){this.config = null;}//执行过滤的核心方法public void doFilter(ServletRequest request,ServletResponse response, FilterChain chain)throws IOException,ServletException{//---------下面代码用于对用户请求执行预处理---------//获取ServletContext对象,用于记录日志ServletContext context = this.config.getServletContext();long before = System.currentTimeMillis();System.out.println("开始过滤...");//获取该Filter的配置参数String encoding = config.getInitParameter("encoding");String loginPage = config.getInitParameter("loginPage");String loginServlet = config.getInitParameter("loginServlet");String addsuccess = config.getInitParameter("addsuccess");String changePage = config.getInitParameter("changePage");String changesuccess = config.getInitParameter("changesuccess");String delete = config.getInitParameter("delete");//设置request编码用的字符集request.setCharacterEncoding(encoding);HttpServletRequest requ = (HttpServletRequest)request;HttpSession session = requ.getSession(true);//输出提示信息System.out.println("Filter已经截获到用户的请求的地址:" +requ.getServletPath());System.out.println("user:" +session.getAttribute("user"));//获取客户请求的页面String requestPath = requ.getServletPath();//如果session范围的user为null,即表明没有登录//且用户请求的既不是登录页面,也不是处理登录的页面if( session.getAttribute("user") == null&& !requestPath.endsWith(loginPage)&& !requestPath.endsWith(loginServlet)){request.setAttribute("tip", "nologin");request.getRequestDispatcher("/login.jsp").forward(request, response);}/*else if(requestPath.endsWith(addsuccess)||requestPath.endsWith(changePage)||requestPath.endsWith(changesuccess)||requestPath.endsWith(delete)){request.setAttribute("tip", "stop");request.getRequestDispatcher("/studentInfoDisplay.jsp").forward(request, response);}*///"放行"请求else{chain.doFilter(request, response);}//---------下面代码用于对服务器响应执行后处理---------long after = System.currentTimeMillis();//输出提示信息System.out.println("过滤结束");//输出提示信息System.out.println("请求被定位到" + ((HttpServletRequest) request).getRequestURI() +" 所花的时间为: " + (after - before));System.out.println("Session.tip:"+session.getAttribute("tip"));System.out.println("er:"+session.getAttribute("user"));}}/src/sevrvletLoginServlet.javapackage sevrvlet;import java.io.IOException;import java.io.PrintWriter;import javax.mail.Session;import javax.servlet.RequestDispatcher;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.jboss.weld.context.SessionContext;import bean.ReadUserInfo;public class LoginServlet extends HttpServlet {/*** Constructor of the object.*/public LoginServlet() {super();}/*** Destruction of the servlet. <br>*/public void destroy() {super.destroy(); // Just puts "destroy" string in log// Put your code here}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {ReadUserInfo r = new ReadUserInfo();r.read(request.getSession().getServletContext().getRealPath("")+"\\WEB-INF\\users.txt");String username = request.getParameter("username");String password = request.getParameter("password");HttpSession session = request.getSession(true);//RequestDispatcher dis = null;PrintWriter out = response.getWriter();if(!r.checknp(username,password)){out.print("<script>alert('Wrong username or password');location.href='../login.jsp';</script>");//dis = request.getRequestDispatcher("../login.jsp");}else{session.setAttribute("user", username);System.out.println("LoginServlet tip:"+session.getAttribute("tip"));//out.print("<script>alert('z!');location.href='../index.jsp';</script>");//dis = request.getRequestDispatcher("../studentInfoDisplay.jsp");out.print("<script>location.href='../studentInfoDisplay.jsp';</script>");}//dis.forward(request, response);}/*** Initialization of the servlet. <br>** @throws ServletException if an error occurs*/public void init() throws ServletException {// Put your code here}}/src/tagIteratorTag.javapackage tag;import java.io.IOException;import java.util.Collection;import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.SimpleTagSupport;public class IteratorTag extends SimpleTagSupport {private String collection;private String item;//collection的setter与getter函数public void setCollection(String conllection){this.collection = conllection;}public String getCollection(){return this.collection;}//item的setter与getter函数public void setItem(String item){this.item = item;}public String getItem(){return item;}@Overridepublic void doTag() throws JspException, IOException {// TODO Auto-generated method stubCollection itemlist = (Collection)getJspContext().getAttribute(collection);for(Object itemTemp : itemlist){getJspContext().setAttribute(item, itemTemp);getJspBody().invoke(null);}}/srcmytaglib.tld<?xml version="1.0"encoding="GBK"?><taglib xmlns="/xml/ns/j2ee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"version="2.0"><tlib-version>1.0</tlib-version><short-name>mytaglib</short-name><!-- 定义该标签库的URI --><uri>/mytaglib</uri><tag><!-- 定义标签名 --><name>iterator</name><!-- 定义标签处理类 --><tag-class>tag.IteratorTag</tag-class><!-- 定义标签体支持JSP脚本 --><body-content>scriptless</body-content><!-- 配置标签属性:collection --><attribute><name>collection</name><required>true</required><fragment>true</fragment></attribute><!-- 配置标签属性:item --><attribute><name>item</name><required>true</required><fragment>true</fragment></attribute></tag></taglib>/WebRootadd.jsp<%@page language="java"contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@page import="java.io.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=GBK"><title>添加信息</title></head><body><%-- <% if(request.getAttribute("tip") != null && request.getAttribute("tip").equals("stop")){request.removeAttribute("tip");out.print("<script>alert('不能直接访问该网页');</script>");}%> --%><center><jsp:useBean id="testBean"class="bean.XmlPage"scope="page"/><form action = "addsuccess.jsp"method = "post">请输入学生信息:<br><br>姓 名:<input type= "text"name="name"style = "width = 165px;height = 22px;"value=""/><br><br>学 号:<input type= "text"name="id"style= "width = 165px;height = 22px;"value=""/><br><br>年 龄:<input type= "text"name="age"style = "width = 165px;height = 22px;"value=""/><br><br>性 别:<input type= "text"name="gender"style style = "width = 165px;height = 22px;"value=""/><br><br>email:<input type= "text"name="email"style= "width= 165px;height = 22px;"value=""/><br><br>java :<input type= "text"name="java"style= "width= 165px;height = 22px;"value=""/><br><br><input type="submit"value="添加"/> <a href="studentInfoDisplay.jsp">返回</a></form></center></body></html>addsuccess.jsp<%@page language="java"contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@page import="java.io.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=GBK"><title>find</title></head><body><%//System.out.println("11213213");if(application.getAttribute("lock") == "true"){out.print("<script>alert('他人正在操作中');location.href='studentInfoDisplay.jsp';</script>");}else{application.setAttribute("lock", "true");}%><jsp:useBean id="testBean"class="bean.XmlPage"scope="page"/><%String Id=request.getParameter("id"),Name=request.getParameter("name"),Age=request.getParameter("age"),Gender=request.getParameter("gender"),Email=request.getParameter("email"),Java=request.getParameter("java");//Name= new String(Name.getBytes("ISO8859_1"), "GBK");//Gender= new String(Gender.getBytes("ISO8859_1"), "GBK");System.out.println(request.getRealPath("/WEB-INF/students.xml")) ;if(Id.isEmpty()||Name.isEmpty()||Age.isEmpty()||Gender.isEmpty() ||Email.isEmpty()||Java.isEmpty()){application.setAttribute("lock", "false");out.print("<script>alert('学生信息未填写完整!');location.href='add.jsp';</script>");}else{if(testBean.check(Id,request.getRealPath("/WEB-INF/students.xml"))) {testBean.add(Id, Name, Age, Gender, Email, Java,request.getRealPath("/WEB-INF/students.xml"));application.setAttribute("lock", "false");out.print("<script>alert('成功添加!');location.href='studentInfoDisplay.jsp';</script>");}else{application.setAttribute("lock", "false");out.print("<script>alert('该学生已存在!');location.href='add.jsp';</script>");}}%></body></html>change.jsp<%@page language="java"contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@page import="java.io.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=GBK"><title>修改信息</title></head><body><%-- <% if(request.getAttribute("tip") != null && request.getAttribute("tip").equals("stop")){request.removeAttribute("tip");out.print("<script>alert('不能直接访问该网页');</script>");}%> --%><center><jsp:useBean id="testBean"class="bean.XmlPage"scope="page"/><form action = "changesuccess.jsp"method = "post"><!-- 并发操作安全性代码 --><%String id=session.getAttribute("id").toString(),name=session.getAttribute("name").toString(),age=session.getAttribute("age").toString(),gender=session.getAttribute("gender").toString(),email=session.getAttribute("email").toString(),java=session.getAttribute("java").toString();%>在要修改处输入修改后信息:<br><br>姓 名:<input type= "text"name="name"style= "width = 165px;height = 22px;"value=<%=name%>><br><br>学 号:<input type= "text"name="id"style = "width = 165px;height = 22px;"value=<%=id %>><br><br>年 龄:<input type= "text"name="age"style = "width = 165px;height = 22px;"value=<%=age %>><br><br>性 别:<input type= "text"name="gender"style = "width = 165px;height = 22px;"value=<%=gender%>><br><br>email:<input type= "text"name="email"style= "width= 165px;height = 22px;"value=<%=email%>><br><br>java :<input type= "text"name="java"style= "width=165px;height = 22px;"value=<%=java%>><br><br><input type="submit"value="更改"/> <a href="studentInfoDisplay.jsp">返回</a></form></center></body></html>changesuccess.jsp<%@page language="java"contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@page import="java.io.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=GBK"> <title>find</title></head><body><%System.out.println("11213213");if(application.getAttribute("lock") == "true"){out.print("<script>alert('他人正在操作中');location.href='change.jsp';</script>");}else{application.setAttribute("lock", "true");}%><jsp:useBean id="testBean"class="bean.XmlPage"scope="page"/><%String user=session.getAttribute("id").toString();String Id=request.getParameter("id"),Name=request.getParameter("name"),Age=request.getParameter("age"),Gender=request.getParameter("gender"),Email=request.getParameter("email"),Java=request.getParameter("java");//Name= new String(Name.getBytes("ISO8859_1"), "GBK");//Gender= new String(Gender.getBytes("ISO8859_1"), "GBK");%><%if(!Id.equals(user)){if(testBean.check(Id,request.getRealPath("/WEB-INF/students.xml"))) {testBean.Edit(user,Id, Name, Age, Gender, Email, Java,request.getRealPath("/WEB-INF/students.xml"));application.setAttribute("lock", "false");out.print("<script>alert('成功更改!');location.href='studentInfoDisplay.jsp';</script>");}else{application.setAttribute("lock", "false");out.print("<script>alert('该学生已存在!');location.href='change.jsp';</script>");}}else{testBean.Edit(user,Id, Name, Age, Gender, Email, Java,request.getRealPath("/WEB-INF/students.xml"));application.setAttribute("lock", "false");out.print("<script>alert('成功更改!');location.href='studentInfoDisplay.jsp';</script>");}%></body></html>delete.jsp<%@page language="java"contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@page import="java.io.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=GBK"><title>删除</title></head><body><%if(application.getAttribute("lock") == "true"){out.print("<script>alert('他人正在操作中');location.href='studentInfoDisplay.jsp';</script>");}else{application.setAttribute("lock", "true");}%><jsp:useBean id="testBean"class="bean.XmlPage"scope="page"/><%String id=session.getAttribute("id").toString();%><%testBean.Del(id,request.getRealPath("/WEB-INF/students.xml")); %><%application.setAttribute("lock", "false");out.print("<script>alert('成功删除!');location.href='studentInfoDisplay.jsp';</script>");%></body></html>find.jsp<%@page language="java"contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@page import="java.io.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=GBK"><title>查找</title></head><body><%-- <% if(request.getAttribute("tip") != null &&。
《管理信息系统》上机试验学生任务书(管理类专业使用)长江大学工程技术学院管理系工商管理60801班王若川试验一模拟系统调试使用通过酒店管理信息系统的操作,能熟悉简单管理信息系统的组织架构,明确管理信息系统的基本功能,懂得管理信息系统的构成模块。
通过本系统操作完成以下任务,同时以下所有操作以截图的形式展现,最后以Word文档形式上交,用Ctrl+printfscreen 键可以完成截图.1、完成客户的房间预定管理。
点击预订管理,为顾客做预定。
2、完成多个房间的新客登记,并输入相关登记信息。
点击新客登记勾入几个房间号呈现下列图表。
3、客户入住后,完成客户“换房管理”。
点击客务中心——换房4、完成客户的“加开房间”管理。
是在指定客人账号名下加开一间或多间客房,注意这与新客登记是完全不同的,新客登记属于新开一个客人账号(客单),而加开房间不会,其房费仍然记在当前的客人账号名下。
点击客务中心——加开5、完成一个客户的挂帐退房。
挂账退房是可以将房间退房而不结账,注意这个功能比很少使用的,挂账退房是不结账的,客人账号(客单)还是未结账状态(如果没有其他在住房,那就是挂单状态)点击客务中心——挂退6、完成“未结账/挂账客人”的查询。
7、完成二个或多个客户“合并账单”功能。
客房系统——其他操作——合并账单8、完成一个双人间客房的“拆分帐单”操作。
9、完成客户“离店结帐”操作,并生成客户帐务单。
客房系统——其他操作——拆分账单10、完成“在住客户“查询操作。
客房系统——房态管理——在住客户账务总览11、完成“每日营业情况速览”操作。
该操作主要是了解酒店每天客户入住情况和房费收入情况。
报表中心——财务报表——每日速览12、完成“房态修改”操作。
或置为空房、脏房、保留房。
客房系统——房态管理——修改房态。
1.系统设计
1.1.业务流程图
当生产部需要备件时,向仓库发送领货单,领货单上显示所需要的备件名称及数量,仓库管理员查看库存,进行备件出库,并向生产部发送提货通知单,通知生产部领料。
当仓库内的备件少于规定数量后,仓库管理员向供应商发送缺货通知订单,,当供应商准备好备件后,向仓库发送提货通知单,将备件送至仓库,仓库管理员将备件入库。
系统业务流图如图1。
图1 备件仓库管理系统业务流图
1.2.系统功能流图
在用户登录首页后,首页分为不同的区域:备件管理,用户管理,综合管理,副项管理四大区域。
备件管理区用户可以对备件进行基本信息添加,基本信息更改,基本信息查询,基本信息删除。
在用户管理区用户可以更改密码。
综合管理区用户可以查询库存总汇。
附项管理区用户可以进行库位添加,库位管理,供应商添加,和供应商查询。
系统管理功能流程图如图2。
图2 系统功能流程图
1.3.ER图
(1)用户数据实体:记录管理者的登录名、姓名和密码,其中登录名和密码是管理功能模块登录验证时所必须的。
如图3。
图3 用户实体的E-R图
(2)备件实体:包括备件名称,单位,单价,编号,规格,库存量,订货成本,编码,存放库区,备件质量,安全库存,初始年需求量,单位库存,供货商。
图4 备件实体E-R图
(3)入库单实体:包括入库单单号,经办人,备件名称,数量,进货价,默认库位,供货单位,备注。
图5 进货单实体E-R图
(4)出库单实体:包括进货单号,备件名称,备件编号,经办人,出库日期,出库金额,库位编号。
图6 出库单实体E-R图
(5)供应商实体:供应商名称,编号,供应商品,联系方式,质量。
图7 供应商实体E-R图
(6)仓库实体:库位数目,位置。
图8 用户实体E-R图
1.4.数据字典
数据库概念结构设计完毕后,现可以将上面的数据库概念结构转换为某种数据库所支持的实际数据模型,也就是数据库的逻辑设计。
数据库结构
表2 备件信息
表3 进货单信息
表4 出库单信息
表5 供应商信息
表6 仓库信息
2.实现方式
2.1.登录界面
登录界面如图7所示。
图7 登录界面
输入用户名,密码后,实现登录功能。
进入主页面。
如图8。
图8 主页面
2.2.系统功能
主页面的操作菜单中,可以进行备件管理:备件基本信息查询,备件基本信息更改,备件基本信息删除,备件基本信息添加操作。
用户管理中,用户可以更改自己的密码。
库存管理中,用户可以查看所有在库的备件。
附项管理中,用户可以进行库位添加,库位管理,供应商添加,供应商管理(供应商修改,删除,查询)。
2.2.1.备件基本信息查询
输入想要查询的备件名称后,页面将由Query.jsp页面跳转至QueryResult.jsp页面,显示查询结果,若没有查询到结果,页面在2秒后将自动跳转至查询页面。
如图9。
图9 备件基本信息查询页面
图10 备件基本信息查询结果页面2.2.2.备件基本信息添加
备件基本信息添加页面如图11。
图11 备件基本信息添加页面2.2.3.备件基本信息删除
备件基本信息删除页面如图12。
图12 备件基本信息删除页面
2.2.4.备件基本信息更改
备件基本信息删除界面如图13,输入备件编号后,页面有Modify.jsp页面跳转至ModDetail.jsp页面,如图14。
图13 备件基本信息删除页面
2.3.附项管理
2.3.1.供应商添加
供应商添加页面如图15。
图15 供应商添加页面
2.3.2.供应商管理
供应商管理中,可以查询,删除和修改供应商信息。
图16 供应商管理页面
查询界面如图17。
图17 供应商查询页面查询结果面如图18。
图18 查询结果页面供应商修改页面如图19。
图19 供应商修改页面供应商删除页面如图20。
图20 供应商删除页面。