首页 > 工作范文 > 范文大全 >

实用制作选课系统5篇

网友发表时间 2138300

【请您参阅】下面供您参考的“实用制作选课系统5篇”是由阿拉网友精心整理分享的,供您阅读参考之用,希望此例范文对您有所帮助,喜欢就复制下载支持一下小编了!

制作选课系统篇1

软件开发环境与工具

课程设计

实验题目:酒店管理系统 指导老师:南丽丽

专业班级:计算机科学与技术系1105班 姓 名:陈阿艳(2011100516)

王媛(2011100529)

闫丽颖(2011100503)樊建红(2011100515)2013年 12月13日

目录

第一章…………………………………前言

…………………………………………………选题背景

…………………………………………………课题研究的目的和意义

…………………………………………………本文的研究内容

…………………………………………………国内外现状

第二章…………………………………开发环境及工具介绍 ………………………………………………..visual 简介

…………………………………………............sql server2005 第三章…………………………………系统分析

…………………………………………………..可行性分析

…………………………………………………...需求分析

…………………….酒店管理部分

……………..客户管理

第四章…………………………………数据库设计

…………………………………………………..数据库设计截图 ………………………………………………….权限设置 ………………………………………………….客户信息表 ………………………………………………….房态表 ………………………………………………….结算表

第五章…………………………………系统实现

…………………………………………………登陆

…………………………………………………客户入住

…………………………………………………客户结算退房

…………………………………………………以“老板”为例,展示系统功能

第六章…………………………………主要代码 第七章…………………………………总结

第1章 前 言

选题背景

酒店业是一个前景广阔而又竞争激烈的行业。改革开放以来,我国的酒店业迅速发展,已经成为一个具有相当规模的产业。由于我国的旅游业迅速发展,通过调查,我国在2020年将成为世界上第四大旅游国家;同时我国加入世界贸易组织,酒店业将完全开放,这个时候,我国的酒店业将面临着前所未有的机遇和挑战。但是,现在甚至还有一些酒店还停留在由人工操作和管理阶段,这样已经无法适应当前的发展趋势。因此,要想使酒店的工作质量和效率提高,采用先进的计算机网络 通信技术改变酒店业务模式,实现酒店业务管理的自动化已经成为一种必然。

酒店管理系统采用b/s结构。按照按国家星级宾馆标准化业务程序流式设计,会采用主流开发工具来开发,搭建比较稳定可靠安全的服务端来辅佐客户管理,并且还采用数据库mysql,会通过测试用例来达到测试效果,技术支持会采用轻量级框架struts和hibernate持久化来完成,服务器采用tomcat,通过powerdesigner来设计数据模型为最初业务流程的概念设计阶段和详细设计阶段打好基础[1]。

课题研究的目的和意义

对酒店整个来说,对酒店经营状况起决定作用的是酒店的服务管理水平。如何利用先进的管理手段来提高酒店的管理水平成为酒店业务发展的当务之急。面对信息时代的机遇和挑战,利用科技手段提高酒店的管理无疑是一条行之有效的途径。虽然计算机管理并不是酒店管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷、高效等作用,对酒店的业务管理提供强有力的支持。因此,采用全新的计算机网络和酒店业务管理系统,已成为提高酒店的管理效率,使作业人员与管理系统之间灵活互动,实现流畅的工作流衔接,帮助酒店有效地进行 3 业务管理,释放最大价值。酒店业务管理系统在达到在节省人力资源成本的同时,可以提高业务效率,并能够及时、准确、迅速地满足顾客服务的需求[2]。

本文的研究内容

课程设计选题《酒店管理系统》主要研究了:酒店业务的管理(划分为,登陆界面部分,查询界面部分,入住界面部分,退房界面部分)。

国内外现状

随着我国经济体制改革的不断深化和我国经济的快速发展,我国人民的收入不断提高,消费观念也有提高,对服务质量的要求也有很大的提高。各地把旅游业当作本 地经济发展的重要支柱之一。酒店作为人们食宿、娱乐、休闲的场所而得到了快速的发展。社会上也成立了各种类型,不同规模的酒店服务企业。如何为客户提供更 加准确及时的服务,成为各个酒店竞争关键。所以酒店业务信息化建设就成为了客户衡量酒店提供商服务标准的一个准则,信息系统成为了基础。

随着internet技术的进一步发展和普及,不能很好的适应世界经济发展的形式和我国国民经济建设的需要,市场现有的产品化的酒店业务软件系统在不断发 展中的酒店的需求。基于web的酒店管理系统的总体设计目标能够建立完善、高效、可靠的酒店业务信息系统,为酒店提供良好的信息环境[3]。

第2章 开发环境及工具介绍

2.1visual 简介

visual ,在某些特定情况下也直接简称vb,语言一起讨论的时候。

visual 属basic系语言,其语法特点是以极具亲和力的英文单词为基础标识,以及与自然语言极其相近的逻辑表达,代码就好像在写英文句子一样,从这个角度来说,似乎是最高级的一门编程语言,也确实是迄今为止最强大的一门编程语言。

visual 的应用范围包括windows桌面、web以及当下突然觉醒的正在奋力追赶的第三大移动平台windows phone。

sql server2005 sql server 是一个关系数据库管理系统。它最初是由microsoft、sybase 和ashton-tate三家公司共同开发的,于1988 年推出了第一个os/2版本。在windows nt 推出后,microsoft与sybase 在sql server 的开发上就分道扬镳了,microsoft 将sql server移植到windows nt系统上,专注于开发推广sql server 的windows nt 版本。sybase 则较专注于sql server在unⅸ操作系统上的应用。

microsoft sql server 2005 是一个全面的数据库平台,使用集成的商业智能(bi)工具提供了企业级的数据管理。microsoft sql server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

第3章

系统分析

可行性分析

随着旅游业的发展,酒店、餐饮娱乐行业日趋发达,引入全方位的电脑服务和电脑管理日益流行。同时,酒店和餐厅娱乐业引入电脑服务和管理也取得了优良的经济 效益和社会效益。为此,国家建设部已于最近作出明确规定:凡星级酒店在项目审批时,其设计方案必须包括电脑管理系统,否则不予立项。可见,酒店管理电脑化 势在必行。酒店管理系统将先进的电脑技术与现代酒店服务管理完美地结合起来,实现了住宿、餐饮、娱乐全新概念的服务和管理方式。

一个成熟的酒店管理系统不仅仅是记录酒店客人的信息,提供查询,报表打印等一系列简单的工作,它能让工作人员从烦琐的手工操作中解脱,并且酒店管理系统本 身就代表着一种管理方法。随着它的深入,将带动企业的运做,为管理和决策提供支持。为了达到这个要求,它必须依靠高起点的硬件环境和软件开发工具来保证系 统的稳定和正常运行。酒店电脑系统要求24小时连续运行,数据量大,可靠性要求高,因此整个电脑系统供电采用专线方式,加配ups(不间断供电系统),并合理接地,以便保障整套系统的正常运行[7]。

需求分析

系统需对用户登录进行管理。使用各功能模块时,系统应验证用户身份的有效性,否则要求用户登录。另外,允许用户对自己的密码进行修改。

系统应提供客房的分类管理功能,可分类制订客房面积、价格、是否配备空调等客房类型,对不同标准的客房进行有效管理。系统可实现对客房信息的添加、删除以及修改。

在进行入住/退房管理时,系统可以根据客房当前的状态自动提示可用服务(入住/退房)。如果客房没有客人入住,则该客房的可用服务为“入住”;否则,可用服务为“退房”。

系统的客户端在windows平台下运行,服务器端可在windows平台或unix平台下运行。系统还需要有较好的安全性和可扩展性[8]。

需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出系统的功能模块,即定义用例。这个步骤是对理解需求的升华,直接关系到该系统的质量。

整个系统可以分为2大部分。酒店网站部分(客户服务网站)和酒店管理部分(管理员部分)。本系统只做了有关酒店管理的一部分。 酒店管理部分

1.客房管理: 预订客房管理、客房查询、退房管理。

前台服务员的主要职能是负责订房和退房,以及查询入住的客户信息。所有该角色只可以使用部分功能,包括预定管理、客户信息查询,入住管理,退房管理功能。

第四章 数据库设计

数据库设计截图

权限设置

客户信息表

房态表

结算表

第5章 系统实现

登陆

分别用三种身份登陆,所得到的权限也就不同

老板经理员工

客户入住(通过添加客户信息,自动计算应付房费)

客户结算退房

以“老板”为例,展示系统功能

(1)查询房态

住着人的房间有:

通过房间号查某间房的房态

(2)职工管理

添加职工

设置权限

第登陆

public class login

private sub btn_login_click(byval sender as , byval e as rgs)handles

_id =

_pwd = me.

dim s as integer

s = _check

if s = 1 then

msgbox(“欢迎使用假日酒店管理系统”, ation + )

()

()

else

if s =-1 then

msgbox(“用户名错误!”, ation + )

else

msgbox(“密码错误!”, ation + )

end if

end if

end sub

6章 主要代码

private sub btn_cancel_click(byval sender as , byval e as rgs)handles

()

end sub

private sub login_load(byval sender as , byval e as rgs)handles

end sub end class

主界面

public class main_form

private sub main_form_load(byval sender as , byval e as rgs)handles

call init_tree()

end sub

public sub init_tree()

()

dim s as string

s = “select * from gg_menu where isstop='0'”

dim dr as areader

dr = _dr(s)

dim mynode as treenode

while

mynode = new treenode

= (“menuname”)

if _auth((“typeid”))= false then

continue while

end if

= (“typeid”)

if (“isgroup”)= “0” then

= (“form”)

else

= “"

end if

if (”parid“)= ”0“ then

(mynode)

else

if ((”parid“), true).length > 0 then

((”parid“), true)(0).(mynode)

end if

end if

end while

()

end sub

private sub treev_afterselect(byval sender as , byval e as eweventargs)handles elect

if = ”“ then exit sub

dim formname as string

formname = ”hotel_manager.“ &

dim f as form

'

f = ctype(instance(e(formname)), form)

()

ent = me

state = zed

end sub

private sub 退出toolstripmenuitem_click(byval sender as , byval e as rgs)handles 注á¡é销¨

_id = ”“

_name = ”“

_pwd = ”“

()

()

end sub

private sub timer1_tick(byval sender as , byval e as rgs)handles

= ”登陆者“ & _name

= ”日期“ & format(now, ”yyyy-mm-dd“)

= ”时间“ & format(now, ”long time“)

end sub

private sub 退出toolstripmenuitem1_click(byval sender as , byval e as rgs)handles

()

end sub end class 入住

public class ruzhu_login

private sub ruzhu_login_load(byval sender as , byval e as rgs)handles

me. = _newcode

call init_cbox()

end sub

private sub cbox_type_selectedindexchanged(byval sender as , byval e as rgs)handles edindexchanged

dim s as string

s = ”select * from fang where fang_state='空' and fang_type='“ & & ”'“

dim dr as areader

dr = _dr(s)

()

while

(dr!fang_num)

= dr!fang_yajin

= dr!fang_price

end while

()

end sub

private sub btn_ok_click(byval sender as , byval e as rgs)handles

dim s as string

dim id_card as string

id_card = me.

dim cage as integer

cage = _age(id_card)

dim stoptime as string

stoptime = ”0000/00/00 00:00:00“

s = ”insert into customer values('“ & & ”','“ & & ”','“ & & ”','“ & ng & ”','“ & _

& ”','“ & & ”','“ & & ”','“ & now & ”','“ & stoptime & ”','“ & _

& ”','“ & & ”','“ & & ”','“ & & ”')“

dim s2 as string

s2 = ”update fang set fang_state='满' where fang_num='“ & & ”'“

try

_ex(s)

_ex(s2)

msgbox(”添加成功!“, ation + )

savecode()

catch ex as exception

msgbox(”添加失败!“ & e, ation + )15

end try

end sub

private sub btn_jisuan_click(byval sender as , byval e as rgs)handles

me. = * +

end sub

private sub btn_add_click(byval sender as , byval e as rgs)handles

me. = _newcode

= ”“

()

= ”“

()

()

= ”“

= ”“

= ”“

= ”“

= ”“

= ”“

call init_cbox()

end sub

sub init_cbox()'为性别和房间类型进行添加

(”男“)

(”女“)

(”单人间“)

(”双人间“)

end sub end class 结算

public class jiesuan

dim str as string

private sub jiesuan_load(byval sender as , byval e as rgs)handles

call btn_show_click(sender, e)

end sub

private sub btn_jiesuan_click(byval sender as , byval e as rgs)handles

dim s as string

dim yajin as string

dim yijiao as string

dim str as string

str = now

str = mid(str, 1, 10)

s = ”select yajin,yijiao from customer where start_time like '“ & str & ”%' “

dim dr as areader

dr = _dr(s)

while

yajin = dr!yajin + yajin

yijiao = dr!yijiao + yijiao

end while

()

s = ”select count(*)from jiesuan where riqi like '“ & str & ”%' “

dim conn as new nection

tionstring = _strconn

dim cmd as new mand

tion = conn

dtype =

dtext = s

()

if ctype(escalar(), integer)= 0 then

try

s = ”insert into jiesuan values('“ & str & ”','“ & yijiao & ”','“ & yajin & ”','“ & yijiaoyajin & ”' where riqi='“ & str & ”'“

_ex(s)

catch ex as exception

msgbox(”结算时出错误!“)

end try

end if

end if

s = ”select * from jiesuan where riqi='“ & str & ”'“

dim ds as dataset

ds = _ds(s)

urce = (0)

end sub

private sub btn_show_click(byval sender as , byval e as rgs)handles

dim s as string

s = ”select * from jiesuan“

dim ds as dataset

ds = _ds(s)

urce = (0)

end sub

private sub btn_jingli_click(byval sender as , byval e as rgs)handles

dim str as string

str = now

str = mid(str, 1, 10)

if _job = ”经理“ then

dim s as string

s = ”update jiesuan set jinglishenhe='“ & _name & ”' where riqi='“ & str & ”'“

try

_ex(s)

call btn_show_click(sender, e)

catch ex as exception

msgbox(”审核失败!“)

end try

else

msgbox(”你没有权限!“)

end if

end sub

private sub btn_laoban_click(byval sender as , byval e as rgs)handles

dim str as string

str = now

str = mid(str, 1, 10)

if _job = ”老板“ then

dim s as string

s = ”update jiesuan set laobanshenhe='“ & _name & ”' where riqi='“ & str & ”'“

try

_ex(s)

call btn_show_click(sender, e)

catch ex as exception

msgbox(”审¦核失败!“)

end try

else

msgbox(”你没有权限!“)

end if

end sub end class

退房

public class tuifang_login

dim dv as dataview

private sub btn_chaxun_click(byval sender as , byval e as rgs)handles

dim str as string

str = ”select * from customer_fang where fang_no='“ & & ”'“

dim ds as dataset

ds = _ds(str)

dv = (”temp“).defaultview

urce = dv

end sub

private sub btn_tuifang_click(byval sender as , byval e as rgs)handles

dim s as string

s = ”update fang set fang_state='空?' where fang_num='“ & (0).item(”fang_no“).tostring & ”'“

dim s2 as string

s2 = ”update customer set yingjiao='“ & (0).item(”yingjiao“)(0).item(”yajin“)& ”' where customer_no='“ & (0).item(”customer_no“)& ”'“

try

_ex(s)

_ex(s2)

msgbox(”退房成功!“, ation + )

catch ex as exception

msgbox(”退房失败!“ & e, ation + )

end try

end sub

private sub panel2_paint(byval sender as , byval e as ventargs)handles

end sub

查询

private sub btn_customer_click(byval sender as , byval e as rgs)handles

show_all_coustomer()

end sub

private sub btn_chaxun_click(byval sender as , byval e as rgs)handles

dim str as string

if <> ”“ and <> ”“ then

str = ”fang_no='“ & & ”' and customer_name='“ & & ”'“

elseif <> ”“ and = ”“ then

str = ”fang_no='“ & & ”'“

elseif = ”“ and <> ”“ then

str = ” customer_name='“ & & ”'“

end if

call show_all(str)

end sub

private sub panel2_paint(byval sender as , byval e as ventargs)handles

end sub end class

管理

public class cmanager

sub show_role_auth()

dim s as string

s = ”select * from role_auth_v where role_name<>'老板'“

dim ds as dataset

ds = _ds(s)

urce = (”temp“)

end sub

private sub cmanager_load(byval sender as , byval e as rgs)handles

dim s as string

s = ”select * from role_auth_v where role_name<>'老板'“

dim ds as dataset

ds = _ds(s)

urce = (”temp“)

dim dr as areader

s = ”select * from gg_menu where menuname<>'权限t'and menuname<>'权限管理'“

dr = _dr(s)

while

((”menuname“))

end while

()

s = ”select * from role where role_name<>'老板'“

dr = _dr(s)

while

((”role_name“))

end while

()

end sub

private sub dgview_role_auth_cellclick(byval sender as object, byval e as idviewcelleventargs)handles ick

me. = (0).ng

me. = (1).ng

end sub

private sub btn_add_click(byval sender as , byval e as rgs)handles

dim s as string

dim roleid as string

dim typeid as string

s = ”select role_id from role where role_name='“ & & ”'“

dim dr as areader

dr = _dr(s)

while

roleid = dr!role_id

end while

()

s = ”select typeid from gg_menu where menuname='“ & & ”'“

dr = _dr(s)

while

typeid = dr!typeid

end while

()

s = ”insert into role_auth values('“ & roleid & ”','“ & typeid & ”')“

try

_ex(s)

msgbox(”添加成功!“, ation + )

catch ex as exception

msgbox(”添加失败!“ & e, ation + )

end try

call show_role_auth()

end sub

private sub btn_del_click(byval sender as , byval e as rgs)handles

dim s as string

dim roleid as string

dim typeid as string

s = ”select role_id from role where role_name='“ & & ”'“

dim dr as areader

dr = _dr(s)

while

roleid = dr!role_id

end while

()

s = ”select typeid from gg_menu where menuname='“ & & ”'“

dr = _dr(s)

while

typeid = dr!typeid

end while

()

s = ”delete from role_auth where role_id='“ & roleid & ”'and type_id='“ & typeid & ”' “

try

_ex(s)

msgbox(”删除成功!“, ation + )

catch ex as exception

msgbox(”删除失败!“ & e, ation + )

end try

call show_role_auth()

end sub

private sub dgview_role_auth_cellcontentclick(byval sender as , byval e as idviewcelleventargs)handles ntentclick

end sub end class 22

员工管理

public class staff_manager

private sub btn_show_click(byval sender as , byval e as rgs)handles

dim s as string

s = ”select * from staff where staff_job='职员“

dim ds as dataset

ds = _ds(s)

urce = (0)

end sub

private sub btn_add_click(byval sender as , byval e as rgs)handles

dim s as string

s = ”insert into staff values('“ & & ”','“ & & ”','“ & & ”','“ & _

& ”','职员'“ & & ”','“ & & ”')“

try

_ex(s)

msgbox(”添加成功!“)

catch ex as exception

msgbox(”添加失败“ & e)

end try

end sub

private sub btn_del_click(byval sender as , byval e as rgs)handles

dim s as string

s = ”delete from staff where staff_no='“ & & ”'“

try

_ex(s)

msgbox(”删除成功!“)

catch ex as exception

msgbox(”删除失败“ & e)

end try

end sub

private sub btn_chaxun_click(byval sender as , byval e as rgs)handles 23

dim s as string

s = ”select * from staff where staff_no='“ & & ”' and staff_job='职员'"

dim ds as dataset

ds = _ds(s)

urce = (0)

end sub

private sub staff_manager_load(byval sender as , byval e as rgs)handles

call btn_show_click(sender, e)

end sub

private sub dgview_staff_cellclick(byval sender as object, byval e as idviewcelleventargs)handles ick

= (0).ng

= (1).ng

= (2).ng

= (5).ng

= (6).ng

end sub

private sub panel2_paint(byval sender as , byval e as ventargs)handles

end sub end class

第7章 总 结

经过这段时间的精心设计,系统的基本功能已经实现,并能实践于一些业务管理过程中,但酒店业务管理系统是一个庞大的工程,要使网络交互功能的实现,脚本的设计,网页的构架,网页的美工,文字的编辑,非一朝一夕可尽善尽美的,这需要一个长期的摸索与完善过程,同时还要在实践中发现与操作者使用要求不相符合的 地方还要修改。子系统功能虽已基本实现,但仍有诸多地方需要修改。随着酒店业务的扩展,服务的增加,酒店业务管理系统也逐渐发展、完善。如果没有一套可靠的酒店业务管理系统,但凭手工操作,不仅效率低下,而且会极大地形象到酒店的服务质量。要在酒店服务中选择好适合自己酒店实际情况的业务管理系统不仅 要考虑该系统在酒店的实用性,还要考虑酒店对该系统所能够承担费用的能力,以及这个系统对操作员来说的操作难易程度。通过本次课程设计中,编程技能,sql以及jdbc连接数据库和动态页面的用法。比较全面的巩固了下面向对象的编程思想。在本次课程设计中,我们懂得了谨慎和团结的重要性,明确分工也使我们提高了实验的效率,这对我们以后的学习工作都有很大的帮助。

本文地址:http:///zuowen/

制作选课系统篇2

“选课注册管理系统”课程设计指导书

课题名称:选课注册管理系统

设计目标:按照软件工程的规范,以sql server或oracle为后台数据库,以visual c++、delphi等为前端开发工具,模拟高等学校的选课情况,设计并实现一个学生选课注册管理系统。

需求描述:

1.系统用户

本系统的用户是学校的学生、教师和管理员。学生使用本系统查询新学期将开设的课程和授课教师的情况,选择自己要学习的课程,并进行登记注册。教师使用本系统查询新学期将开设的课程、参加听课的学生情况。教学管理员使用本系统进行教学管理,包括课程管理和新学期的课程选课注册管理。

2.系统功能

本系统负责新学期的课程选课注册工作;应提供的服务功能如下:

(1)录入与生成新学期课程表:教学管理员在新学期开始前录入新学期课程,打印将开设的课程目录表,供师生参考选择。若某课程的实际选课学生少于10人,则停开该课程,把该课程从课程目录表中删除;若某课程的选课学生多于30人,则停止选课。

(2)学生选课注册:新学期开始前一周为选课注册时间,在此期间学生可以选

课注册,并且允许改变或取消注册申请。

(3)查询:可以查询课程信息、学生选课信息和学生、教师信息。

(4)选课注册信息的统计与报表生成:教学管理员对学生的选课注册信息进行

统计(按课程、按学生、按班级)。

3.系统结构

假定在学校的计算中心有功能强大的工作站机器,在各系、各部门、图书馆、学生宿舍都有台式pc机,学校的全部计算机已经联网。本系统将采用客户机/服务器结构建立,应用服务器和数据库服务器设置在学校计算中心的工作站。学生、教师和教学管理员可以在各系、各部门、图书馆、学生宿舍的台式pc机上使用本系统。结果形式:

提交课程设计报告、源程序和可演示的软件

课程设计报告要求:详见课程设计模板

课程设计参考思路:

(1)熟悉数据库和开发工具,掌握开发工具与本地数据库的连接方法。

(2)理解系统的信息需求,进行合理的数据库设计,建立各数据库表。

(3)理解系统的功能需求,设计应用软件。结合delphi 或vc++进行系统界面(窗

体、菜单以及相应控制按钮)的设计、连接与操纵数据库方案的设计,编写程序。

(4)系统运行、调试并完善。

(5)撰写设计报告。

制作选课系统篇3

题目

一、学生选课管理系统

第一部分:课程设计名称、目的、要求

第二部分:程序总体设计思路

第三部分:程序功能划分、图示及流程图

第四部分:程序设计数据、运行结果

第五部分:程序的优缺点

第六部分:心得体会

第七部分:附录(源程序)

第八部分:附录(参考文献)

目录

..............................................................................第一部分:课程设计名称、目的、要求

名称:学生选修课程系统设计

目的:运用c语言提高解决实际问题的能力 实验环境:microsoft visual c++ 内容:

假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。功能

系统以菜单方式工作

课程信息录入功能(课程信息用文件保存)--输入 课程信息浏览功能--输出

查询功能:(至少一种查询方式)--算法 按学分查询 按课程性质查询 学生选修课程(可选项)

第二部分:程序总体设计思路

由于c语言是面对过程的语言,故我的设计思路是根据目标程序运行的过程来编写的。

具体的设计思路如下:

程序的要求是设计学生选修课管理系统,对选修课程能够进行录入和修改操作等,要求有菜单界面和退出功能。首先,考虑到程序的数据输入,可以设置一个管理员登陆选项,通过该选项进入管理员界面,进行选修课的录入和修改操作,最后将录入的课程保存到相应的文件中。然后定义各种函数的功能包括查看,查询,删除等。另一个为学生登陆界面,该界面学生可以进行课程选择和浏览查询等操作。在进行该操作之前需要对管理员保存的文件进行读取,然后对其中的内容进行查询等,在学生选好课程以后,可以将其选好的课程保存于相应的文件中,以便下次进行修改。通过函数的层层调用来实现程序的逻辑结构。中间通过文件的打开和关闭实现对文件内部所包含的数据的操作。

整个程序的设计思路到此结束。

第三部分:程序功能划分、图示及流程图

功能模块划分及其流程图

本程序功能模块根据程序设计的需求,综合程序的实用性、人性化、智能化的考虑,将程序划分为6个部分分别编写,程序主体功能将由这9个部分来完成。这9个部分依次是:

1.登录界面函数;void login()2.学生登录界面据函数:void stu_login()3.管理员登录界面函数:void man_login()4.退出界面函数:void bye_sys()

5.课程选择函数:void c_select()6.课程浏览函数:void c_view()7.课程查询函数:void c_search()8.课程增加函数:void c_add()9.课程删除函数:void c_delete()10.菜单函数:void index()11.主函数部分; main()

总体设计:

学生选课系统管理员登录学生登录新增课程删除课程课程浏览查询课程学生选课课程浏览课程查询c_add函数c_delete函数c_view函数c_search函数c_select函数c_view函数c_search函数

系统功能模块图

部分函数流程图:

1、课程选择函数:

开始输入要选择的课程的编号j=0;j

2、课程查询函数

开始输入要查询的课程的编号j=0;j

3、课程增加函数

开始输入要增加的课程的编号j=0;j

4、课程删除函数

开始输入要删除的课程的编号nj=0;j

本程序是一款应用软件,故数据设计、程序运行结果应在程序的

运用中得以体现,现在通过一个程序的运用事例来对程序运行结果进行演示与实现。软件运用举例

1、程序开始界面如下:

选择某个选项,如进行管理员登录,进行课程的增加 进入管理员界面:

2、再选择所要进行的操作,如进行课程增加,结果如下:

下面可以进行继续增加课程或者退出:

3、选择课程浏览,可以分页查看相应的课程信息: 第一页:

第二页:

4、课程查询

查找结果:

4、管理员课程删除操作:

删除后可以进行浏览,观察删除后的结果:

可见删除后只有一条记录。删除操作完成正确。下面进行学生操作的使用方法:

1、学生登陆界面:

2、选择学生选课选项:

3、学生登陆也可进行课程浏览和查询函数,其结果与管理员登陆相同,不再演示。

第五部分:程序的优缺点

程序的优点

算法是程序的灵魂,程序的优点首先表现在算法上的优点,其次才是功能上的。

[算法上的优点]主要体现在以下三点:

1.程序采用main主函数方式设计,程序的主体的功能大都由该功能

完成。程序如此设计有利于程序的进一步改进及有助于程序执行效率的提高。

2.程序对文件数据的读写采用了fread和fwrite块读写函数,能够将文件中的数据完全读出,然后赋到定义的数组中,再在相应的数组中进行一系列操作,最终再写入文件。

3.插入操作在本程序中将课程信息直接插入数组最后一个节点,从而减少了数据的相互移动,节省了时间。

[功能上的优点] 主要体现在以下两点:

1. 简洁明了的程序菜单。程序主要采用了层次不同的菜单,相互独立又相互联系,巧妙相接,符合用户的使用习惯与思维。2. 人性化的程序提示语言,程序提示语言较人性化,不仅大多为祈使语句、疑问句,而且提示明确,具有较强的明确的指导作用。程序提示不仅层次分明,提示方式多样,而且提示信息井然有序,更加有利于用户顺利、准确地看懂程序并进行操作。

程序的缺点 主要表现在以下两点:

1、本程序没有进行相应的密码操作,所以对于使用者来说可能存在比较大的不保密性。需要改善。

2、本程序没有使用文本读写函数fscanf和fprintf,所以的到的课程文件和选课文件都是二进制形式。

第六部分:心得体会

选课系统程序比起通讯录程序来讲好写一些,由于本程序用到了数组,对于数组的操作掌握的比较熟练,所以在编写程序的时候困难没有那么多。

本程序在编写的过程中用到了许多通讯录中的模块化设计和函数互相调用的思想,使得编写比较方便和好用。

通过该系统的课程设计分析,我掌握了模块化设计的方法,理解和运用了结构化程序设计的思想和方法,掌握和提高了运用c语言进行程序设计的能力。

程序设计的过程,实际上是确定解决问题的详细步骤,而这个步骤通常叫做流程,在程序设计过程中理清楚整个问题的流程很重要,然后采取逐步细化的方法实现整个程序。

对于一个较大的应用程序,一般不可能一次就设计出一个很完善的系统。通常要先设计满足基本要求的系统,然后再测试或者在使用的过程中不断完善,慢慢地做成一个功能很完善选修课程管理系统。所以在进行调试的时候需要对许多变量理解和掌握其变化规律等,这对于我更好的掌握visual c中调试的工具有很大的帮助。

总之经过这次课程设计,我对c语言的使用和理解都有了很大的加深,对于编程的思想也有了很多新的理解和感受。

第七部分:附录

一、参考文献:

1、李丽娟主编,c语言程序设计教程(第二版),人民邮电出版社

2、严蔚敏主编,数据结构(c语言),清华大学出版社

3、崔单主编,c语言程序设计案例精粹,电子工业出版社

4、谭浩强主编,程序设计(第三版),清华大学出版社

二、源程序

#include“” #include“” #include“” #include“”

void index();//首页 void login();void bye_sys();//退出界面

void stu_login();//学生登录菜单

void c_select();void c_view();//课程浏览

void c_add();//增加课程 void c_delete();void c_searchs();//学生查询函数 void c_searchm();//管理员查询函数 void c_viewm();//管理员浏览函数 void c_views();//学生浏览函数

struct course//定义课程结构体

{

int c_num;

char c_name[20];

int c_score;

int c_nelepeo;//课程已选人数

int c_melepeo;//课程人数上限 };struct student { char s_number[10];

char s_password[10];};struct manager { char m_name[10];char m_password[10];};

void index()//首页 {

char input;

printf(“nnttt*****************************n”);

printf(“ttt

湖南大学学生选课系统n”);

printf(“ttt*****************************nnn”);

printf(“ttt*****************************nnn”);

printf(“ttt*****************************nnn”);

printf(“ttt*****************************nnn”);

printf(“ttt**********设计者:刘晓斌******nnn”);

input=getchar();

system(“cls”);} void login()//登陆界面

{

void stu_login();

void man_login();

void bye_sys();

int input;

do

{

system(“cls”);

printf(“nnnt1.学生登录n”);

printf(“t2.管理员登陆n”);

printf(“t3.退出本系统n”);

printf(“t请选择服务类别:”);

scanf(“%d”,&input);

if(input!=1&&input!=2&&input!=3)//输入数不等于选项的时候打印画面

{

printf(“nt输入出错!请重新选择~n”);

printf(“nt按任意键返回选择页面~nt”);

getchar();getchar();

system(“cls”);

}

if(input==3)//如果输入3退出系统

{

bye_sys();

}

}while(input!=1&&input!=2&&input!=3);

switch(input)

{

case 1:stu_login();break;

case 2:man_login();break;

} }

void bye_sys()//退出界面 { exit(0);}

void man_login(){

void c_add();

void c_delete();

void c_view();

void c_searchm();

int in;

do

{

system(“cls”);

printf(“nnt1.新增课程n”);

printf(“t2.删除课程n”);

printf(“t3.课程浏览n”);

printf(“t4.课程查询n”);

printf(“t5.退出n”);

printf(“nnt请选择服务种类:”);

scanf(“%d”,∈);

if(in!=1&∈!=2&∈!=3&∈!=4&∈!=5)

{

printf(“nt没有这项服务t按任意重新选择”);

getchar();getchar();

}

}while(in!=1&∈!=2&∈!=3&∈!=4&∈!=5);

switch(in)

{

case 1:c_add();break;

case 2:c_delete();break;

case 3:c_viewm();break;

case 4:c_searchm();break;

case 5:login();break;

} }

void stu_login()//学生登录菜单

{

void c_select();

void c_view();

void c_searchs();

void login();

int input;

do

{

system(“cls”);

printf(“nnnt--学生登陆--”);

printf(“nnt1.学生选课n”);

printf(“t2.课程浏览n”);

printf(“t3.课程查询n”);

printf(“t4.退出n”);

scanf(“%d”,&input);

if(input!=1&&input!=2&&input!=3&&input!=4)

{

printf(“nt没有这项服务~n”);

printf(“t按任意键重新选择”);

getchar();

getchar();

}

}while(input!=1&&input!=2&&input!=3&&input!=4);

switch(input)

{

case 1:c_select();break;

case 2:c_views();break;

case 3:c_searchs();break;

case 4:login();break;

} }

void c_select(){

int n,in,i=0,j;int flag=0;

file *fp;

file *fp1;

char input;

struct course courses[10];

if((fp=fopen(“”,“rb”))==null)//判断是否存在课程

{

printf(“nnnt课程不存在nn”);

printf(“t<按任意键返回管理菜单>nt”);

input=getchar();

input=getchar();

stu_login();//进入学生登陆菜单

}

else//存在的话循环读取文件中的信息直到文件指针到文件尾部

{

do

{

fread(&courses[i],sizeof(struct course),1,fp);

i=i+1;

}

while(!feof(fp));

fclose(fp);//文件读完后关闭

}

printf(“nntt请输入你要选课程的编号:”);

scanf(“%d”,&n);

if((fp1=fopen(“”,“rb”))==null)

{

fp1=fopen(“”,“wb”);

}

else

{

fclose(fp1);

fp1=fopen(“”,“ab”);

}

for(j=0;j

if(courses[j].c_num==n)

flag++;

if(flag==0)

{

printf(“nntt不存在对应课程n”);

printf(“nntt继续选课请按1,退出请按2:n”);

scanf(“%d”,∈);

switch(in)

{

case 1:c_select();break;

case 2:stu_login();break;

default:

printf(“输入错误,将返回登录界面!n”);

login();break;

}

}

else

{

fwrite(&courses[j],sizeof(struct course),1,fp1);

fclose(fp1);

printf(“nntt选课成功t请选择:”);

printf(“nntt1.继续选课”);

printf(“nntt2.退出,返回登录界面!”);

scanf(“%d”,∈);

switch(in)

{

case 1:c_select();break;

case 2:stu_login();break;

default:break;

}

} }

void c_viewm()//课程浏览

{

void stu_login();

void c_view();

int

inp,i=0,n=0;

file *fp;

char input;

struct course courseview[10];

if((fp=fopen(“”,“rb”))==null)//判断是否存在课程

{

system(“cls”);

printf(“nnnt课程不存在nn”);

printf(“t<按任意键返回管理菜单>nt”);

getchar();getchar();

stu_login();//进入学生登陆菜单

}

else//存在的话循环读取文件中的信息直到文件指针到文件尾部

{

do

{

fread(&courseview[i],sizeof(struct course),1,fp);

i=i+1;

}

while(!feof(fp));

fclose(fp);//文件读完后关闭

do

{

system(“cls”);

if(i==1)

{

printf(“nnnttt没有记录!n”);

getchar();getchar();

man_login();

}

else

{

printf(“nt------共有%d条记录-------”,i-1);

printf(“nnt课程编号: %dn”,courseview[n].c_num);

printf(“nnt课程名字: %sn”,courseview[n].c_name);

printf(“nnt课程学分: %dn”,courseview[n].c_score);

printf(“nnt课程已选人数: %dn”,courseview[n].c_nelepeo);

printf(“nnt课程人数上限: %dn”,courseview[n].c_melepeo);

printf(“nnt1.上一页t2.下一页t3.回目录”);

printf(“n请选择:”);

scanf(“%d”,&inp);

switch(inp)

{

case 1:

{

if(n==0)

{

printf(“nt已到达首页 t按任意键返回”);

input=getchar();

input=getchar();

}

else

{

n=n-1;

}

break;

}

case 2:

{

if(n==i-2)

{

printf(“nt已到达尾页t按人意见返回”);

input=getchar();

input=getchar();

}

else

{

n=n+1;

}

break;

}

case 3:{man_login();break;}

default:

{

printf(“nt操作错误t按任意键返回”);

getchar();getchar();

break;

}

}

}

}while(inp!=3);

} }

void c_views()//课程浏览

{

void stu_login();

void c_view();

int

inp,i=0,n=0;

file *fp;

char input;

struct course courseview[10];

if((fp=fopen(“”,“rb”))==null)//判断是否存在课程

{

system(“cls”);

printf(“nnnt课程不存在nn”);

printf(“t<按任意键返回管理菜单>nt”);

getchar();getchar();

stu_login();//进入学生登陆菜单

}

else//存在的话循环读取文件中的信息直到文件指针到文件尾部

{

do

{

fread(&courseview[i],sizeof(struct course),1,fp);

i=i+1;

}

while(!feof(fp));

fclose(fp);//文件读完后关闭

do

{

system(“cls”);

if(i==1)

{

printf(“nnnttt没有记录!n”);

getchar();getchar();

stu_login();

}

else

{

printf(“nt------共有%d条记录-------”,i-1);

printf(“nnt课程编号: %dn”,courseview[n].c_num);

printf(“nnt课程名字: %sn”,courseview[n].c_name);

printf(“nnt课程学分: %dn”,courseview[n].c_score);

printf(“nnt课程已选人数: %dn”,courseview[n].c_nelepeo);

printf(“nnt课程人数上限: %dn”,courseview[n].c_melepeo);

printf(“nnt1.上一页t2.下一页t3.回目录”);

printf(“n请选择:”);

scanf(“%d”,&inp);

switch(inp)

{

case 1:

{

if(n==0)

{

printf(“nt已到达首页 t按任意键返回”);

input=getchar();

input=getchar();

}

else

{

n=n-1;

}

break;

}

case 2:

{

if(n==i-2)

{

printf(“nt已到达尾页t按人意见返回”);

input=getchar();

input=getchar();

}

else

{

n=n+1;

}

break;

}

case 3:{stu_login();break;}

default:

{

printf(“nt操作错误t按任意键返回”);

getchar();getchar();

break;

}

}

}

}while(inp!=3);

} }

void c_searchs(){

void stu_login();

void c_searchs();

int id,i=0,j,inp,k;

int flag=0;

file *fp;

struct course coursesear[10];

if((fp=fopen(“”,“rb”))==null)

//判断课程信息是否存在 {

system(“cls”);

printf(“nnt课程不存在t按任意键返回”);

getchar();getchar();

stu_login();

}

else//存在的话循环读取文件中的信息直到文件指针到文件尾部

{

do

{

fread(&coursesear[i],sizeof(struct course),1,fp);

i=i+1;

}while(!feof(fp));

fclose(fp);

}

system(“cls”);

printf(“nnttt请输入你要查询的课程编号:”);

scanf(“%d”,&id);

do//检查输入是否符合要求

{

for(j=0;j

{

if(id==coursesear[j].c_num)

{

flag++;

k=j;

}

}

if(flag==1)

{

system(“cls”);

printf(“nnt课程编号:%dn”,coursesear[k].c_num);

printf(“nnt课程名字:%sn”,coursesear[k].c_name);

printf(“nnt课程学分:%dn”,coursesear[k].c_score);

printf(“nnt课程已选人数:%dn”,coursesear[k].c_nelepeo);

printf(“nnt课程人数上限:%dn”,coursesear[k].c_melepeo);

getchar();getchar();

printf(“nnt1.回目录继续查询t2.退出查询系统n”);

printf(“请选择:”);

scanf(“%d”,&inp);

switch(inp)

{

case 1:c_searchs();

case 2:stu_login();

default:

{

printf(“nt没有这项服务t请按任意键重新输入”);

getchar();getchar();

}

}

}

else

{

system(“cls”);

printf(“nnt不存在对应记录n”);

printf(“nnt1.回目录继续查询t2.退出查询系统n”);

printf(“请选择:”);

scanf(“%d”,&inp);

switch(inp)

{

case 1:c_searchs();

case 2:stu_login();

default:

{

printf(“nt没有这项服务t请按任意键重新输入”);

getchar();getchar();

}

}

}

}while(inp!=1);

}

void c_searchm(){

void stu_login();

void c_searchm();

int id,i=0,j,inp,k;

int flag=0;

file *fp;

struct course coursesear[10];

if((fp=fopen(“”,“rb”))==null)

//判断课程信息是否存在 {

system(“cls”);

printf(“nnt课程不存在t按任意键返回”);

getchar();getchar();

stu_login();

}

else//存在的话循环读取文件中的信息直到文件指针到文件尾部

{

do

{

fread(&coursesear[i],sizeof(struct course),1,fp);

i=i+1;

}while(!feof(fp));

fclose(fp);

}

system(“cls”);

printf(“nnttt请输入你要查询的课程编号:”);

scanf(“%d”,&id);

do//检查输入是否符合要求

{

for(j=0;j

{

if(id==coursesear[j].c_num)

{

flag++;

k=j;

}

}

if(flag==1)

{

system(“cls”);

printf(“nnt课程编号:%dn”,coursesear[k].c_num);

printf(“nnt课程名字:%sn”,coursesear[k].c_name);

printf(“nnt课程学分:%dn”,coursesear[k].c_score);

printf(“nnt课程已选人数:%dn”,coursesear[k].c_nelepeo);

printf(“nnt课程人数上限:%dn”,coursesear[k].c_melepeo);

getchar();getchar();

printf(“nnt1.回目录继续查询t2.退出查询系统n”);

printf(“请选择:”);

scanf(“%d”,&inp);

switch(inp)

{

case 1:c_searchm();

case 2:man_login();

default:

{

printf(“nt没有这项服务t请按任意键重新输入”);

getchar();getchar();

}

}

}

else

{

system(“cls”);

printf(“nnt不存在对应记录n”);

printf(“nnt1.回目录继续查询t2.退出查询系统n”);

printf(“请选择:”);

scanf(“%d”,&inp);

switch(inp)

{

case 1:c_searchm();

case 2:man_login();

default:

{

printf(“nt没有这项服务t请按任意键重新输入”);

getchar();getchar();

}

}

}

}while(inp!=1);}

void c_add()//增加课程 {

void c_add();

void man_login();

int i=0,j,inp;

file *fp;

struct course course_new;

struct course courses[10];

system(“cls”);

printf(“nntt请输入课程信息”);

printf(“nntt1.课程编号:”);

scanf(“%d”,&course__num);

printf(“nntt2.课程名字:”);

scanf(“%s”,course__name);

printf(“nntt3.课程学分:”);

scanf(“%d”,&course__score);

printf(“nntt4.课程已选人数:”);

scanf(“%d”,&course__nelepeo);

printf(“nntt5.课程人数上限:”);

scanf(“%d”,&course__melepeo);

if((fp=fopen(“”,“rb”))!=null)

{

do

{

fread(&courses[i],sizeof(struct course),1,fp);

i=i+1;

}while(!feof(fp));

fclose(fp);

for(j=0;j<=i-1;j++)

if(course__num==courses[j].c_num)

{

system(“cls”);

printf(“nnttt对不起,这个编号已经使用过nntt按任意键返回管理菜单”);

getchar();getchar();

man_login();

break;

}

}

if((fp=fopen(“”,“rb”))==null)

{

fp=fopen(“”,“wb”);

}

else

{

fclose(fp);

fp=fopen(“”,“ab”);

}

fwrite(&course_new,sizeof(struct course),1,fp);

fclose(fp);

printf(“nntt信息输入完毕t按任意键继续”);

getchar();getchar();

do

{

system(“cls”);

printf(“nntt1.继续输入”);

printf(“nntt2.返回管理菜单”);

printf(“nntt请选择”);

scanf(“%d”,&inp);

if(inp!=1&&inp!=2)

{

printf(“输入不符合要求t按任意键重新选择”);

getchar();getchar();

}

}while(inp!=1&&inp!=2);

switch(inp)

{

case 1:c_add();break;

case 2:man_login();break;

} }

void c_delete()//查询后删除 {

file *fp;

int i=0,j,n,k,flag=0;

struct course courses[10];

void c_delete();

void man_login();

printf(“nntt请输入你要删除的课程编号:”);

scanf(“%d”,&n);

if((fp=fopen(“”,“rb”))!=null)

{

do

{

fread(&courses[i],sizeof(struct course),1,fp);

i=i+1;

}while(!feof(fp));

fclose(fp);

}

else

{

printf(“nntt不存在任何课程t按任意键返回”);

getchar();getchar();

man_login();

}

for(j=0;j

{

if(courses[j].c_num==n)

{

flag=1;

fp=fopen(“”,“wb”);

for(k=0;k

fwrite(&courses[k],sizeof(struct course),1,fp);

fclose(fp);

fp=fopen(“”,“ab”);

for(k=j+1;k

{

fwrite(&courses[k],sizeof(struct course),1,fp);

}

printf(“nntt记录已删除!t按任意键返回ntt”);

getchar();getchar();

man_login();

fclose(fp);

}

}

if(flag==0)

{

printf(“nntt不存在对应的课程t按任意键返回”);

getchar();getchar();

man_login();

} // printf(“nntt记录已删除!t按任意键返回ntt”);

}

int main(){

index();login();return 0;}

制作选课系统篇4

“成绩管理系统”课程设计指导书

课题名称:学生成绩管理系统

设计目标:按照软件工程的规范,以sql server或oracle为后台数据库,以visual c++、delphi等为前端开发工具,设计并实现一个能模拟高等学校学生成绩管理的系统。

需求描述:

学生成绩管理系统中:

1.系统用户

系统的用户是学校的学生、教师和管理员。学生使用本系统查询自己的成绩。教师使用本系统录入和查询自己所授课程的考试成绩。教学管理员可以查询所有课程成绩,并使用本系统进行成绩的统计和生成报表。

2.系统功能

(1)成绩录入:

教师可以查询自己本学期所授课程,并录入学生的考试成绩。录入过

程中,可以暂存已录入的成绩,当录入完成后提交。

(2)成绩维护:

教师在提交前,可以修改已录入或暂存的学生成绩;但提交后,则只

能查询不能再进行任何修改。

教学管理员可以清除教师已提交的成绩。

(3)成绩查询:

教师、教学管理员可以查询学生考试成绩。学生只允许查询自己的考

试成绩,教师只允许查询自己所授课程的成绩。

(4)成绩统计:

教学管理员可以按课程、按学生、按班级等进行成绩统计。

教学管理员根据核算出的总评成绩统计处于优、良、中、及格、不及

格的学生人数以及占总人数的百分比。其中100-90为优,89-80为良,79-70为中,69-60为及格,60分以下为不及格。

按要求输出成绩在优、良、中、及格、不及格各区间的学生学号。

结果形式:

提交课程设计报告、源程序和可演示的软件

课程设计报告要求:详见课程设计模板

课程设计参考思路:

(1)熟悉数据库和开发工具,掌握开发工具与本地数据库的连接方法。

(2)理解系统的信息需求,进行合理的数据库设计,建立各数据库表。

(3)理解系统的功能需求,设计应用软件。结合delphi 或vc++进行系统界面

(窗体、菜单以及相应控制按钮)的设计、连接与操纵数据库方案的设计,编写程序。

(4)系统运行、调试并完善。

(5)撰写设计报告。

制作选课系统篇5

一、需求分析...................................................................................................................................2 编写目的:.......................................................................................................................2 项目背景:.......................................................................................................................2 系统使用对象:................................................................................................................3 功能需求:.......................................................................................................................3 业务流程图:.......................................................................................................3 功能模块图:.......................................................................................................4 功能介绍:...........................................................................................................4 问题域描述:........................................................................................................5 性能要求:.......................................................................................................................5 运行环境:.......................................................................................................................6

二、系统详细设计...........................................................................................................................6 系统总体设计....................................................................................................................6 运行环境...............................................................................................................6 系统流程...............................................................................................................6 系统结构...............................................................................................................7 系统接口的概要设计........................................................................................................8 用户接口...............................................................................................................8 数据库概要设计...............................................................................................................9 物理结构设计.......................................................................................................9

三、系统实现.................................................................................................................................10 系统开发环境.................................................................................................................10 系统实现.........................................................................................................................11 客户端系统实现.................................................................................................11

一、需求分析

编写目的:

库存管理工作如由人工完成,主要依靠个人经验和厚重的资料簿,查询工作繁琐而且质量不高,容易出错。如果利用计算机的高速计算能力和广泛的普及应用,则能利用判断条件,更快地找出所要查询的库存产品。库存管理系统是一套对货品入库、出库、库存进行全面管理的系统。

项目背景:

由于市场竞争的需要,如何吸引和留住人才,激发员工的创造行、工作责任感和工作热情已经成为关系企业兴衰的重要因素,人才已成为企业最重要的资产之一。“公正、公平、合理”的企业管理理念和企业管理水平的提高,是社会对库存管理系统有了更高的需求;同时由于个人电脑的普及,数据库技术、客户/服务器技术,特别是internet/intranet技术的发展,使的三代库存管理系统的出现才成为必然。库存管理系统的特点是从物品管理的角度出发,用集中的数据库将几乎所有与物品相关的数据统一管理起来,形成了集成的信息源。有好的用户界面,强有力的报表生成工具、分析工具和信息的共享使得物品管理人员得以摆脱繁重的日常工作,集中精力从战略的角度来考虑企业物品规划和政策。

企业的库存物资管理往往是很复杂、很繁琐的。由于所掌握的物资种类众多,订货、管理、发放的渠道各有差异,各个企业之间的管理体制不尽相同,各类统计报表繁多,因此仓库的库存管理必须编制一套库存管理信息系统,实现计算机化操作,而且必须根据企业的具体情况制定相应的方案。

系统使用对象:

本软件提供了完备的销售业务管理功能,包括销售管理(销售订单、销售出货、销售退货、收款登记)、基本信息(公司基本资料、客户资料、货品资料、员工档案、其他基础设置)、单据查询(订货单查询、收货单查询、付款单查询)、系统维护(操作权限、数据备份及恢复、数据压缩、数据清理)等功能。

功能需求:

业务流程图:

功能模块图:

功能介绍: 库存管理:包括货品信息管理、货品库存管理、短线货品管理、超储货品管理。

入库管理:包括入库登记管理、货品入库期间统计、供货单位期间供货统计和供货单位期间供货金额统计。

出库管理:包括出库登记管理、货品期间出库统计、收货单位期间收货统计和收货单位期间收货金额统计。

盘存管理:包括盘存数据录入和盘存表。综合管理:包括货品出入库期间汇总等。

附项分类:包括经办人员管理、供货单位管理、仓库信息管理及数据处理记录。

历史数据管理:包括历史库存管理、历史入库管理和历史出库管理等。问题域描述:

货物是否能被管理员找到,货物必要有唯一的货号;仓库对应唯一管理员,管理员必要有唯一工号,性别,姓名等属性;每个入库货物对应一张入库单,入库单号码必须与货号唯一对应;每个出库货物对应一张出库单,出库单号码必须与货号唯一对应;管理人员存放货物根据存放规则在仓库内存放货物;管理人员根据提货规则从仓库内提取货物。

性能要求:

全局特征:

系统可用性是:全天候可用、可靠性:除了不可计错误,一般不会崩溃。安全性和保密性:只有专业的工作人员才能运行,可以设置权限。

运行环境:

硬件环境:pentiumⅱ 或同档次以上微机; 32mb以上内存或更高;以上硬盘;

光驱;24速以上光驱;

针打或激光打印机一台

软件环境:中文 windows95 /

二、系统详细设计

系统总体设计

运行环境 操作系统:windows all 安装mysql tomcat myeclipse 系统流程 本课题的系统流程图如下

/we/ 2000操作系统。

系统结构

本课题的功能模块设计图如下

系统接口的概要设计

用户接口 首页(用户登录界面)

用户操作界面(如图)头部和其他部位的内容一样

左侧部分为当用户登录成功后将显示用户操作的功能菜单 右侧部分则根据用户选择的操作显示相应内容

数据库概要设计

物理结构设计

本课题目前为数据库建立了9 个表 category:id,name,description;

goods:id,name,description,inprice,outprice,category_id,supplier;instock:id,quantity,intime,price,description,goods_id,uear_id;outstock:id,quantity,outtime,description,price,user_id,goods_id;privilege:id,name,description stock:goods_id,quantity,outprice,inprice supplier:id,name,linkman,cellphone,description user:id,username,password user_privilege:user_id,privilege_id

三、系统实现

系统开发环境

系统:microsoft windows 7 编程环境:myeclipse 开发语言:java 数据库:mysql

系统实现

客户端系统实现 登录界面(如下图)

库存管理成果信息页面(如图)

用户管理

权限管理

供应商管理

类别管理

商品管理

入库管理

库存管理

出库管理

相关推荐

热门文档

48 2138300