第五章 系统实施与维护
系统实施是继系统规划、系统分析、系统设计之后的又一个重要阶段,它将按照系统设计选定的方案具体实施。在系统分析和系统设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,工作成果是以各种系统分析和设计文档来体现的。系统实施阶段要继承此前各阶段的工作成果,将技术设计转化为物理实现。
管理信息系统在完成系统实施、投入正常运行后,就进入系统运行与维护阶段。系统维护的目的是保证管理信息系统正常而可靠的运行,并能够使系统不断得到改善和提高,以充分发挥作用。因此,系统维护是为了保证系统中的各个要素随着环境的变化始终处于最新、最正确的工作状态,是信息系统可靠运行的重要技术保障。
这一阶段包括开发工具的选择,功能模块的实现等主要活动。
5.1 开发工具的选择
程序设计的编写是以程序设计语言为工具的,并要选择适当的程序设计语言。本系统的前端软件开发工具选用了ASP.NET,后台数据库选用 Microsoft SQL Server 2000。
5.1.1 ASP.NET开发平台
随着计算机技术和网络技术的不断发展,人们对网络的要求也越来越高。传统的静态网页技术已不能满足广大互联网用户的需要,各种动态网页技术应运而生。ASP是目前网页制作中最常用的重要技术之一,许多网站都使用ASP 制作网页。ASP并不是一种编程语言,而是一种综合的网络解决方案,它允许用户根据自己的习惯采用不同的语言环境,在服务器端经过语言解释器的解释或 HTML 代码发送给客户端。Microsoft新近推出的ASP.NET不是对ASP在一般意义上的版本更新,而是一门全新的技术,是对ASP如何提供动态Web开发环境的跳跃性发展。ASP.NET几乎完全基于组件和模块化,用户使用的每一个页面、部件和HTML单元都是一个运行时间的组件对象。ASP.NET的面向对象功能使开发者可以通过创建新组件或继承基础类,为整个环境提供延展性。
.NET是Microsoft公司应用于Web服务的开发环境而推出的一个整体技术框架。通过.Netruntime统一执行的机制,所有开发语言(VB,C++,C#)都被统一在一个平台上,使开发工具和平台支持的提供代价大大降低,适用性大大提高。.NET的突出特点是它的实用性和高度的集成性。
Visualstudio.net是该公司推出的下一代可视化开发环境。它为基于组件的应用程序(尤其是在使用Web服务和XML技术方面)开发提供了很大的方便。Visualstudio.net提供了一个支持VB,C++和C#开发和运行的新环境。
ASP.NET 是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的 Web 应用程序。
5.1.2 SQL Server 2000
Mircrosoft SQL Server 2000是一个分布式的关系型数据库管理系统,支持B/S结构,具有强大的网络功能,支持发布Web页面以及接受电子邮件。Mircrosoft SQL Server 2000是一个应用广泛的数据库管理系统,具有许多显著特点,例如,用户喜欢的易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性能价格比等。
在Mircrosoft SQL Server 2000系统中,数据库的管理采取了先进的动态管理机制,数据库的大小可以随着数据量的变化而缩小或者扩大。另外,用户数据都是非常重要的和保密的,这些数据存储在Mircrosoft SQL Server 2000系统中有绝对的安全性保障,有完善的用户帐户策略和许可机制,只有经过授权的用户才能访问系统,并且执行相应的操作和访问允许访问的数据。未经授权的用户既不能执行相应的操作,也不能访问数据库中的相应数据。
Mircrosoft SQL Server 2000系统具有强大的网上功能,可以在Internet上发布数据库中的数据。在Mircrosoft SQL Server 2000系统中,允许用户简单的使用一些向导和工具把数据库的数据发布到网络上,并且可以根据需要来调度修改已经发布的数据。
5.2 程序设计
5.2.1 程序设计概要
程序设计又称编码,为了保证编码工作正确而顺利进行,一方面程序设计人员必须仔细阅读系统设计的全部文档资料,充分理解程序模块的内部过程和外部接口,以保证系统实施与系统设计的一致性。另一方面,程序设计人员必须深刻的理解,熟练的掌握和正确的运用程序设计语言以及软件开发环境和工具,以保证功能的正确实现。
对程序设计的基本质量要求是程序的正确性,即一方面正确运用程序设计语言环境,以避免语法的错误。另一方面,程序所描述的过程和算法要满足系统设计的功能要求,以避免语义错误。我们尽量使程序不仅能在计算机上正确执行,而且对于阅读人来说犹如一篇好文章,结构清晰,逻辑简明,易读易懂,便于修改和扩充。
5.2.2 功能模块的实现
本系统由前台系统和后台管理系统系统组成。前台系统就是面向Internet上用户的网站。后台系统则是商店管理员对网站及其上的信息进行管理和维护的系统,也可以说是一个Intranet系统。
主要有前台系统的主页、商品信息模块、购物车模块、用户信息管理模块和订单模块,后台的管理员信息管理、商品信息管理、用户信息管理、以及销售管理模块。
后台管理模块是一个完整的电子商务系统不可或缺的部分,主要包括:登录(Login.aspx)、修改密码(ChangePwd.adpx)、查看管理员(AdminList.aspx)、添加、删除管理员(AddNewAdmin.apx)、查看管理员日志(Axtion.aspx)、查询、修改商品信息(ProduxtList.aspx)、查询用户信息、添加用户账户存款(UserList.aspx)、查询销售记录(Sails.aspx)等功能页面。
本系统的用户界面分为以下几个层次(实现代码见附录):
1、首页(default.aspx):是直接展示给电子购物商城( eshop)用户的部分,界面效果如图5-1所示。
图5-1 首页设计状态图以及界面效果
在这一模块中,主要包括以下自定义控件和页面的实现:
(1)页面头部控件(UserContro\HeaderMenu.ascx):主要包括登录、购物车、帮助等页面的链接以及搜索框。
页面头部控件是为了方便用户快速导航到某个页面的,由于这是需要显示在每个页面上的模块,所以定义为用户控件是一种不错的解决方法。
在HeaderMenu.ascx的设计中,具有技巧性的地方是如何展示给登录用户和匿名用户不同的导航条,例如,匿名用户看到的导航链接有登录、购物车和帮助,而登录用户看到的则是注销、我的账户和帮助。如图5-2、5-3所示。
登 录 |
| 帮 助
搜 索
图5-2 匿名用户导航条
| 帮 助
搜 索
图5-3 登录用户导航条
(2)商品分类导航控件(UserControl\CategoryList.ascx):显示所有商品的列表,作为页面的左侧导航目录,如图5-1所示。
该控件显示所有的商品分类,单击目录中某一个商品分类时将显示相应类别的商品列表页面。
(3)热门商品列表控件(UserControl\PopularProduct.ascx)以及新到商品控件(UserControl\NewProducts.ascx),如图5-1所示。
这两个控件的功能是在首页显示相应的商品列表,与商品分类导航控件类似,单击某一商品将显示相应商品详细信息页面。
2、商品信息模块共包含如下的页面:
(1)分类显示商品(ProductList.aspx):分页显示某种类型的所有商品。
该控件分类显示相应的商品信息,商品信息包括每个商品的商品编号、商品名称、简单描述。ProductList.aspx的界面效果如图5-4所示。
查询结果
商品编号 | 商品名称 | 简单描述 | 购买 |
25 | 处理器类型:Intel Pentium 4-M\处理器主频(MHz):2000 | ||
26 | 处理器类型:Intel Pentium 4-M\处理器主频(MHz):2000 | ||
27 | 处理器类型:Intel Pentium 4-M\处理器主频(MHz):2000 | ||
28 | 处理器类型:Intel Pentium 4-M\处理器主频(MHz):2000 |
共计2页 到第
页
图5-4 分类显示商品的界面效果
(2)商品详细信息(ProductInfo.aspx):显示某个商品的详细信息。
这个页面将显示某一商品的详细信息。在eshop中,商品的详细信息包括商品的名称、价格、简介以及浏览次数。商品详细信息的界面效果如图5-5所示。
|
图5-5 商品详细信息的界面效果
(3)商品搜索结果(Search.aspx):分页显示搜索结果。
在页面头部的搜索框中输入相应的关键词,提交之后,将在搜索页面显示出模糊查询的结果。显示方式与ProductList.aspx类似。例如,在搜索框输入“Office”,则显示出商品名称中包含“Office”的所有商品,并分页显示。实现效果如图5-6所示。
搜索结果
商品编号 | 商品名称 | 简单描述 | 添加到购物车 |
16 | Microsoft公司Office系列软件的最新版本。 | ||
34 | Office系列产品。 Microsoft公司出品。 | ||
35 | 2000年Microsoft公司推出的Office版本 |
共计1页 到第
页
图5-6 商品搜索结果的界面效果
3、购物车功能模块。
用户单击商品列表中“添加到购物车”的超级链接时,将进入购物车的功能页面。主要包括以下两个页面:
(1)添加到购物车(AddToCart.aspx):将选定商品添加到购物车记录中。
这个页面是一个中转页面。所谓中转的意思,就是它并不呈现给用户,但却实现一定的功能-将某种商品添加到操作用户的购物车内。
(2)购物车管理(ShoppingCart.aspx):对购物车内容进行管理。
该页面实现的功能比较多,包括购物车记录的绑定显示、修改购物车中商品的数量、删除购物车中的记录以及显示购物总额等。其界面效果如图5-7所示。
总计: ¥18,400.00 |
图5-7 购物车管理的界面效果
4、用户信息管理模块。
用户信息管理是一个会员制的电子商务系统中必不可少的部分。在这一模块中实现的功能包括注册、登录、找回密码、修改密码、修改个人详细资料等。具体包括以下几个页面:
(1)登录验证(SignIn.aspx):登录验证涉及到整个系统的身份验证机制。
作为用户验证的窗口,登录页面的实现十分重要,其界面如图5-8所示。
图5-8 登录的界面
(2)注册新用户(Register.aspx)。
新用户注册时,仅需输入最基本的信息,个人详细资料在注册之后再进行修改。界面如图5-9所示。
图5-9 用户注册的界面
(3)找回密码(GetBackPwd.aspx):当用户忘记密码时,通过密码保护资料的验证后,系统将会生成新的随机密码发送到用户的指定E-mail。
找回密码功能是为了方便忘记密码的用户重新获得密码的。界面如图5-10所示。
找回密码 |
用户名:
|
密码提示问题:
|
提示问题答案:
|
Email:
|
图5-10 找回密码的界面
(4)用户管理项导航目录(UserMenu.ascx):当进入用户管理页面时,左侧的目录应该显示为用户的管理项导航。
当用户进入用户管理(如修改密码、修改个人资料)页面时,左侧不应该再显示为商品分类导航目录,而应该列出用户管理菜单,界面如图5-11所示。
图5-11 用户管理项导航目录的界面
5、订单模块
订单模块包括的功能有支付购物车生成订单、查询个人订单信息和查询订单详细信息。涉及的页面有以下3个:
(1)结算购物车(CheckOut.aspx):
该页面显示的数据与ShoppingCart.aspx相同,不同的是CheckOut.aspx界面中内容是用来让用户确认的,界面如图5-12所示。
|
图5-12 结算购物车的界面
(2)查询个人订单列表(OrderList.aspx)
该页面显示用户订单列表,界面如图5-13所示。
订单号 | 订单时间 | 订单总额 | 查询详细信息 |
18 | 2005-8-28 | ¥14,865.00 | |
19 | 2005-8-28 | ¥2,300.00 | |
图5-13 查询个人订单列表的界面
(3)订单详细信息(OrderDetails.aspx)
该页面显示用户某一订单的详细信息,界面如图5-14所示。
|
图5-14 订单详细信息的界面
6、后台管理模块
在项目设计中,考虑到安性和独立性,将后台管理模块单独作为一个Web项目,但同属 eshop解决方案。
后台管理模块是一个完整的电子商务系统不可或缺的部分,主要包括以下几个功能页面:
(1)权限控制的实现。
在eshop的后台模块中存在两种管理员角色:一种为“超级管理员”,其具有管理员模块的一切权限;一种为“普通管理员”,其具有除对管理员本身进行管理(如添加、删除管理员等)外的其他所有功能。
像用户管理一样,在管理员管理页面也需要在左侧显示功能导航目录。不同的是,管理员具有两种角色,所以针对不同的角色应该显示不同的功能列表,其界面如图5-15所示。
图5-15 管理员功能导航目录的界面
(2) 查询、修改用户信息(Userlist.aspx)
在这个页面,管理员可能分页查看用户的基本信息,并可以修改预存款。界面如图5-16所示。
图5-16 查询、修改用户信息界面
(3) 查询销售情况(Sails.aspx)
本模块的查询支持按月查询、按日查询。查询出的是每种商品的相关订单数、售出数量和销售收入。界面如图5-17所示。
图5-17查询销售情况界面
5.3 系统测试
系统测试是管理信息系统开发周期中一个十分重要而漫长的阶段。其重要性体现在它是保证系统质量与可靠性的最后关口,是对整个系统开发过程包括系统分析、系统设计和系统实现的最终审查。
系统测试的对象不仅仅是源程序,而是整个软件,即程序和文档。系统测试的目的是发现软件的错误,系统测试中可能发现的错误包括:功能错误、系统错误、过程错误、数据错误、编码错误。
在系统测试工作中,要事先准备好测试方案和测试数据,并在测试过程中如实填写测试记录,以便于进行系统的更新和维护。
在本系统的测试过程中,我们运用了各种系统测试方法,对整个系统的主页、各功能模块及页面、数据库操作、程序代码和整体功能分别进行了详细的测试,保证了系统的质量、可靠性和可维护性。
5.3.1 系统测试的原则
1、测试工作由非原来开发软件的个人或小组承担。
2、设计测试方案时,不仅包括确定的输入数据,而且应包括从系统功能出发预期的测试结果。只要将运行结果与预期测试结果进行对比即可发现有无错误。
3、测试用例不仅包括合理、有效的数据,还要包括无效的或不合理的输入数据。
4、不仅要检验程序是否作了该做的事,还要检验程序是否同时作了不该做的事。
5、软件中存在错误的概率和已经发现错误的个数是成正比的。
6、保留测试用例,作为软件文档的组成部分。
5.3.2 系统测试的方法及步骤
1、对软件测试的主要方法有:源程序通过编译后,先经过人工测试,然后再进行机器测试。
(1)人工测试是采用人工方式进行,目的在于检查程序的静态结构,找出编译不能发现的错误。其主要有三种方法:个人复查、走查、会审。然而这些测试只是针对小规模程序常用的方法,效率不很高。
(2)、机器测试是运用事先设计好的测试用例,执行被测程序,对比运行结果与预期结果的差别来发现错误。机器测试有黑盒测试和白盒测试两种方法。
2、系统测试工作一般有以下步骤:单元测试、组装测试、确认测试和系统测试。
5.3.3 系统测试的用例及结果
1、界面检查
打开系统页面,对照其中的界面名称及功能名称是否正确;对每个界面的各个下拉菜单、复选按钮进行检查,检查其是否有错误条目或缺少项目;并对链接按钮进行检查,检查其是否能够实现正常链接、安全返回的功能。
2、功能测试
检查每个模块下的显示、添加、修改、删除等功能是否可以正确实现,进而检查程序代码是否存在错误、数据库连接是否正常。
3、综合测试
在对各个模块分别调试之后,进行系统的综合测试,检测了几个模块共同调用一个数据库中的表对执行结果的影响。并检测了整体功能实现情况,最终实现了测试结果正确性。
4、测试用例
以后台管理模块中的添加商品信息为例进行功能的测试:输入要进行添加的商品信息,点击添加按钮后,却不能执行,通过仔细查看源代码,寻找错误,得出了我们所看到的正确的代码。如下:
添加商品信息(AddProduct.aspx.cs)的代码实现:
private void Page_Load(object sender, System.EventArgs e)
{ if (!Page.IsPostBack)
{ BindList();
}
}
private void Add_Click(object sender, System.EventArgs e)
{ AdminDB admin = new AdminDB();
try
{ admin.AddNewProduct(ProductName.Text.Trim(), decimal.Parse(Price.Text.Trim()), Intro.Text, int.Parse(ListCat.SelectedValue));
MyError.Text = "添加成功!";
AdminDB.InsertAction("添加新的商品"+ ProductName.Text.Trim(), System.DateTime.Now, User.Identity.Name);
}
catch
{ MyError.Text = "出错了";
}
}
void BindList()
{ ListCat.DataSource = eshop.BLL.Product.GetCategoryList();
ListCat.DataTextField = "CategoryName";
ListCat.DataValueField = "CategoryId";
ListCat.DataBind(); }
5.4 系统转换
系统转换就是指新系统代替老系统的过程,即老系统停止使用,新系统开始运行。系统转换的目的是保证新老系统进行平稳而可靠的交接,最后使整个新系统正式交付使用。系统转换过程由项目开发人员、系统操作员、用户单位领导以及业务部门的通力协作才能完成,这是系统开发周期中动用人力物力最多的一个步骤,因此非常需要相互间的配合与协调。
系统转换的内容主要包括数据文件转换、人员设备和组织机构的工作流程的改造和调整,有关资料的建档和移交等工作。系统转换方式可分为:直接转换、并行转换、分段转换。
在比较了各种系统转换方式的特点和要求,并考虑到公司工作特点和要求,本系统的转换采用分段转换的方式,这样可以保证公司正常工作运转和新系统顺利投入使用。
5.5 系统维护
系统测试之后,我们进入了试运行及维护阶段,这一阶段的的目的是保证管理信息系统正常而可靠地运行,并能使系统不断得到改善和提高,以充分发挥系统本身的作用。在整个系统的运行过程中,系统的维护和管理是始终贯穿其中的,包括进行系统应用程序的维护、代码的维护、数据的备份与恢复、硬件设备维护。系统在运行时,也要随着环境的变化根据不同的需求及变化对系统进行必要的修改,使得系统功能更加完善。
1、系统维护工作的内容
系统维护工作贯穿于系统的整个运行过程中,包括:系统应用程序的维护、数据的维护、代码的维护、硬件设备维护,系统维护的重点是系统应用软件的维护工作。而系统维护工作不应总是被动的等待用户提出要求后才进行,应进行主动的预防性维护。
2、系统维护的组织与管理
系统维护性工作不仅是技术性工作,为了保证系统维护性工作的质量,需要付出大量的管理工作。系统投入运行后,设有系统管理员,专门负责整个系统维护的管理工作。系统维护要按照严格的步骤进行,防止未经允许擅自修改系统。因为无论是用户直接找程序人员还是程序人员自行修改程序,都将引起混乱,如不及时更新文档造成程序与文档不一致,多个人修改的不一致,以及缺乏全局考虑的局部修改。为了评价维护的有效性,确定系统的质量,记载系统所经历的维护内容,要将维护工作的全部内容以文档的规范化形式记录下来。维护就意味着修改,修改对子系统来讲是有副作用的。