文档库 最新最全的文档下载
当前位置:文档库 › 企业进销存管理系统 课程设计 软件工程

企业进销存管理系统 课程设计 软件工程

企业进销存管理系统 课程设计 软件工程
企业进销存管理系统 课程设计 软件工程

河南理工大学

计算机科学与技术学院课程设计报告

(2015-2016-1)

课程名称软件工程课程设计

设计题目企业进销存管理系统

学生姓名徐松

学号311309060209

专业班级软件工程1302

指导教师王静

2016 年 1 月14 日

一、系统背景 (3)

二、系统分析 (3)

1.理解需求 (3)

2.需求任务分析................................. . (3)

3.数据库 (4)

三、系统设计....................................................................................................................................错误!未定义书签。

1.Item类设计 (7)

2.数据模型公共类 (8)

3.Dao公共类 (13)

3.4系统登录模块设计 (14)

1.设计登录窗体 (14)

2.密码文本框 (15)

3.“登录”按钮 (16)

3.5系统主窗体设计 (17)

1.设计菜单栏 (17)

2.设计工具栏 (17)

3.设计状态栏 (17)

3.6销售单模块设计 (18)

1.设计销售窗体 (18)

2.添加销售商品 (18)

3.销售统计 (18)

4.商品销售 (18)

四、总结 (21)

一、系统背景

中小企业在我国经济发展中具有重要地位,随着我国市场经济的蓬勃发展和人们对计算机的普遍应用,批发、零售行业正处在一个高速发展的时期。行业的快速发展必然导致竞争的加剧,要想在激烈的市场竞争中谋求发展,客观上要求企业必须加强内部管理,提高运营效率。而我国大部分小型批发、零售企业在信息机制上还没有摆脱原有的手工模式,企业内部没有形成完善的、有效的信息化管理机制,企业发展的动力不足,从而影响企业的持续、稳定、快速的发展。

当今国内外多数企业的竞争特点是:产品的种类、规格特别多,市场需求变化很快,与分销商,零售商的关系日益密切等。而随着业务量的扩大,传统的管理方法已经无法处理日益膨胀的大量的业务数据,企业采用电脑管理进货、库存、销售等诸多环节也已成为趋势及必然。

实现企业信息化管理是现代社会中小企业稳步发展的必要条件,它可以提高企业的管理水平和工作效率,最大限度地减少手工操作带来的失误。进销存管理系统正是一个信息化管理软件,可以实现企业的进货、销售、库存管理等各项业务的信息化管理。出于以上原因,本课程设计将基于MySQL数据库并以JAVA 为开发环境设计实现一个企业进销存管理系统。该系统包括基础信息管理、进货管理、销售管理、库存管理、查询统计、系统管理几个模块,主要是处理商业企业商品的采购、库存和销售各个环节的活动,具有良好的人机界面。考虑到系统的使用对象可能较多,权限管理良好,数据查询方便,支持多条件查询。

二、系统分析

1、理解需求

本系统通过进销存系统的终端用户和客户的进行调研后,得出系统需求的关键

(1)进货管理商品进货信息管理:商品进货信息包括商品进货数量、单价、供货商、进货日期、等。商品进货管理功能完成进货信息登记、修改和删除等。更新库存:进货信息的变动直接关系到库存的变化

(2)库存管理

库存商品信息管理::商品库存信息包括商品进货数量、单价、供货商、进货日期、等。商品库存管理功能完成库存信息登记、修改和删除、查询等。

(3)销售管理

信息管理:商品销售信息包括商品销售数量、单价、统计日等商品销售。管理功能

完成销售信息登记、修改和删除,以及销售总汇查询。

本系统应该对基础数据(用户数据字典)进行维护。系统应该提供强大的数据统计、查询、报表生成及打印等功能。系统客户端运行在Windows各版的平台下,系统还应该有一个较好飞图形用户界面。系统还应该有很好的可扩展性。系统应该容易上手,方便使用。

2、需求分析任务

第一项任务:画出“进销存管理系统”的组合结构图,即组织结构模型。

第二项任务:画出“进销存管理系统”的业务操作图,即业务操作模型。

第三项任务:画出“进销存管理系统”的数据流程图。

第四项任务:列出“进销存管理系统”的功能点列表,即功能模型。

第五项任务:列出“进销存管理系统”的性能点表,即性能模型。

第六项任务:确定“进销存管理系统”的环境模型,即运行环境。

3.数据库

数据库设计是进销存信息系统的核心,采用规范化设计,使数据库结构尽可能简化,减少冗余,保持系统数据结构的一致性。根据不同的需求,一个商品流通企业进销存管理系统可包括几个到上百个不等的数据表、数据视图、存储过程以及函数等,但最基本的数据表应该包括:操作用户数据表、公司信息数据表、采购明细数据表、采购客户数据表、采购信息数据表、供应客户数据表、商品信息数据表、销售明细数据表和销售信息数据表;数据视图包括:采购入库明细视图、累计采购商品视图、累计销售商品视图和销售出库明细视图

角色定义

组织结构图中各单位职责说明与相关业务,如表:

销售人员信息单据

进货信息单据

商品销售信息单据

用户信息单据

经手人信息表(jsr)

客户实体E-R图

企业进销存管理系统将记录所有的客户信息,在销售、退货等操作时,将直接引用该客户的实体属性。客户实体包括客户编号、客户名称、简称、地址、电话、邮政编码、联系人、联系人电话、传真、开户行和账号等属性,客户实体E-R

图如图所示。

商品实体E-R图

供应商实体E-R图

进销存管理系统数据流图

三、系统设计

1.目的

从该阶段开始正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确司徒的数据结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件表示的过程,

2.术语定义

总体结构

软件系统的总体逻辑结构。本系统采用面向对象的设计方法,所以逻辑

结构为部件组装图

概念模型

CDM 关系数据库的逻辑设计模型,包括一张逻辑E-R图及相应的数据字典

物理模型

PDM 关系数据库物理设计模型,包括一张物理表关系图及其相应的数据字典角色

数据库中享有某些特权操作的用户

子系统

具有相对独立功能的小系统,一个大的软件系统可以划分为多个子系

统,每个子系统可由多个模块或多个部件组成

模块

具有功能独立、能被调用的信息单元

3.系统构架

1.Item类设计

Item类是系统的公共类之一,主要用于封装和传递参数信息,这是典型命令模式的实现。在Dao类中经常使用该类作为方法参数;另外,在各个窗体界面中也经常使用该类作组件数据,其toString()方法将返回name属性值,所以显示到各个组件上的内容就是Item类的对象所代表的商品、供应商或者客户等信息中的名称。

关键代码如下

package com.lzw;

publicclass Item {

private String id; //定义id属性

private String name; //定义name属性

public Item() {

}

public Item(String id,String name) {

this.id=id;

https://www.wendangku.net/doc/998931328.html,=name;

}

public String getId() { //定义得到id属性的方法

return id;

}

publicvoid setId(String id) {

this.id = id;

}

public String getName() { //定义得到那么属性的方法return name;

}

publicvoid setName(String name) {

https://www.wendangku.net/doc/998931328.html, = name;

}

public String toString() { //定义该类字符串的表现形式return getName();

}

}

2.数据模型公共类

在com.lzw.dao.model包中存放的是数据模型公共类,它们对应着数据库中不同的数据表,这些模型将被访问数据库的Dao类和程序中各个模块甚至各个组件所使用。和Item公共类的使用方法类似,数据模型也是对数据表中所有字段(属性)的封装,但是数据模型是纯粹的模型类,它不但需要重写父类的toString()方法,还要重写hashCode()方法和equals()方法模型类主要用于存储数据,并通过相应的getXXX()方法和setXXX()方法实现不同属性的访问原则。

以商品数据表为例其代码:

publicclass TbSpinfo implements java.io.Serializable { private String id;

private String spname;

private String jc;

private String cd;

private String dw;

private String gg;

private String bz;

private String ph;

private String pzwh;

private String memo;

private String gysname;

public TbSpinfo() {

}

public TbSpinfo(String id) {

this.id = id;

}

public String getId() {

returnthis.id;

}

publicvoid setId(String id) {

this.id = id;

}

public String getSpname() {

returnthis.spname;

publicvoid setSpname(String spname) { this.spname = spname;

}

public String getJc() {

returnthis.jc;

}

publicvoid setJc(String jc) {

this.jc = jc;

}

public String getCd() {

returnthis.cd;

}

publicvoid setCd(String cd) {

this.cd = cd;

}

public String getDw() {

returnthis.dw;

}

publicvoid setDw(String dw) {

this.dw = dw;

}

public String getGg() {

returnthis.gg;

}

publicvoid setGg(String gg) {

this.gg = gg;

}

public String getBz() {

returnthis.bz;

}

publicvoid setBz(String bz) {

this.bz = bz;

public String getPh() {

returnthis.ph;

}

publicvoid setPh(String ph) {

this.ph = ph;

}

public String getPzwh() {

returnthis.pzwh;

}

publicvoid setPzwh(String pzwh) {

this.pzwh = pzwh;

}

public String getMemo() {

returnthis.memo;

}

publicvoid setMemo(String memo) {

this.memo = memo;

}

public String getGysname() {

returnthis.gysname;

}

publicvoid setGysname(String gysname) {

this.gysname = gysname;

}

public String toString() {

return getSpname();

}

@Override

publicint hashCode() {

finalint PRIME = 31;

int result = 1;

result= PRIME* result+ ((bz== null) ? 0 : bz.hashCode());

result= PRIME* result+ ((cd== null) ? 0 : cd.hashCode());

result= PRIME* result+ ((dw== null) ? 0 : dw.hashCode());

result= PRIME* result+ ((gg== null) ? 0 : gg.hashCode());

result = PRIME * result + ((gysname == null) ? 0 : gysname.hashCode());

result= PRIME* result+ ((id== null) ? 0 : id.hashCode());

result= PRIME* result+ ((jc== null) ? 0 : jc.hashCode());

result = PRIME * result + ((memo == null) ? 0 :

memo.hashCode());

result= PRIME* result+ ((ph== null) ? 0 : ph.hashCode());

result = PRIME * result + ((pzwh == null) ? 0 :

pzwh.hashCode());

result = PRIME * result + ((spname == null) ? 0 : spname.hashCode());

return result;

}

@Override

publicboolean equals(Object obj) {

if (this == obj)

returntrue;

if (obj == null)

returnfalse;

if (getClass() != obj.getClass())

returnfalse;

final TbSpinfo other = (TbSpinfo) obj;

if (bz == null) {

if (other.bz != null)

returnfalse;

} elseif (!bz.equals(other.bz))

returnfalse;

if (cd == null) {

if (other.cd != null)

returnfalse;

} elseif (!cd.equals(other.cd))

returnfalse;

if (dw == null) {

if (other.dw != null)

returnfalse;

} elseif (!dw.equals(other.dw))

returnfalse;

if (gg == null) {

if (other.gg != null)

returnfalse;

} elseif (!gg.equals(other.gg))

returnfalse;

if (gysname == null) {

if (other.gysname != null)

returnfalse;

} elseif (!gysname.equals(other.gysname))

returnfalse;

if (id == null) {

if (other.id != null)

returnfalse;

} elseif (!id.equals(other.id))

returnfalse;

if (jc == null) {

if (other.jc != null)

returnfalse;

} elseif (!jc.equals(other.jc))

returnfalse;

if (memo == null) {

if (other.memo != null)

returnfalse;

} elseif (!memo.equals(other.memo))

returnfalse;

if (ph == null) {

if (other.ph != null)

returnfalse;

} elseif (!ph.equals(other.ph))

returnfalse;

if (pzwh == null) {

if (other.pzwh != null)

returnfalse;

} elseif (!pzwh.equals(other.pzwh))

returnfalse;

if (spname == null) {

if (other.spname != null)

returnfalse;

} elseif (!spname.equals(other.spname))

returnfalse;

returntrue;

}

}

3.Dao公共类

Dao的全称是Data Access Object,即数据访问对象。本项目中应用该名称作为数据库访问类的名称,在该类中实现了数据库的驱动、连接、关闭和多个操作数据库的方法,这些方法包括不同数据表的操作方法。在介绍具体的数据库访问方

法之前,先来看一下Dao类的定义,也就是数据库驱动和连接的代码。

代码如下

publicclass Dao {

static Statement sql;

static ResultSet res;

protectedstatic String dbClassName="com.mysql.jdbc.Driver";

protectedstatic String

dbUrl="jdbc:mysql://localhost:3306/db_database28";

protectedstatic String dbUser="root";

protectedstatic String dbPwd="1003037761";

protectedstatic String second = null;

publicstatic Connection conn=null;

static{

try{

if(conn==null){

Class.forName(dbClassName).newInstance();

conn = (Connection)

DriverManager.getConnection(dbUrl,dbUser,dbPwd);

}

}catch(Exception ee){

ee.printStackTrace();

}

}

3.4系统登录模块设计

1.设计登录窗体

登录模块的窗体设计由两部分组成,一部分是登录窗体,另一部分是窗体中带背景图片的内容面板。

1.创建内容面板

publicclass LoginPanel extends JPanel {

publicint width, height;

private Image img;

public LoginPanel() {

super();

URL url = getClass().getResource("/res/login.jpg");

img = new ImageIcon(url).getImage();

}

protectedvoid paintComponent(Graphics g) {

super.paintComponent(g);

g.drawImage(img, 0, 0, this);

}

}

2.创建登录窗体

private LoginPanel getLoginPanel() {

if (loginPanel == null) {

jLabel1 = new JLabel();

jLabel1.setBounds(new Rectangle(86, 71, 55, 18));

jLabel1.setText("密码:");

jLabel = new JLabel();

jLabel.setText("用户名:");

jLabel.setBounds(new Rectangle(85, 41, 56, 18));

loginPanel = new LoginPanel();

loginPanel.setLayout(null);

loginPanel.setBackground(new Color(0xD8DDC7));

loginPanel.add(jLabel, null);

loginPanel.add(getUserField(), null);

loginPanel.add(jLabel1, null);

loginPanel.add(getPasswordField(), null);

loginPanel.add(getLoginButton(), null);

loginPanel.add(getExitButton(), null);

}

return loginPanel;

}

2.密码文本框

在系统登录窗体的“密码”文本框中添加了按键事件监听器,它在获取到“密码”文本框输入的回车字符时将执行登录事件,也就是说在“密码”文本框输入密码后,按Enter键将执行与单击“登录”按钮相同的业务逻辑。

代码如下:

private JPasswordField getPasswordField() {

if (passwordField == null) {

passwordField = new JPasswordField();

passwordField.setBounds(new Rectangle(143, 69, 125, 22));

passwordField.addKeyListener(new KeyAdapter() {

publicvoid keyTyped(KeyEvent e) {

if (e.getKeyChar() == '\n')

loginButton.doClick();

}

});

}

return passwordField;

}

3.“登录”按钮

“登录”按钮用于执行用户名和密码的验证工作,如果验证用户名和密码有效,则启动系统,否则禁止进入系统。

在“登录”按钮的动作事件监听器中,首先获取用户输入的用户名与密码信息,然后调用Dao类的checkLogin()方法,如果该方法返回true则登录成功,否则禁止用户登录,并提示输入的用户名与密码无法登录系统。

如图所示

代码如下:

private JButton getLoginButton() {

if (loginButton == null) {

loginButton = new JButton();

loginButton.setBounds(new Rectangle(109, 114, 48, 20));

loginButton.setIcon(new

ImageIcon(getClass().getResource(

"/res/loginButton.jpg")));

loginButton.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) {

try {

userStr = userField.getText();

String passStr = new String(passwordField

.getPassword());

if (!Dao.checkLogin(userStr, passStr)) { JOptionPane.showMessageDialog(LoginDialog.this,

"用户名与密码无法登录", "登录失败",

JOptionPane.ERROR_MESSAGE);

return;

}

} catch (Exception e1) {

e1.printStackTrace();

}

mainFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);

mainFrame.setVisible(true);

MainFrame.getCzyStateLabel().setText(userStr);

setVisible(false);

}

});

}

return loginButton;

}

3.5系统主窗体设计

1.设计菜单栏

本系统的菜单栏是由MenuBar类实现的,该类是一个自定义菜单栏类,它继承JMenuBar类成为Swing的菜单栏组件。下面以创建进货单菜单为例,。

(1)创建MenuBar类,该类继承javax.swing.JMenuBar类,并且在该类中定义一个私有的成员变量,类型为JMenu,用于表示菜单对象。

(2)编写一个名称为getJinhuo_Menu()的方法,该方法的返回值为一个JMenu 对象,也就是一个菜单对象。在该方法中,当进货菜单对象为null时,创建一个菜单对象,并为其设置菜单名和快捷键。

(3)编写一个初始化菜单栏界面的方法initialize(),在该方法中,首先设置组件的尺寸,然后调用JMenuBar对象的add()方法向菜单栏中添加一个菜单。(4)编写以下构造方法,用于调用初始化菜单栏界面。

(5)在MenuBar类,再创建一个JMenuItem类型的成员变量jinhuoItem,表示进货菜单项。

(6)编写一个名称为getJinhuoItem()的方法,该方法的返回值为一个JMenuItem对象,也就是一个菜单项对象。在该方法中,当进货单菜单项对象为null时,创建一个菜单项对象,并为其设置菜单项名、图标和动作事件监听器。(7)按照步骤(5)和步骤(6)的方法再创建一个进货退货菜单项对象,名称为jinhuo_tuihuoItem。

(8)在getJinhuo_Menu()方法中,应用JMenu对象的add()方法向菜单中添加菜单项。

2.设计工具栏

工具栏用于放置常用命令按钮,如进货单、销售单、库存盘点等。

向本系统中添加工具栏的方法和添加菜单栏的方法类似,也需要继承Swing的JTool组件编写自己的工具栏。当然,也可以直接使用Swing的JTool组件。组件的initialize()方法用于初始化工具栏的程序界面。

3.设计状态栏

本系统的状态栏显示了当前选择的功能窗体、登录用户名、当前日期和本系统所属公司,即版权所有者等信息,如下图所示。

3.6销售单模块设计

1.设计销售窗体

2.添加销售商品

在销售单窗体中单击“添加”按钮,将向table表格中添加新的空行,操作员可以在空行的第一列字段的商品下拉列表框中选择销售的商品,这个下拉列表框和进货单窗体的不同,它不是根据供应商字段确定选择框内容,而是包含了数据库中所有可以销售的商品。要实现添加销售商品功能,需要为“添加”按钮添加动作监听器,在监听器中实现相应的业务逻辑。

3.销售统计

和进货单的统计功能类似,销售单也需要统计功能,统计的内容包括货品数量、品种数量、合计金额等信息,实现方式也是通过table表格的事件监听器来处理相应的统计业务,但是销售单窗体使用的不是PropertyChangeListener属性改变事件监听器,而是使用ContainerListener容器监听器。

4.商品销售

在销售单窗体中添加完销售商品之后,单击“销售”按钮,将完成本次销售单的销售业务。系统会记录本次销售信息,并从库存表中扣除销售的商品数量。这些业务处理都是在“销售”按钮的动作监听器中完成的,该监听器需要获取销售单窗体中的所有销售信息和商品信息,将所有商品信息封装为销售明细表的模型对象,并将这些模型对象放到一个集合中,然后调用Dao公共类的insertSellInfo()方法将该集合与销售主表的模型对象保存到数据库中。

初始化表格代码:

privatevoid initTable() {

String[] columnNames = { "商品名称", "商品编号", "供应商", "产地", "单位", "规格", "单价",

"数量", "包装", "批号", "批准文号" };

((DefaultTableModel) table.getModel())

.setColumnIdentifiers(columnNames);

TableColumn column = table.getColumnModel().getColumn(0);

final DefaultCellEditor editor= new DefaultCellEditor(sp);

editor.setClickCountToStart(2);

column.setCellEditor(editor);

}

初始化商品下拉框:

privatevoid initSpBox() {

List list = new ArrayList();

ResultSet set = Dao.query(" select * from tb_spinfo"

+ " where id in (select id from tb_kucun where kcsl>0)");

sp.removeAllItems();

sp.addItem(new TbSpinfo());

for (int i = 0; table != null&&i

TbSpinfo tmpInfo = (TbSpinfo) table.getValueAt(i, 0);

if (tmpInfo != null&&tmpInfo.getId() != null)

list.add(tmpInfo.getId());

}

try {

while (set.next()) {

TbSpinfo spinfo = new TbSpinfo();

spinfo.setId(set.getString("id").trim());

if (list.contains(spinfo.getId()))

continue;

spinfo.setSpname(set.getString("spname").trim());

spinfo.setCd(set.getString("cd").trim());

spinfo.setJc(set.getString("jc").trim());

spinfo.setDw(set.getString("dw").trim());

spinfo.setGg(set.getString("gg").trim());

spinfo.setBz(set.getString("bz").trim());

spinfo.setPh(set.getString("ph").trim());

spinfo.setPzwh(set.getString("pzwh").trim());

spinfo.setMemo(set.getString("memo").trim());

spinfo.setGysname(set.getString("gysname").trim());

sp.addItem(spinfo);

}

} catch (SQLException e) {

e.printStackTrace();

}

}

在事件中计算品种数量、货品总数、合计金额

privatefinalclass computeInfo implements ContainerListener { publicvoid componentRemoved(ContainerEvent e) {

// 清除空行

clearEmptyRow();

// 计算代码

int rows = table.getRowCount();

int count = 0;

double money = 0.0;

软件工程课程设计心得总结

软件工程课程设计个人总结 学期就快要结束了,到了最后一周居然还有软件工程课程设计,还要考试真的有点忙啊,不管怎样还是好好干吧,把对工程的理论研究、学习成果用于实践也是一种检验学习成果和提升工程能力的有效手段嘛。 工作内容安排 软件工程课程设计的第一天拿到题目,听取老师对于课程设计的要求、要完成的工作、预期要达到的效果和注意事项。然后分组、讨论和确定选题。这真正的课程设计才算开始了,经过组长,组员的反复研究、论证后一致决定选择:实习题目4:开发一个基于Web的BBS系统,包含一般BBS所具有的功能,如用户注册、用户信息管理、发贴功能、贴子管理、主题词查询、用户信息修改和查询等。 这个题目对于现代化的网络交流来说发展的成熟而且符合当代互联网大众的网络需求,符合现代网络对信息分享讨论的爱好,我们一致预测在今后很长的一段时间内也将会是非常流行的一种交流介质。 确定选题后我们开始软件开发的第一步,需求分析,详细设计等内容,分块分工完成模块,我分到的主要部分就是分析论坛里面的帖子内容,用户的爱好,然后解决用户的索引需求,把用户的索引需求智能的、友好的呈现给用户,把这部分的代码编写,测试,把用户界面做好就是我接下来几天的工作内容。 俗话说:磨刀不误砍柴工,要想把我的这部分内容做好,做得完美,我的好好的分析一下,对全组对整个系统的需求分析的基础上又认真分析了本部分的内容和本部分要实现的功能,对本部分实现的主要思想理清,认真设计界面,还有对队员们的模块能有效的结合起来,让他们的模块也能有效的供我使用,做好我的接口也方便其他模块与此的衔接。 问题与解决 在本次课程设计中遇到了好多前所未有的问题,第一次接触HTML网页开发,第一次邂逅JSP web应用程序开发,第一次有了原来开发应用程序是需要数据库的,对于这些都是第一次接触,需要了解HTML的基本语法,需要学习JSP web 应用程序web app的开发方法,需要实践配置数据库TOMCAT、SQL sever,居然有这么多的东西需要从头来,对于这些方面我就像一张崭新的白纸,怎么能在短短的四五天时间内将这张白纸绘成一幅栩栩如生的画卷呢,这是我们面对的亟待解决的问题。 为了解决这一系列的问题,我们没有找借口,我们没有懒惰,我们更没有放弃,而是迎难而上,到图书馆“大采购”求资料,找到想要的,真想把图书馆搬到课程设计实验室。接下来就是根据我们的需求分析,概要设计,详细设计等内容分模块编写网页源代码,修复bug,测试代码,连接数据库这样我们的全新的基于web的BBS论坛就成功上线了。

软件工程课程设计报告人事管理系统

软件工程课程设计报告人事管理系统

软件工程课程设计 题目人事管理系统 系计算机系 专业班级软件工程(动画方向)(2)班 学生姓名贾秋洪 学号 2358069 指导教师姜青山 年 6 月 18 日 1.课程题目 人事管理系统设计 2.概述 2.1本课题的来源 A公司是一家以寿险营销为目的的寿险公司,公司员工众多业务流量大,为了方便管理,我制作了一个人事管理系统。主要经

过员工基本信息录入、修改、查询、删除以及员工考勤等方面来对员工综合考评。以便对员工发放工资进行合理分配。这样能提高领导的人事管理水平还能提高员工的积极性。经过现代计算机技术与企业管理相结合,实现人事管理系统的科学化、信息化、现代化,而且适合一般人群使用。 企业人事管理是相对企业内部员工的管理。集人员、考勤、工资、员工培训、系统功能等于一体的大型管理系统,为公司在人事管理等方面提供极大的方便。本软件是以中小型企业为背景而设计开发的,界面美观、使用方便。本系统主要以人员管理、考勤管理、统计分析管理、工资核算等,是企业人事管理必不可缺的好帮手。 2.2本课题目的、实现功能与预期成果 2.2.1目的 当前市面上流行的人事管理系统不少。可是,对于A公司来说,不需要大型的数据库系统。只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统。我们的目标就是在于开发一个功能实用、操作方便,简单明了的人事管理系统。 2.2.2实现功能 能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方

面的工作,基本满足人事日常业务的需要。 2.2.3预期成果 所做出的人事管理系统能让A公司管理层在操作简单的前提下并有效的提高对该公司的人事管理,并经过该系统提高员工的能力。尽量使本系统做到是一个科学化、信息化、简单使用的人事管理系统。 3.系统分析 3.1系统调研 正式开发管理信息系统之前进行调研是非常必要的,必要对现行系统进行详细的调查,明确用户需求,保证开发的新系统的功能与用户的要求相吻合,避免耗费大量的人力、物力、财力,新系统的开发却失败的悲剧发生。 3.2可行性分析概述 可行性分析是在A公司的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。 可行性分析一般可定义为:可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。 可行性分析阶段的主要工作包括以下几个方面:

软件工程课程设计报告范例

西安科技大学 软件工程课程设计报告 题目:图书馆管理系统 班级:软件工程** 学号: ********** 姓名: ******* 2013年1月

目录 1绪论 (1) 2 可行性研究报告 (1) 3 需求规格说明书 (4) 4 总体设计说明书 (7) 5 数据库设计说明书 (8) 6 详细设计说明书 (9) 7 系统实现 (11) 8测试分析报告 (23) 参考文献

1.绪论 1.1 选题目的及意义 随着计算机技术的快速发展,人们对用计算机代替手工管理信息的需求越来越强烈,越来越多的计算机软件如雨后春笋般的应用于人们生产生活的各个领域,为人们提供各种各样的便利。本图书馆管理系统应用软件可以有效地解决高等院校、中小学图书馆由于藏书量增大而带来的管理问题,图书馆管理员可以更好地管理学校图书馆藏书信息,学生可以更方便地享受借书还书的服务,为更有效地学习知识提供有利的保证。 对于我来说,选择这个题目作为课程设计的题目有以下两个原因:一是因为自从上大学以来,每当在图书馆借书的时候,我都会留心观察一下图书馆管理员的那台计算机上显示的内容,久而久之,就对本系统的基本流程越来越了解,做好一个软件的前提是必须对这个软件的功能和原理非常熟悉,相比别的题目,我对这个题目更加了解;二是本学期通过学习Java程序设计和Oracle数据库课程,我觉得这个题目虽然没有那么难(涉及算法的内容很少),但也不是轻而易举就能完成的,所以我想挑战一下自己,看看自己的实现能力到底怎么样,因此决定用面向对象方法学的思想,前台用Java程序设计语言编写界面,访问Oracle数据库中的数据,完成本系统。 1.2 系统概述 本系统通过JDBC-ODBC桥实现前后台数据的联系,基本上实现了一个图书馆管理系统所具备的基本功能,本系统把使用者分为三类:超级管理员、普通管理员、读者,对三种用户分别设计了各自的主界面,以便更好的实现信息的隐藏性,超级管理员可以进行这个系统所有操作;管理员只能执行超级管理员的基本功能,查看自己的信息;读者只能查看自己的信息,对自己当前借书进行挂失和续借两种操作,查询图书馆的藏书。 2.可行性研究报告 2.1 编写目的 本报告编写目的在于研究图书馆管理系统应用软件是否可行,指出本软件开发所使用的方法和手段,并对该软件前景进行分析。 本报告的预期读者是:高等院校、中小学图书馆管理人员、程序设计人员、以及对图书馆管理系统感兴趣的爱好者。 2.2 相关背景 工程名称:图书馆管理应用软件 工程产品名称:高校图书馆管理系统应用软件 工程的组织者:西安科技大学计算机学院软件工程系 产品用户:高校图书馆、中小学图书馆; 产品的生产者:西安科技大学计算机学院软件工程062班袁震; 产品设计者:西安科技大学计算机学院软件工程062班袁震; 2.3 可行性研究的前提 本图书管理系统在功能上要求完成以下基本功能: a).读者、管理员登陆;

软件工程课程设计实验报告

重庆邮电大学 软 件 工 程 课程设计实验报告 ——网上选课系统 姓名:雷雷 学号:08500329 专业:计算机科学与技术 班级:0410801 指导老师:邹洋 教室:S3314 时间:2011-5-30?2011-6-3

一、实验题目:网上选课系统 主要功能描述:系统首先维护校内所有课程的信息;课程分为研究生、本科生;也可以分为必修、选修、辅修。用户以学号和密码登陆,系统显示用户以选的课程、用户有权选但未选的其他课程,并显示具体信息(如学分)。用户选择后,系统根据规则检查用户是否进行正确的选课(如时间冲突、跨专业选课等);如果错误提示用户改,否则修改选课数据库。最后系统应能够向管理员提供查询界面和各类报表,统计每门课的选课情况。 二、实验目的 软件工程课程设计是软件工程专业一个综合性的实践教学环节,其目的在于促进学生复习和巩固计算机软件设计知识,加深对软件设计方法、软件设计技术和设计思想的理解,并能运用所学软件设计知识和面向对象技术进行综合软件设计,提高学生的综合应用能力。通过这次课程设计,要掌握UML (统一建模语言),并能运用UML 在Rational Rose 中建模。 三、实验要求 1. 一人一组。 2. 熟悉Rose 开发环境。 3. 掌握UML 的基本模型元素(如角色、用例、类等)。 4. 熟悉UML ,主要了解UML 中的9 大图:Use case diagram(用例图)、Class diagram (类图)、Sequence diagram(序列图)、Collaboration diagram(协作图)、Statechart diagram(状态图)、Activity diagram(活动图)、Component diagram(组件图)、Deployment diagram(配置图)、datamodel diagram (数据模型图)。 5. 进行系统需求分析与系统功能模块设计,绘出系统详细的业务流程图和数据流程图, 建立完整的系统数据库的逻辑模型 6. 完成对系统的建模实现

软件工程课程设计报告案例

网上招聘系统分析设计

目录 第一章网上招聘系统需求规格说明书.................... - 3 - 第二章软件项目的概要设计说明书. (16) 第三章网上招聘系统详细设计 (54) 第四章软件项目的编码案例说明 (67) 第五章网上招聘系统客户端系统测试计划 (74) 第六章网上招聘系统客户端系统测试设计 (78) 第八章网上招聘系统客户端系统测试报告 (95)

第一章网上招聘系统需求规格说明书 1.导言 1.1 目的 该文档是关于用户对于网上招聘系统的功能和性能的要求,重点描述了网上招聘系统的功能需求,是概要设计阶段的重要输入。 本文档的预期读者是: ·设计人员; ·开发人员; ·项目管理人员; ·测试人员; ·用户。 1.2 围 该文档是借助于当前系统的逻辑模型导出目标系统的逻辑模型的,解决整个项目系统的“做什么”的问题。在这里,没有涉及开发技术,而主要是通过建立模型的方式来描述用户的需求,为客户、用户、开发方等不同参与方提供一个交流的平台。 1.3 编写说明 HR,Human Resource(人力资源管理)的缩写。 JSP,Java Server Page(Java服务器页面)的缩写,一个脚本化的语言。 UML,Unified Modeling Language(统模语言)的缩写,是一个标准的建模语言。 1.4 术语定义 无 1.5 引用标准 [1]《企业文档格式标准》,****************软件工程过程化组织 [2]《需求规格报告格式标准》,************软件工程过程化组织 1.6 参考资料 [1]《UML说明》,***********************软件 [2]《需求规格报告格式标准》,************公司软件工程过程化组织 1.7 版本更新信息 本文档的更新记录如表A-1所示。 表A-1 版本更新记录 修改编号修改日期修改后版本修改位置修改容概述 001 002 003 004 005 2008.9.5 2006.9.10 2006.9.15 2006.9.16 2006.10.18 0.1 0.2 0.3 0.4 1.0 全部 第3.1节 第4.1节 第5.1节 第7章 初始发布版本 增加 修改 修改 增加 2.系统定义 我们分别阐述一下项目的来源、背景,项目的用户特点和项目的目标。 2.1 项目来源及背景 本项目是为某公司开发的一个网上招聘系统,由于这个公司的规模比较大,需要招聘 的员工也很多,每次招聘总能收到成千上万的简历,如何挑选合适的应聘者常常是公司比较

软件工程课程设计报告——人事管理系统

软件工程课程设计 题目人事管理系统 系计算机系 专业班级软件工程(动画方向)(2)班 学生姓名贾秋洪 学号20082358069 指导教师姜青山 2010 年6 月18 日 1.课程题目 人事管理系统设计 2.概述 2.1本课题的来源 A公司是一家以寿险营销为目的的寿险公司,公司员工众多业务流量大,为了方便管理,我制作了一个人事管理系统。主要

通过员工基本信息录入、修改、查询、删除以及员工考勤等方面来对员工综合考评。以便对员工发放工资进行合理分配。这样能提高领导的人事管理水平还能提高员工的积极性。通过现代计算机技术与企业管理相结合,实现人事管理系统的科学化、信息化、现代化,并且适合一般人群使用。 企业人事管理是相对企业内部员工的管理。集人员、考勤、工资、员工培训、系统功能等于一体的大型管理系统,为公司在人事管理等方面提供极大的方便。本软件是以中小型企业为背景而设计开发的,界面美观、使用方便。本系统主要以人员管理、考勤管理、统计分析管理、工资核算等,是企业人事管理必不可缺的好帮手。 2.2本课题目的、实现功能与预期成果 2.2.1目的 目前市面上流行的人事管理系统不少。但是,对于A公司来说,不需要大型的数据库系统。只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统。我们的目标就是在于开发一个功能实用、操作方便,简单明了的人事管理系统。 2.2.2实现功能 能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方

面的工作,基本满足人事日常业务的需要。 2.2.3预期成果 所做出的人事管理系统能让A公司管理层在操作简单的前提下并有效的提高对该公司的人事管理,并通过该系统提高员工的能力。尽量使本系统做到是一个科学化、信息化、简单使用的人事管理系统。 3.系统分析 3.1系统调研 正式开发管理信息系统之前进行调研是非常必要的,必要对现行系统进行详细的调查,明确用户需求,保证开发的新系统的功能与用户的要求相吻合,避免耗费大量的人力、物力、财力,新系统的开发却失败的悲剧发生。 3.2可行性分析概述 可行性分析是在A公司的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。 可行性分析一般可定义为:可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。 可行性分析阶段的主要工作包括以下几个方面:

软件工程与实践课程设计

《软件工程与实践》课程设计方案 本课程属专业必修课,是一门实践性较强的计算机类课程,授课对象为计算机专业及相关专业的本科生。本课程是对软件工程课程所述内容的进一步深化与具体应用,通过启发式教学和大量实例的练习,引导学生完成不同类型系统的分析与设计工作,培养学生关于软件工程理论的实际运用能力、软件开发实践动手与文档编写及组织管理能力,同时培养和提高学生在软件开发过程中的团队协作精神。 在课程设计过程中必须完成以下一些环节: 1、任务布置与说明,备有多个题目供学生选择。 2、学生自主分组,并展开软件项目的选题与论证,要求提交分组项目选题和组织分工。 3、进行可行性研究,编写可行性分析报告和项目开发计划,并进行审查。 4、获取需求,编写软件需求规格说明书,并进行审查。 5、进行系统分析和设计,编写软件分析设计报告,并进行审查。 6、通过实现系统主要界面来模拟软件实现,并进行审查。 7、编写软件测试计划,编写软件测试分析报告,并进行审查。 8、编写用户使用说明书,并进行审查。 可供选择的课程设计方案: 1、图书馆图书预定系统的设计与实现 功能如下:(1)由供书部门提供书目给订购组;(2)订书组从各单位取得要订的书目;(3)根据供书目录和订书书目产生订书文档留底;(4)将订书信息(包括数目,数量等)反馈给供书单位;(5)将未订书目通知订书者;(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。 2、网络考试系统的设计与实现 要求基于B/S模式来构建整个网络考试系统,整个系统拟由试题库管理子系统、学籍管理子系统、成绩管理子系统、网络考场四大模块组成。系统用户端划分为学生端、教师端和管理员端,通过数据库操作权限设定等机制来保证系统及相关数据的安全性。 3、网上购物系统的设计与实现 着重研究、设计与实现用户管理、目录管理、信息录入管理、定单管理、浏览和查找、购物结帐等功能。 (1)会员注册、登录与管理模块,包括新会员注册、会员身份验证、会员身份注销和预定制商品。 (2)商品陈列上架模块,实现商店所有商品的分类上架,供用户浏览选择。 (3)为客户提供各个商品信息细节展示模块。 (4)为客户提供所选择商品的浏览、退货等管理模块。 (5)购物车模块,需要完成用户选购商品,购物订单生成功能。 4、病员监护系统的设计与实现

软件工程课程设计

软件工程专业 软件项目实践(认识实习)报告 教学单位软件学院 班级软件13-10 学生姓名 学号 实习时间 6月29日-7月10日 指导教师

1 实习时间2015-6-29至2015-7-10 2 实习目的 1.深入了解企业管理的业务内容及软件应用的特点; 2.加强认识企业软件应用的重要性、紧迫性; 3.深入了解企业软件产品的应用的现状和需求,使我们进一步认识到需要加强 哪些方面的学习; 4.深入了解互联网应用情况,初步掌握互联网的物理结构及组成等基本网络知 识; 3 实习项目及内容 1.实地深入企业调研企业实际的业务管理流程; 2.聘请企业信息中心领导介绍本单位计算机应用情况及今后的发展规划; 3.参观企业局域网,了解计算机网络的硬、软件组成及结构; 4.聘请有关专家结合所参观的局域网,讲授计算机网络的应用知识; 5.聘请有关业务科室的工程技术人员,讲授如何用计算机处理本科室业务及本 科室软件应用情况; 6.引入OJCP考试环境,进一步巩固学生Java程序设计基础; 7.实地去硬件市场进行调研,了解各种硬件的价格、性能等。 3.1 校内实习内容总结 软件产业是典型的知识经济产业,与以往的工业经济产业有很大的不同。未来有可能保持长期稳定高速增长。中国政府推行的信息化建设已使国内计算机硬件市场高速发展,也造就了潜在的软件市场。目前中国软件业的处境是:需求巨大,政策不足。从发展阶段看,中国软件业现在似处于初创期的后期。鉴于软件行业在国民经济中的独特地位,未来中国政府有可能推出对软件行业的优惠政策,并将导至该行业进入扩张期。未来软件行业将以至少30%的平均年增长速度发展。 在各类软件中,国内市场和应用软件(含系统集成)将是中国软件业的主要发展方向。鉴于中国软件行业的高成长率和中等的投资回报率,因此该行业是一个较

软件工程课程设计报告书

第一章概述 1.1系统名称 学生宿舍管理系统 1.2开发及运行环境 CPU Intel? Core(TM)i5-4210M 存4GB 硬盘空间30M以上 输入设备键盘鼠标 操作系统windows 8.0 数据库windows sql server 2005 1.3软件开发计划 2017.12.01-2017.12.04 软件需求分析 2017.12.05-2017.12.09 系统结构设计 2017.12.10-2017.12.15 软件编码及数据 库设计实现 2017.12.16-2017-12.20 软件测试 2017.12.21 软件交付

第二章需求分析 目前,各学校的宿舍管理主要依赖于人工管理,学生宿舍相关的各种信息可以通过宿舍管理系统来集中统一管理,方便的宿舍管理员对宿舍的管理,更有利于宿舍安全以及同学们的健康成长。 2.1 任务概述 宿舍管理系统为了方便管理,尽可能的实现操作简单,易学易用,主要实现以下功能: 1)系统要求用户必须输入正确的用户名和密码才能进入系统; 2)系统应该提供学生住宿情况的基本登记; 3)系统应提供人员来访登记及结束访问的详细登记; 4)系统应提供学生在校期间物品出入宿舍楼的详细情况登记; 5)系统应提供查询功能,以方便用户对学生基本信息的查询(要实现按多种条件的查询)及楼房信息的查询; 6)系统应提供增加、删除、修改用户的功能; 7)增加学生离校的物品管理制度 2.2 宿舍管理系统一层数据流图及数据字典 2.2.1 一层数据流图

图1-1 学生宿舍管理系统一层数据流图 2.2.2 数据字典 以下是图1-1数据流图的数据字典本数据字典主要定义数据4方面容: 名字:数据元素的名字,作为在数据流图中的标识符, 描述:对名字所代表的数据功能和含义加以描述 定义:对名字所代表的实际构成加以解释 位置:表示数据流的来源 名字:管理员 描述:对宿舍管理系统进行操作的人员

软件工程课程设计报告

企业工资管理系统 目录 引言 (2) 课题研发的背景 (2) 课题研发的目的与意义 (2) 第一章可行性研究 (2) 1.1.技术可行性分析 (2) 1.2.社会可行性分析 (3) 1.3.经济可行性分析 (3) 1.4.操作可行性 (3) 1.5可行性研究结论 (3) 第二章需求分析 (3) 2.1系统主要功能需求分析 (3) 2.2数据流分析 (4) 2.3 ER图 (5) 2.4层次方框图 (5) 2.5工资系统项目简介 (5) 2.6风险分析及处理政策 (5) 第三章总体设计 (6) 3.1 系统总体设计 (6) 3.1.1系统开发思想 (6) 3.2 数据库总体设计 (7) 第四章详细设计 (7) 4.1工资系统功能 (7) 4.2功能模块说明 (8) 4.3功能模块实现 (8) 第五章程序编写及调试程序 (9) 5.1主窗体的设计 (9) 5.2工资信息管理窗体的设计 (10) 第六章系统测试 (16) 6.1系统测试方案 (16) 6.2系统运行与维护 (17) 6.3系统的转换方案 (18) 第七章使用说明书 (18) 7.1 系统功能简介 (18) 7.2 开发工具和运行环境简介 (18) 第八章系统评价 (18) 8.1系统的特点 (18) 8.2系统的缺点 (19) 8.3将来可能提出的要求 (19) 第九章总结与展望 (19) 致谢 (19) 参考资料 (19)

引言 自上个世纪90年代以来,计算机技术的迅猛发展和推广普及,为各行各业突飞猛进的发展带来了新生的动力,推动了各个行业向更高的层次进步。当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的原因。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。使用计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。课题研发的背景 手工工资管理是一种原始的工作方法,由于手工操作出现错误的概率比较大,其工作量大,工作程序复杂,消耗大量的人力、物力、财力和时间。而且随着时间的推移,由于人员的增加,科目的增多以及调整的频繁,这些矛盾显得尤为突出。随着经济的发展,在这种情况下单靠人工来处理员工的工资不但显得力不从心,而且极容易出错。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对高校职工工资进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高高校工资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 因此,开发这样一套管理软件成为很有必要的事情。 课题研发的目的与意义 教职工工资管理系统,为高校工资提供工资计算,工资统计、工资查询等服务。传统的纸介材料的数据信息管理已经不适合现代高校的发展了,实现工资管理的系统化,规范化,自动化,将成为现代高校管理工资的首选。 本教职工工资管理系统基本能够满足现代高校工资管理的需求。现代化工资管理系统中使用了各种表格,保存相关的工资信息,方便查询、浏览、修改等操作。通过使用教职工工资管理系统,使高校的工资管理工作系统化、规范化、自动化,从而达到提高高校管理效率的目的。 系统开发的总体任务是使办公人员可以轻松快捷地完成工资管理任务。 第一章可行性研究 1.1.技术可行性分析 此系统是教职工工资管理系统,用visaul foxpro 6.0结合windows xp操作系统开发而成的,大家都知道这项技术已经相当成熟了,因此从技术方面讲开发此教职工工资管理系统是可行的。 1.2.社会可行性分析 社会可行性研究是对系统投入使用后对社会可能带来的影响进行分析,比如是否为人们所接受,是否为社会带来利益。 1.3.经济可行性分析 主要是对项目的经济效益进行评价,一方面是支出的费用,其中包括设备购置费,软件开发费,管理和维护费,人员工资和培训费等。另一方面是取得的收益中可以用钱来衡量的那部分(收益的另一部分难以用钱来表示)。基于企业

软件工程课程设计样本

软件工程课程设计 学校:大连交通大学 专业:软件工程 班级:072班 姓名: 学号:0701030216

目录 1总体设计 (1) 1.1本系统的主要功能描述 (1) 1.2系统包含的类及类之间的关系 (1) 1.3 Java源文件及其功能 (2) 2 详细设计 (2) 2.1主类ChangeAnimalWindow (2) 2.2类Animal (3) 2.3类 HandleMouse (4) 2.4类 AutoMoveAnimal (4) 2.5类Point (5) 3功能测试及运行效果 (6) 3.1 系统初始界面 (6) 3.2 自动演示后界面 (6) 3.3游戏成功预览界面 (7) 3.4英雄榜界面 (7) 参考文献 (7) 附录软件源程序 (8)

1总体设计 1.1本系统的主要功能描述 在科技飞速发展、知识日新月异的今天,很多人已经离不开电脑了,包括玩一些休闲小游戏,一个功能齐全的动物换位小游戏应该是很受人们喜爱的。通过图形技术,实现图片的导入。通过消息响应机制,使程序可以响应用户的鼠标操作,进行动物换位游戏的操作。 对于本系统,我们需要实现以下一些基本功能: (1) 要实现人机交互,用户可以通过鼠标来操作动物位置。 (2)在游戏成功时会出现成功提示。 (3)用户在玩游戏的时候可以在游戏界面上选择音乐播放。 (4)用户可以选择插入任意已存储的图片。 (5)具有英雄榜功能,可以查看自己的成绩。 (6)具有帮助功能,可以查看游戏规则,和不懂得选项。 1.2系统包含的类及类之间的关系 本系统共包括9个Java源文件。类之间的关系如图1-1所示。 图1-1

软件工程课程设计必备指导书

《软件工程》课程设计指导书 福建农林大学 计算机与信息学院 2010年12月

软件工程课程设计指导书 一、软件工程课程设计指导书适用范围 (3) 二、课程设计基本目的 (4) 三、课程设计选题方案及备选题目 (5) 四、可采用技术简介 (5) 五、课程设计过程与具体要求 (5) 六、角色分工 (8) 七、课程设计交付说明 (10) 八、主要参考文献与网址 (10) 附录A:软件工程课程设计报告格式 (13)

一、软件工程课程设计指导书适用范围 所属课程:软件工程 所属专业:计算机科学与技术、软件工程等 领域方向:软件工程与软件开发实践、网页设计与Web应用、数据库应用与电子商务、Java/.net语言及其应用等等 参考学时:2周或以上 适用学生:学习《软件工程》课程的计算机科学与技术、软件工程等专业的本科生 先修课要求:程序设计、操作系统、数据库等

二、课程设计基本目的 1.通过本课程设计的实践及其前后的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,比如,软件项目的完整设计与开发过程、结构化技术、快速原型法和面向对象方法等。特别是结构化分析、结构化设计、快速原型开发、面向对象分析与面向对象设计。 2.为学生适应毕业后团队合作开发规模稍大项目和综合应用本专业所学习的多门课程知识(例如,软件工程、程序设计语言、操作系统、数据库、网络编程等)创造实践机会。为学生提供主动学习(比如,对Web网页设计、ASP或ASP交互网页技术、Java 开发环境、商用数据库应用、电子商务、客户机/服务器技术、Visio与Rose软件工具等内容的学习)、积极探索与大胆创新的机会。 3.使学生通过参加小组团队的开发实践,了解项目管理、团队合作、文档编写、口头与书面表达的重要性。 4.使每个学生了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的软件工具或计算机应用技术、技能(比如,网页设计技术与常见工具;基于Java(ASP、PHP等)技术的Web编程;软件开发文档编制工具Office、Visio、Rose等;商用数据库Access(或SQL Server、Oracle、MySql等)设计与实现;客户机/服务器结构)。 5.通过“稍大的”富有挑战性的软件实验项目开发实践,为学生提供主动学习(比如,对Web网页设计、ASP或ASP交互网页技术、Java开发环境、商用数据库应用、电子商务、客户机/服务器技术、Visio与Rose软件工具等内容的学习)、深入实践的机会,并且通过课程设计实践中,提高学生的自学能力、书面与口头表达能力、创造能力和与团队其他成员交往和协作开发软件的能力,提高学生今后参与开发稍大规模实际软件项目和探索未知领域的能力和自信心。

软件工程课程设计报告

软件工程课程设计报告题目:校园小商品交易系统 一、实验题目 (2) 二、实验目的 (2) 三、实验要求 (3) 四、实验内容 (3) 五、系统设计文档 (4) 5.1需求分析 (4) 5.1.1对系统综合要求 (4)

5.1.2系统的数据要求 (4) 5.2总体设计 (5) 5.2.1系统总体用例图 (5) 5.2.2商品管理用例图 (5) 5.2.3用户信息用例图 (6) 5.2.4商品交易用例图 (6) 5.3详细设计 (6) 5.3.1系统类图以及类之间关系图 (6) 5.3.2由需求分析阶段以及类之间关系的设计分析可以得到系统 对应事件流 (7) 5.3.3系统数据库表 (11) 5.3.4系统组件图 (11) 5.3.5系统部署图 (12) 六、心得体会 (13) 一、实验题目 校园小商品交易系统 二、实验目的 通过这次课程设计,要掌握UML(统一建模语言),并能运用UML在Rational Rose中建模。熟练掌握软件工程面向对象建模的总体方法。

三、实验要求 1.一人一组。 2.熟悉Rose开发环境。 3.掌握UML的基本模型元素(如角色、用例、类等)。 4.熟悉UML,主要了解UML中的9大图:Use case diagram(用例图)、Class diagram(类图)、Object diagram(对象图,Rose中没有)、Sequence diagram(序列图)、Collaboration diagram(协作图)、Statechart diagram(状态图)、Activity diagram(活动图)、Component diagram(组件图)、Deployment diagram(配置图)。 5.完成对系统的建模。 6.周五上机检查,并提交设计报告。 7.集中上机时间不能迟到、早退。 8.请自觉维护实验室清洁,爱护实验设备。 四、实验内容 运用UML统一建模语言建立一个校园小商品交易系统。开发软件为ROSE,最后转换为VB代码。该系统主要的基本要求和功能如下: 包含三类用户:管理员、商品发布者、普通用户、访客。 (1)向管理员提供以下功能:自身密码修改,其他用户添加删除,用户信息修改、统计。商品信息添加、修改、删除、查找、统计。 (2)向商品发布者提供以下功能:注册、登陆、注销、自身密码修改、自身信息修改。商品信息发布,自身商品信息统计。查找浏览其他商品。 (3)向一般用户提供以下功能:商品浏览、查找、获知商家联系方式,定购商品。 (4)向访客提供以下功能:商品浏览、查找、获知商家联系方式。

软件工程课程设计报告完整版

软件工程课程设计报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

软件工程课程设计报告 旅游信息管理系统 姓名: 学号: 专业:软件工程 班级: 14软件工程1班 指导教师: 目录 4. 1系统结构图 4. 2系统登陆流程图 (7) 4. 3系统E-R图 (8)

1.课程设计概述 系统目的 该系统主要建立一个完整的旅游网站,突出旅游特点,有美观的界面设计。主要功能: 1.用户可以对各景点相关交通方式管理与查询、酒店预订、各个景点路程与旅游方式的设计与查询、对个景点所需费用查询。 2.有一定数量旅游景点相关信息可供处理。方便游客了解景区各种相关信息,同时有利与景区管理部门的管理,加强双边的沟通与协作,以提高和改善管理水平,使游客通过对网站的浏览可以对景点有比较真实和丰富的了解,对景点本身做一个比较好的宣传和推广。 系统根据实际情况收集的资料为背景,网站中包括各个景区的基本情况介绍如:交通情况,门票价格和风景图片欣赏等,用户登陆后,都可以浏览站中的所有信息,同时可以通过系统来查询所需要的各种信息,并且可以订购门票和预约酒店以及车辆等。 管理人员登陆系统后,将各种烦琐的管理工作通过网站来管理,用最少的人力和物力提高管理水平,方便发布各种旅游信息,处理游客所遇到的各种问题,及时了解游客对旅游管理部门的意见,通过数据分析可以了解游客的基本情况和不同时期游客的变化情况,提前做出必要的准备工作。 管理人员通过系统处理各个事务,使前台的用户操作方便简单,突出旅游特点,具有美观的界面设计,保证网站安全稳定的运行。 系统任务 旅游网站管理系统主要是用于旅游管理部门和旅游公司,对旅游信息的进行发布和修改以及加强游客进行交流。 本系统是根据旅游行业的这种现状,提出解决问题的一个可行性方法:采用现代化统一的计算机网络系统,实现了旅游管理的网络化,各类信息有序地进行存储,同时采用了权限认证的方式,只有经过了系统权限认证之后,方可

软件工程课程设计实验报告-学生信息管理系统.docx

软件工程课程实验报告 系统名称学生信息管理系统 学院_计算机学院信息_

学生信息管理系统设计文档 1.可行性研究 1.1技术可行性 已经有人开发过,并且我们也都使用过相类似系统,对其一般性的软件和操作环境、编译环境都比较熟悉,所以说在技术上来说是可行的。 1.2经济可行性 当前系统只对服务器有关的要求,在服务费用方面,支出在你那个承担的范围,以后的维护及其他设备的总共费用在可以承担的范围。用当前系统可以节约出能够支付当前系统的直接支出,以后维护费用更是比以前的机制节约很多钱。 1.3操作可行性 系统的操作方式在这个用户组织内能行得通。 2.需求分析 2.1输入 让学生在纸面上填写相关内容,然后等待辅导员或管理员的审批确认后,再 输入数据库中保存。 2.2输出 学生选择用户选项进入系统后,系统可经有算法程序输出学生基本信息表,学习成绩表等。 2.2.1打印输出 可打印基本信息、学习成绩等各种表格以及在对相应信息进行统计操作后的表格。 2.2.2文件输出 可将所有打印表格输出到EXCEL文件中,以便用户使用其它的EXCE软件改变表格的大小及字体。 2.3故障处理 2.3.1内部故障处理 在开发阶段可以随即修改数据库里的相应内容。 2.3.2外部故障处理 对编辑的程序进行重装载时,第一次装载认为错,修改。第二次运行,在需求调用时出错,有错误提示,重试。 2.4性能要求分析 2.4.1系统易操作性 所开发的系统应做到操作简单,尽量使系统操作不受用户对电脑知识水平的限制。 242系统具有可维护性

由于系统涉及的信息比较广,数据库中的数据需定期修改,系统可利用的空间及性能也随之下降,为了使系统更好地运转,学院可以对系统数据及一些简单的功能进行独立的维护及调整。 243系统具有开放性 该系统能够在开放的硬件体系结构中运行,并且能与其他系统顺利连接,不会因外部系统的不同面要做在量的修改工作。 3.概要设计 3.1基本设计概念和处理流程 管理员通过密码认证,进入信息管理页面对学生相关信息的录入、更新、修 改、添加等操作,也可以通过查询界面对学生信息进行完全的查询,而学生和相关人员只能通过公共的查询界面对学生信息进行查询,如要对学生信息进行完全查询就需要得到管理员的同意。 3.2接口设计 本系统采用快速原型开发工具ViSUal BaSiC 6.0 进行开发,所提供的不同层次的接口,都具有高度的集成性,本系统没有采用低级语言设计和完成自定义接口,因此接口设计部分已经由不同方式的组件来完成了,以下只做简单说明。 3.2.1用户接口 说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。

软件工程课程设计 实验报告 房产管理系统

软件工程课程设计报告 房产管理系统 学院:计算机科学与技术学院 班级: 姓名: 指导教师:

实验要求 1.两人一组。 2.熟悉Visio开发环境,认真分析题目。 3.掌握UML的基本模型元素(如角色、用例、类、数据模型等),准确把握 所要开发系统的功能需求,认真完成系统前期的需求分析,绘制出系统的业务流程图。 4.建立完善的角色与用例的关系,绘制出系统的用例图。 5.分析用例为完成业务目标而进行的各项任务或活动及执行顺序,绘制出 用例要求所要进行的活动以及活动间的约束关系的活动图。 6.分析各用例的可能状态及状态间的转移,描述状态变化序列的起点和终 点,绘制出系统的状态图。 7.进行业务流的分析,根据系统所要完成的功能和所要处理的数据,画出 反映系统逻辑模型的数据流程图。 8.通过分析系统的功能要求,抽象出系统的实体类,描述各实体类的属性, 建立各个实体类及它们之间的关联,绘制系统的实体类图。 9.总结分析出系统的各功能模块,绘制系统各子模块的结构图。 10. 模块的结构设计完成后,进行功能模块的界面风格和要求规范的设计, 实现变量命名规范和模块命名规范的设计,根据设计结果撰写各模块说明书 11.进行检查,并提交设计报告。 实验题目:房产管理系统 需求分析 在我国住房管理是一个关系到每个人切身利益的大问题。某大学拟开发一个用计算机进行房产管理的系统,要求系统具有分房、调房、退房和咨询统计等功能。 房产科把用户申请表输入系统后,系统首先检查申请表的合法性,对不合法的申请表系统会拒绝接受;对合法的申请表则根据其类型分别进行处理。 如果是分房申请,则根据申请者的情况(年龄、工龄、职称、职务、家庭人口等)计算其分数,当分数高于阈值分数时,按分数高低将申请表插到分房队列的适当位置。每月最后一天进行一次分房活动:从空房文件中读出空房信息(房号、面积、等级、单位面积房租等);把好房优先分配给排在前面的符合该等级住房条件的申请者,从空房文件中删除这个房号的信息,从分房队列中删除该申请者;把此房号的信息和住房信息一起写入住房文件中,输出住房分配单给住户,同时计算房租写入房租文件中。 如果是退房申请,则从住房文件和房租文件中删除有关信息,再把此房号的信息写到空房文件中。 如果是调房申请,则根据申请者的情况确定其住房等级,然后在空房文件中

软件工程课程设计范例

《软件工程》课程设计题目C语言在线考试系统的设计与实现 学生 学号 院系计算机与软件学院 专业 指导教师文学志

二O年月日

目录 1.绪论 (1) 1.1.C语言在线考试系统概述 (1) 1.2.C语言在线考试系统的可行性分析 (1) 1.2.1.经济可行性 (2) 1.2.2.技术可行性 (2) 1.2.3.社会可行性 (3) 2.相关技术介绍 (3) 2.1.B/S/S体系结构 (4) 2.2.Java Server Pages (5) 2.3.Struts (5) 2.4.Hibernate (6) 2.5.MySQL (6) 2.6.Tomcat Web服务器 (7) 3. 系统的需求分析 (7) 3.1.系统的功能需求 (8) 3.2.系统的模块划分 (9) 4. 系统的设计 (10) 4.1.系统的概要设计 (10) 4.1.1.系统的总体结构 (11) 4.1.2.系统数据库设计 (11) 4.2.系统主要模块的详细设计 (20)

4.2.1.试题管理模块设计 (20) 4.2.2.考试管理模块设计 (21) 4.2.3.在线考试模块设计 (22) 4.2.4.答卷自动评分模块设计 (23) 5.系统主要模块的实现 (25) 5.1.创建项目 (26) 5.1.1.开发环境的搭建 (26) 5.1.2.系统的整体框架 (27) 5.2.试题管理模块的实现 (28) 5.2.1.创建持久化类和数据库访问相关类 (28) 5.2.2.创建Struts相关类 (30) 5.2.3.创建表示层JSP文件 (31) 5.3.考试管理模块的实现 (33) 5.3.1.初始种群的生成 (34) 5.3.2.适应度值的计算 (34) 5.3.3.选择(Select) (35) 5.3.4.交叉(Crossover) (36) 5.3.5.变异(Mutation) (37) 5.4.在线考试模块的实现 (38) 5.4.1.倒计时子模块的实现 (38) 5.4.2.故障延时子模块的实现 (39) 5.5.答卷自动评分模块的实现 (42)

软件工程课程设计报告模板

滨江学院 软件工程课程设计报告( 2011 -- 2012 年度第一学期) 课程名称:软件工程课程设计 题目:学生选课系统 院系:计算机科学与技术系 班级: 学号: 姓名: 指导教师:李振宏 设计周数:两周 日期:2012 年4月4日

摘要: 本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。系统利用.Net平台技术进行开发,实现学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。同时还对系统的开发原理、功能特点和设计方案进行了介绍。 关键词:学生选课数据库管理 https://www.wendangku.net/doc/998931328.html, 一、课程设计的目的与要求 通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。 具体如下: 1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编 码和测试方面的知识; 2.熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程; 3.进一步加强和提高软件工程文档的编写能力; 4.培养协作能力和团队精神。 二、设计正文 1.概述 1.1课题题目:学生选课系统 1.2系统的主要目标: 本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。 1.3 系统的开发环境及运行环境: 操作系统:Windows XP Pro SP2 建模工具:Rational Rose 2003 数据库系统:SQL Server2000 开发工具:Visual Studio 2005 Web服务器:IIS+https://www.wendangku.net/doc/998931328.html, 2.0平台 2.系统需求分析 学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。 (1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等; (2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩; (3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。 在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看

相关文档
相关文档 最新文档