课程案例企业办公自动化管理系统.ppt
《课程案例企业办公自动化管理系统.ppt》由会员分享,可在线阅读,更多相关《课程案例企业办公自动化管理系统.ppt(77页珍藏版)》请在冰豆网上搜索。
![课程案例企业办公自动化管理系统.ppt](https://file1.bdocx.com/fileroot1/2022-10/19/183f4422-77a4-45f9-ad46-91939839e6e3/183f4422-77a4-45f9-ad46-91939839e6e31.gif)
课程案例企业办公自动化管理系统通过本案例学习一下内容:
1.企业办公自动化管理系统开发的基本过程2.系统需求分析和可行性分析3.系统设计的方法4.构建开发环境5.如何分析并设计数据库6.如何设计公共类7.主要功能模块的实现方法8.系统的编译与发布9.SQLserver技术10.面向对象的开发思想11.分层开发模式系统分析o一.需求分析对于企业办公自动化管理系统来说,提高企业的管理效率、方便企业职员的协助是至关重要,企业的办公环境如下:
1.使用计算机网络环境属于局域网。
2.公司规模50100人,人手一台计算机。
3.员工上下班考勤属于人工考勤。
4.实行人性化管理,允许员工自己有发表意见和想法。
5.员工在工作中传送和接收文件,很不方便。
6.对于公司的公告、新闻和规章制度,员工了解不及时7.重要通知都是逐一打电话通知。
系统分析o需求分析结论1.部门管理功能2.员工管理功能3.公告管理功能4.文件管理功能5.交流管理功能6.考勤管理功能7.规章制度管理功能8.系统管理功能二、系统设计1.系统目标根据需求分析的描述以及与用户的沟通,现制定系统实现目标如下:
o系统采用人机对话方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。
o灵活、快速的发送和接收文件。
o实现功能强大的公告发布与管理功能。
o系统最大限度地实现易维护性和易操作性o界面简洁、框架清晰、美观大方。
o实现企业部门和职员的信息管理功能。
o通过后台查看与删除公告信息、查看公文信息。
o对员工信息、职位信息与部门信息的管理。
二、系统设计o业务流程图系统功能结构o企业办公自动化管理系统前台(职员)功能结构图系统功能结构o企业办公自动化管理系统前台(职员)功能结构图构建开放环境o1.web系统开发环境页面开发环境:
VS2005集成开发环境开发语言:
ASP.NET+C#后台数据库:
SQLServer2000开发环境运行平台:
XP(SP2)o2.服务器端WEB服务器:
IIS6.0数据库服务器:
SQLServer2000网站服务器运行环境:
.NETFrameworksdk2.0o3.客户端n浏览器:
IE6.0n分辨率:
最佳效果1024768数据库设计o系统数据库采用SQLServer2000数据库,系统数据库名称为db_OAS.数据库db_OAS中包括多张数据表。
下面分别给出数据表概要说明、数据库E-R图、数据表关系图、数据表的结构。
数据表概要说明o数据表树形结构如下图:
数据库E-R的分析o课堂练习:
对上表中的各个实体用E-R图进行分析。
要求:
1.用E-R图描述出各个实体。
2.描述数据表结构。
3.描述数据表之间的关系。
实体描述举例o企业部门实体E-R图描述o企业部门数据表结构描述数据表的关系图试写出下列需求的SQL语句o根据输入的”用户名”“密码”查询“系统用户表”中是否有记录存在,并判断该用户是“管理员”还是“普通职员”o增加部门信息;o根据ID查看某个部门信息o删除某个部门复杂SQL语句的使用显示企业的年度优秀员工信息1.优秀员工的标准通过考勤考核(迟到和早退)2.考勤结果的前2位3.显示的信息包括:
员工姓名,所在部门,照片相关资料来自SQL联机丛书使用使用TOP和和PERCENT限制结果集限制结果集oTOP子句限制返回到结果集中的行数。
oTOPnPERCENTon指定返回的行数。
如果未指定PERCENT,n就是返回的行数。
o如果一个SELECT语句既包含TOP又包含ORDERBY子句,那么返回的行将会从排序后的结果集中选择。
整个结果集按照指定的顺序建立并且返回排好序的结果集的前n行。
相关资料来自SQL联机丛书o用用ORDERBY对行进行排序对行进行排序oORDERBY子句按查询结果中的一列或多列对查询结果进行排序,用作排序依据的列总长度可达8,060。
有关ORDERBY子句最大大小的更多信息,请参见SELECT。
o排序可以是升序的(ASC),也可以是降序的(DESC)。
如果没有指定升序还是降序,就假定为ASC。
相关资料来自SQL联机丛书o聚合函数聚合函数o聚合函数对一组值执行计算并返回单一的值。
除COUNT函数之外,聚合函数忽略空值。
聚合函数经常与SELECT语句的GROUPBY子句一同使用。
Transact-SQL编程语言提供下列聚合函数:
oAVGMAXSUMMINCOUNT等相关资料来自SQL联机丛书o使用内联接使用内联接o内联接是用比较运算符比较要联接列的值的联接。
下面的Transact-SQL查询是内联接的一个示例:
USEpubsSELECT*FROMauthorsASaINNERJOINpublishersASpONa.city=p.cityORDERBYa.au_lnameDESC此内联接称为相等联接。
它返回两个表中的所有列,但只返回在联接列中具有相等值的行。
oselecta.name,a.dept,a.photoPath,b.stateofromtb_employeeASainnerjoino(selectTOP2*ofromo(selectemployeeName,sum(late)+sum(quit)asstateofromtb_signgroupbyemployeeName)asaaoorderbystate)asboona.name=b.employeeNameoorderbyb.stateADO.NET介绍oADO.NET对MicrosoftSQLServer和XML等数据源以及通过OLEDB和XML公开的数据源提供一致的访问。
o在创建ADO.NET时,Microsoft具有以下设计目标:
1.利用当前的ActiveX数据类型(ADO)知识。
2.支持N层编程模型。
3.集成XML支持。
ADO.NET介绍o和.netframework类库中其他所有东西一样,ADO.net不过是一组类型(TYPES)而已,他们都位于SYSTEM.DATA名字空间中。
ADO.NET介绍o每一种.NET数据供应器都实现为一组类型(types);oSystem.Data.SqlClient名字空间-SQLProvideroSystem.Data.OleDb名字空间-OLEDBProvidero不论选择哪种Provider,每一种都提供一套相似的类(Class)ADO.NET介绍.NET数据provider都支持的一些基础对象。
它们是:
oConnection:
用于建立和释放连接(SqlConnection-OleDbConnection)oCommand:
用于存储和执行命令,如一个SQL查询或一个存储过程,并为命令指定参数。
oDataReader:
对数据库中的数据提供直接、循环的只读的访问。
oDataAdapter:
建造于DataReader之上,用于创建和操作DataSet实体。
ADO.NET介绍o客户可以通过DataReader或者DataSet来访问数据。
VisualStudio中的数据命名空间.NETFramework中的数据和XML命名空间包括:
oSystem.Data由构成ADO.NET结构的类组成,该结构是托管应用程序的主要数据访问方法。
ADO.NET结构使您可以生成可用于有效管理来自多个数据源的数据的组件。
oSystem.Data.OleDb构成兼容数据源的OLEDB.NETFramework数据提供程序的类。
这些类使您能连接到OLEDB数据源、针对数据源执行命令并读取结果。
oSystem.Data.SqlClient构成SQLServer.NETFramework数据提供程序的类,该提供程序允许您连接到SQLServer7.0、执行命令并读取结果。
System.Data.SqlClient命名空间与System.Data.OleDb命名空间类似,但为访问SQLServer7.0和更高版本进行了优化。
访问数据示例o示例如何打开一连接,如何创建一个命令,以及如何利用DataReaer读取结果。
o示例展示如何使用DataSets(一个DataAdapter如何用于将一个DataTable添加到一个DataSets中)访问数据示例-DataReader1.设置一个连接SqlConnectionCn=NewSqlConnection(Server=(local);database=db_OAS;Uid=sa;Pwd=);2.创建一个命令SqlCommandCmd=Cn.CreateCommand();Cmd.CommandText=select*fromtb_departmentwhereID=20;3.打开连接Cn.Open();4.执行命令-将结果存入DataReaderoSqlDataReaderRdr=Cmd.ExecuteReader();访问数据示例-DataReadero5.取结果并显示otryowhile(Rdr.Read()oooSystem.Console.WriteLine(String.Format(0,1,2,oRdr0,Rdr1,Rdr2);ooocatch(System.Exceptione)ooSystem.Console.WriteLine(Error:
0,oe.Message);oo访问数据示例-DataReadero6.释放资源,关闭连接ofinallyRdr.Close();Cn.Close();访问数据示例-DataSetsoSqlConnectionCn=newSqlConnection(Server=(local);database=db_OAS;Uid=sa;Pwd=);oSqlCommandCmd=Cn.CreateCommand();oCmd.CommandText=select*fromtb_departmentwhereID=20;oSqlDataAdapterDa=newSqlDataAdapter();oDa.SelectCommand=Cmd;oDataSetDs=newDataSet();oCn.Open();oDa.Fill(Ds,tb_deparment);oCn.Close();访问数据示例-DataSeto取数据;otryif(Ds.Tables0.Rows.Count0)DataRowrow=Ds.Tables0.Rows0;System.Console.WriteLine(String.Format(0,1,2,row0,row1,row2);ocatch(System.Exceptione)System.Console.WriteLine(Error:
0,e.Message);访问数据示例-DataSetofinallyif(Cn.State=ConnectionState.Open)Cn.Close();o#region利用DataSet存取查询结果;publicDataSetExecuteSelect(stringstrSql,stringstrTableName)ooSqlConnectionconn=newoSqlConnection(strConn);oSqlCommandcom=conn.CreateCommand();ocom.CommandText=strSql;oSqlDataAdapterda=newSqlDataAdapter();oda.SelectCommand=com;oDataSetds=newDataSet();oconn.Open();oda.Fill(ds,strTableName);oc