软件工程课程设计样本文档格式.docx
- 文档编号:22150779
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:31
- 大小:82.19KB
软件工程课程设计样本文档格式.docx
《软件工程课程设计样本文档格式.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计样本文档格式.docx(31页珍藏版)》请在冰豆网上搜索。
1.4相关文件及其功能
1.ojdbc14.jar
该文件Oracle数据的JDBC驱动程序。
2.css/style.css
该文件提供样式表格式功能。
3.js/Calendar1.inc
该文件提供日历选择的功能。
4.AddEmp.jsp
该文件提供录入病人数据界面。
5.EmpView.jsp
该文件提供检索病人数据界面。
6.UpdateEmp.jsp
该文件提供修改病人数据界面。
7.default.jsp
该文件提供系统初始欢迎信息。
2详细设计
2.1主类ConnFactory
(1)成员变量见表2-1
表2-1主要成员变量(属性)
成员变量描述
变量类型
名称
(2)方法见表2-2
表2-2主要方法
方法名称
返回类型
功能
备注
getConnection
connection
返回数据库对象
构造方法
(3)源代码见文件ConnectionFactory.java
2.2类EmpDAO
(1)成员变量见表2-3
表2-3主要成员变量
数据库连接对象
Connection
Conn
页码
int
pagenum
一页几条
pagesize
总记录数
recordcount
总页数
pagecount
(2)方法见表2-4
表2-4主要方法
方法名
StudentDAO
初始数据库连接
addEmp
插入病人数据
updateEmp
更新病人数据
deleteEmp
删除病人数据
getEmp
获得单一病人数据
getAllEmp
活的所有病人数据
closeDB
关闭数据库连接
(3)源代码见文件EmpDAO.java
2.3类Employees
(1)成员变量见表2-5
表2-5主要成员变量
员工编号
empid
邮箱地址
String
电话号码
Phone_number
入职日期
Date
Hire_date
职务
Jobs
job
工资范围
DoubleSalary
工资
salary
部门
Departments
department
(2)方法见表2-6
表2-6主要方法
Employees
7个参数
8个参数
(3)源代码见文件EmployeesDAO.java
2.4类AddEmpServlet.java
(1)成员变量见表2-7
表2-7主要成员变量
(2)方法见表2-8
表2-8主要方法
doPost
录入数据
2个参数
(3)源代码见文件AddEmpServlet.java
2.5类DeleteEmpServlet
(1)成员变量见表2-9
表2-9主要成员变量
(2)方法见表2-10
表2-10主要方法
doGet
删除数据
(3)源代码见文件DeleteEmpServlet.java
2.6类GetEmpServlet
(1)成员变量见表2-11
表2-11主要成员变量
(2)方法见表2-12
表2-12主要方法
获得单一数据
(3)源代码见文件GetEmpServlet.java
2.7类UpdateEmpServlet
(1)成员变量见表2-13
表2-13主要成员变量
(2)方法见表2-14
表2-14主要方法
更新数据
(3)源代码见文件UpdateServlet.java
2.8类EmpViewServlet
(1)成员变量见表2-15
表2-15主要成员变量
无
null
(2)方法见表2-16
表2-16主要方法
查询所有数据
(3)源代码见文件EmpViewServlet.java
3功能测试及运行效果
3.1系统主界面
图3-1主界面
3.2员工查询界面
图3-2员工查询界面
3.3员工录入界面
图3-3员工录入界面
图3-4员工修改界面
3.4员工删除界面
图3-5员工删除界面
软件源程序
ManagerWindow
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.io.*;
importjava.util.HashMap;
publicclassManagerWindowextendsJFrameimplementsActionListener{
InputPatient基本信息录入;
ModifySituation基本信息修改;
Inquest基本信息查询与打印;
Delete基本信息删除;
JMenuBarbar;
JMenufileMenu;
JMenuItem录入,修改,查询与打印,删除,欢迎界面;
HashMap<
String,Patient>
基本信息=null;
Filefile=null;
CardLayoutcard=null;
JLabellabel=null;
JPanelpCenter;
publicManagerWindow(){
录入=newJMenuItem("
录入病人基本信息"
);
修改=newJMenuItem("
修改病人基本信息"
查询与打印=newJMenuItem("
查询与打印病人基本信息"
删除=newJMenuItem("
删除病人基本信息"
欢迎界面=newJMenuItem("
欢迎界面"
bar=newJMenuBar();
fileMenu=newJMenu("
菜单选项"
fileMenu.add(录入);
fileMenu.add(修改);
fileMenu.add(查询与打印);
fileMenu.add(删除);
fileMenu.add(欢迎界面);
bar.add(fileMenu);
setJMenuBar(bar);
label=newJLabel("
医院病人信息管理软件"
JLabel.CENTER);
label.setIcon(newImageIcon("
hello.jpg"
));
label.setFont(newFont("
黑体"
Font.BOLD,36));
label.setHorizontalTextPosition(SwingConstants.CENTER);
label.setForeground(Color.yellow);
基本信息=newHashMap<
();
录入.addActionListener(this);
修改.addActionListener(this);
查询与打印.addActionListener(this);
删除.addActionListener(this);
欢迎界面.addActionListener(this);
card=newCardLayout();
pCenter=newJPanel();
pCenter.setLayout(card);
file=newFile("
基本信息.txt"
if(!
file.exists()){
try{
FileOutputStreamout=newFileOutputStream(file);
ObjectOutputStreamobjectOut=newObjectOutputStream(out);
objectOut.writeObject(基本信息);
objectOut.close();
out.close();
}
catch(IOExceptione){}
}
基本信息录入=newInputPatient(file);
基本信息修改=newModifySituation(file);
基本信息查询与打印=newInquest(file);
基本信息删除=newDelete(file);
pCenter.add("
label);
录入界面"
基本信息录入);
修改界面"
基本信息修改);
删除界面"
基本信息删除);
add(pCenter,BorderLayout.CENTER);
validate();
setVisible(true);
setBounds(100,50,460,280);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
intn=JOptionPane.showConfirmDialog(null,"
确认退出吗?
"
"
确认对话框"
JOptionPane.YES_NO_OPTION);
if(n==JOptionPane.YES_OPTION)
System.exit(0);
}});
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==录入){
基本信息录入.clearMess();
card.show(pCenter,"
elseif(e.getSource()==修改){
基本信息修改.clearMess();
elseif(e.getSource()==查询与打印){
基本信息查询与打印.clearMess();
基本信息查询与打印.setLocation(getBounds().x+getBounds().width,getBounds().y);
基本信息查询与打印.setVisible(true);
elseif(e.getSource()==删除)
elseif(e.getSource()==欢迎界面)
publicstaticvoidmain(Stringargs[]){
newManagerWindow();
}
ModifySituation
importjava.util.*;
importjavax.swing.filechooser.*;
publicclassModifySituationextendsJPanelimplementsActionListener{
PatientPicturepic;
基本信息表=null;
JTextField病历号,姓名,房间号,出生;
JComboBox科室;
JButton选择照片;
JRadioButton男,女;
ButtonGroupgroup=null;
JButton开始修改,录入修改,重置;
FileInputStreaminOne=null;
ObjectInputStreaminTwo=null;
FileOutputStreamoutOne=null;
ObjectOutputStreamoutTwo=null;
FilesystemFile,imagePic;
JComboBoxoldMess;
Patientstu=null;
publicModifySituation(Filefile){
systemFile=file;
pic=newPatientPicture();
病历号=newJTextField(6);
姓名=newJTextField(6);
科室=newJComboBox();
FileReaderinOne=newFileReader("
科室.txt"
BufferedReaderinTwo=newBufferedReader(inOne);
Strings=null;
inti=0;
while((s=inTwo.readLine())!
=null)
科室.addItem(s);
inOne.close();
inTwo.close();
catch(IOExceptionexp){
科室.addItem("
内科"
外科"
房间号=newJTextField(6);
出生=newJTextField(6);
选择照片=newJButton("
选择"
group=newButtonGroup();
男=newJRadioButton("
男"
true);
女=newJRadioButton("
女"
false);
group.add(男);
group.add(女);
oldMess=newJComboBox();
开始修改=newJButton("
开始修改"
录入修改=newJButton("
录入修改"
录入修改.setEnabled(false);
选择照片.setEnabled(false);
重置=newJButton("
重置"
病历号.addActionListener(this);
开始修改.addActionListener(this);
录入修改.addActionListener(this);
重置.addActionListener(this);
选择照片.addActionListener(this);
Boxbox1=Box.createHorizontalBox();
box1.add(newJLabel("
输入要修改信息的病历号:
JLabel.CENTER));
box1.add(病历号);
box1.add(开始修改);
Boxbox2=Box.createHorizontalBox();
box2.add(newJLabel("
(新)姓名:
box2.add(姓名);
Boxbox3=Box.createHorizontalBox();
box3.add(newJLabel("
(新)性别:
box3.add(男);
box3.add(女);
Boxbox4=Box.createHorizontalBox();
box4.add(newJLabel("
(新)科室:
box4.add(科室);
Boxbox5=Box.createHorizontalBox();
box5.add(newJLabel("
(新)房间号:
box5.add(房间号);
Boxbox6=Box.createHorizontalBox();
box6.add(newJLabel("
(新)出生:
box6.add(出生);
Boxbox7=Box.createHorizontalBox();
box7.add(newJLabel("
病人已有的数据:
box7.add(oldMess);
BoxboxH=Box.createVerticalBox();
boxH.add(box1);
boxH.add(box2);
boxH.add(box3);
boxH.add(box4);
boxH.add(box5);
boxH.add(box6);
boxH.add(box7);
boxH.add(Box.createVerticalGlue());
JPanelpicPanel=newJPanel();
picPanel.setBackground(Color.orange);
picPanel.add(newJLabel("
选择照片:
picPanel.add(选择照片);
JPanelputButton=newJPanel();
putButton.setBackground(Color.white);
putButton.add(录入修改);
putButton.add(重置);
JPanelmessPanel=newJPanel();
messPanel.setBackground(Color.orange);
messPanel.add(boxH);
setLayout(newBorderLayout());
JSplitPanesplitV=
newJSplitPane(JSplitPane.VERTICAL_SPLIT,picPanel,pic);
JSplitPanesplitH=newJSplitPane(JSplitPane.HORIZONTAL_SPLIT,messPanel,splitV);
add(splitH,BorderLayout.CENTER);
add(putButton,BorderLayout.SOUTH);
if(e.getSource()==开始修改||e.getSource()==病历号){
oldMess.removeAllItems();
Stringnumber="
;
imagePic=null;
stu=null;
number=病历号.getText();
if(number.length()>
0){
try{
inOne=newFileInputStream(systemFile);
inTwo=newObjectInputStream(inOne);
基本信息表=(HashMap<
)inTwo.readObject();
catch(Exceptionee){}
if(基本信息表.containsKey(number)){
录入修改.setEnabled(true);
选择照片.setEnabled(true);
stu=基本信息表.get(number);
oldMess.addItem("
姓名:
+stu.getName());
科室:
+stu.getDisciping());
房间号:
+stu.getGrade());
出生日期:
+stu.getBorth());
if(stu.getSex().equals("
))
男.setSelected(true);
else
女.setSelected(true)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计 样本