8A电子商务系统分析与设计》课程设计.docx
《8A电子商务系统分析与设计》课程设计.docx》由会员分享,可在线阅读,更多相关《8A电子商务系统分析与设计》课程设计.docx(32页珍藏版)》请在冰点文库上搜索。
8A电子商务系统分析与设计》课程设计
景德镇陶瓷学院试用教材
《电子商务系统分析与设计》
课程设计指导书
适用专业:
电子商务
彭文治编著
叶孝明审定
景德镇陶瓷学院工商学院
二00五年九月
《电子商务系统分析与设计》课程设计指导书
八、课程设计报告撰写要求
课程设计报告撰写的基本要求是报告原则上不少于5000字,具体格式要求见附录二,且其正文至少包括如下几个方面的内容:
1、系统概述
2、系统分析
总体结构图、用例图、业务流程图、数据流程图、时序图、类图等
3、系统设计与实现
功能结构图设计、流程设计、数据库设计、输入与数出设计、代码设计、程序设计说明书
4、系统实施
系统使用说明、模拟运行数据与运行结果
5、参考文献
九、实验进程安排
时间
地点
内容
指导老师
12月19日上午
另
行
安
排
实验动员及选题工作
叶孝明、彭文治、张双杰
12月19日下午
选题及前期准备工作
彭文治
12月20日上午
系统分析
叶孝明
12月20日下午
12月21日上午
彭文治
12月21日下午
12月22日上午
张双杰
12月22日下午
时间
地点
内容
指导老师
12月23日上午
实
验
中
心
系统设计与实现
叶孝明
12月23日下午
12月26日上午
彭文治
12月26日下午
12月27日上午
张双杰
12月27日下午
12月28日上午
叶孝明
12月28日下午
12月29日上午
彭文治
12月29日下午
12月30日上午
张双杰
12月30日下午
元月2日上午
叶孝明
元月2日下午
元月3日上午
系统设计与实现
彭文治
元月3日下午
元月4日上午
张双杰
元月4日下午
元月5日上午
叶孝明
元月5日下午
彭文治
元月6日上午
完成设计报告及设计结果检查
叶孝明、张双杰、彭文治
元月6日下午
叶孝明、张双杰、彭文治
上午:
8:
00—12:
00下午:
2:
00—3:
50
附录一:
面向对象系统分析方法的设计实例
网络办公自动化系统的设计与实现
一、系统概述
网络办公自动化系统(WebOffice)是一个以中型对外贸易公司为实际背景建立起来的网络办公自动化系统(此处作了适当简化),所有的员工都能够使用。
不同级别的员工有不同的权限,展现在他们面前的功能符合他们各自的身份。
该系统一共分为总经理、总经理助理、副总经理、部门经理和公司员工5个级别,分别可以在网络办公自动化系统上进行公文的制作、存储、提交、审批;可以进行公司消息的发布,查看;可以利用BBS进行相互平等的交流。
这是一个非常实用的综合办公平台,同时相关操作的身份的严格验证贯彻始终,对部分数据的删除操作严格控制并给与警告,这些都保证了高可靠性。
WebOffice使用RationalRose进行UML建模,使用ASP编写脚本,采用SQL2000作为数据库服务器,使用MicrosoftIIS5.1作为Internet服务器,在windows操作平台上,是一个很好的组合。
下面分别介绍该系统的建模、数据库设计和系统各功能模块的设计和实现。
二、系统建模
1、总体设计
按照WebOffice功能,我们把WebOffice设计成几个单独的子系统,分别是:
CompanyDecision———公司决策子系统;
DepartmentDecision——部门决策子系统
Personnel——员工管理子系统
ClientInfo——客户信息子系统
OrderInfo——订单信息子系统
BBS——公司发布消息和员工交流子系统
MyTools——个人工具箱子系统
2、活动参与者图
WebOffice模型中所有活动参与者,如图-1所示:
解释:
Actor指一般的活动参与者,即一般的用户,对公司而言是所有员工的集合;GenealManager是总经理;Assistant是总经理助理,ViceManager是副总经理,此三者是管理层。
Employer是一个集合,包括DepartmentManager(部门经理)和Clerk(一般职员)。
箭头表示依赖关系。
3、用例图
(1)公司决策子系统:
总经理、总经理助理撰写和编辑公司决策,总经理负责签署并发布公司决策;公司决策发布以后,所有员工都可以查看公司决策;副总经理可以提出建议;公司决策在发布之前可以进行再编辑,但一经发布,就不能再进行修改;只有撰写者本人能对自己撰写的决策进行编辑。
如图2所示:
(2)部门决策子系统:
部门经理负责撰写、编辑和发布本部门的决策,管理层有权查看所有部门的部门决策;一般员工只能查看已经发布的本部门决策;部门决策在发布之前可以进行编辑,但一旦发布,就不能够再次进行修改。
如图3所示:
(3)员工管理子系统:
所有员工都可以查询本公司以内的任何员工的详细情况,部门经理有权聘用和解聘本部门的职员;总经理有权聘用管理层的人员和部门经理,有权解聘任何员工和重新安排员工的职位。
如图4所示:
(4)订单子系统:
普通职员和部门经理可以添加订单。
必须是已经添加到客户名单的可信客户才能下订单;管理层不能下订单;各部门的员工都可以查看本部门的订单列表和订单详细情况;管理层可查看所有订单。
如图-5所示:
(5)客户信息子系统:
普通职工和部门经理可以田家客户到本部门的客户单中;添加以后需要提交给部门经理;部门经理审核确认该客户的信息;部门经理和本部门的职员可以查看本部门的客户清单;部门经理和本部门的职员可以查看本部门的客户详细情况;管理层可以查看所有部门的客户清单和详细情况。
如图-6所示:
(6)公司消息发布和员工交流子系统:
该子系统又分为两个二级子系统:
CommBoard留言板(如图7所示)和CompanyNotice公司消息板。
在CommBoard中,员工可以自由发帖子、回复贴子和查看回复的数目;原始发帖人可以再编辑以前所发的帖子;所有员工都可以进行帖子的查询;总经理有权删除帖子,这将删除原始的帖子以及所有对它的回复。
CompanyNotice—公司日常消息板子系统(如图8所示):
在此管理层人员可以发布日常消息;所有员工都可以查看消息。
(7)个人工具箱子系统。
该子系统分为3个二级子系统:
MyAccount账号子系统、MyNotes记事本子系统和MySumm&Plan个人总结和计划子系统(如图9所示)。
在账号子系统中,员工可以查看和修改个人登陆信息(用例图省略)。
在记事本子系统中,员工可以撰写、浏览、修改和删除私人的记事(用例图省略)。
在个人总结和计划子系统中,所有员工可以撰写、浏览、修改和删除自己的个人总结和计划。
按照公司要求,要求定时或者定期向上级提交自己的个人总结和计划,所以普通职员可以提交自己的个人总结和计划给部门经理,部门经理可以提交自己的个人总结和计划给总经理;部门经理可以批示自己部门员工的个人总结和计划,总经理可以批示部门经理的个人总结和计划;总结和计划一经提交,不能再修改。
以上是WebOffice系统比较粗略的用例建模。
4、时序图
登陆导系统的时序图如图10所示:
图中,LogINUI表示的是登陆界面,VerifyIDProcess首先要对用户输入的数据进行例行检查和替代,最后交数据库处理。
图中的方括号表示条件IF。
从时序图中可以精确看到程序的层次,但是另外野可以看到这一简单的时序图表现起来并不是很简单,由于它比较繁杂,量又很大,这里不再一一列出。
5、类图
类图是将在用例建模和时序建模阶段发现的类明确化,将前阶段发现的属性和方法具体实施到每一个特定的类中;明确各类之间的关系;明确各各类之间发送的消息及消息的发送、接收和处理。
完整的类图等同于图形化的代码,如果写得非常完整,则可望自动生成面向对象的程序代码。
在实际的系统设计中,往往并不对所有的用例都进行非常细致的设计,因为这样等同于图形化的方式写代码,而结果却不可调试,并且图形表示其本身难以克服的不精确性。
过于苛求UML图的精确性甚至可能导致整个工作瘫痪再见模阶段。
图11只画出表示给数据标的类图,用他们之间的关系指出了各表之间的主键—外键关联关系,对数据库设计是非常有用的。
在总体结构图、用例图、时序图、类图都确定以后,我们面向对象的分析过程基本结束,我们也从框架上搭建了整个系统,接下来的工作就是数据库设计和子系统代码的编写来填充这些框架。
三、数据库设计
通过系统分析,可以看到要实现WebOffice系统,需要有多个子系统来完成相对独立的功能。
每个子系统原则上都可以建立一个表,另外,还有一些表代表公司本身的各属性,至此,我们可以建立整个WebOffice数据库中所有的表,各字段名称和属性见表1-13,各个表之间的关系如图12所示。
四、系统实现
1、总体结构
按照系统分析建立的模型,把WebOffice分成多个子系统,这些子系统之间相对独立,逻辑结构很清楚,便于编码和测试。
在文件组织上,一个子系统就是一个对应的文件夹,如公司决策子系统对应于CompanyDec,非常只管,以下各个部分都以这些文件夹的名字作为子系统的名字。
首先介绍一下几乎所有页面都用到的两个包含文件。
(1)includes/WebOfficeStyle.css,它用来规定也面的一些基本样式,内容如下:
--
body{font-family:
"宋体";font-size:
12pt}
table{font-family:
"宋体";font-size:
12pt;COLOR:
#000000;text-decoration:
none}
td{font-size:
12pt;}
A:
link{FONT-SIZE:
12pt;FONT-FAMILY:
"宋体";COLOR:
#0000ff;text-decoration:
none}
A:
visited{FONT-SIZE:
12pt;FONT-FAMILY:
"宋体";COLOR:
#0000ff;text-decoration:
none}
A:
hover{FONT-SIZE:
12pt;FONT-FAMILY:
"宋体";COLOR:
#ff0000;TEXT-DECORATION:
underline}
Input.buttonface{BACKGROUND:
#ff9900;border:
1solidblack;
COLOR:
#ffffff;FONT-SIZE:
9pt;FONT-STYLE:
normal;FONT-VARIANT:
normal;
FONT-WEIGHT:
normal;HEIGHT:
18px;LINE-HEIGHT:
normal}
.b1{font-size:
12pt;font-family:
"Verdana","Arial","宋体";}
.b2{font-size:
7pt;font-family:
"Verdana","Arial","宋体";}
-->
(2)includes/keephouse.asp,在这个文件里定义系统常用的函数,包括数据库的打开、关闭和输出格式化信息等。
内容如下:
--#includefile="WebOfficeStyle.Css"-->
<%
dimsql
dimrs
dimconn
subopenDB()
setconn=server.createobject("ADODB.Connection")
conn.open"Driver={SQLServer};"_
&"Server=localhost;"_
&"Database=WebOffice;"_
&"Uid=sa;"_
&"Pwd="
setrs=server.createobject("ADODB.Recordset")
endsub
subcloseDB()
IfIsObject(conn)Then
ifnot(connisnothing)then
setrs=nothing
conn.close
setconn=nothing
endif
EndIf
endsub
subinsureID()
ifsession("PERSONNEL_ID")=""then
callcloseDB()
response.redirectserver.mappath("\")&"\ManageSYS\LogIn.htm"
endif
endsub
subnoRight()
response.write"您没有进行此操作的权限,操作被取消.