软件概要设计
一、
引言
1.编写目的
随着网络技术的飞速发展,互联网已经成为了人们发布与获取信息的重要途径之一,
所以A公司邀请我们工作团队来重新建设A公司的网站,通过编写此网站概要说明书,
实现A公司在互联网上进行新产品展示,网上留言功能,实现网上浏览商品、在线下订
单功能。实现普通用户只能浏览,会员可以在线下订单;并且通过该网站概要说明书来
指导工作。
2.项目背景:
本项目的名称为A商务公司网站建设,本项目的任务提出者为A公司的主管领导,
本项目的开发者为本公司。
3.定义
(1)专门术语:
SQL SERVER: 系统服务器所使用的数据库管理系统(DBMS).
SQL: 一种用于访问查询数据库的语言
Linux:一种免费的操作系统
FreeBSD:FreeBSD是一种类UNIX操作系统
BEA WebLogic Server:WEBLOGIC是美商BEA Systems的主要产品之一,是商业市场上主要的Java(J2EE)应用服务器软件(application server)之一
Tomcat WEB:Tomcat 是一个小型的轻量级应用服务器
事务流:数据进入模块后可能有多种路径进行处理.
主键:数据库表中的关键域.值互不相同.
外部主键:数据库表中与其他表主键关联的域.
(2)缩写:
SQL: ( Structured Query Language),结构化查询语言
SCSI:(small computer system interface),小型计算机系统接口
DDR:(double data rate),双倍速率同步动态随机存储器
IIS:(internet information servers),因特网信息服务
ASP:(Active Server Page),动态服务器页面
IE:(Internet Explorer或Microsoft Internet Explorer),是微软公司推出的一款著名网页浏览器
ATM:(Asynchronous Transfer Mode),异步传输模式
4.参考资料
a.本项目的网站需求说明书,淘宝网站概要设计说明书 b.A公司上级的批准你的上级文件 c.教材《网站规划与建设》(第2版);出版社:机械工程出版社;主编:顾正刚;参编:
毕海峰
二、 总体设计
1. 需求规定
3
(1)功能需求:
根据A公司的需求说明书,对A 公司的需求规定如下:
普通功能:站点导航,联系方式,计数器,留言板,电子邮件
高级功能:信息发布和维护系统,宣传公司的基本情况以及公司动态、重点推荐产
品,信息检索系统,网站流量分析系统,在线调查系统
特殊功能:网上购物系统,供求信息发布系统,会员管理系统,在先招聘系统,提
供业务咨询,接受网上订单。
(2 ) 具体要求:
①.在线展示
浏览者只要登录到网站后,就可以在线浏览展示产品, 最新产品动画展示,
单击产品名或图片就看到产品的详细介绍, 要添加购买与收藏功能。 ②.在线下订单:
只有注册的会员用户才能利用该系统下订单, 注册后并且处于激活状态才可以下订单,
普通用户和处于非激活状态的用户,只能浏览商品的基本情况, 对与会员与非会员,所提供的权限和功能是不一样的。 ③.后台管理服务 管理员修改功能 商品管理功能 会员管理功能 ④.留言功能
对A公司的信誉评价和产品评价和一些相关的建议或者意见 ⑤在线交流
对于处理订单过程中的业务员和客户对各项细节进行协商,沟通
2.运行环境
(1)硬件环境要求:
针对A公司的实际情况,选择支持两路Intel Xeon 2.8GHz 处理器、1GB ECC DDR 内存、80GB SCSI 硬盘以上配置的部门级服务器比较适合。 (2)软件环境要求:
针对A公司的实际需求,可以考虑选择如下方案: 外网选用Linux或FreeBSD网络操作系统、BEA WebLogic Server或Tomcat WEB服务器以及Oracle数据库。
内网选用Windows 2008 Server 网络操作系统、IIS Web 服务器以及MS SQL Server 数据库。 (3)运行环境
服务器端: ASP+SQLSERVER2000+IIS 5.0 客户端: IE浏览器
3.操作流程
根据A公司的需求说明书中的对客户的分类
(1)非会员浏览网站流程图:
(2)会员进入网站流程图:
(3)商品信息发布流程图:
(4)商品定单处理流程图:
由于A公司的规模是较大的,产供销一体化 (5)生产部门人员推荐产品流程图:
(6)系统维护流程图:
4.框架结构
(1)产品展示系统
产品展示系统 产品管理系统 用户端浏览器
管理端浏览器 推荐产品 显示产品分类 显示产品资料 检索产品资料
管理产品分类 管理产品资料 设置管理权限
(2)网上购物系统
网上购物系统 购物管理系统 用户端浏览器
管理端浏览器 浏览产品 下订单 查询定单 在线支付 服务台
管理定单 管理库存产品 发布定单处理情况 处理服务请求 设置管理权限
5.遗留问题
人工处理过程:商品信息发布、商品定单处理、供应商推荐产品
三、 接口设计
1.用户接口
在设计用户界面部分的时候,根据对A公司的需求分析,网站需要一个与用户进行信息沟通或互动的平台,而这个平台对于网站来说,是一个重要渠道,那么这个平台应该是一个友善的用户界面,才能达到服务人员与客户的友善交流。而且这个设计用户界面时应做到简洁明了,具有可靠性和简单性,便于操作。
根据A公司的分析后,在网络操作系统方面,外网选用Linux网络操作系统,内网选用Windows 2003 Server网络操作系统。但是考虑到用户对于WINDOWS的风格比较熟悉,所以在设计时应尽量向这一方向靠拢.
A公司目前所要建设的网站为动态网,该网站一般都具有用户输入这项功能,用户输入的主要目的是该网站的有关服务人员可通过表单来收集用户信息,或者实现与用户的交互。在设计这项功能的时候,可能会遇到一些无聊人士会乱填写表单或是正常用户在填写过程中会出现错误,所以开发者需给表单加一个验证的过程,在表单数据提交到服务器之前或者服务器之后对用户填写的数据进行验证,若遇到错误的填写则会显示相关数据,返回要求用户进行更正。因为该公司主要是用ASP.NET程序中开发,所以可用vbscript在客户端进行验证、vbscript在服务器端进行验证。
2.外部接口
(1) 软件接口
服务器程序可使用ASP.NET C++ 提供的对SQL SERVER 的接口,进行对数据库的所有访问.
服务器程序上可使用SQL SERVER 的数据库对重要数据进行的备份,防止数据被破坏而无法恢复。
在网络软件接口方面,使用一种无差错的传输协议,采用滑动窗口方式对数据进行网络传输及接收. (2)硬件接口
在输入方面,对于键盘,鼠标的输入,可用ASP.NET C++的标准输入/输出,对输入进行处理. 在输出方面,打印机的连接及使用,也可用ASP.NET C++的标准输入/输出对其进行处理.在网络传输部分,在网络硬件部分,为了实现高速传输,将使用高速ATM.
3.内部接口
设计内部接口时,各模块之间主要采用函数调用,参数传递,返回值的方式进行信息传递.
四、 运行设计
1.运行模块组合
客户机程序在有输入时启动接收数据模块,通过各模块之间的调用,读入并对输入进行格式化.在接收数据模块得到充分的数据时,将调用网络传输模块,将数据通过网络送到服务器,并等待接收服务器返回的信息.接收到返回信息后随即调用数据输出模块,对信息进行处理,产生相应的输出.
服务器程序的接收网络数据模块必须始终处于活动状态.接收到数据后,调用数据处理/查询模块对数据库进行访问,完成后调用网络发送模块,将信息返回客户机.
2.运行控制
运行控制将严格按照各模块间函数调用关系来实现.在各事务中心模块中,需对运行控制进行正确的判断,选择正确的运行控制路径.
在网络传方面,客户机在发送数据后,将等待服务器的确认收到信号,收到后,再次等待服务器发送回答数据,然后对数据进行确认.服务器在接到数据后发送确认信号,在对数据处理,访问数据库后,将返回信息送回客户机,并等待确认.
3.运行时间
在软体的需求分析中,对运行时间的要求为必须对作出的操作有较快的反应.网络硬件对运行时间有最大的影响,当网络负载量大时,对操作反应将受到很大的影响.所以将采用高速ATM 网络,实现客户机与服务器之间的连接,以减少网络传输上的开销.其次是服务器的性能,这将影响对数据库访问时间即操作时间的长短,影响加大客户机操作的等待时间,所以必须使用高性能的服务器,建议使用 Pentium III 处理器.硬件对本系统的速度影响将会大于软件的影响.
五、 系统数据结构设计
1. 逻辑结构设计
(1)管理员表-admins
字段名 字段 类型 长度 说明
管理员ID u_id 自增 not null 主键 姓名 u_Name varchar(10) not null 10
9
密码 u_Pwd char(8) not null 定长 8 (2)会员信息表-userInfo 字段名 字段 类型 长度 说明
会员名 u_Name varchar(10) 10 主键 真实姓名 u_TrueName varchar(8) 8
身份证号 u_IDcard char(18) not null 18 定长 性别 u_Sex char(2) not null 2 定长 年龄 u_Age tinyint not null 2
住址 u_Add nvarchar(40) not null 40
联系电话 u_Tel char(11) not null 11 定长 邮编 u_ Postalcode char(6) not null 6 定长 E-mail u_Email varchar(40) 备注 u_Remark nvarchar(100) (3)产品表-goods
字段名 字段 类型 长度 说明
产品ID 1.1 goods_id char(2) 主键
产品类型ID 1.1 goodsType_id char(2) not null 外键 产品名 goods_name nvarchar Not NULL 8 价格 goods_price smallmoney not null 18 图片 goods_photo varchar(80) 80 图片的位置 描述 goods_depict nvarchar(100) 200 (4)产品类型表-goodsType
字段名 字段 类型 长度 说明
产品ID 1.1 goods_id char(2) 主键
产品类型ID 1.1 goodsType_id char(2) not null 产品名 goods_name nvarchar Not NULL 8 价格 goods_price smallmoney not null 18 描述 goods_depict nvarchar(100) 200 (5)购物单表-goodsBought
字段名 字段 类型 长度 说明
产品ID 1.1 goods_id char(2) 主键
产品类型ID 1.1 goodsType_id char(2) not null 外键 产品名 goods_name nvarchar Not NULL 8 价格 goods_price smallmoney not null 18 数量goods_amount varchar(10) 10 主键 用户名 u_Name varchar(10) 10 主键 (6)留言表
用户名 u_Name varchar(10) 10 主键 内容 content nvarchar(100) 200
2. 物理结构设计
物理数据结构设计主要是设计数据在模块中的表示形式.数据在模块中都以结构的方式表示.
用户登陆信息:用于用户登陆时接收输入,以及用户退出时服务器返回.
10
商品发布信息:用于商品信息发布时接收输入,以及用户退出时服务器返回. 订单处理:用于接收订单时接收输入,以及处理订单后服务器返回. 网络包:用于数据在网络上的传输. 错误信息:用于关于错误操作.
3. 数据结构与程序的关系
服务器程序在对用户访问进行操作时需对数据库数据结构,也就是数据表进行查询和修改:在在线浏览、下订单、进行商洽等过程中都需要对数据库中的所有表,进行联合查询,修改.
物理数据结构主要用于各模块之间函数的信息传递.接口传递的信息将是以数据结构
封装了的数据,以参数传递或返回值的形式在各模块间传输.出错信息将送入显示模块中,商品信息结构,帐单结构,送入打印准备模块中准备打印格式.
六、 网站出错处理
1.出错信息
根据A公司的实际情况,业务方面会涉及到网上订货、在线支付、会员登陆等,同时还会有与客户进行信息沟通互动的重要渠道。A公司定位于大型网站,自己架构服务器,结合内网与外网共享资源提高效率。程序在运行时主要会出现两种错误: (1)由于输入信息,或无法满足要求时产生的错误,称为软错误。 (2)由于其他问题,如网络传输超时等,产生的问题,称为硬错误 。
出错信息必须给出相应的出错原因,例: “查无此人!” 、“用户名或密码不正确”等。 用表格形式说明如下:
2.补救措施
说明故障出现后可能采取的变通措施,包括:
a.后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立
和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;
b.降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录; c.恢复及再启动技术说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。
程序出现的错误
处理方法
软错误
在下订单、商洽、交易成功判断及输入数据验证模块由数据进行
数据分析,判断错误类型,再生成相应的错误提示语句,送到输出
模块中。
硬错误
在出错的相应模块中输出简单的出错语句,并将程序重置。返回
输入阶段。出错信息必须给出相应的出错原因。
根据A公司实际情况分析,所有客户机和服务器都必须安装不间断电源以防止停电或电压不稳造成的数据丢失的损失,同时最大程度的减小各个方面的可预见及不可预见的损失。若真断电时,客户机上将不会有太大的影响,主要是服务器上:在断电后恢复过程可采用 SQL SERVER 的日志文件,对其进行ROLLBACK 处理,对数据进行恢复。
系统遭到恶意攻击,或是中毒以后,导致系统内部数据紊乱,用户信息失真,因此,应定期对系统数据进行自动备份,以便数据丢失时,能第一时间恢复,减少损失;另外,要定期对整个系统进行纸制的备份,以免出现自然灾害而导致所有数据的丢失,自动制定自动还原点;
在网络传输方面,可考虑建立一条成本较低的后备网络,以保证当主网络断路时数据的通信。
在硬件方面要选择较可靠,稳定的服务器机种,保证系统运行时的可靠性。 通过以上措施,希望能更好的促进与保证A公司的发展。