网上书店系统可行性分析报告及需求分析1.可行性分析经济可行性⑴图书发行量不断增大2009年底,新闻出版署公布了《2009年全国新闻出版业基本情况》,其中指出,2009年全国共出版图书301719种,其中新版图书168296种,重版、重印图书133423种,与上年相比图书品种增长10.07%,新版图书品种增长12.97%,重版、重印图书品种增长6.61%,总印张增长0.78%,定价总金额增长5.68%。图书发行量不断增加实际上是读者对图书的需求不断扩大的反映。⑵书店增多,售书网点普及普通书店的发展是大家有目共睹的,尤其在城市,除了新华书店,各种国有、私营、个体的书店比比皆是,综合书店、专业书店、精品书店、工具书店、电子书店应有尽有。书店规模也越办越大,如北京图书大厦、北京海淀图书城、上海图书城等等。此外,还有国外图书业巨头的介入,如贝塔斯曼。这些国外公司的加入,不仅带来了更多的图书,还引入了诸如会员制这样的图书营销新理念,图书市场一片繁荣。在这种情况下,网上书店的加入无疑将使得竞争更加激烈,但从另一个方面看,只有在这种激烈的竞争下,网上书店的优势才能得以体现。技术可行性⑴在网络技术方面,早期用于电子商务的网络多为较封闭的,现在的网络使用Internet技术来构建,为电子商务的发展提供了一个统一的平台。⑵在软件方面,以IBM、HP为首的众多IT厂商纷纷推出自己的电子商务产品,有的还提出了“一揽子解决方案”。对于人们最关心的支付与安全问题,也提出了一些相应的解决方案,例如各种卡的技术,如信用卡、电子现金卡等;各种安全技术,如防火墙、时间戳业务、公钥证书认证等。⑶在硬件方面,企业或商家构建服务器有非常宽广的可选择面,因此,国内计算机和网络发展非常迅猛。虽然,中国的网络基础比较薄弱,但据中国互联网络信息中心2011年最新统计数据表明,截止到2010年底,我国上网用户已经突破4.5亿人,达到4.57亿人,较2009年底增加7330万人;互联网普及率攀升至34.3%,较2009年提高5.4个百分比。这是中国计算机网络发展的现实,也是发展电子商务、经营网上书店的基础。2.系统功能简介该系统是一个中小型的电子商务系统----网上书店,可以为各类用户提供方便的在线买书环境,符合目前国内流行的电子商务模式。系统默认管理员账户为Admin,密码为123456,管理员登陆后可进行“订单处理”“管理图书”“职员信息录入”等操作;系统默认的会员账户为000,密码为123456,会员登陆以后可进行“余额查询”“账户充值”“书目查询”“购买书籍”等操作,也可以注册新的会员。3.需求分析网上书店的主要功能和数据需求包括:(1)注册管理会员注册职员注册(2)图书管理增加图书信息图书信息查询图书信息更新及删除(3)在线订书(4)订单管理订单查询订单取消及更新订单受理(5)配送管理(6)出版社管理(7)配送公司管理(8)留言管理发布留言回复留言(9)用户管理会员升级会员信息维护职员信息维护网上书店的业务规则包括:(1)所有用户均可搜索图书信息,但只有注册会员才能在网上提交订单;只有注册职员才能维护图书信息及受理订单。(2)每位会员由会员编号唯一标识,会员编号由系统按时间顺序生成。(3)每位职员由职员编号唯一标识,职员编号由系统按时间顺序生成。(4)当普通会员购书总额达到1000元,即升级为三级VIP会员,享受售价9.5折优惠;购书总额达到2000元,升级为二级VIP会员,享受售价9折优惠;购书总额达到3500元,升级为一级VIP会员,享受售价8.5折优惠。(5)ISBN是图书的唯一标识。系统需记录每种图书的当前库存数量,当库存量低于某一值时,则通知补货。(6)选购的图书必须放入购物车后才能生成订单。(7)每个订单用订单编号唯一标识。订单编号由系统按时间顺序生成,后提交的订单有更大的订单号。(8)订单需记录当前状态,包括未审核、退回、已审核和已处理结束等状态。(9)同一订单可购多种图书,且订购数量可以不同。因此,一张订单可包括多个数目明细,包括ISBN、图书名称、订购数量、订购价格。订单中的每种图书需记录其状态,包括未送货、已送货和已送到等状态。(10)订单受理前允许会员删除所选图书,修改购书数量、配送信息和发票单位,甚至取消订单。但是订单审核通过之后,则不允许再做任何修改。(11)订单中的图书采取先到先发货的原则。若一订单中的图书未同时有货,可拆分成不同配送单发货;但是,一订单中的某种图书只有库存有足够存书时才能安排配送。(12)配送单由配送单编号标识。每个订单的配送单编号由订单编号加上系统按时间顺序生成的流水号组成。(13)每张配送单对应一张发票。发票用发票实际编号唯一标识。(14)当订单中的某种图书送到后,则更新该书的状态为“已送到”。当订单内全部图书状态为“已送到”时,则更新该订单状态为“已处理结束”。(15)一种图书只由一个出版社出版,而一个出版社可出版多种图书。(16)一个会员可发表多条留言,一个职员可回复多条留言。网上书店的主要业务流程NYYNYYNN会员登录选择图书放入购物车选购结束?填写配送信息选择支付方式在线支付财务结算订单生成开始结束开始结束职员登陆订单审核发票生成配送单生成正确?有订单?退回订单生成订单受理数据流图3.确定实体集及属性(1)职员(Employee)实体集。其属性有:职员编号(employeeNo)、密码(empPassword)、姓名(empName)、性别(sex)、出生年月(birthday)、职务(title)、住址(address)、电话(telephone)和电子邮箱(email)等,其E-R图如下:(2)会员(Menber)实体集。其属性有:会员编号(memberNo)、登录密码(memPassword)、姓名(memName)、性别(sex)、出生年月(birthday)、电话(telephone)、电子邮箱(email)、邮编(zipCode),其E-R图如下:顾客书籍库存订单处理订单管理员EmployeesexempNameempPasswordtitletelephoneemailemployeeNoaddressbirthday(3)图书(Book)实体集。其属性有:书号(ISBN)、书名(bookTitle)、作者(author)、出版年份(publishYear)、版次(version)、库存数量(stockNumber)、售价(salePrice)、内容简介(introduction),其E-R图如下:4.逻辑数据库设计将E-R模型图转化为数据库模式。通常每个实体集对应一个关系表。职员表Employee属性名称数据类型属性描述employeeNochar(8)员工编号empPasswordvarchar(10)登录密码MembermempassWordmemberNoemailzipCodemenNamesextelephonebirthdayaddressBookISBNbookTitleauthorstockNumberversionsalePricepublishYearintroductionempNamevarchar(12)员工姓名sexchar(1)员工性别birthdaydatetime出生日期titlevarchar(10)职务addressvarchar(40)员工住址teltphonevarchar(15)员工电话emailvarchar(20)员工邮箱会员表Member属性名称数据类型属性描述memberNochar(9)会员编号memPasswordvarchar(10)登录密码memNamevarchar(12)会员姓名sexchar(1)会员性别birthdaydatetime出生日期telephonevarchar(15)会员电话emailvarchar(20)会员邮箱addressvarchar(40)会员住址zipCodevarchar(6)邮政编码图书表Book属性名称数据类型属性描述ISBNchar(17)书号bookTilechar(30)书名authorvarchar(40)作者publishDatedatetime出版年份versionint版次stockNumberint库存数量salePricenumeric售价introductionvarchar(500)内容简介Sql源代码(建立数据库及表):CREATEDATABASEbookshopon(name=bookshop,filename='g:\管理信息安全课程设计\bookshop.mdf',size=5,maxsize=10,filegrowth=1)logon(name=bookshoplog,filename='g:\管理信息安全课程设计\bookshoplog.ldf',size=2,maxsize=5,filegrowth=1)CREATETABLEEmployee(employeeNochar(8)PRIMARYKEY,empPasswordvarchar(10),empNamevarchar(12),sexchar(1),birthdaydatetime,titlevarchar(10),addressvarchar(40),telephonevarchar(20),emailvarchar(20));CREATETABLEMember(memberNochar(9)PRIMARYKEY,memPasswordvarchar(10),memNamevarchar(12),sexchar(1),birthdaydatetime,telephonevarchar(15),emailvarchar(20),addressvarchar(40),zipCodechar(6),);CREATETABLEBook(ISBNchar(17)PRIMARYKEY,bookTitlevarchar(30),authorvarchar(40),publishDatedatetime,versionint,stockNumberint,salePricenumeric,introductionvarchar(500),);