网上书店实验报告

              实验四    软件概要设计

实验目的和任务

目的:完成系统的体系结构的建立和概要设计,并给出相应的规格说明书。

任务:认真分析实验三的结果,给出系统合理的体系结构,描绘系统结构图,并合理划分系统的各组成模块,最后给出系统的各部分设计规格说明书。

预习内容

     参考资料和阅读相关的国家有关软件开发的标准文档。

实验内容及要求

     功能结构图设计,软件处理流程设计,输出设计,存储文件格式设计(数据库结构设计),输入设计。

实验结果

1功能结构图

本软件具有如下主要功能:

l  图书管理

数据添加     数据删除     数据修改

l  会员管理

会员注册   会员查询    图书查询

l  查询管理

条件查询   模糊查询

l  购物车管理

图书添加   图书查询    图书修改

l  订单管理

订单查询  订单修改

功能描述

l  身份验证功能

   对登录用户的身份进行验证,通过者才可以进入系统;

l  条件查询功能

(1)如按书名、名号、作者、出版社等(2)模糊查询

l  数据添加功能   增加一条新记录

l  数据删除功能

删除一条记录,并且提供确认机制。

l  数据修改功能

    修改任意一条记录的所有域,其中书名不能为空

l  用户管理功能

添加用户功能   删除用户功能      修改用户功能

2处理流程

 系统启动后,进入主界面,然后通过身份验证进入系统里,根据系统配置文件将数据库导入,并设置各全局变量;由退出系统事件激活退出系统模块,退出系统;系统总体结构如图s3.1所示。

图s3.1 系统总体结构和模块外部设计

功能分配

系统控制功能

初始化模块(M1)会员验证模块(M2)游客模块(M3)管理员验证模块(M4)

图书查询(M21)购物车(M22)订单(M23)退出(M24)会员管理(M41)

图书管理(M42)订单管理(M43)退出(M44)

(1)              图书查询功能

             条件查询模块(M211)模糊查询模块(M212)

(2)             购物车功能

添加图书模块(M221)查询图书模块(M222)修改图书模块(M223)

(3)             订单功能

订单查询模块(M231)订单修改模块(M232)

(4)             会员管理

会员登陆模块(M411)会员注册模块(M412)会员注销模块(M413)

(5)             图书管理

图书添加模块(M421)图书删除模块(M422)图书修改模块(M423)

(6)             订单管理

执行订单模块(M431)查看订单模块(M432)

3数据结构设计

逻辑结构设计

(1) 全局变量

<1>记录总数       RecordTotal:      Int

<2>浏览顺序数组   Browse:          INt Browse[max]

<3>焦点记录       FocusRecord:      Int

<4>表             From:                     Action=”.link.jsp” method=”post”

  <5>内存记录缓冲区   RecordBuffer:   NameAdd RecordBuffer

                      NameAdd=:      [max]

                      Struct{   INt Index;

                               Char Name[20];

Char Company[80];

Char Telnump[40];

}NameAdd;

 (2)文件名

adminlist.aspx           管理员首页

addbook.aspx             添加图书信息

bookdetail.spx           图书详情

Booklist.aspx            管理员图书列表

Cartok.aspx              填写购物车客户信息

Headad.aspx              管理员登录首页头部

Index.aspx               主页面

Login.aspx               用户登录页面

Morebookin.aspx          更多图书页面

Reg.aspx                 用户注册页面

Tail.aspx                首页底部页面

Updatesearchbook.aspx    修改查询图书(管理员)

Userlist.aspx            用户信息列表

(3)数据库Name-CarD Tabel 定义

思考题

1系统设计与需求分析的关系是什么?两者必须前后关联吗?

2怎样描绘系统的体系结构?

3怎样绘制符合规范的流成图?

1在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。需求分析是介于系统分析和软件设计阶段之间的桥梁。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础,所以需求分析是系统设计的基础,没有需求分析就不能成功的做出系统设计,两者必须前后关联。

2软件体系结构关注系统的一个或多个结构,包含软件部件,这些部件的对外可见的性质及他们之间的关系。有数据为中心的体系结构,数据流风格的体系结构,调研和返回风格的体系结构,层次式风格的体系结构,面向对象风格的体系结构。系统的体系结构的设计技术有结构化程序设计方法,图形表示法(程序流流程图,N-S图,PAD),判定表,设计性语言PDL

3使用国际通用的流程图形态和符号

从一个高层次的流程开始,循序渐进的扩展到各子流程。

采用从上至下、从左至右的顺序绘制流程中的每一个结点,保证整个流程图的顺畅。

各个流程图间的相互联系和关联要清晰的描述出来

同一个流程图中,相同的符号大小必须保持一致。连接符采用实心箭头符号,并避免交叉

实验五 软件详细设计

实验目的与任务

目的:在实验四基础上完成系统的系统详细设计,并给出相应的规格说明书。

任务:认真分析实验四的结果,描绘系统结构图,并合理划分系统的各组成模块,最后给出系统的各部分设计规格说明书。

预习内容

参考资料和阅读相关的国家有关软件开发的标准文档。

实验内容及要求

输出设计(主要指打印输出设计),存储文件格式设计(数据库结构设计),输入设计(主要指数据录入卡设计),代码设计,程序设计说明书

实验结果

网上书店管理系统分为前台销售管理系统(网站)和后台管理系统。前台销售管理系统的用户是通过Internet访问网站的客户,后台管理系统的用户是通过公司内部Internet访问的后台管理员。前台和后台管理系统的设计与实现如下。

1前台销售管理系统的设计与实现

前台销售管理系统主要提供向客户宣传图书信息(新到图书,特价图书等等)、提供客户便捷的检索图书的功能,及客户网上注册、登录、购物、查询订单和缺书等信息反馈的功能。

客户通过首页进入网站的其它Web网页,享受网站提供的各项服务如购物、注册等。前台管理系统大致分为会员访问子系统、网上购物车子系统、图书浏览检索子系统和信息反馈子系统。

各个子系统的设计和实现如下:

1.1注册用户关键代码:

<%sub reg()

set rs=server.CreateObject("adodb.recordset")

rs.open "select * from [user]",conn,1,3

rs.addnew

rs("username")=trim(request("username"))

rs("userpassword")=md5(trim(request("userpassword1")))

rs("useremail")=trim(request("useremail"))

rs("quesion")=trim(request("quesion"))

rs("answer")=md5(trim(request("answer")))

rs("userzhenshiname")=trim(request("userzhenshiname"))

rs("adddate")=now()

rs("lastlogin")=now()

rs("logins")=0

rs("youbian")=0

rs("zhifufangshi")=0

rs("songhuofangshi")=0

rs.update

rs.close

set rs=nothing

response.Write "<table width=100% border=0 align=center cellpadding=0 cellspacing=0><tr><td height=80 bgcolor=#fffbef class=pad><font color=#cb6f00>用户注册成功</font>          ‘将指定的字符串写到当前的 HTTP 输出

response.Write "恭喜"&request.Cookies("bookshop")("username")&",您已注册成为《"&webname&"》正式用户,请进行下一步操作:

</td></tr></table>"

end if

end sub%>

注册用户之输入框判断JavaScript代码如下:

举例:检查用户名是否填写

<script language="JavaScript">

function check()

{

   if (document.userinfo.username.value=""){   ‘判断用户名输入框是否为空

  alert("用户名不能为空,请重新输入!");

    return false;

  }

 else return true;

}

</script>

1.2用户登陆关键代码:

<!--#include file="conn.asp"-->   ‘连接数据库

<!--#include file="md5.asp"-->   ‘采用MD5加密

<%dim username,userpassword,comeurl

username=replace(trim(request("username")),"'","")

userpassword=md5(replace(trim(request("userpassword")),"'",""))

if trim(request("comeurl"))="" then

comeurl="index.asp"

else

comeurl=trim(request("comeurl"))

end if

if username="" or userpassword="" then

response.Write "<center><a href=login.asp><font color=red size=2>对不起,登陆失败,请检查您的登陆名和密码</font></a></center>"

response.end

end if

set rs=server.CreateObject("adodb.recordset")

rs.Open "select * from [user] where username='"&username&"' and userpassword='"&userpassword&"' " ,conn,1,3

if not(rs.bof and rs.eof) then

if userpassword=rs("userpassword") then

response.Cookies("bookshop")("username")=trim(request("username"))

'response.Cookies("bookshop").expires=date+1

rs("lastlogin")=now()

rs("logins")=rs("logins")+1       ‘登陆次数加1

rs.Update

rs.Close

set rs=nothing

call loginok()

else

response.write "<script LANGUAGE='javascript'>alert('对不起,您的用户名或密码有误!');window.location.reload('javascript:history.go(-1)')</script>"

end if

else

response.write "<script LANGUAGE='javascript'>alert('对不起,您的用户名或密码有误!');window.location.reload('javascript:history.go(-1)')</script>"

end if

sub loginok()   ‘定义登陆成功执行程序

response.Write "<font size=2>欢迎您 <font color=red size=2>"&request.Cookies("bookshop")("username")&"</font>,两秒种后将自动跳转到相应页!</font>"

response.Write "<meta http-equiv=refresh content=2;URL="&comeurl&">"

end sub

%>

1.3购物车(订单)子系统:

数据库表的设计: 客户通过购物车购买商品时,购物车要随时计算客户所购买的商品价

格,因此需要一个购物车数据库表记录客户购买商品的基本信息,客户通过购物车买完商品后,还需要填写送货方式、付款方式等客户的基本信息,填写完所有的信息后,才能从网上正式提交订单。为了有效的存储订单信息,在数据库中设计了订单信息表和订单细节表。订单信息表主要存放的是订单名称、订单编号、订单总价、客户邮件等订单的基本信息,订单细节表(订单图书记录表)存放每一张订单所购图书编号即图书数量的信息。

在网上购物车的功能实现中需要注意的重要问题是购物车号的生成和保存。当多个用户访问网上商店时,每个用户需要有自己的购物车,.即购物车有唯一性,通常以购物车号标志购物车的唯一性。购物车号要经常在不同网页中使用,我们采用Cookies技术来保存购物车号。

当没有登陆时,以下代码限制用户访问该页面

<%if request.cookies("bookshop")("username")="" then

response.write "<script language=javascript>alert('对不起,您还没有登陆!');window.location.reload('javascript:window.close()')</script>"

response.End

end if%>       ‘限制对页面的访问,需要先登陆

网上购物车中重新计算所有物品的金额的功能实现网上购物车需要实时的满足顾客的要求,购物车里有多种商品,顾客每次修改各种商品的数量后,购物车需要重新计算所有商品的金额。这一部分的功能通常有两种方法实现,一种采用Cookies技术,另一种采用数据库技术。采用Cookies技术,实现起来较困难,而采用数据库技术,只需要实时更新数据库表就可以了。

<%dim bookid,action,i

action=request.QueryString("action")

if request.QueryString("id")="" then

bookid=request("bookid")

else

bookid=request.QueryString("id")

end if

if bookid="" then

response.write "<script language=javascript>alert('对不起,您没有选择商品!');window.location.reload('javascript:window.close()')</script>"

response.End

end if                           ‘判断是否选择书籍

<%dim iii        '定义总价

iii=0

dim bookscount,books '定义判断有几个bookid

bookscount=request.QueryString("id").count

do while not rs.eof

dim quatity '判断input 名

Quatity = CInt( Request( "ckxp"&rs("bookid")) )

Quatity <=0 Then Quatity = 1

%>

<%if Quatity<=1 then

response.write formatnumber(rs("huiyuanjia")*1,2)&"元"

else

response.write formatnumber(rs("huiyuanjia")*Quatity,2)&"元"

end if

iii=formatnumber(rs("huiyuanjia")*Quatity+iii,2 )

%>         ‘小计购买数量书籍的总价

1.4图书浏览检索子系统的实现:

图书浏览检索子系统要完成对图书的分类浏览,关键词查询和高级查询的功能,其中高级查询的实现较为复杂,高级查询有书名、作者、出版社、ISDN、售价范围(指定价格以下)多种方式可以相互组合,显示方式有按书名,作者,出版社,价格等等规则。具体的查询程序可以分为很多种情况实现,现以其中一种方式为例加以说明:

set rs=server.CreateObject("adodb.recordset")

if jiage="" then                     '//普通查询

select case action

case "1"

rs.open "select bookid,bookname,bookzz,bookchuban,shichangjia,huiyuanjia,dazhe,bookdate from shop_books where bookname like '%"&searchkey&"%' ",conn,1,1

end select                   ‘前面代码已经定义了关键字searchkey

2后台管理系统的实现

后台管理子系统,可以通过点击系统LOGO(左上角)进入。 由于是后台操作,必须是管理员才能进入的,所以对所有后台页面都要添加页面保护,即必须先登陆才能有其他操作。

代码如下:

<%if session("admin")="" then

response.Write "<script language='javascript'>alert('网络超时或您还没有登陆!');window.location.reload('login.asp')</script>"

response.End

end if

%>

2.1添加新图书子系统

添加图书流程其实也是个向数据库中SHOP_BOOKS插入数据的过程,实现起来依然比较简单。

2.2查看信息子系统

查看用户在前台给书店员工反馈的信息,可以选择留言类型,更有针对性,可以提高工作效率。

2.3系统用户管理

该子系统可以查看以及修改用户详细资料,也可以删除该用户。

思考题

1.简述详细设计阶段的主要任务。

答:详细设计阶段将软件体系结构的结构性元素变换为对软件不见的过程描述。从类为基础的模型、流模型、行为模型等模型中得到的信息是详细设计阶段的基础。

 2.简述详细设计说明书的主要内容。

答:网上书店管理系统分为前台销售管理系统(网站)和后台管理系统。前台销售管理系统包括注册用户,用户登陆,购物车(订单)子系统,图书浏览检索子系统的实现。

后台管理系统包括添加新图书子系统,查看信息子系统,系统用户管理。

3.怎样组织对设计阶段工作的评审?

答:首先可以从可追溯性、接口、风险、实用性、技术清晰度、可维护性、质量、各种选择方案、限制和其他具体问题进行正式评审,并且可以除软件开发人员外,还邀请用户代表和领域专家参加来进行非正式评审对设计阶段的工作进行组织评审。

                      实验六 测试用例设计

实验目的与任务

   目的:进行软件测试方法的选择,完成测试用例的设计,并给出测试用例的说明书。

   任务:认真分析测试的重要性和全局性,根据测试对象选择测试方法,合理设计测试用例,最后给出软件测试说明书。

预习内容

参考资料和阅读相关的国家有关软件开发的标准文档。

实验内容及要求

     白盒法测试(语句覆盖,条件覆盖,路径覆盖),黑合法测试(等价类划分,边界值划分),软件测试说明书。

实验结果

1.说明

1.1编写目的

该文档的目的是描述网上书店系统项目客户端的系统测试设计,其主要内容包括:

l  测试总体设计

l  测试用例设计

本文档的预期的读者是:

l  项目管理人员

l  测试人员

1.2背景、定义、参考资料同上文档

2.计划

2.1软件说明

由于本次测试是系统测试,测试的依据是系统需求,测试的设计应该满足对需求的覆盖,所以,采用的测试方法主要是黑盒测试,包括等价类划分(有效测试和无效测试)、边界值和错误猜测法等。

2.2测试内容

用例一:基本页面的链接

这个测试用例的测试编号是TestCase-FUNC-01,测试内容是验证所有基本页面链接的正确性,同时所有的页面都按照需求有正确的显示。表F-3是这个测试用例的具体设计。

表1:TestCase-FUNC-01测试用例

用例二:页面转移的正确性

这个测试用例的测试编号是TestCase-FUNC-02,测试内容是测试所有转移页面链接的正确性,同时所有的页面都按照需求有正确的显示。表F-4是这个测试用例的具体设计。

表2: TestCase-FUNC-02测试用例

用例三:显示图书列表

这个测试用例的测试编号是TestCase-FUNC-03,测试内容是测试所有职位列表页面的

正确性,同时所有的页面都按照需求有正确的显示。表F-5是这个测试用例的具体设计。

表3:TestCase-FUNC-03测试用例

 

用例四:图书购买流程

这个测试用例的测试编号是TestCase-FUNC-04,测试内容是测试所有职位详细信息页面的正确性,同时所有的页面都按照需求有正确的显示。表F-6是这个测试用例的具体设计。

表4:TestCase-FUNC-04测试用例  

                                 

 

 

用例五:会员登录

这个测试用例的测试编号是TestCase-FUNC-05,测试内容是测试会员在正常(非正常)输入的条件下是否可以将信息成功提交,同时所有的页面都按照需求有正确的显示。表F-7是这个测试用例的具体设计

表5:TestCase-FUNC-05测试用例 

 

用例六:图书查询

这个测试用例的测试编号是TestCase-FUNC-06,测试内容是测试查询图书在非正常输入时系统的异常处理,同时所有的页面都按照需求有正确的显示。表F-8是这个测试用例的具体设计。

表6:TestCase-FUNC-06测试用例 

2.3.2条件

系统的测试环境如图, 系统包括运行在同一台机器上的20虚拟用户和控制器、web服

务器和数据库以及网络。

       

  

系统配置如下:

(1)软件配置:

操作系统:Micrsoft windows2000 professional、Micrsoft window2000 server、Micrsoft windowXP Professional,操作系统上必须安装TOMCAT5.0或以上版本。

数据库系统: mysql

浏览器:Micrsoft IE6.0或以上版本。

(2)硬件需求:

CPU:P3以上。

内存:256M以上。

硬盘:20G以上。。

2.3.3测试资料

测试方法:由于本次测试的依据是需求,所以采用黑盒测试方法。

测试策略:功能测试,主要采用等价类划分的策略。

测试手段:功能测试:手动模拟正常、异常输入

测试内容:功能测试,按照需求功能

思考题:

1. 为什么说测试只能证明程序有错误,不能证明程序的正确性?

答:测试不是为了证明所有的功能可以正常工作,恰恰相反,测试就是为了找出那些不能正常工作、不一致性的地方。也就是说,测试的一般工作就是发现缺陷 (detect bug),即在软件开发过程中,分析、设计与编码等工作都是建设性的,而测试是带有“破坏性”的工作。

2. 简述软件测试的对象和和内容。

答:对象:软件测试应该贯穿整个软件定义与开发整个期间。因此需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应该是软件测试的对象。

    内容:软件测试主要工作内容是验证(verification)和确认(validation ),下面分别给出其概念:

  验证(verification)是保证软件正确地实现了一些特定功能的一系列活动,即保证软件做了你所期望的事情。(Do the right thing)

  1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立需求的过程;

  2.程序正确性的形式证明,即采用形式理论证明程序符合设计规约规定的过程;

  3.评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。

  确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(Do it right)

  1.静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性;

  2.动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。

  软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期间各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。

3. 试总结软件测试策略。

答:软件测试策略:在一定的软件测试标准、测试规范的指导下,依据测试项目的特定环境约束而规定的软件测试的原则、方式、方法的集合。

   测试策略为测试提供全局分析,并确定或参考:项目计划、风险和需求;相关的规则、政策或指示;所需过程、标准与模板;支持准则;利益相关者及其测试目标;测试资源与评估;测试层次与阶段;测试环境;各阶段的完成标准;所需的测试文档与检查方法。

   软件测试的策略、方法和技术是多种多样的。对于软件测试技术,可以从不同的角度加以分类:从是否需要执行被测软件的角度,可分为静态测试和动态测试。从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试。

依据软件本身性质、规模和应用场合的不同,我们将选择不同测试方案,以最少的软硬件、人力资源投入得到最佳的测试效果,这就是测试策略的目标所在。

软件测试策略随着软件生命周期的变化、软件测试方法、技术与工具的不同发生的变化。这就要求我们在制定测试策略时候,应该综合考虑测试策略的影响因素及其依赖关系。这些影响因素可能包括:测试项目资源因素、项目的约束和测试项目的特殊需要等

实验七 软件开发文档设计

实验目的与任务

目的:完成一个实际软件项目的分析、设计全过程,贯穿领会软件工程的基本思想,明晰软件工程阶段划分与各个阶段的主要任务,了解我国计算机软件产品国家标准体系。

任务:对选定课题,完成各类文档的编制,对已做的文档进行修订。

预习内容

参考资料和阅读相关的国家有关软件开发的标准文档。

实验内容及要求

根据软件项目情况,选择如下文档进行设计:

可行性研究报告    项目开发计划

软件需求说明书    数据要求说明书

测试计划          概要设计说明书

详细设计说明书    用户手册

操作手册          测试分析报告

开发进度月报      项目开发总结

程序维护手册

实验结果:

(一)可行性研究报告

1经济可行性

(1)图书发行量不断增大

20##年底,新闻出版署公布了《20##年全国新闻出版业基本情况》,其中指出,图书出版品种平均年增长率为11.4%。图书发行量不断增加实际上是读者对图书的需求不断扩大的反映。

(2)书店增多,售书网点普及

普通书店的发展是大家有目共睹的,尤其在城市,除了新华书店,各种国有、私营、个体的书店比比皆是,综合书店、专业书店、精品书店、工具书店、电子书店应有尽有。书店规模也越办越大,如北京图书大厦、北京海淀图书城、上海图书城等等。此外,还有国外图书业巨头的介入,如贝塔斯曼。这些国外公司的加入,不仅带来了更多的图书,还引入了诸如会员制这样的图书营销新理念,图书市场一片繁荣。在这种情况下,网上书店的加入无疑将使得竞争更加激烈,但从另一个方面看,只有在这种激烈的竞争下,网上书店的优势才能得以体现。

2.技术可行性

(1)在网络技术方面,早期用于电子商务的网络多为较封闭的,现在的网络使用Internet技术来构建,为电子商务的发展提供了一个统一的平台。

(2)在软件方面,以IBM、HP为首的众多IT厂商纷纷推出自己的电子商务产品,有的还提出了“一揽子解决方案”。对于人们最关心的支付与安全问题,也提出了一些相应的解决方案,例如各种卡的技术,如信用卡、电子现金卡等;各种安全技术,如防火墙、时间戳业务、公钥证书认证等。

(3)在硬件方面,企业或商家构建服务器有非常宽广的可选择面,因此,国内计算机和网络发展非常迅猛。虽然,中国的网络基础比较薄弱,但据中国互联网络信息中心20##年5月的最新统计数据表明,截止到20##年4月底,我国上网用户已经突破1亿人,达到1.002亿人。这是中国计算机网络发展的现实,也是发展电子商务、经营网上书店的基础。

   

(二)需求分析

电子商务和信息技术的蓬勃发展改变了人们的消费观念和消费模式,利用Internet发布信息,售卖或购买商品和服务,进行各种各样的商务活动,逐步成为现代企业的经营方式,成为个人生活的一部分。图书因其商品信息易于识别,选择和判断,适合于网上交易。网上书店的广泛开发使人们的购书活动变得方便和快捷,人们可以在家中通过网上书店浏览新出版的图书信息,选择并订购图书,而不需要花时间和精力到传统的书店中去查看有何种新的书籍出版。

1.系统功能要求

(1)发布新书

与传统书店相同,网上书店也应该提供新出版图书的信息介绍,以方便用户的信息获取和新书的推广。

(2)发布推荐图书

同传统书店类似,管理员可以搜集信息,在对图书进行管理时将优秀图书作“推荐”标记,发布到网页上,供用户参考。

(3)发布畅销图书

传统书店一般不具有向用户公布各个图书详细销量信息的功能,然而,网上书店可以借助数据库技术和信息处理技术,统计各个图书的销售总量,生成图书销售排行榜,供用户查看。

(4)会员管理功能

网上书店应开发出会员管理系统,用户通过注册为会员,登录网上书店,订购图书,选择付款和送货方式,完成交易过程。

(5)管理功能

书店的管理员应能够对图书信息,用户信息等进行管理。

(6)书店的使用帮助

指导第一次登录书店的用户如何注册会员,购买图书。

(7)购物车功能

注册会员可以查看自己的购物车,向其中添加或删除商品,最后下单付款。

2.运行环境要求

(1)开发环境要求

A.使用Windows 95/98 操作系统的用户安装个人网络服务器(Personal Web Server,简称PWS);使用Windows 20## professional/2000 Server/XP professional/2003 操作系统的用户安装网络信息服务器(Internet Information Server,简称IIS)。

B.网页制作软件,如Microsoft FrontPage。

C.数据库管理软件,如Microsoft Access。

D.访问站点的用户系统配置要求

推荐使用如下配置:

A.硬件要求:

CPU主频:奔腾Ⅱ350 MHz 以上;

内存:32M 以上;

显卡:显存4M 以上;

调制解调器:33600bps或更高。

B.软件要求:

浏览器(Internet Explorer,简称IE)5.0以上版本。

3.数据要求

实体—联系方法(Entity—Relationship Approach,简称E-R图法)是用于描述概念数据模型的方法。

(三)项目开发计划

1.任务分解

分三个大的阶段进行开发第一阶段完成本系统的数据流图跟E-R图。第二阶段完成概要设计跟详细设计。第三阶段书写文档。

2.预算

软件资金投入较少,具体预算分配简略。

3.关键问题

各模块之间的联系和后台数据库的完成。使用目前的设备与现有开发技术完全可以开发出该系统,总的来说该项目没有较大的技术难点与其他的一些风险因素。对于出现的一些小难点总都能得到解决。

        

(四)概要设计说明书

1数据库设计

数据库是长期存储在计算机内的,有组织的,可共享的相关数据集合。

数据库设计步骤如下:

(1)需求分析。

进行数据库设计首先必须准确了解与分析用户需求。网上书店需要为用户提供书籍的各项信息,还应使用户能够注册为书店会员,购买图书,因而,图书信息,用户信息,订单信息等均应在数据库中有所体现。

(2)概念结构设计

数据库的概念结构是现实世界与机器世界的中介,它一方面要充分反映现实世界,同时又要易于向各种数据模型转换。数据库系统E-R图如图1所示。

(3)逻辑结构设计

逻辑结构设计将抽象的概念结构,转换为所选用的数据库管理系统支持的数据模型,并对其进行优化。

网上书店系统数据库关系模式如下:

图书(编号,书名,作者,出版日期,详细介绍,市场价,订购次数);

用户(编号,用户名,密码,姓名,地址,邮编,送货方式,汇款方式);

订单(编号,用户名,日期,产品编号,收货人,收货地址,邮编);

管理员(编号,用户名,密码,权限);

填写(用户编号,订单编号,日期);

管理用户(管理员编号,用户编号);

管理图书(管理员编号,图书编号)。

2.功能模块设计

(1)新书发布

按照图书的添加时间将图书降序排列,向用户发布新书的详细信息。

(2)畅销图书发布

统计图书的订购量,按照销量降序排列图书。

(3)推荐图书发布

由网站管理员标记图书为“推荐”,在网站上发布被推荐图书的详细信息。

(4)用户注册

新用户通过注册,成为网上书店的会员后才可以订购图书。

(5)用户登录

书店会员访问网站时,登录到个人账户,进行图书选购和交易。

(6)管理功能

书店管理员登录管理中心,对图书信息,客户信息等进行修改,删除,添加等管理工作。

(7)购物车

用户登录后,将选购的图书放入购物车内,可以查看,添加或者更改,确定后,提交订单,结账。

(8)使用帮助

向用户介绍网上书店的购物流程,方便客户的使用和购买活动。

(五)详细设计说明书

1.数据库设计

建立如下5个基本表:图书信息表(product),如表1所示;用户表(user),如表2所示;送货汇款方式表(delivery),如表3所示;订单表(order),如表4所示;管理员表(admin)

如表5所示。

2.功能模块设计

(1)新书发布

将图书信息表(product)中的记录按照添加时间(adddate)降序排列,显示到发布新书的页面,同时显示每本图书各主要属性的值。

(2)畅销图书发布

将图书信息表(product)中的记录按照订购次数(solded)降序排列,显示到发布畅销书的页面,同时显示每本图书各主要属性的值。

(3)推荐图书发布

将图书信息表(product)中属性“是否推荐”(recommend)一项,值为1的记录按照添加时间(adddate)降序排列,显示到发布推荐图书的页面,同时显示每本图书各主要属性的值。

(4)用户注册

新用户访问网站,正确填写注册信息后,成为网上书店的正式会员,可以在本站订购图书。注册流程如图1所示。

图1

(5)用户登录

已注册的用户访问网站,若要购买图书需先登录。登录过程如图2所示。

图2

(6)使用帮助

主页上设置“帮助”的超链接,介绍购买流程和常见问题,方便用户使用。

(7)管理中心

管理员登录,对书店的图书,客户信息等进行添加或者修改。

(8)购物车

用户登录后,进入选购商品状态,根据客户的需求,将指定的图书放入购物车,可以向购物车中添加,或删除图书,确定要订购的图书后,下订单,购买图书。

(六)系统测试

系统测试是为了发现程序中的错误而执行程序的过程。其根本目标是尽可能多的发现并排除软件中的错误,最终把一个高质量的软件系统交给用户使用。

测试步骤如下:

1.模块测试。每个模块完成一个清晰定义的子功能,以模块为单位进行单独测试。

2.子系统测试。把经过单元测试的模块放在一起形成一个子系统来测试。

3.系统测试。把经过测试的子系统装配成一个完整的系统来测试。

5.验收测试。把软件系统作为单一的实体进行测试,需要用户的积极配合。

(七)系统使用说明

1.安装环境要求

(1)使用Windows 95/98 操作系统的用户安装个人网络服务器(Personal Web Server,简称PWS);使用Windows 20## professional/2000 Server/XP professional/2003 操作系统的用户安装网络信息服务器(Internet Information Server,简称IIS)。

(2)网页制作软件,如Microsoft FrontPage。

(3)数据库管理软件,如Microsoft Access。

2.系统使用说明

(1)安装IIS。

(2)在Windows XP Professional 操作系统环境下,右键点击桌面上“我的电脑”图标,在弹出的菜单中选择“管理”选项。此时屏幕上打开“计算机管理”窗口,在这个窗口中双击“服务和应用程序”,在打开的子菜单下双击“Internet信息服务”。

(3)设置虚拟目录。进入Internet信息服务后,双击“网站”选项,在“默认网站”上单击右键,在弹出的菜单中选择“新建”选项,在随后展开的子菜单中选择“虚拟目录”,当出现虚拟目录创建向导后,输入虚拟目录名,单击“下一步”,选择文件路径,单击“下一步”,完成。

(八)系统维护

系统维护是在系统已经交付使用之后,为了改正错误或满足新的需要而修改系统的过程。

1.改正性维护。在系统的使用期间,用户发现程序出现错误后,把问题报告给系统维护人员,系统维护人员诊断和改正错误的过程称为改正性维护。

2.适应性维护。系统的运行环境时常发生变化,为了适应环境的变化而修改系统的活动称为适应性维护。

3.完善性维护。在使用系统的过程中,用户时常提出增加新功能或修改已有功能的建议,还可能提出改进意见,为了满足用户的此类要求,需要进行完善性维护。

4.预防性维护。为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改系统的过程称为预防性维护。

由于此次毕业设计时间有限,本网上书店系统仍有一些功能有待继续完善和开发,例如用户对图书发表个人评论,建立会员俱乐部等等,以这类信息为纽带,吸引用户,为用户服务将会成为未来网上书店的一种较为有效的运营方式。

      

(九)项目开发总结

1.网上书店的现状

(1)网上书店的典范

全球最大的网上书店——亚马逊(Amazon.com)为读者提供了方便舒适的网上购物环境,丰富的图书品种达310万以上,优惠的价格,完善的金融结算制度,以及高效率的配送服务,并且实现了零库存运转。它塑造了成功的网上销售模式,产生了良好的品牌效应,经营模式是网上百货商店,除了图书,它现在还销售CD、录像带、礼品、鲜花、医药、软件等。亚马逊前5年的年收入增长率始终保持在47%左右,虽然在全美25家发展最快的大公司中排名第五,但与早期三位数的增长幅度相比已相形见绌,而其中一个关键因素,就是美国本土市场的萎缩。据IDC预测,20##年美国的网络销售增长还会继续下滑,亚马逊不得不把眼光转向海外,1999年初出资5500万美元,收购了英国和德国两家网上书籍销售公司,另外还并购了英国一家网上电影公司,20##年8月19日,以7500万美元收购卓越网有限公司,正式进军中国电子商务市场,卓越网成为亚马逊的第7个全球站点。

(2)国内网上书店的现状

在国内,自杭州新华书店创办第一家网上书店后,网上书店如雨后春笋般涌现出来。据20##年1月中国互联网络信息中心的调查结果显示,目前中国的网上购物有58.8%集中在书刊上,比其他商品至少高出25个百分点。目前国内的用户可以直接在网上下订单,直接邮购,支付方式主要有信用卡网上支付、人民币储蓄账户网上支付,电汇,邮汇等,图书配送方式主要有邮寄,EMS,甚至UPS,送货上门(本地),异地网点配送等。

2.网上书店的发展模式分析及发展方向

(1)以售书营利为目的的网上书店

此类书店利用网络提供大量的书目,读者可以进行查询、选择,然后在网上直接订购,结算方式以信用卡结算为主,也可采用邮购、电汇等方式,书店确认读者已付款后,就通过自己的配送体系,把图书送到读者手中。这是最简单、最直观的网上书店经营模式,实际上它只是传统书店在互联网上的延伸。它的优点是能提供大量书目,读者选择面大,购书效率高。

这种类型的书店利用了互联网信息流动迅速的优势,图书本身就是信息的载体,读者虽然买的是图书,但他实际需要的却是图书中的知识和信息。

(2)以提供信息服务为主的网上书店

这种书店以图书销售为核心,提供各种类型的信息服务。例如,开展不同类型、不同层次的图书评论;提供世界各地的出版发行动态等;推荐世界畅销书;创办读者俱乐部等等。它的图书销售部分也应该是一个能提供大量书目,有方便的结算方式,有高效的配送系统,有较低价格的完整网上书店。

这种运营方式下,图书销售不是它的全部目标,通过信息服务把读者的注意力集中过来,以服务为纽带,把作者、出版社、书商、书店、读者紧密的联系起来。这样,使服务与销售相互促进、相互补充。

(3)以专业性为特点的网上书店

前面的两种类型的书店主要是综合型的书店,它依靠书目全、服务好、信息量大取胜,一般经营者需要具备相当的实力,比如新华书店。而对于实力较弱的经营者,可采取“以专取胜”的策略。

一是书籍内容专。例如选择计算机、医药卫生等专业性强、需求量大的书籍;

二是销售对象专。例如开办针对青少年的书店,或者针对女性的书店等;

三是书籍类型专。例如开办精品书店,工具书店等;

四是出版单位专。选择著名出版社,专卖它们出的书等。

但这些书店仍然需要注意提供信息服务的问题和完善的图书交易问题。

(4)以电子版图书为主的网上书店

电子版图书按载体可以分为两大类,一种是有具体载体的,如光盘版;另一种是以网络为载体的网络版。随着网络的普及和其它信息技术的发展,图书发行电子化将是一个必然趋势,尤其是网络版的图书,由于它可以在网络上的方便、快速的传递,省去了图书配送这一重要而又难度很大的环节。相信将来随着电子版图书发行量的增大,这种销售方式也将成为一种趋势,并有望成为销售盈利的突破口。

在中国,网上书店既有发展的必要,也有发展的基础,发展网上书店的各方面条件也日趋成熟,但是还有几个关键问题必须解决好:一是提供普遍的信用卡网上支付,制定方便的银行间的结算问题;二是构建高效率的图书配送系统。只有把这些问题解决好了,才能保证网上书店的蓬勃发展。

思考题:

1.软件工程标准化的意义是什么?都有哪些软件工程标准?

答:

意义:(1)提高软件的可靠性、可维护性、可移植性

      (2)提高软件的生产效率,软件人员的技术水平

      (3)提高软件人员之间的通信效率,减少差错和误解

      (4)有利于软件管理

      (5)有利于降低软件产品的成本和运行维护成本

      (6)有利于缩短软件开发周期

标准:信息处理——数据流程图、程序流程图、系统结构图、程序网络图和系统资源图的文档编制符号及约定

软件工程标准分类法

信息处理——程序构造及其表示法的约定

信息处理——单命中判定表规范

信息处理系统——计算机系统配置图符号及其约定

2.请说明软件文档的作用?

答:

作用:(1)提高软件开发过程的能见度。把开发过程中发生的事件以某种可阅读的形式记录在文档中。管理人员可把这些记载下来的材料作为检查软件开发进度和开发质量的依据,实现对软件开发的工程管理。

(2)提高开发效率。软件文档的编制,使得开发人员对各个阶段的工作都进行周密思考、全盘权衡、从而减少返工。并且可在开发早期发现错误和不一致性,便于及时加以纠正。

(3)作为开发人员在一定阶段的工作成果和结束标志。

(4)记录开发过程中的有关信息,便于协调以后的软件、开发、使用和维护。

(5)提供对软件的运行、维护和培训的有关信息,便于管理人员、开发人员、操作人员、用户之间的协作、交流和了解。使软件开发活动更科学、更有成效。

(6)便于潜在用户了解软件的功能、性能等各项指标,为他们选购符合自己需要的软件提供依据。

3.软件开发项目生存期各阶段包含哪些文档?

答:

文档:1.可行性与计划研究阶段: 可行性研究报告,项目开发计划.

2.需求分析阶段: 软件需求说明书,数据要求说明书,初步的用户手册.

3.设计阶段: 概要设计说明书,详细设计说明书,数据库设计说明书,测试计划初稿.

4.实现阶段: 模块开发卷宗(开始编写),用户手册完工,操作手册,测试计划终稿.

5.测试阶段: 模块开发卷宗(此阶段内必须完成),测试分析报告,项目开发总结报告.

6.运行与维护阶段: 开发进度月报,文件编制的衡量因素.

相关推荐