信息系统分析与设计报告书.docx
《信息系统分析与设计报告书.docx》由会员分享,可在线阅读,更多相关《信息系统分析与设计报告书.docx(28页珍藏版)》请在冰豆网上搜索。
信息系统分析与设计报告书
《信息系统分析与设计》课程设计报告书
题目:
学校教材订购系统
专业:
信息管理与信息系统
班级:
信息1301
姓名:
仲婷婷
指导教师:
温佳伟
扬州大学信息工程院
二零一六年七月
课程设计任务书
一、
题目:
学校教材订购系统
二、内容
详细了解所选题目的业务管理业务流程,调查和分析管理各主要业务环节的信息化需求及业务处理现状,针对计算机处理事务管理问题的特征和要求,按规范的结构化系统开发标准,完成培训管理系统的系统分析、系统设计,运用面向对象等工具进行程序设计及系统调试、运行之过程。
进一步加强和提升学生信息系统分析与设计的综合能力。
三、基本工作量要求
1、搜集、阅读相关资料。
2、运用系统分析方法,调查与培训管理有关的主要业务流程,并对相关的报表进行细致分析,搞清楚相关报表的内涵和钩稽关系。
提出基本论点及框架结构。
3、根据培训管理业务现状,画出业务流程图、分层的数据流程图,通过业务分析,完成系统结构图设计,完成系统用户程序设计和相关数据库结构设计,并保证基本系统运行无故障,实现从数据录入、信息查询和结果输出的程序设计、调试。
在此基础上完成结构化的系统分析报告,同时对程序结构和关键技术进行叙述,从而完成系统开发任务。
4、根据指导老师审核意见及课程设计规范,整理、修改,完成一篇字数不少于4000字的课程设计报告。
起止日期:
2016年7月4日至2016年7月8日(共1周)
指导教师签名:
日期:
引言
近年来,以计算机科学技术为核心的信息技术正深刻地改变着人们的工作方式、生活方式和思维方式,所以人们越来越注重高效和便捷。
近些年,大学不断扩招,学生人数不断增加,而一些传统的管理系统逐渐表现出它们的弊端,这些都无疑隐形的增加了各方面的压力。
学校的教材订购系统也是面临这巨大的挑战。
以前人工订购教材流程复杂,容易出错,且效率低下,经常造成资料管理混乱,容易产生问题。
虽然现在也有些学校也开始实用教材订购系统,但这些系统还存在教材管理和征订方面半手工半信息化的状况。
这对新形势下的教育工作造成了一定的不良影响,为了提高效率与时代同行,学校教材订购系统的改善成为了各大学院校的迫切需求,本次课程设计的目的主要为了更有效地增强学校教材订购的管理,方便广大师生的教材订购服务,提高工作质量及服务质量。
在第一章中,主要对系统进行分析,包括系统的开发背景,可行性分析和系统的需求分析。
在第二章中,主要对系统进行设计,介绍了系统的功能模块,输入输出设计,数据库设计和详细设计。
在第三章中主要讲的是系统的编码。
在第四章中是对开发的系统进行软件测试,包括了对系统测试模块的介绍和系统的测试报告。
最后是总结,主要是自己对开发教材订购系统的收获和体会,还有认识不足和存在的问题,让自己可以改进。
第一章可行性分析
1.1教材订购系统开发背景概述
随着计算机技术和计算机网络的发展,信息行业也开始崛起。
一些基于信息而开发的系统也逐渐进入人们的视野,人们通过网络浏览各类信息,发送电子邮件,传送文件,网上娱乐,远程教育,远程医疗等等。
互联网因为它简单的操作和强大的信息量,从而逐渐成为了人们工作中的好帮手和生活中不可缺少的重要组成部分。
现代社会同样是个追求高效的社会,而一些传统的管理系统逐渐表现出它们的弊端。
学校也同样面对着这些问题,学校传统管理特别是教材订购。
以前人工订购教材流程复杂,容易出错,且效率低下,经常造成资料管理混乱,容易产生问题。
虽然现在也有些学校也开始实用教材订购系统,但这些系统还存在在教材管理和征订方面半手工半信息化的状况。
这对新形势下的教育工作造成了一定的不良影响,所以现在我们应用数据库等技术来实现教材订购的计算机管理是非常有意义的工作。
现在,我们开始对学校的教材订购系统进行一些研究。
其实,学校的教材订购系统实质是利用计算机和通讯设备,为学校的师生做好订购教材的工作,提供高效、便捷的服务。
1.2可行性分析
可行性分析也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会等方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。
本系统的可行性分析包括以下几个方面的内容:
(1)操作的可行性
界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充。
(2)技术上的可行性
本系统需要windows系列操作系统环境,并且装有MicrosoftVisualC++6.0软件的计算机即可,对机器本身没有太高的要求,一般单位或个人电脑完全可满足要求。
(3)管理上的可行性
主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。
本系统是教材订购系统,学校在规章制度和管理方法方面为本系统的建设提供了制度保障。
综上所述,此系统开发目标已明确,在技术、操作和管理上可行,并且投入少、见效快。
因此系统的开发是完全可行的。
1.3需求分析
需求分析就是描述系统的需求,通过定义系统中关键类域来建立模型。
现在进行需求分析的第一步描述学校教材订购系统的功能,以此确定系统的功能需求。
这次的学校教材订购的主要功能是教材的订购管理和采购管理。
教师或学生根据自己的需要制定购书单,然后向系统提交,他们也可以进行查询教材信息,查阅订单等操作。
教材发行人员是查询购书单,接着对购书单进行审核,审核过后,如果通过就打印发票并进行登记,最后返给老师或学生领书单。
这样,老师或学生便可去书库领书。
如果审核过后是脱销教材,就登记缺书,并发缺书单给书库采购人员。
教材采购人员是根据教材发行人员提交的经审核的购书单进行采购书籍,一旦新书入库后,即发进书通知给教材发行人员。
根据以上对学校教材订购系统功能的分析,我把此系统分为两个子系统:
销售系统和采购系统。
销售系统的主要工作流程为:
首先由老师或学生提交购书单,然后教材发行人员对购书单进行审核,也就是查询书库内存书,如果书库内存书量足够,那就是审核后的有效购书单,接着开发票、登记并返给老师或学生领书单,这样,教师或学生即可去书库领书。
采购系统的主要工作流程为:
如果发现学生或老师所需要的教材是脱销教材,则登记缺书,并发缺书单给书库采购人员;如果不是,就进行采购。
新书采购回来后,需要进行入库工作,最后发进书通知给教材发行人员,好让教师或学生即可去书库领书。
当然,还有一项工作也是非常的重要,就是对系统的各项信息进行维护。
教材的发行人员经常会对教材的信息进行添加,删除,修改等操作,这个时候,教材的信息维护显得尤为重要,以防止系统出错,而造成不便。
第二章系统分析
学校的教材订购系统看似简单,但是要具体的实施,还是比较麻烦的。
根据以上对学校教材订购系统的分析,可以明白这个系统主要有两个功能,订购管理与采购管理。
其主要的业务流程包括审核购书单,采购教材,教材的入库与出库。
2.1.业务流程分析
2.1.1销售子系统业务流程图
该图描述的是销售子系统的业务流程情况,如图2.1所示:
图2.1销售子系统业务流程图
2.1.2采购子系统业务流程图:
该图描述的是采购子系统的业务流程情况,如图2.2所示:
图2.2采购子系统业务流程图
综合以上两个子系统的业务流程图可得学校教材订购系统的总业务流程图如图2.3所示:
图2.3总系统业务流程图
2.2数据及数据流程分析
2.2.1数据流图
根据需求分析,按用户的要求,可以得到下面的一层与二层数据流程图:
(1)学校教材订购系统的顶层数据流图如图2.4所示:
图2.4学校教材订购系统的顶层数据流图
(2)学校教材订购系统的二层数据流图
(2.1)学校教材订购系统的二层销售系统数据流图如图2.5所示:
图2.5学校教材订购系统的二层销售系统数据流图
(2.2)学校教材订购系统的二层采购系统数据流图如图2.6所示:
图2.6学校教材订购系统的二层采购系统数据流图
以上的数据流图说明了教材订购系统的流程。
学生/老师去订购教材,填写完购书单后提交。
教材发行人员看到购书单后,对购书单进行检查,当确定是有效购书单后,根据购书单查询书籍的库存信息。
如果书本的库存足够,通知订购教材的学生/老师,发出领书单。
待学生/老师付款后开发票,然后学生/老师便可去书库领书了。
如果教材的发行人员发现此学生/老师所订购的教材库存不够,或者已没有库存,便编制缺书单递交给教材的采购人员。
采购人员根据缺书单综合统计制定总的教材待购表,开始对教材进行采购。
待采购人员对采购回来的教材入库完毕,就发进书单给教材的发行人员,通知他们教材已送到。
然后再有发行人员通知学生/老师来领书。
2.3数据字典
本系统涉及到的数据字典可以从六个方面的展示,以下分别从数据元素条目、处理过程条目、外部实体条目三个方面进行描述:
(1)数据元素条目如表2.1和表2.2所示:
表2.1教材编号数据字典
表2.2人员编号数据字典
(2)处理过程条目如表2.3和表2.4所示
表2.3制定缺书单数据字典
表2.4制定购书单数据字典
(3)外部实体条目如表2.5所示
表2.5发行人员数据字典
2.4判定树
学校教材订购系统起功能的具体实现的判定树为图2.7所示:
图2.7教材订购系统判定树
第三章系统设计
3.1模块设计
3.1.1.功能描述
根据上一章的需求分析可以,可以得到下图2-1,这说明了整个教材订购系统的主要功能结构,此系统包括子系统:
销售子系统和采购子系统。
销售子系统的功能模块主要包括提交购书单,审核购书单,开发票,登记购书纪录,返回领书单和领书后修改库存信息这六个部分,而采购子系统主要包括查看缺书单,制定导购教材表,发进书通知单和修改库存信息这四个部分。
如下图3.1所示:
图3.1教材订购系统的功能结构
3.2E-R图设计
教材的属性有编号、书名、主编、出版社、价格和数量等。
书名、主编等是方便用户用来进行搜索的条件。
教材工作人员包括了教材的发行人员和采购人员,他们的属性有工号、姓名、性别、年龄、电话、职务等。
教材工作人员有不同的职务,分别进行不同的工作。
其他的属性可以帮助了解教材订购系统工作人员的信息。
老师或学生属性有编号或学号、姓名、性别、学校、所在系名、所在班级名等。
姓名、性别、学校、所在系名、所在班级名等,是识别不同的购书订单的主要信息。
明白了教材订购系统的主要对象后,下面来看图3.2,这是教材订购系统的ER图:
图3.2E-R图
3.3输入输出设计
根据上一节对学校教材订购系统的功能结构描述后,可以知道此系统分为两个子系统:
销售子系统和采购子系统。
下面详细的介绍一下系统的输入输出。
3.3.1、销售子系统
对于销售系统来说,输入:
购书单;输出:
领书单,缺书单
(1)购书单如表3.1所示
表3.1购书单
名称:
购书单
组成:
购书单编号+书籍名称+书籍数量+购书人
描述:
学生/老师所需要订购的教材信息
备注:
(2)领书单如表3.2所示
表3.2领书单
名称:
领书单
组成:
领书单编号+书籍名称+书籍数量+领书人
描述:
通知学生/老师可以领取的教材信息
备注:
(3)缺书单如表3.3所示
表3.3缺书单
名称:
缺书单
组成:
缺书单编号+书籍名称+书籍数量+填写人
描述:
库存不足的书籍信息
备注:
3.3.2、采购子系统
对于采购系统来说,输入:
缺书单;输出:
待购教材表,进书通知单
(1)缺书单如表3.4所示
表3.4缺书单
名称:
缺书单
组成:
缺书单编号+书籍名称+书籍数量+填写人
描述:
库存不足的书籍信息
备注:
(2)待购教材单如表3.5所示
表3.5待购教材单
名称:
待购教材单
组成:
待购教材单编号+书籍名称+书籍数量+填写人
描述:
需要采购的书籍信息
备注:
(3)进书通知单如图表3.6所示
表3.6进书通知单
名称:
进书通知单
组成:
进书通知单编号+书籍名称+书籍数量+填写人
描述:
采购人员的新购进书籍的信息
备注:
3.4数据库设计
前面已经对学校的教材订购系统进行了比较全面的分析,下面来对此系统的数据库进行说明:
(1)购书表如图3.3所示
图3.3购书表
(2)库存表如图3.4所示
图3.4库存表
(3)发行人员表如图3.5所示
图3.5发行人员表
(3)学生/教师表如图3.6所示
图3.6学生/教师表
(4)缺书表如图3.7所示
图3.7缺书表
(5)进库表如图3.8所示:
图3.8进库表
第四章系统实施
根据教材订购系统的主要功能结构的描述,用程序流程图对此系统进行详细设计和各模块详细设计说明书如下。
4.1系统流程图
4.1.1销售子系统模块程序流程图:
对于销售子系统的过程执行情况如图4.1所示:
N
Y
N
N
Y
Y
图4.1销售子系统流程图
4.1.2采购子系统模块工作流程图:
对于采购子系统的过程执行情况如图4.2所示:
图4.2采购子系统流程图
4.2系统代码设计
根据上面的系统分析与设计,学校的教材订购系统大致的模型已出现,下面来介绍教材订购系统的实现。
(由于本系统代码比较多,这里只对主界面做简单介绍,详细代码见附录)
以下是销售子系统系统代码:
package大三下.学校教材订购系统;
importjava.awt.Color;
importjava.awt.Font;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.ImageIcon;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JMenu;
importjavax.swing.JMenuBar;
importjavax.swing.JMenuItem;
importjavax.swing.JOptionPane;
importjavax.swing.JPasswordField;
importjavax.swing.JTextArea;
importjavax.swing.JTextField;
publicclass销售系统extendsJFrameimplementsActionListener{
JLabellabel=newJLabel("个人信息:
");
JLabeldgjc0=newJLabel();//订购教材
JLabelcxdd=newJLabel();//查询订单
staticJTextAreacxdd3;
JButtonqr;//确认
JLabel[]dgjc={newJLabel("请输入教材编号:
"),newJLabel("请输入购买的数量:
")};
staticJTextField[]dgjc2={newJTextField(),newJTextField()};
//创建文件菜单
JMenufileMenu=newJMenu("文件");
public销售系统(){
this.setSize(900,650);
this.setLocation(200,10);;
this.setTitle("学校教材订购系统");
this.setResizable(false);
label.setLayout(null);
JLabelb1=newJLabel();
ImageIconimage=newImageIcon("src/image/11.jpg");
image.setImage(image.getImage().getScaledInstance(900,650,0));
b1.setIcon(image);
b1.setSize(900,520);
b1.setLocation(1,1);
cxdd.setBounds(10,10,600,500);
JLabelcxdd2=newJLabel("我的订单:
");
cxdd2.setBounds(50,50,100,30);
cxdd3=newJTextArea("教材编号数量单价总价状态\n");
cxdd3.setBounds(50,80,600,300);
cxdd.add(cxdd3);
cxdd.add(cxdd2);
cxdd.setVisible(false);
b1.add(cxdd)
dgjc0.setBounds(10,10,600,500);
dgjc[0].setBounds(100,100,150,25);
dgjc0.add(dgjc[0]);
dgjc2[0].setBounds(230,100,150,25);
dgjc0.add(dgjc2[0]);
dgjc[1].setBounds(100,140,150,25);
dgjc0.add(dgjc[1]);
dgjc2[1].setBounds(230,140,150,25);
dgjc0.add(dgjc2[1]);
qr=newJButton("确认提交");//登录按钮
qr.setBounds(180,180,100,25);
dgjc0.add(qr);
qr.setActionCommand("qr");
qr.addActionListener(this);
dgjc0.setVisible(false);
b1.add(dgjc0);
label.add(b1);
//创建菜单栏
JMenuBarbar=newJMenuBar();
setJMenuBar(bar);
//订购教材
JMenudgMenu=newJMenu("订购教材");
JMenuItemdgItem=newJMenuItem("订购教材");
dgItem.setActionCommand("dgItem");
dgItem.addActionListener(this);
dgMenu.add(dgItem);
bar.add(dgMenu);
//查询订单
JMenucxMenu=newJMenu("查询");
JMenuItemcxddItem=newJMenuItem("查询订单");
cxddItem.setActionCommand("cxddItem");
cxddItem.addActionListener(this);
cxMenu.add(cxddItem);
bar.add(cxMenu);
//创建文件菜单
JMenuaboutMenu=newJMenu("关于");
JMenuItemaboutItem=newJMenuItem("版本信息(about...)");
aboutItem.setActionCommand("aboutItem");
aboutItem.addActionListener(this);
aboutMenu.add(aboutItem);
bar.add(aboutMenu);
//退出菜单
JMenuexitMenu=newJMenu("退出");
JMenuItemsure=newJMenuItem("确定退出(?
)");
sure.setActionCommand("exit");
sure.addActionListener(this);
exitMenu.add(sure);
bar.add(exitMenu);
this.add(label);
this.setVisible(true);
}
@Override
publicvoidactionPerformed(ActionEvente){
dgjc0.setVisible(false);
cxdd.setVisible(false);
Stringcom=e.getActionCommand();
if("aboutItem".equals(com)){
JOptionPane.showOptionDialog(this,"本系统名称:
学校教材订购系统销售子系统;"
+"\n作者:
仲婷婷\n班级:
13级","版本信息",JOptionPane.DEFAULT_OPTION,
JOptionPane.PLAIN_MESSAGE,null,newObject[]{"OK"},"OK");
}elseif("exit".equals(com)){
System.exit(0);
}
elseif("dgItem".equals(com)){
dgjc0.setVisible(true);
}
elseif("qr".equals(com)){
dgjc0.setVisible(true);
连接到数据库user=new连接到数据库();
if(user.cxjc()){
JOptionPane.showOptionDialog(this,"提交成功","提示信息",JOptionPane.DEFAULT_OPTION,
JOptionPane.PLAIN_MESSAGE,null,newObject[]{"OK"},"OK");
user.tjdsd();
}
else{
JOptionPane.showOptionDialog(this,"您输入的编号有误","错误提示",JOptionPane.DEFAULT_OPTION,
JOptionPane.PLAIN_MESSAGE,null,newObject[]{"OK"},"OK");
}
}
elseif("cxddItem".equals(com)){
cxdd3.setText("教材编号数量单价总价状态\n");
cxdd.setVisible(true);
连接到数据库user=new连接到数据库();
user.cxdsd();
}
}
4.3系统测试
(1)学校教材订购系统登录功能如图4.3所示
图4.3登录功能界面
(2)学校