1、1毕业论文(20_届)基于J2EE技术的连锁超市网上商城系统设计与实现所在学院商学院专业班级电子商务学生姓名学号指导教师职称完成日期年月日2摘要在国家大力推进信息化建设的宏观背景下,城市网络基础设施及应用水平均已得到了较大的完善和提升。特别是在经济发达的沿海地区,商贸服务业也较为发达,市民接受新事物能力和消费水平均较高,进行商贸流通业(即商品流通和为居民服务的第三产业)信息化与电子商务建设是政府的一项重要工作。愈来愈多的商贸服务企业意识到了用现代信息技术改造传统经营方式,用电子商务手段提升管理和服务水平的重要性。已有许多企业在着手计划或已进行自身的电子商务建设,这就有了对商贸服务业电子商务应用
2、平台的迫切需。在此设计的连锁超市网上商城系统是一个采用B2C(BUSINESSTOCONSUMER)模式,并根据现有的网上购物系统的现状设计开发的电子商务平台;系统主要为用户提供用户注册、用户信息管理、商品查询、商品购买、订单管理等功能;设计首先介绍了网上购物系统的现状及开发背景,然后论述了系统的设计目标,系统需求和总体设计方案,教详细的论述了系统的设计和实现;最后对网上购物系统进行了系统检测,并提出了还需要改进的问题;在设计方面,本系统采用B/S结构,同时使用JSP技术进行动态页面的设计,从系统的安全性和代码的可重用性方面考虑,运用JAVABEAN对程序的关键代码进行封装,还运用了HIBER
3、NATE、SPRING和STRUTS框架技术搭建开发平台,后台数据库选用MICROSOFTSQLSERVER2000数据库。关键词J2EE网上商城连锁超市IIIABSTRACTATTHENATIONALINFORMATIONTECHNOLOGYANDVIGOROUSLYPROMOTETHEMACROBACKGROUND,THEURBANNETWORKINFRASTRUCTUREANDAPPLICATIONSHAVEBEENAGREATERLEVELOFIMPROVEMENTANDUPGRADINGPARTICULARLYINTHEECONOMICALLYDEVELOPEDCOASTALAREA
4、S,BUSINESSSERVICESAREALSOMOREDEVELOPED,THEPUBLICCAPACITYTOACCEPTNEWTHINGSANDCONSUMPTIONLEVELSWEREHIGH,THETRADECIRCULATIONIECIRCULATIONOFCOMMODITIESANDSERVICESFORTHERESIDENTSOFTHETERTIARYINDUSTRYINFORMATIONANDECOMMERCECONSTRUCTIONISANIMPORTANTTASKFORTHEGOVERNMENTMOREANDMOREAWAREOFBUSINESSSERVICESTOCO
5、MPANIESUSINGMODERNINFORMATIONTECHNOLOGYTOTRANSFORMTRADITIONALMODEOFOPERATION,MANAGEMENTANDUSEOFELECTRONICCOMMERCESERVICESTOENHANCETHELEVELOFIMPORTANCEMANYCOMPANIESHAVEBEENWORKINGONAPLANORCARRYOUTTHEIROWNECOMMERCEBUILDING,WHICHHASBEENONECOMMERCEAPPLICATIONPLATFORMSERVICESURGENTNEEDSSUPERMARKETCHAINSI
6、NTHEDESIGNOFTHESYSTEMISANONLINESTOREWITHB2CBUSINESSTOCONSUMERMODEL,ANDUNDERTHEEXISTINGSTATUSOFTHEONLINESHOPPINGSYSTEMDESIGNANDDEVELOPMENTOFECOMMERCEPLATFORMSYSTEMISMAINLYTOPROVIDEUSERSWITHUSERREGISTRATION,USERINFORMATIONMANAGEMENT,PRODUCTINQUIRIESANDPURCHASING,ORDERMANAGEMENTANDOTHERFUNCTIONSDESIGNF
7、IRSTINTRODUCEDTHEONLINESHOPPINGSYSTEMSTATUSANDDEVELOPMENTBACKGROUND,ANDTHENDISCUSSESTHESYSTEMDESIGNOBJECTIVES,SYSTEMREQUIREMENTSANDOVERALLDESIGN,TEACHINGDISCUSSEDINDETAILTHESYSTEMDESIGNANDIMPLEMENTATIONFINALONLINESHOPPINGSYSTEMFORTESTINGTHESYSTEMANDPUTFORWARDTHEISSUENEEDSTOBEIMPROVEDINTERMSOFDESIGN,
8、THESYSTEMUSESTHEB/SSTRUCTURE,JSPTECHNOLOGYFORDYNAMICPAGEDESIGN,FROMSYSTEMSECURITYANDCODEREUSEOFCONSIDERATIONS,THEUSEOFJAVABEANKEYCODEOFTHEPROGRAMPACKAGE,ALSOUSEDHIBERNATE,SPRINGANDSTRUTSFRAMEWORKTECHNOLOGYTOBUILDDEVELOPMENTPLATFORM,BACKGROUNDDATABASESELECTEDMICROSOFTSQLSERVER2000DATABASEKEYWORDSJ2EE
9、ONLINESTORE;SUPERMARKETCHAINSIV目录1绪论111项目的研究背景112相关国内外发展现状1121国内电子商务的发展现状1122国外电子商务的发展现状213项目研究的意义32相关技术分析421基础理论4211J2EE概论4212开发语言JAVA技术6213数据库语言SQLSERVER622B2C电子商务网站系统7221B2C介绍7222B2C模式823UML概念93系统设计1031系统功能设计10311系统需求分析10312创建系统的用例模型10313创建系统静态模型12314创建系统的动态模型13315创建系统的部署模型2132系统数据库设计22321系统数据库概念
10、设计23322系统数据库逻辑设计254系统实现3141系统主要功能实现3142系统主要功能实现31421网站管理员登录模块31422客户注册模块35423客户登录模块40424客户查询商品模块44V425客户订购商品模块47426网站管理员订单处理模块52结论55参考文献56致谢错误未定义书签。1随着计算机信息技术的发展很日益成熟,社会的方方面面围绕着这些技术逐渐发生着日新月异的变革。经济是社会结构的一个举足轻重的部分,传统经营活动和计算机信息技术结合的产物电子商务登上了社会的历史舞台。网上商城是经营活动中互联网上的一种具体表现形式,和传统的经营模模式比较,网上商城具有客源面更广,运营成本更低
11、,广告宣传效应更快,交易更方便快捷等等优势。随和国家网络管理法规的成熟很网上交易技术安全性的提高,电子商务在经济份额中所占的比例逐年上升。所以在电子商务大潮中网上商城的崛起更能促进经济的发展。1绪论11项目的研究背景在国家大力推进信息化建设的宏观背景下,城市网络基础设施及应用水平均已得到了较大的完善和提升。特别是在经济发达的沿海地区,商贸服务业也较为发达,市民接受新事物能力和消费水平均较高,进行商贸流通业(即商品流通和为居民服务的第三产业)信息化与电子商务建设是政府的一项重要工作。愈来愈多的商贸服务企业意识到了用现代信息技术改造传统经营方式,用电子商务手段提升管理和服务水平的重要性。已有许多企
12、业在着手计划或已进行自身的电子商务建设,这就有了对商贸服务业电子商务应用平台的迫切需求。电子商务建设的最终目的是发展业务和应用。电子商城系统的建设,可以建立起电子商务服务的门户站点,是现实社会到网络社会的真正体现,为广大网上商家以及网络客户提供一个符合中国国情的电子商务网上生存环境和商业运作空间。电子商城的建设,不仅仅是初级网上购物的实现,它能够有效地在INTERNET上构架安全的和易于扩展的业务框架体系,实现BTOB(企业对企业)、BTOC(企业对用户)以及CTOC(用户到用户)等应用环境,推动电子商务在中国的发展。12相关国内外发展现状121国内电子商务的发展现状目前中国的INTERNET
13、已经从起步阶段进入高速发展阶段,但当前中国的电2子商务却存在很多局限性,网上商城利用网络是企业和消费者直接参与经济活动,从而构成生产链中重要的环节,网上商城解决方案集合强大的网上商城和便捷的内容与知识管理,通过一个综合管理体系的建设,为企业部门提供一个简单易用、开放的、可扩展的电子商务运行平台(范楚琦,2009)。沃尔玛超市和华联超市。沃尔玛是最早通过计算机实现网络化管理的超市,其从1969年租用了第一台IBM360计算机,到1983年发射公司第一颗卫星,电子商务得到了长足稳固的发展,也使沃尔玛的版图进一步扩大可以说没有电子商务,沃尔玛就不会有如此强大的价格优势,更不会有今天零售业世界排名第一
14、的地位。华联超市则是我国电子商务发展的一个很典型的代表和领导者。我国的电子商务从盲目地投资于直接针对消费者的网上营销转移到电子商务B2B模式和开发企业内部局域网上来。北京华联管理信息系统的总体设计目标是以科学管理为基础,结合超市现有情况,建立一个覆盖超市连锁店主要业务功能的人机协调的管理信息系统。虽然华联超市没有沃尔玛公司那么雄厚的资金支撑其发射公司卫星,但是它的连锁店电子商务的发展在国内也是值得赞许的。122国外电子商务的发展现状以欧美国家为例,可以说电子商务业务开发的如火如荼。在法、德等欧洲国家,电子商务所产生的营业额已占商务总额的1/4,在美国则已高达1/3以上,而欧美国家电子商务的开展
15、也不过才十几年的时间。在美国,美国在线AOL、雅虎、电子港湾等著名的电子商务公司在1995年前后开始赚钱,到2000年创造了78亿美元,IBM、亚马逊书城、戴尔电脑、沃尔玛超市等电子商务公司在各自的领域更是取得了令人不可思议的巨额利润。欧美国家电子商务飞速发展的因素有以下几点1欧美国家拥有电脑的家庭,企业众多,网民人数占总人口的2/3以上,尤其是青少年,几乎都是网民,优裕的经济条件和庞大的网民群体为电子商务的发展创造了一个良好的环境。2欧美国家普遍实行信用卡消费制度,建立了一整套完善的信用保障体系,这为电子商务的网上支付问题解决了出路。细致说来,欧美国家的信用保证业务已开展有80年的时间。在欧
16、美国家,人们可自由流动,不用像中国一样受户口的限制,为方便生活起居,每个人都有一个独一无二的,不能伪造并伴随终生的信用代码,持此信用卡进行消费,发卡银行允许持卡人大额度透支,但持卡人需在规定时间内将所借款项归还,如果某企业或个人恶意透支后不还3款,那也就意识着以后他无论走到何地,他的信用记录上都会有此污点,不论他想贷款买房,购车或办公司,银行都不会贷款给他,这在贷款成风的西方世界是及其可怕的因此,西方人普遍将信用看作自己的第二生命,谁也不愿意贪小利失大义,当在网上购物时,他们会在点击物品直接输入密码,将信用卡中的电子货币划拨到网站上,商务网站在确认款到后,立即组织送货上门。3欧美国家的物流配送
17、体系相当完善,正规,其是近年来大型第三方物流公司的出现,使的不同地区的众多网民,往往能在点击购物的当天或转天就可收到自己所需的产品。这要得益于欧美国家近百年的仓储运输体系的发展史。以美国为例,第二次世界大站后,许多企业将军队后勤保障体系的运做模式有效地加以改造运用到物资流通领域中来,逐渐在全国各地设立了星罗棋布,无孔不入的物流配送网络。即使在电子商务业务还未广泛开展的十多年前,只要客户打电话通知要货,几乎都可以享受免费的送货家政服务。美国联邦快递,UPS联邦包裹快递等是大型物流公司的典范,专门负责为各个商家把产品送到顾客手中,有了这样庞大的完善的物流配送体系,当电子商务时代到来后,美国只需将各
18、个配送点用电脑连接起来,即顺理成章的完成了传统配送向电子商务时代配送的过度(王淑霞,2007),电子商务活动中最重要最复杂的环节物流配送问题就是这样轻而易举的解决了。13项目研究的意义随着计算机信息技术的发展很日益成熟,社会的方方面面围绕着这些技术逐渐发生着日新月异的变革。经济是社会结构的一个举足轻重的部分,传统经营活动和计算机信息技术结合的产物电子商务登上了社会的历史舞台。网上商城是经营活动中互联网上的一种具体表现形式,和传统的经营模模式比较,网上商城具有客源面更广,运营成本更低,广告宣传效应更快,交易更方便快捷等等优势。随和国家网络管理法规的成熟很网上交易技术安全性的提高,电子商务在经济份
19、额中所占的比例逐年上升。所以在电子商务大潮中网上商城的崛起更能促进经济的发展。通过本次课题的设计和实现,完成网上商城系统的开发和应用。42相关技术分析21基础理论211J2EE概论随着INTERNET和企业计算从90年代以来的逐步发展,HTTP、XML和JAVA平台逐渐演变成为针对客户机计算的标准,这些新兴技术推动了在服务器端封装商业逻辑的应用设计以及电子商务的推广。由众多知名厂商共同制定的J2EE(JAVA2PLATFORMENTERPRISEEDITION)平台规范则为企业开发新应用提供了统一的标准。1J2EE架构简介J2EE是各厂商共同发起的,并得到广泛认可的一个工业标准。它利用了JAV
20、A2平台的技术优势,为企业提供系统整体解决方案的开发、部署和管理等相关问题的一套完整的体系结构。J2EE技术的基础就是JAVA2平台,J2EE不仅加JDBCAPI、CORBA技术的支持等之外,还提供了对业务逻辑封装的EJB(ENTERPRISEJAVABEANS)组件技术、支持HTTP访问的SERVLETS和JSP,以及XML的全面支持,另外它还定义了关于事务管理的JTA和JTS接口,及保证消息传递的JMS服务等。一个完整的J2EE平台的基础架构。首先,它定义了前端的接入访问支持,如支持HTTP的SERVLETS和JSP,以及远程访问模式RMI。而J2EE架构中的核心就是EJB组件,通过EJB
21、组件化技术将企业系统的实际业务逻辑进行封装。在平台的后端,J2EE标准定义了各种基础的服务,包括数据库访问支持的JDBC、事务管理的接口JTS、对象命名服务JNDI、消息传递的JMS服务以及访问其他组件的接口等。这些基础的服务将一个企业的已有系统有机地集成到J2EE平台中,然后通过前端的多种接入手段提供给最终用户。(李金海,2005)2采用J2EE技术的业务分析近年来信息化的大潮为企业带来了新的商机,如电子商务为企业提供了新的经营模式,内部信息系统、业务支撑系统、ERP系统以及CRM系统等可以大幅降低企业运行成本,提高竞争力。对于一个企业而言,如何构建自己的信息化平台,并且充分利用现有的IT资
22、源,便是一个很重要的课题。而J2EE架构则为各级规模的企业提供了良好的整体解决方案。例如,中小企业希望提供网上的营销管理,但无法来承受大型软件的成本。5而采用J2EE解决方案,可以利用SERVLETS作为前端用户接入,JSP提供动态信息展现,同时利用JDBC和JTS来进行后台的数据访问和事务封装,这样一个基于J2EE的网上营销系统的基础框架就基本形成了。而对于致力于电子商务的大型企业或者金融、证券企业而言,它们需要的则是一个可靠的、稳定的交易系统来支撑其复杂的业务。这时前端的接入依然可以采用SERVLETSJSP,利用J2EE应用服务器中的EJBCONTAINER来负责交易和安全管理,复杂的业
23、务逻辑可以通过EJB组件来封装,同时也为其今后的业务扩展提供了良好的基础。为了保证信息的安全传递,还可采用SSL技术对网络传输的数据进行加密处理。另外由于业务复杂,很多信息需要能跨平台传递、在不同业务间传递等操作,此时J2EE提供的XML标准就为数据以统一格式传递提供了接口和实现手段,而JMS消息服务则提供了传输保证。如果一个企业已经有了很多内部的信息系统,J2EE解决方案还可以为它提供系统整合方案。通过J2EE平台,可以利用一个工作流引擎来定制企业实际的商业流程,通过J2EE中的JCA标准来访问底层不同的信息系统,为企业实现整体的业务逻辑提供了数据和业务集成的实现机制。一旦商业模式变化,那么
24、只需要修改工作流引擎中的业务流程定义就能满足新的业务需求,保证企业迅速响应市场的变化。3采用J2EE技术架构的优势采用J2EE技术架构的优势包括以下几个方面1保护已有的IT投资公司在竞争中必须不断适应新的商业需求,而有效利用企业现有的信息系统同样十分重要。所以,一个以渐进的方式建立在已有系统之上的服务器端平台机制是才是企业所需求的。2加快企业面向市场的时间,减少新系统的开发周期缩短切入市场时间的方法之一就是选择便于应用快速开发的服务器端平台,这个平台应遵循开放的、公开的及获得业界广泛支持的标准。图2显示了在不同底层平台下的系统开发时间的对比,从中可以看到利用J2EE架构可以大幅度缩短应用开发的
25、周期,并简化系统开发的难度。3提高系统的可伸缩性,增强可维护性基于J2EE规范的应用可以被部署到各种操作系统上,从高端的UNIX大型机到简单的WINDOWS平台。同时也提供了广泛的负载平衡策略,可以消除系统中的瓶颈,允许多台服务器集成部署、协同工作,从而提高系统的可扩展性,满足企业应用的需要。(陈焜,2006)6212开发语言JAVA技术本项目采用JAVA技术具有下列优点1简单、健壮许多高级语言都要由程序员进行指针运算和存储器管理。这项工作即复杂又容易出错。JAVA不需要程序员进行指针运算和存储器管理,简化了设计,减少了出错的可能性。2面向对象JAVA是面向对象的程序设计语言。与面向过程的语言
26、相比,面向对象的语言更能反映人类对世界的认识和处理模式,具有良好的代码重用性。处理复杂、庞大而且不断变化的信息系统,必须使用面向对象的程序设计语言。3分布式目前,在所有软件产品中,仅供单个计算机使用的单机版软件所占的比例越来越小。大多数软件都可以运行在网络环境中。JAVA拥有一个网络协议对象库(TCP/IP,HTTP,FTP等),可以象访问当地文件一样访问INTERNET上的对象。4改进的解释性为弥补解释语言速度较慢的不足,JAVA采用预编译的办法,将原程序生成字节代码,减轻运行时的解释工作。另一方面,有些JAVA运行环境采用JUSTINTIMEJIT编译器将字节代码编译成机器码直接运行,这种
27、运行环境对于重复执行的服务器端软件特别有效,可以达到C语言的速度。5安全JAVA语言在编译时删除了指针和内存分配,在运行时检查字节代码,拒绝执行非法的内存访问,超越权限的访问等。可以防御黑客攻击。6与系统无关JAVA通过采用虚拟机技术真正实现了与平台无关。JAVA软件是真正跨平台可移植的。7多线程允许一个应用程序同时做多个任务。8动态性JAVA允许下载代码模块,因此,当程序运行时也能动态升级。9高性能经过实际的综合评测得出结论,JAVA是高性能的。213数据库语言SQLSERVERSQLSERVER是一个关系数据库管理系统,它最初是由MICROSOFT,SYBASE和ASHTONTATE三家公
28、司共同开发的于1988年推出了第一个OS/2版本,在WINDOWSNT推出后,MICROSOFT与SYBASE在SQLSERVER的开发上就分道扬镳了,MICROSOFT将SQLSERVER移植到WINDOWSNT系统上专注于开发推广SQLSERVER的WINDOWSNT版本,SYBASE则较专注于SQLSERVER在UNIX操作系统上的应用。MICROSOFTSQLSERVER以后简称为SQLSERVER或MSSQLSERVER。随着信息技术的发展,计算机处理数据的方式也发生着变化,文件管理系统7数据库管理系统。MICROSOFTSQLSERVER是一个分布式的关系型数据库管理系统,具有客户
29、机/服务器体系结构,采用了TRANSACTSQL的SQL语言在客户机与服务器间传递客户机的请求与服务器的处理结果。众所周知,SQLSERVER能够满足今天的商业环境要求不同类型的数据库解决方案。它一种应用广泛的数据库管理系统,具有许多显著的优点易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。性能、可伸缩性及可靠性是基本要求,而进入市场时间也非常关键。除这些SQLSERVER的优点外,SQLSERVER还为您的数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势。从数据管理和分析角度看,将原始数据转化
30、为商业智能和充分利用WEB带来的机会非常重要。作为一个完备的数据库和数据分析包,SQLSERVER为快速开发新一代企业级商业应用程序、为企业赢得核心竞争优势打开了胜利之门(王秀英,2002)。作为重要的基准测试可伸缩性和速度奖的记录保持者,SQLSERVER是一个具备完全WEB支持的数据库产品,提供了对可扩展标记语言XML的核心支持以及在INTERNET上和防火墙外进行查询的能力。SQLSERVER的优点众多,但是MICROSOFTSQLSERVER和其他数据库产品相比也存在着以下劣势1开放性。只能运行在微软的WINDOWS平台,没有丝毫的开放性可言。2可伸缩性,并行性。并行实施和共存模型并不
31、成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。3性能稳定性。SQLSERVER当用户连接多时性能会变的很差,并且不够稳定。4使用风险。SQLSERVER完全重写的代码,经历了长期的测试,不断延迟,许多功能需时间来证明。并不十分兼容早期产品。使用需要冒一定风险。5客户端支持及应用模式。只支持C/S模式。22B2C电子商务网站系统221B2C介绍电子商务,英文是ELECTRONICCOMMERCE,简称EC。电子商务通常是指是在全球各地广泛的商业贸易活动中,在因特网开放的网络环境下,基于浏览器/服务器应用方式,买卖双方不谋面地进行各种商贸活动,实现消费者的网上购8物、商户之间的网上交易和在线
32、电子支付以及各种商务活动、交易活动、金融活动和相关的综合服务活动的一种新型的商业运营模式。“中国网络营销网”TINLU相关文章指出,电子商务涵盖的范围很广,一般可分为企业对企业BUSINESSTOBUSINESS,或企业对消费者BUSINESSTOCUSTOMER两种。另外还有消费者对消费者(CUSTOMERTOCUSTOMER这种大步增长的模式。随着国内INTERNET使用人数的增加,利用INTERNET进行网络购物并以银行卡付款的消费方式已渐流行,市场份额也在迅速增长,电子商务网站也层出不穷。电子商务最常见之安全机制有SSL及SET两种。B2C是就是商家与顾客之间的商务活动,也就是通常所说
33、的“网上购物网站”,企业、商家可充分利用电子商城提供的网络基础设施、支付平台、安全平台、管理平台等共享资源有效地、低成本地开展自己的商业活动。222B2C模式B2C模式具有下列五项优势1信息优势B2C模式通过掌握大量个人和客户的信息,甚至购买习惯和个性需求,开展有针对性的网上促销和个性化服务。2短渠道优势B2C越过了销售渠道的重要环节传统的代理商,这使得一些厂商或超大型的MALL公司利用传统的商品价格及物流仓储优势,通往网络实现销售给最终用户,这样的边际利润率相对较高。3客户忠诚度优势有一项调研显示客户对网络的品牌知名度的认同感要超过对传统行业。也就是当一个大型的购物网的忠实客户也可能浏览其他
34、购物网页内容,但很难让他尝试购物。这是因为“流程”、“安全性”和“品牌信任感”这三大要素会直接导致忠诚度和习惯。所以,客户能记住某一个方向的最好的一两个网站,客户很难记住第三个网站,如果没有新意,很难获得PAGEVIEW。4贴近客户需求优势某些公司在时机成熟时,逐渐提供了下列服务公司所有的商品,实时的、个性化的交互式导购员,以及“大家一起购物”(能够使不同地点顾客在网上交谈)系统和购物广告。这些技术和服务,进一步扩展了目录购物方式给消费者带来的购物体验,这个网站上活生生的导购专家,可以通过网上聊天方式来帮助你找到自己想要的商品。B2C的技术决不是为技术而技术,而是以顾客为中心采用技术。5资金的
35、安全优势B2C在支付环节上通常不会有很大的矛盾。个人购物通常都习惯以现金或信用卡在完成购买流程后即时支付,这对于网络公司的资9金周转是非常有利的。至少,公司可以通过流程来控制和预计资金的流出和流入,而且出入比较小,便于管理和控制资金流量。坏账的可能性非常小。23UML概念20世纪80年代,随着面向对象技术成为研究的热点,先后出现了几十种面向对象的软件开发方法。其中,BOOCH、OMT和OOSE等方法得到了广泛的认可。然而,采用不同方法进行建模不利于开发者之间的交流。而UML则统一了BOOCH、OMT和OOSE的表示方法,而且对其作了进一步的发展。1997年,UML被国际对象组织OMG采纳为面向
36、对象的建模语言的国际标准,它溶入了软件工程领域的新思想、新方法和新技术。UML不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。数年来,UML凭借其简洁明晰的表达方式、超凡脱俗的表达能力,一路杀将出来,为业界所广泛认同目前,在多数大型企业的正规化开发流程中,开发人员普遍使用UML进行模型的建立。作为一名软件开发人员,我们必须学会UML。因为UML就是那个统一的“文字“,统一的“度“、“量“、“衡“,不理解UML,作为软件设计统一王国的国民,将是艰难而痛苦的。作曲家会将其脑袋中的旋律谱成乐曲,建筑师会将其设计的建筑物画成蓝图,这些乐曲、蓝图就是模型MODEL,而建构这些模型
37、的过程就称为建模MODELING。软件开发如同音乐谱曲及建筑设计,其过程中也必须将需求、分析、设计、实现、布署等各项工作流程的构想与结果予以呈现,这就是软件系统的建模。那么为什么要建模呢经典答案是建立大厦和建立狗窝的区别是建设狗窝不需要设计,要生产合格的软件就要有一套关于体系结构、过程和工具的规范。UML由图和元模型组成,图是语法,元模型是语义。UML主要包括三个基本构造块事物(THINGS)、关系(RELATIONSHIPS)和图(DIAGRAMS)。本次连载我们将对UML的这些基本组成部分及UML工具和应用进行介绍,使读者对UML形成初步的整体印象。在其后的几次连载里,再以数个实例对这些内
38、容逐步展开(徐锋,2006)。103系统设计31系统功能设计311系统需求分析本系统功能性需求包括以下内容1客户可以打开本系统通过注册并登陆自己的帐号2客户可以修改和删除自己的注册信息3客户可以查询本系统里的商品4客户可以订购本系统中的商品并付款给网络管理员5客户可以查询订单并可以取消订单6网站管理员可以登录本系统并对商品进行上传和删除处理7网络管理员可以查询销售记录8网站管理员可以对订单进行查询9网络管理员可以接受发货请求或者因缺货拒绝发货请求10网站管理员可以接受付款312创建系统的用例模型利用UML建模的优势有以下三点1UML是最好的交流语言,无论是与其他程序员交流,还是与领域专家、测试
39、员或者用户交流。原因只有一点,UML是标准的,就像英语一样,无论多么该死,大家还是忙着把自己的论文改成英文的。当然,在小的领域可能有更好的交流方言,但是在大而长远的交流中,使用标准的交流语言是稳妥的。2UML是很好的代码生成工具,其实代码生成功能并不是由UML语言和规范提供的,而是由UML工具提供的,而且不同的UML工具提供的代码生成功能还不尽相同。例如ROSE提供简单的代码框架生成,而ECLIPSE插件EMF可以生成功能丰富,提供了各种设计模式的代码包。无论如何,如果程序员可以从UML入手来写程序,比直接敲代码要高级那么一点点。从文档、版本控制、维护、测试等各方面来说,画UML类图比直接写代
40、码都要高那么一点点。3UML是很好的系统设计工具。对于程序员来说,很少用到“设计”这个词,大部分时候我们都是在“编写”或者“实现”。但是勿庸置疑,程序员的许多工作中还是需要“设计”的。包和组件之间的依赖关系、复杂操作的流程、对象之间的关联和状态、程序的部署等等,都经常是程序员的工作。那么上面11的四种情况可以用UML的组件图、序列图、对象图和部署图来设计。虽然,不同的程序员有不同的设计方法或者设计图例,不过,UML是标准的。不要忽视标准的力量,标准的东西意味着在全世界范围内都有可能会被看懂,不标准的东西可能出了你的办公室就没人能够清晰、准确的理解了。本系统的参与者有1系统管理员系统管理员进行如
41、此的维护和客户账户管理,他们为客户提供商品信息和日常的商品信息管理,以及销售管理和接受客户付款。2客户可以注册登录本系统进行对商品的查询和购买及付款,还能对以下的订单进行查询和取消以上可以得出,系统的参与者包括二中,分别是SYSTEMMANAGER(网站管理员),CUSTOMER客户。如图所示根据参与者的不同分别画出各个参与者的用例图(管理员见图1,客户见图2)。图1网站管理员用例图12图2客户用例图313创建系统静态模型根据系统需求可以识别系统存在的对象。从需求中可知我们至少创建3个类管理员类、客户类和账户类。在用户注册的时候需要为其创建帐号,查询库存时需要库存类,客户和网站管理员和客户查询
42、销售记录时需要销售记录类。系统和用户交互时需要直观的图形化界面,所以我们需要很多用户界面类。本项目需要12个用户界面类,分别是主要界面类(MAINFORM)、登录界面类(LOGINFORM)、购买界面类(BUYFORM)、跟人信息界面类(PERSONALFORM)、查询商品界面类(QUERYFORM)、商品类(GOODSFORM)、订单维护界面类(ORDERMAINTAINFORM)、付款界面类。各个参与者的属性1CUSTOMER类具有用户名、密码、电话的私有属性2SYSTEMMANAGER类有用户名、密码的私有属性3ORDER类有商品名称、价格、交易时间的私有属性4ACCOUNT类有账户、密
43、码、时间的私有属性5GOODS类有商品名、数量的私有属性其他界面类不需要设置类属性确定系统的类后需要确定类之间的管理,类之间的管理如下类图(图3)所示13图3类之间的管理314创建系统的动态模型1创建序列图和活动图通过系统的用例描述,可以得到一个交互行为1网站管理员登录本系统2客户注册本系统3客户通过系统管理员修改个人信息4客户登录系统5客户查询所需商品6客户订购商品7网站管理员订单处理8销售查询具体工作流程如下A网站管理员登录本系统用例的工作流程序列图(图4)和活动图(图5)1网站管理员启动系统,在登录界面LOGINFORM中输入自己的用户名和密码并提交。2系统验证网站工作人员的用户名和密码
44、是否正确,如果正确创建系统主界面。3如果身份未通过则返回错误信息。14图4网站管理员登录本系统用例的工作流程序列图图5网站管理员登录本系统用例的工作流程活动图B客户注册本系统的用例工作流程的序列图(图6)和活动图(图7)1客户打卡主界面后打开注册界面2客户注册界面输入注册信息并提交3系统判断注册用户名是否和已有的注册用户重复4注册成功则返回注册信息15图6客户注册本系统的用例工作流程的序列图图7客户注册本系统的用例工作流程的活动图C客户通过系统管理员修改注册信息的序列图(图8)和活动图(图9)1客户打开主界面并且打开账户信息界面2在账户信息窗口修改个人信息3系统判断是否与已有用户名重复4修改成
45、功后返回修改信息16图8客户通过系统管理员修改注册信息的序列图图9客户通过系统管理员修改注册信息的活动图D客户登录用例的工作流程序列图(图10)和活动图(图11)1客户打开系统并打开登录窗口2输入已注册的用户名和密码3系统验证身份信息通过则允许用户进入客户界面否则返回错误信息17图10客户登录用例的工作流程序列图图11客户登录用例的工作流程活动图E客户查询所需商品用例的工作流程序列图(图12)和活动图(图13)1客户打开主界面并打开查询界面2客户输入查询信息查询商品3得到查询信息后由系统去除重复4显示查询的结果在查询界面18图12客户查询所需商品用例的工作流程序列图图13客户查询所需商品用例的
46、工作流程活动图F客户订购商品用例的工作流程序列图(图14)和活动图(图15)1客户打开主界面并打开购买界面2客户提交购买信息进入付款界面3客户付款后进入订单界面4客户等等发货5客户收到货物后确认付款6系统将此次交流记录到交易记录19图14客户订购商品用例的工作流程序列图图15客户订购商品用例的工作流程活动图G网站管理员处理订单用例的工作流程序列图(图16)和活动图(图17)1网站管理员进入主界面打开订单处理界面2网站管理员查询库存判断是否有此商品的库存3网站管理员发货4等待付款5接受付款后系统将此次交流记录到交易信息图16网站管理员处理订单用例的工作流程序列图20图17网站管理员处理订单用例的
47、工作流程活动图H销售查询用例的工作流程序列图(图18)和活动图(图19)1网站管理员打开主界面并打开销售界面2网站管理员提交查询销售记录要求3系统在销售记录中查询销售记录返回到销售界面图18销售查询用例的工作流程序列图图19销售查询用例的工作流程活动图2创建状态图在这个B2C网上商城系统中,有明确状态转换的是商品。商品包含六种状态商品被上传销售、商品等待付款、等待发货、等待买家签收、等待发货时被删除取消订单、缺货(见图20)。21图20商品状态图315创建系统的部署模型1构件图根据类图创建系统的构件图,包含销售构件(SALE)、界面构件(FORM)、商品信息构件(GOODS)、仓库构件(STO
48、REAGE)、系统管理构件(SYSTEMMANAGER)、客户构件(CUSTOMER)(见图21)。图21系统构建图2部署图系统包含5钟节点,分别是数据库服务器(DATABASE)负责数据的存储;系统服务器(SALESERVER)节点,用于处理系统的业务逻辑;客户客户端(CUSTOMERCLIENT)节点,用于客户登录;系统管理员(SYSTEMMANAGERCLIENT)据诶点,用22于系统管理员登录。本B2C系统的部署图见图22图22系统部署图32系统数据库设计数据库设计的步骤有1需求分析调查和分析用户的业务活动和数据的使用情况,弄清所用数据的种类、范围、数量以及它们在业务活动中交流的情况,
49、确定用户对数据库系统的使用要求和各种约束条件等,形成用户需求规约。2概念设计对用户要求描述的现实世界可能是一个工厂、一个商场或者一个学校等,通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。以扩充的实体(ER模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述在数据库中称为用户的局部视图。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。233逻辑设计主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。4物理设计根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构包括文件类型、索引结构和数据的存放次序与位逻辑等、