湖州师范学院本科毕业论文
第二章 系统构建的相关技术及开发环境
鲜花销售系统是利用Microsoft Visual Studio 2008和SQL Server数据库进行开发。通过ADO.NET技术实现SQL Server数据库的控制和访问,以实现对数据库中数据的控制。从而实现的鲜花购物网站。 2.1 .NET三层架构介绍
随着市场竞争的日益激烈, 企业的内外部环境也在不断变化,尤其是企业的各种业务的变化 ,使企业级应用的的升级和维护。软件设计的多层架构体系改进了企业级开发方式,提高了企业级系统的高可用性、可靠性和可伸缩性。ASP. NET可以使用. NET 平台快速方便地部署三层架构。 三层结构体系的目的是实现系统的高内聚,低耦合,便于系统更好的分布式开发和维护。三层架构的示意图如2-1所示。
[5]
[4]
图 2-1 三层架构模块图
.NET Framework推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层、表示层。其中三层职责的划分是:
表示层 ( Presentation Layer) : 作为系统的前台负责跟用户进行友好的交互,用于数据录入, 数据显示等。它不应该做太多的业务处理的工作, 只做与外观显示相关的工作。
业务逻辑层 ( Business Logic Layer) : 用于做业务流程的处理。以更好的保证程序运行的健壮性, 如sql 防注入的问题, 用户的权限的合法性判断,数据的有效性判断。不允许的地方是否输入了空字符串, 字符串的格式是否正确等
[5][6]
[5]
[6]
。
数据访问层 ( Data Access Layer) : 就是用于专门跟数据库进行交互,将数据库操作的添加、删除、修改的SQL语句写在这一层。另外需要强调的是所有的数据对象只在这一层被引用。
明确地将客户端的表示层、业务逻辑访问层和数据访问层划分出来,对系统的开发、维护、部署和扩展都会有良好的促进作用。 软件的架构要进行分层, 其实就是为了实现“ 高
3
[5]
湖州师范学院本科毕业论文
内聚、 低耦合”的目的。采用 “ 分而治之” 的思想, 把问题划分开来各个解决, 易于控制, 易于延展,易于分配资源。.NET 开发平台为我们做开发提供了强大的技术支持, 使我们的开发变得非常便捷、 高效。通过 code behind 的强大支持,将页面设计和代码设计有效的极性分离。我们将程序中一些公用的处理程序写成公共方法封装在类中, 供其它程序调用。像一些功能型的代码集合, 数据库操作, 如同 DAL层那样对数据操作进行合理封装, 把 sql语句中关于where后面的条件组合成参数列表, 在数据库操作过程中, 只要传入相应的参数就可以完成特定的数据操作, 再不用每次操作数据库时都写那些重复性的数据库操作代码。在进行新的软件开发阶段, 数据访问层可以直接拿来用,不需要再书写重复的代码。需要编写的代码量较以前有了很大的减少, 而且代码的条理性也更加强修改的时候也更方便。
2.2 ADO.NET数据访问技术
ADO.NET 是 Microsoft 为解决 Web 和分布式应用程序而设计的,他有以下几个特点: 使采用不同开发语言创建的应用程序在互相通信方面的障碍被扫除 考虑了伸缩性、无状态性和 XML 的问题
数据存取采用的是离线存取模式,其中 DataSet 对象作为一个独立运行的实体,可以将数据集设想为始终断开的记录集。
可以方便的将ADO.NET 的数据格式转化为 XML数据格式。
ADO.NET 的上面这些特点证明了它是目前最优秀的数据库访问技术之一。
ADO.NET 有两个核心组件:数据集 DataSet 和.NET 数据提供程序。其中DataSet 类是断开连接模式的核心,DataSet 在内部是用 XML 来描述数据的,由于 XML 是一种与平台无关与语言无关的数据描述语言,可以描述数据之间的复杂关系,所以 DataSet 实际上可以容纳具有复杂关系的数据。DataSet 由一个或多个 DataTable 对象的组成。DataTable 对象由数据行、数据列和约束组成。组成ADO.NET 体系结构中另外一个非常重要的部分是数据提供者对象,它是访问数据库的必备条件,主要实现对数据的快速只读访问,主要由Connection,Command,DataAdapter,DataReader 对象组成。其中Connection 对象提供对数据源的连接;Command对象执行数据库命令,获得返回数据;DataAdapter 使用Command 对象在数据源中执行 SQL 命令,用 FILL 方法将数据加载到 DataSet 中,使对 DataSet 中数据的更改与数据源保持一致;DataReader 对象从数据库中按顺序读出各项记录,而且在内存中只保留一项记录。
在数据库的数据处理过程中保持数据处理的事务性是一件比较复杂的问题。尤其当一个操作涉及到数据库中多张表格的更新 ,这些更新必须保证在事务的处理范围内进行。而ADO.NET中的事务处理可以先调用数据库连接对象的BeginTransaction()方法,然后根据返回的IDbTransaction接口的对象进行操作,最后调用数据库连接对象的Commit()方法进行事务的提交。 2.3 UML建模方法
统一建模语言是一 种可以应用于任何软件开发过程的标记法和语义语言。它不是一种 系统设计方法,而是一种系统建模方法
[10]
[9]
[8]
[7]
[6]
[5]
。是一个通用的可视化建模语言,用于对软件进行
[10]
描述、可视化处理、构造和建立软 件系统。UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具
。
4
湖州师范学院本科毕业论文
UML2.0有十三种类型的图,各种图像的作用主要是 对象图只显示对象之间的关系。
[11]
:
用例图主要对系统中不同角色之间需要完成的功能进行设计。 类图显示类之间(也可以是对象)之间的关系。
状态机显示生命周期比较复杂或者有趣的对象的种种状态。 活动图类似于流程图,用于显示人或者对象的活动。
复合结构图显示对象在聚合或者复合中的相互之间的作用关系,显示接口和协作的对象。
顺序图显示与通信图类似的信息,但是顺序图更加强调的是顺序,而不是连接。 包图显示了各种相关的类是如何组合的,这是对开发人员很有用的一种图。 部署图显示安装已完成的系统的机器、过程和部署结果。 时间图显示消息和对象状态的精确时间上的限制。 通信图显示在不同情形下对象之间发送的信息。 组件图显示可重用的组件(对象或者子系统)及其接口。 交互图使用顺序图显示活动的各个详细步骤。
这里重点介绍UML的用例图。 UML用例图方法已广泛应用于面向对象软件开发中的系统需求分析和建模。用例图由4个基本组件组成,其中是:系统、参与者、用例、关系。泛化是一种用于表示UML中项目的继承关系的技术,在用例图建模时被广泛应用。泛化可以应用于参与者和用例来表示其子项从父项继承功能,而且泛化还表示父亲的每个孩子都有着略微不同的功能以确保自己的惟一性
[10]
。 用例描述了系统中要发生的一个事件流, 其中包括具
体的事件和事件发生的先后次序。系统在某个角色的触发下执行该组事件, 用来实现某个功能。角色是与所建系统进行交互的外部对象, 通常由某个人或事物充当角色。角色可以是与系统相互作用的任何人和事物,同一个人或事物充当多个角色也是可以的。同样的,一个用例也可以与多个角色进行交互。角色也可以是类、系统、子系统、另一个用例中定义了用例之间的关系主要有以下几种:
扩展关系。A, B是不同的用例, A扩展B的含义是: 在B的一个扩展点上并且扩展点条件为真时, 在B的一个执行过程中可以引发A中定义的行为。一个用例可以有多个扩展点,被多个用例扩展。
包含关系。A 包含 B的含义是: A 可以使用B定义的行为, 即 A 的执行过程中必定包括 B 中定义的行为。 2.4 系统开发及运行环境
该系统采用B/S模式,网络操作系统采用Microsoft 的Windows Server 2003,配置IIS 6.0,并安装.NET Framework3.5为ASP.NET应用程序提供运行平台。开发环境采用Microsoft Visual Studio .NET 2008,开发语言为C#。数据库服务器采用SQL Server 2005,它具有大型数据库的功能,在数据的完整性、安全性方面能够得到保障。
[12]
。在用例图
5
湖州师范学院本科毕业论文
第三章 系统设计
系统分析和设计是信息系统开发的一个重要环节。本章将用面向对象软件系统设计的思想对毕业论文管理系统(后台)进行分析和设计。如何准确的获取需求是软件项目成败的很关键的部份,正确的获取需求不仅对系统的正确实现,而且对系统的扩展性也有重要的作用
[13]
。
鲜花销售系统设计的总体目标是实现鲜花的在线购物及信息化管理。消费群能快速掌
3.1鲜花销售系统的需求分析
握商品信息,便捷地购买到自己喜欢的鲜花。系统管理员在管理上使数据能够快速、准确、及时、可靠地输出,在网站上发布商品信息,有效的处理订单信息,从而节省人力和时间,达到商品的科学化管理。
根据上述总体目标需求,该系统完成如下具体功能:
(1)完成数据的编辑功能,包括对所需数据的输入、修改、删除。会员可在页面上修改购物车中的鲜花信息,管理员可在后台编辑数据,实现信息的更新。
(2)完成数据的查询功能。根据不同条件能查询到指定的数据,并显示给用户查看,用户可随时查询所需要的鲜花信息。
(3)完成数据的处理功能。管理员通过后台对用户订单、新闻等信息进行处理。 3.1.1用例功能分析
系统中一共涉及到会员和管理员两个用例。 ① 会员用例分析如图3.1
图3.1 会员用例图
(1) 用户注册和登录:用户注册和登录是网上购物网站必不可缺的一项功能。进入
鲜花网站,消费者须先登录才可以购买商品和留言如果用户无用户名,必须注册新用户,这时系统要求输入用户注册信息,如果用户名已经存在,系统会显示相关错误信息,并提示用户更换用户名。
(2) 商品查询:用户可以通过鲜花购物网站浏览到网站上各种鲜花信息,包括鲜花
的图片、名称、包装,材料和详细简介,用户还可以通过鲜花的不同类别,查
6
湖州师范学院本科毕业论文
询到相应的消费者所需鲜花的相关信息。
(3) 购物车功能:用户只有登录才可以使用此功能。会员通过浏览网站的鲜花信息,
选择好自己喜欢的喜欢,点击购买,这样鲜花商品就会加入购物车。会员还可以修改自己所选购的鲜花数量。如果会员想要取消此类鲜花的购买还可以点击删除这样购物里的此种鲜花就会被删除。当会员确定好自己所选购的鲜花,点击“收银台”进入收银台界面会员只需填写收货的联系方式及姓名提交订单会员就实现了整个购物流程。
(4) 新闻浏览:用户可以在网站上查看各种相关的新闻信息和网站的一些公告信息。 (5) 订单查询:会员通过此功能能查看到自己的所有订单详细信息了解订单的状态。
同时还可以通过订单状态找到相关的订单和改变订单的状态使管理员了解到鲜花是否被及时送到。
② 后台用例分析
图3.2 后台管理员用例图
后台管理员主要对整个网站进行信息化管理。管理员可以修改密码,实行商品管理、定单管理、会员管理、站内帮助管理和留言管理。商品管理的主要功能有一级分类的添加,删除和修改。二级分类的添加删除和修改,编辑商品和删除商品。定单管理的主要功能有定单查询和修改定单的状态让前台用户及时了解到自己的订单的信息。会员管理的主要功能是会员信息管理和会员等级的管理。会员信息的管理包括会员的查询和编辑,删除。会员等级的管理包括等级的添加编辑与修改。站内帮助的主要功能包括新闻资讯管理和关于我们,支付方式,联系我们添加修改。新闻管资讯理是新闻资讯信息的添加修改删除,订单管理主要是订单的查询与订单状态的修改。 3.1.2系统主要模块流程
系统采用UML2.0进行系统用例的分析,UML是建立在抽象模型理论上的表示法体系结构,用户用UML提供的元素构件可以设计、表达出复杂的体系结构
7
[14]
。通过用UML采用面向对象