资源描述
延安大学西安创新学院论文(设计)
延安大学西安创新学院
专业综合课程设计
题 目:
集团公司管理系统
班 级:
计算机科学与技术1501
姓 名:
陈 涛
学 号:
1543041051
指导教师:
柴荣军
职 称:
工程师
- 3 -
1 前言 - 3 -
1.1课题的背景和意义 - 3 -
1.2研究内容 - 3 -
2 系统调研 - 4 -
2.1系统调研 - 4 -
2.2可行性分析 - 4 -
3 系统分析 - 5 -
3.2数据流程分析 - 7 -
4 系统设计 - 7 -
4.1功能设计 - 8 -
4.2功能结构设计 - 8 -
5 系统实现 - 9 -
5.1 登录模块实现 - 9 -
5.2 主界面设计实现 - 11 -
5.3 管理员设置界面实现 - 13 -
5.4各公司界面实现 - 15 -
5.5各工具界面实现 - 18 -
5.6各员工界面实现 - 26 -
5.7帮助界面实现 - 31 -
6 使用说明 - 31 -
7 总结 - 31 -
1 前言
1.1课题的背景和意义
随着计算机的普及,越来越多的企业开始自己的业务通过使用计算机管理,他们一直想有一个良好的管理软件,以帮助他们提高工作效率和管理水平。该软件适用于集团式公司管理,采用最新的操作系统管理数据,用户将操作更容易,更直观,更方便。每个系统可以是一个独立的业务管理模块来独立操作,使用该系统可以大大提高企业管理效率。随着科学与技术,计算机科学的成熟,对于大多数人来说,强大的功能得到不断提高认识,它已进入人类社会的各个领域,并发挥着越来越重要的作用。
集团业务在计算机的应用,有着手工管理无法比拟的优点。例如:经济快速,容易找到的,可靠性高,存储量大,安全性高和成本低。这些优点能够极大地提高业务的管理的效率。
1.2研究内容
管理信息系统是一个收集、传输、存储、加工、输出、维护、管理和使用信息的人机系统,它不仅可以进行数据处理,而且还将数据处理与优化的经济管理模型、仿真技术等结合起来,向各级领导提供决策支持信息。开始朝着智能化、网络化、分布式的方向发展。目前,国内很多领域,建设、银行、农业、税务、石油化工、公安等都有不同层次、不同类型的管理信息系统的应用。
本课题的研究目标是对集团公司业务流程情况进行管理。主要实现以下几个功能。
1.具备管理员与用户权限区别。
2.主模块:下属公司,工具,人员档案,系统设置。
3.窗体具备基本功能:最大化,最小化,关闭等功能。
4.具有特定权限的用户登录后可以进行各种信息的录入、删除与修改操作。
5.普通用户登录后可以按照特定的条件查询统计各种信息。
延安大学西安创新学院本科毕业论文(设计)
2 系统调研
需求调研分析阶段研究的对象是软件项目的用户要求。包括两个方面:一要全面理解用户的各项要求,也不能接受所有的要求;二,要准确地表达被接受的用户要求。只有经过确切描述的软件需求才能成为软件设计的基础。
2.1系统调研
本次假设陈氏集团公司进行现场调研,了解了公司的相当组织结构和业务流程。
1、公司现状
本次调研的公司是个中小型的中介公司,公司现有人员12人,主要是下属公司管理人员。公司管理人员有店长和店员,部门包括集团总部、水果店、超市、影院、交易系统、图书管理、餐饮等几个部门。
2、业务现状
公司现主要采用网络对业务进行管理。有公司的管理系统对企业进行信息化和标准化管理,大大降低了工作效率。
业务主要是各公司的正常事务。
2.2可行性分析
可行性研究的目的就是在尽可能短的时间内用最小的代价确定问题是否能够解决。可行性研究的目的不是解决问题,而是确定问题是否值得去解。可行性研究的实质是要进行一次大大压缩简化的系统分析和设计过程。一般来说,至少应该从下述三方面研究每种解法的可行性。
1、操作的可行性分析
系统的登录界面简单和友好,采用常见的界面窗口的登录界面,而系统的开发则采用的是较为常用的VB语言开发。这些策使得用户不需要很长的时间就能够快速熟悉系统,并掌握系统的操作方法。此外,为了方便系统管理维护人员,用户登录系统后会给出了一些提示,使得整个系统更加人性化,用户操作更简单方便。
2、社会可行性分析
企业要长期生存,你必须先有一个良好的企业文化,其次需要有一个完善的管理,再采用科学的方法实现可持续发展,最后还要与时俱进,不断改革,使企业的研究所的时间去适应社会的变化。最重要的是要确保科学的管理方法,为企业获得长远发展的竞争力提高的唯一途径。
3、技术可行性分析
本次拟采用Visual Basic作为开发工具,访问数据库采用ADO数据库访问技术,数据库采用ACCESS建立。设计一个基于ADO的房屋中介管理系统的设计与实现。
(1)硬件可行性分析
系统的硬件要求方面不存在特殊的要求,只需要在普通的硬件配置就能够轻松的实现,只是需要确保系统的正常工作即可,以及拥有较高的效率。如果有特别低的硬件,它可以导致系统的低性能以及效率低,从而导致整个系统的运行不顺畅。以目前普遍的个人计算机的配置而言,这是十分容易实现的 。因此,集团管理系统的开发在硬件方面是可行的。
(2)软件可行性分析
VB语言提供了一个共同的机制类似的借口动态模型,设计更集中。另外,在使用VB语言可以很容易实现模块化和存储信息。此外,代码复用,也可以很好的体现。因此,考虑到系统的实际情况,选择VB作为集团管理系统开发语言的时候。通过上述分析,该系统的设计实现在软件方面是可行的。
因此,我们进行了三个方面的可行性研究,可以看出,该系统的开发是没有问题的。
3 系统分析
在软件工程中,软件生命周期中的系统分析,包括确定系统必须具有的功能和性能,系统要求的运行环境。并且预测系统发展的前景,必须仔细分析系统中的数据
- 32 -
,既要分析系统中的数据流,又要分析长期使用的数据存储。通过分析应该得出用业务流图、数据字典,可行性分析等内容,为系统的设计奠定基础。
3.1业务流程分析
图3-1 登录界面
3.2数据流程分析
数据流程分析一般采用数据流图表示。包括外部实体、数据流、加工处理、数据文件表。一般用图3-2表示。
数据加工
数据流
表文件
外部实体
图3-2 数据流基本图
外部实体,外部实体指系统之外的实体,不在系统中的单位或人物,但是这些实体与系统之间有信息传递关系。在集团公司管理系统中,外部实体有用户和管理员等。
数据流,数据流是指系统中用于表示交流与传递的数据,房屋中介管理系统的主要数据流有出租数据、出售数据等等。
处理加工。处理加工是指系统对数据的操作加工或处理。房屋中介管理系统处理加工有交易等。
数据存储。也就是文件,指系统所存储数据的文件。房屋中介管理系统的文件包括业务记录等。
4 系统设计
在系统设计阶段,要着重解决“怎么做”的问题。将系统的逻辑模型转化为系统的信息结构或数据库物理模式及软件结构,并设计每个软件模块的输入、输出格式,形成系统设计说明书或系统设计文档,作为系统实施阶段编程的直接依据。
4.1功能设计
根据系统功能需求分析,对系统功能进进的设计和分解。功能分解的过程就是一个由抽象到具体的过程。为了提高集团公司业务管理水平,减轻集团公司管理人员的劳动强度,提高对信息处理速度与信息的准确性;为操作员提供更方便、科学的服务。设计了本集团管理系统,同时给操作员提供的一种更先进、科学的服务系统。用计算机来设计一个集团公司管理系统的方案。并能在一定程度上实现自动化。让计算机对房屋中介公司的数据库信息进行管理,实现公司信息化的管理。 作为租赁数据库系统,其主要实现的功能应包括以下7个模块:
(1)管理员登录模块:需要有管理员名称与密码:输入错误时要提醒,错3次不能再输入;正确时进入主界面。管理员也可重置密码。
(2)系统管理模块:用户和密码管理;可以对这些信息进行修改、删除。用户管理包括添加用户和删除用户,用户数据为用户名称和密码权限。密码管理对当前用户的密码进行修改。必须提供当前的密码才能对密码进行修改,提高了系统的安全性。
(3)公司管理模块:包括各公司信息增加、查询等。
(4)员工管理模块:包括员工信息管理的增加、查询。
4.2功能结构设计
在本系统设计阶段,功能结构采用结构化的系统设计方法,将集团公司管理系统的逻辑模型转化为信息结构或数据库物理模式及软件结构,并形成集团公司管理系统设计说明书或设计文档,作为本系统实现阶段编程的重要依据。根据系统功能需求分析、功能设计和系统功能进行的设计和分解。功能结构图就是按功能从属关系画成的图表,图中的每一个框称为一个功能模块。我们将整个系统分解成相对独立的若干模块,通过对模块之间关系的协调来实现整个软件系统的功能,从而得到系统的功能模块结构图。如图4-1。
管理系统下共有5个模块为:系统管理,员工信息管理,下属公司管理,系统关于。
陈氏集团公司管理系统
系统管理
员工信息
公司管理
系统关于
员工信息管理
员工信息查询
各公司信息管理
各公司信息查询
系统关于
帮助文件
用户管理
密码修改
图4-2 功能结构图
5 系统实现
统一的人机界面不至于会增加用户的负担,让用户始终用同一种方式思考与操作。最忌讳的是每换一个屏幕用户就要换一套操作命令与操作方法。
5.1 登录模块实现
如图5-1为房屋中介管理系统的登录界面设计。此模块主要功能是用于登录本系统,首先将从登录窗体提交的用户名和密码进行接受,之后在后台进行处理,按照用户名在数据库中进行查询如果查到该用户则将该用户的名称和密码全都取出来分别赋给两个字符串变量,判断从数据库中读出的密码与登录时输入的密码是否配比上,若两个密码相同则根据权限的值进入主界面,否则输出密码错误。如果三次错,就自动退出系统。这样提高了系统的可靠性。
登录界面的设计:添加SDI窗体命名为公司内部管理系统。再加1个textbox和combo。Textbox设计password为密码格式。添加两个label。详细设计如图
。
图5-1 登录界面
代码如下:
Dim tim As Integer
Private Sub cmdcancel_click()
Dim message As String
If Combo1.Text = "admin" And text2.Text = "123" Then
登录界面.Hide
桌面界面.Show
Else
If tim = 3 Then
message = MsgBox("密码输入错误,请向管理员查询!", 0, "")
If message = vbOK Then End
End If
MsgBox ("密码错误,请重新输入密码!")
tim = tim + 1
End If
End Sub
Private Sub cmdok_Click()
Combo1.Text = ""
text2.Text = ""
End Sub
5.2 主界面设计实现
系统主界面有用SDI窗体如图5-2,主要是菜单式管理,主要菜单如下:系统管理、下属公司信息、员工信息管理、查询、关于帮助。系统管理模块包括用户管理和密码修改;下属公司信息模块包括公司信息,增加信息和查询;员工信息管理模块员工信息,增加信息和查询;系统关于模块包括系统关于和帮助文件。
图5-2 主界面
代码如下:Private Sub b_Click()
系统文件.Show
End Sub
Private Sub c_Click()
计算器.Show
End Sub
Private Sub e_Click()
各公司软件系统.Show
End Sub
Private Sub g_Click()
管理员设置.Show
End Sub
Private Sub h_Click()
管理员设置.Show
End Sub
Private Sub i_Click()
人员奖惩.Show
End Sub
Private Sub j_Click()
退出界面.Show
End Sub
Private Sub n_Click()
帮助.Show
End Sub
Private Sub r_Click()
各公司组成.Show
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Index
Case 1
Call x_Click
Case 2
Call c_Click
End Select
End Sub
Private Sub u_Click()
管理员设置.Show
End Sub
Private Sub w_Click()
各公司资料.Show
End Sub
Private Sub x_Click()
视频.Show
End Sub
Private Sub y_Click()
人员档案查询.Show
End Sub
5.3 管理员设置界面实现
管理员设置界面包括管理员登录和密码管理如图5-3。密码管理是对当前登录用户的密码进行修改。
图5-3 密码修改
图5-4 管理员登录
代码如下;
Dim tim As Integer
Private Sub Command1_Click()
Dim message As String
If Text1.Text = "admin" And Text2.Text = "123" Then
管理员设置.Hide
管理员设置界面.Show
Else
If tim = 3 Then
message = MsgBox("密码输入错误,请向管理员查询!", 0, "")
If message = vbOK Then 警告.Show
End If
MsgBox ("密码错误,请重新输入密码!")
tim = tim + 1
End If
End Sub
Private Sub Command2_Click()
Dim message As String
If Text1.Text = "admin" And Text2.Text = "123" Then
管理员设置.Hide
人员档案管理.Show
Else
If tim = 3 Then
message = MsgBox("密码输入错误,请向管理员查询!", 0, "")
If message = vbOK Then 警告.Show
End If
MsgBox ("密码错误,请重新输入密码!")
tim = tim + 1
End If
End Sub
5.4各公司界面实现
图5-5 各公司系统入口
代码如下:
Private Sub Command1_Click()
四季水果店.Show
End Sub
Private Sub Command2_Click()
超市.Show
End Sub
Private Sub Command3_Click()
登陆界面.Show
End Sub
Private Sub Command4_Click()
博瑞影视.Show
End Sub
Private Sub Command5_Click()
亮阳餐饮.Show
End Sub
Private Sub Command6_Click()
图书管理.Show
End Sub
图5-6 各公司资料查询
代码如下:
Private Sub Command1_Click()
If Combo1.Text = "公司名称" Then
Adodc1.RecordSource = "select * from 各公司资料 where 公司名称='" & Trim(Text1.Text) & "'"
Adodc1.Refresh
Exit Sub
ElseIf Combo1.Text = "公司负责人" Then
Adodc1.RecordSource = "select * from 各公司资料 where 公司负责人='" & Trim(Text1.Text) & "'"
Adodc1.Refresh
Exit Sub
ElseIf Combo1.Text = "公司项目" Then
Adodc1.RecordSource = "select * from 各公司资料 where 公司项目='" & Trim(Text1.Text) & "'"
Adodc1.Refresh
Exit Sub
End If
End Sub
Private Sub Command4_Click()
Unload Me
End Sub
5.5各工具界面实现
图5-7 计算器
代码如下:
Public a As String
Public b As Single
Public c As Single
Private Sub Command1_Click(Index As Integer)
Text1.Text = Text1.Text & " 0"
End Sub
Private Sub Command10_Click()
Text1.Text = Text1.Text & " 9"
End Sub
Private Sub Command11_Click()
Text1.Text = Text1.Text & " ."
End Sub
Private Sub Command12_Click()
If b = 1 Then
Text1.Text = Val(Text1.Text) + Val(a)
If c = 0 Then
Label1.Caption = Text1.Text
c = c + 1
ElseIf c = 1 Then
c = c + 1
Label2.Caption = Text1.Text
Else
Label1.Caption = Label2.Caption
Label2.Caption = Text1.Text
End If
End If
If b = 2 Then
Text1.Text = Val(a) - Val(Text1.Text)
If c = 0 Then
Label1.Caption = Text1.Text
c = c + 1
ElseIf c = 1 Then
c = c + 1
Label2.Caption = Text1.Text
Else
Label1.Caption = Label2.Caption
Label2.Caption = Text1.Text
End If
End If
If b = 3 Then
Text1.Text = Val(Text1.Text) * Val(a)
If c = 0 Then
Label1.Caption = Text1.Text
c = c + 1
ElseIf c = 1 Then
c = c + 1
Label2.Caption = Text1.Text
Else
Label1.Caption = Label2.Caption
Label2.Caption = Text1.Text
End If
End If
If b = 4 Then
Text1.Text = Val(a) / Val(Text1.Text)
If c = 0 Then
Label1.Caption = Text1.Text
c = c + 1
ElseIf c = 1 Then
c = c + 1
Label2.Caption = Text1.Text
Else
Label1.Caption = Label2.Caption
Label2.Caption = Text1.Text
End If
End If
End Sub
Private Sub Command13_Click()
b = 1
a = Text1.Text
Val (a)
Text1.Text = " "
End Sub
Private Sub Command14_Click()
If Text1.Text = "" Then
Text1.Text = "-"
Else
b = 2
a = Text1.Text
Text1.Text = ""
End If
End Sub
Private Sub Command15_Click()
b = 3
a = Text1.Text
Text1.Text = ""
End Sub
Private Sub Command16_Click()
b = 4
a = Text1.Text
Text1.Text = ""
End Sub
Private Sub Command17_Click()
Text1.Text = ""
End Sub
Private Sub Command18_Click()
If Val(Text1.Text) < 0 Then
Text1.Text = "输入错误,请输入正数!"
Else
Text1.Text = Sqr(Val(Text1.Text))
If c = 0 Then
Label1.Caption = Text1.Text
c = c + 1
ElseIf c = 1 Then
c = c + 1
Label2.Caption = Text1.Text
Else
Label1.Caption = Label2.Caption
Label2.Caption = Text1.Text
End If
End If
End Sub
Private Sub Command19_Click()
Dim t As Single
Dim k As Single
k = Val(Text1.Text): t = 1
If k < 0 Then
Text1.Text = "输入错误,请输入正数!"
ElseIf k * 10 Mod 10 <> 0 Then
Text1.Text = "输入错误,请输入整数!"
Else
Do
t = t * k
k = k - 1
Loop Until k = 1
Text1.Text = t
If c = 0 Then
Label1.Caption = Text1.Text
c = c + 1
ElseIf c = 1 Then
c = c + 1
Label2.Caption = Text1.Text
Else
Label1.Caption = Label2.Caption
Label2.Caption = Text1.Text
End If
End If
End Sub
Private Sub Command2_Click()
Text1.Text = Text1.Text & " 1"
End Sub
Private Sub Command21_Click()
Text1.Text = Cos(Val(Text1.Text))
If c = 0 Then
Label1.Caption = Text1.Text
c = c + 1
ElseIf c = 1 Then
c = c + 1
Label2.Caption = Text1.Text
Else
Label1.Caption = Label2.Caption
Label2.Caption = Text1.Text
End If
End Sub
Private Sub Command22_Click()
Text1.Text = Tan(Val(Text1.Text))
If c = 0 Then
Label1.Caption = Text1.Text
c = c + 1
ElseIf c = 1 Then
c = c + 1
Label2.Caption = Text1.Text
Else
Label1.Caption = Label2.Caption
Label2.Caption = Text1.Text
End If
End Sub
Private Sub Command20_Click()
Text1.Text = Sin(Val(Text1.Text))
If c = 0 Then
Label1.Caption = Text1.Text
c = c + 1
ElseIf c = 1 Then
c = c + 1
Label2.Caption = Text1.Text
Else
Label1.Caption = Label2.Caption
Label2.Caption = Text1.Text
End If
End Sub
Private Sub Command3_Click()
Text1.Text = Text1.Text & " 2"
End Sub
Private Sub Command4_Click()
Text1.Text = Text1.Text & " 3"
End Sub
Private Sub Command5_Click()
Text1.Text = Text1.Text & " 4"
End Sub
Private Sub Command6_Click()
Text1.Text = Text1.Text & " 5"
End Sub
Private Sub Command7_Click()
Text1.Text = Text1.Text & " 6"
End Sub
Private Sub Command8_Click()
Text1.Text = Text1.Text & " 7"
End Sub
Private Sub Command9_Click()
Text1.Text = Text1.Text & " 8"
End Sub
Private Sub Form_Load()
Label3.Caption = Now
End Sub
Private Sub Label1_Click()
Text1.Text = Label1.Caption
End Sub
Private Sub Label2_Click()
Text1.Text = Label2.Caption
End Sub
5.6各员工界面实现
图5-8人员档案查询
Private Sub Command2_Click()
Text1.Text = "" And Text2.Text = "" And Text3.Text = "" And Text4.Text = "" And Combo1.Text = "" And Combo2.Text = ""
End Sub
Private Sub Command1_Click()
If Combo1.Text = "姓名" Then
Adodc1.RecordSource = "select * from 陈 where 姓名='" & Trim(Text1.Text) & "'"
Adodc1.Refresh
Exit Sub
ElseIf Combo1.Text = "性别" Then
Adodc1.RecordSource = "select * from 陈 where 性别='" & Trim(Text1.Text) & "'"
Adodc1.Refresh
Exit Sub
ElseIf Combo1.Text = "年龄" Then
Adodc1.RecordSource = "select * from 陈 where 年龄='" & Trim(Text1.Text) & "'"
Adodc1.Refresh
Exit Sub
ElseIf Combo1.Text = "工作时间" Then
Adodc1.RecordSource = "select * from 陈 where 工作时间='" & Trim(Text1.Text) & "'"
Adodc1.Refresh
Exit Sub
ElseIf Combo1.Text = "工作部门" Then
Adodc1.RecordSource = "select * from 陈 where 工作部门='" & Trim(Text1.Text) & "'"
Adodc1.Refresh
Exit Sub
ElseIf Combo1.Text = "职位" Then
Adodc1.RecordSource = "select * from 陈 where 职位='" & Trim(Text1.Text) & "'"
Adodc1.Refresh
Exit Sub
ElseIf Combo1.Text = "家庭住址" Then
Adodc1.RecordSource = "select * from 陈 where 家庭住址='" & Trim(Text1.Text) & "'"
Adodc1.Refresh
Exit Sub
ElseIf Combo1.Text = "手机号码" Then
Adodc1.RecordSource = "select * from 陈 where 手机号码='" & Trim(Text1.Text) & "'"
Adodc1.Refresh
Exit Sub
End If
End Sub
Private Sub Command4_Click()
Unload Me
End Sub
Private Sub Label3_Click()
End Sub
图5-9人员档案管理
代码如下:
Private Sub Command1_Click()
If Len(Text3.Text) <= 0 Or Len(Text4.Text) <= 0 Or Len(Text1.Text) <= 0 Or Len(Text2.Text) <= 0 Or Len(Text5.Text) <= 0 Or Len(Text6.Text) <= 0 Or Len(Combo1.Text) <= 0 Or Len(Combo2.Text) <= 0 Then
MsgBox "员工信息不能为空!", , "重要提示"
Else
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.Open "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\chenshi.mdb"
rs.Open "select * from 陈", conn, 2, 2
rs.AddNew
rs.Fields("姓名").Value = Text1.Text
rs.Fields("性别").Value = Combo1.Text
rs.Fields("年龄").Value = Text2.Text
rs.Fields("工作时间").Value = Text3.Text
rs.Fields("工作部门").Value = Combo2.Text
rs.Fields("职位").Value = Text4.Text
rs.Fields("家庭住址").Value = Text5.Text
rs.Fields("手机号码").Value = Text6.Text
rs.Update
rs.Close
conn.Close
yn = MsgBox("确定信息无误并添加入档案吗?", vbYesNo + vbQuestion, "消息确认")
If yn = vbYes Then
MsgBox "记录已经成功添加", , "记录状态"
Else
End If
End If
End Sub
Private Sub Command4_Click()
Dim nform As New 人员档案管理
Unload Me
nform.Show
End Sub
Private Sub Command5_Click()
Unload Me
End Sub
5.7帮助界面实现
图5-10 帮助界面
6 使用说明
登录账号:admin
登录密码:123
管理员账号密码同上
7 总结
首先,在这个系统的设计过程中,我参考和阅读了大量的网上搜索信息,用了国家标准,行业标准,手册和专辑等信息。其次,在该系统的开发中使用了大量以前学过的知识。通过该系统的开发,提高了综合理论知识的运用,锻炼了我的分析和解决实际问题的技能,最主要的是增强了自我学习的能力。其中开发平台和数据库设计工具,使用VB开发语言及access数据库,这是我之前学习到的一点。但是,在设计系统中使用的所有研究涉及到了更多的知识,这次毕业设计帮助了我学习到了更多的技能。可以说,使用计算机来解决管理过中出现的任务繁重、效率低下等问题是一个不错的方式。在学习理论时候,我掌握了基本的理论课程知识和专业课程知识,同时也产生了一些链接和系统设计全面的测试计划,但这是第一次真正动手设计管理软件的过程,在这个项目中完成的时候,我曾经遇到了在克服各种问题及我的能力不足等各方面的重重困难,在困难的过程中也大大提高了我解决问题的能力,让我学到了更多的理论知识和实践技能。然而,由于缺乏经验,我设计了一个图形界面相当简单。只有基本功能已被开发出来。系统借鉴了一些其他的力量,此次毕业设计是完美的例子,但也有许多不足之处,有待进一步研究和改善。实践证明,该系统具有良好的发展前景。
展开阅读全文