注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

飞天心宏的博客

依稀旧梦似曾见,相逢只恨缘太迟

 
 
 

日志

 
 
关于我

出身数学,爱好文学,从事软件开发工作。一个阳光、幽默、热爱生活的男孩子,在追求理想的路上风雨无阻,勇往直前,崇尚“梦想有多远,我们就走多远”!

网易考拉推荐

毕业设计-网上书店ASP.NET(正文三 )   

2009-07-22 18:02:34|  分类: 毕业设计 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

第二章 系统设计方案

2.1软件架构设计

2.1.1 软件架构概述

20世纪60年代的软件危机使得人们开始重视软件工程的研究。起初,人们把软件设计的重点放在数据结构(data structure)和算法(algorithmic)的选择上,随着软件系统规模越来越大、越来越复杂,整个系统的结构和规格说明显得越来越重要。软件危机的程度日益加剧,现有的软件工程方法对此显得力不从心。对于大规模的复杂软件系统来说,对总体的系统结构设计和规格说明比起对计算的算法和数据结构的选择已经变得明显重要得多。在此种背景下,人们认识到软件体系结构(software architecture)的重要性,并认为对软件体系结构的系统、深入的研究将会成为提高软件生产率和解决软件维护问题的新的最有希望的途径。

软件体系结构虽脱胎于软件工程,但其形成同时借鉴了计算机体系结构和网络体系结构中很多宝贵的思想和方法,最近几年软件体系结构研究已完全独立于软件工程的研究,成为计算机科学的一个最新的研究方向和独立学科分支。软件体系结构研究的主要内容涉及软件体系结构描述、软件体系结构风格、软件体系结构评价和软件体系结构的形式化方法等。解决好软件的重用、质量和维护问题,是研究软件体系结构的根本目的。

2.1.2 软件架构风格

软件架构设计的一个核心问题是能否使用重复的架构模式,即能否达到架构级的软件重用。也就是说,能否在不同德软件系统中,使用同一中架构。基于这个目的,学者们开始研究和实践软件架构的风格和类型问题。

软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式(idiomaticparadigm)。构架风格定义了一个系统家族,即一个架构定义一个词汇表和一组约束词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。架构风格反映了领域中众多系统所共有的结构和语义特性,比指导如何将各个模块和子系统有效地组织成一个完整的系统。按这种方式理解,软件架构风格定义了用于描述系统的属于表和一组指导构件系统的规则。

  对软件架构的风格的研究和实践促进了对设计的重用,一些经过实践证实的解决方案叶 可以可靠地用于解决新的问题。架构风格的不变部分使不同的系统可以共享同一个实现代码。只要系统是使用常用的、规范的方法来组织,就可使其他设计者很容易理解系统的架构。

常用的软件架构风格有:

(1) 分层系统

(2) C2风格

(3) 客户/服务器风格(C/S

(4) 三层C/S结构风格

(5) 浏览器/服务器风格(B/S)

(6) 公共对象请求代理风格(CORBA

(7) 特定领域软件架构(DSSA

(8) 面向服务的架构(SOA

(9) 富互联网应用架构(RIA

2.1.3 架构选择

在该系统中,选择了浏览器/服务器(Browser/Server,简称B/S)软件架构风格,在这种结构下,主要事务逻辑在服务器(Sever)实现,极少部分事务逻辑在前端浏览器(Browser)实现。客户机统一采用浏览器,用户工作界面通过Web浏览器来实现的,这不尽使用户使用方便,而且使得客户机不存在安装维护的问题,大大降低了系统维护与升级的成本和工作量。

B/S风格是三层应用结构的一种实现方式,其具体结构为:浏览器/Web服务器/数据库服务器,B/S架构主要是利用不断成熟的Web浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本。从某种意义来说B/S结构是一种流行的软件结构体系。

B/S结构中,除了数据库服务器外,应用程序可以以网页的形式存放于Web服务器上,用户运行够格应用程序师只需在客服端上的浏览器中键入相应的网址(URL),调用Web服务器上的应用程序并对数据库进行操作完成相应的数据处理工作,最后将结果通过浏览器显示个用户。可以说,B/S模式的计算机应用系统中,应用(程序)在一定程度上具有集中特性。

基于B/S架构的软件,系统安装、修改和维护全在服务器端解决。用户使用系统是,仅仅需要一个浏览器就可运行全部的模块,真正达到了零客服端的功能,很容易在运行时自动升级。B/S架构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。

 

                           2.1  B/S结构

2.2开发平台选择

系统选择.NET做为开发平台。当今存在的WEB开发平台主流产品就是SUN公司的JAVA和微软的.NETMicroSoft.net是微软在2000年提出的新概念,其全称为“MicroSoft.net下一代互联网软件和服务战略。它是一个用于构建、运行和体验下一代分布式应用程序的完美平台,以 XML 为基础,WEB 服务为核心,并辅以其他技术实现。提供了一套公共运行库,制定了一套公共语言规范,并且.NET 提供了大量的服务,包括垃圾自动清理 ,面向对象的多线程,基于程序集的部署,异常处理,特性编程,远程处理,安全性等,使开发人员可以自由选择开发语言快速架构任何应用。

Visual Studio 系列为.NET 框架编程提供了一个迅速集成开发应用程序的工具。用于生成 ASP Web 应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic .NETVisual C++ .NETVisual C# .NET Visual J# .NET全都使用相同的集成开发环境 (IDE),该环境允许它们共享工具并有助于创建混合语言解决方案,另外,这些语言利用了 .NET Framework 的功能,此框架提供对简化 ASP Web 应用程序和 XML Web services 开发的关键技术的访问。目的在于:以最少的时间,开发出最好的软件。如图2.2所示

Browser

Web services apps

Local apps

Other apps

通用语言运行层 CLRCommon Language Runtime

ASP.NET

ADO.NET

Windows forns

More

Windows 操作系统

开发语言:VB.NET, C#, VISUAL C++.NET..

.NET Framework class library(框架类库)

                   2.2  .NET开发平台整体框架

2.3页面设计

2.3.1 DIV+CSS的定义

系统中采用CSS+DIV进行布局。CSSDIV是网站标准(或称WEB标准)中常用的术语之一,通常为了说明与HTML网页设计语言中的表格(Table)定位方式的区别,因为XHTML网站设计标准中,不再使用表格定位技术,而是采用Css+Div的方式实现各种定位。

CSS是英语Cascading Style Sheets(层叠样式表单)的缩写,它是一种用来表现 HTML XML 等文件式样的计算机语言。

DIV元素是用来为HTML文档内大块(block-level)的内容提供结构和背景的元素。DIV的起始标签和结束标签之间的所有内容都是用来构成这个块的,其中所包含元素的特性由DIV标签的属性来控制,或者是通过使用样式表格式化这个块来进行控制。

2.3.2 DIV+CSS的优势:

1)符合W3C标准。微软等公司均为W3C支持者。这一点是最重要的,因为这保证您的网站不会因为将来网络应用的升级而被淘汰。

2)支持浏览器的向后兼容,也就是无论未来的浏览器大战,胜利的是IE7或者是火狐,您的网站都能很好的兼容。

3)搜索引擎更加友好。相对与传统的table, 采用DIV+CSS技术的网页,对于搜索引擎的收录更加友好。

4)样式的调整更加方便。内容和样式的分离,使页面和样式的调整变得更加方便。 现在YAHOO,MSN等国际门户网站,网易,新浪等国内门户网站,和主流的WEB2.0网站,均采用DIV+CSS的框架模式,更加印证了DIV+CSS是大势所趋。

5CSS的极大优势表现在简洁的代码,对于一个大型网站来说,可以节省大量带宽,而且众所周知,搜索引擎喜欢清洁的代码。

6)表现和结构分离,在团队开发中更容易分工合作而减少相互关联性。

2.3.3页面布局

采用1+2+1实现:1+2+1布局方式简单但有不失经典,Head以图片作为背景,其底部横排功能导航栏,再下面是搜索栏。Side上部分是登陆框,中间是分类导航栏,下面是友情链接。Footer是网页底部,通常是版权信息和网站联系链接等。最主要的部分是ContentContent用于主要内容的呈现,可以根据需求再进行相应的拆分(图2.4)来满足不同的布局需求。1+2+1布局是一种简单但运用广泛的布局方式。

Head

 

Side

 

 

footer

Content

 

Content再分解

              2.3  主页布局                     2.4  Content再分解

2.4技术支持

2.4.1系统分析方法介绍

该系统采用的是目前流行的基于UML的、面向对象的系统分析设计方法。系统的开发过程是一项复杂的系统工程,它不仅与计算机紧密相关,而且还涉及到使用该系统单位的组织和管理现状。管理信息系统的开发方法有生命周期法、原型化方法、结构化生命周期法、面向对象的方法、其他方法。

统一建模语言(Unified Modeling Language,简称UML)是一种编制系统蓝图的标准化语言,可以实现大型复杂系统各种成分描述的可视化、说明并构造系统模型,以及建立各种所需的文档,它是一种定义良好、易于表达、功能强大且普遍适用的建模语言。UML的发展对软件工程的发展做出了杰出的贡献。UML支持从需求分析开始的软件开发的全过程。UML通过三类图形建立系统模型:用例(Use Case)图、静态结构图(对象类图、对象图、组件图、配置图)和动态行为图(顺序图、协同图、状态图、活动图),这些图可以从不同的抽象角度实现系统的可视化。

面向对象方法(Object Oriented,简称OO方法)直接从系统需求出发,把需求分解成对象和类,数据和操作都隐藏于对象之中,通过对象的定义、操纵来实现系统,从而达到了问题论域和求解论域的一致。面向对象的方法认为,客观世界是由各种各样的对象组成的,每中对象都有各自的内部状态和运动规律,不同对象之间的相互作用和联系就构成了各种不同的系统。

它分为四个阶段:

(1)系统调查和需求分析。对系统将要面临的具体问题以及用户对系统开发的需求进行调查研究,即先弄清要干什么的问题。

(2)分析问题的性质和求解问题。在繁杂的问题域中抽象地识别出对象及其行为、结构、属性、方法等。

(3)整理问题。即对分析的结果作进一步地抽象、归类、整理,并最终以范式的形式将它们确定下来。

(4)程序实现。即用面向对象的程序设计语言将上一步整理出来的范式直接映射为应用程序软件。

2.4.2系统分析工具介绍

2.4.2.1 UML分析工具--Visio2007

UML是一种编制系统蓝图的标准化语言,可以实现大型复杂系统各种成分描述的可视化、说明并构造系统模型,以及建立各种所需的文档,它是一种定义良好、易于表达、功能强大且普遍适用的建模语言。UML的发展对软件工程的发展做出了杰出的贡献。UML是一种建模语言,是系统开发的一个组成部分,本身并没有关于开发过程概念的定义和表示符号,业务建模、需求分析、系统分析与设计、实现、测试和系统配置是面向对象的开发过程的核心工作流。而它们的表现需要分析工具的参与,我们在分析过程中采用了MICROSOFT VISIO 2007

VISIO 2007是当今最优秀的绘图软件之一,它将强大的功能和易用性完美结合,可广泛应用于电子、机械、通信、建筑、软件设计和企业管理等众多领域,正是因为它强大的绘图功能,各种形状,模型,模具,模板,直接就可以根据模板画出我们在系统分析过程中分析出来的模型,使得我们在软件分析过程中可以通过它来建立业务模型,数据流程图,业务逻辑等等,通过VISIO,我们可以把已经抽象出来的对象更加清晰化,让整个面向对象开发过程更具有条理性。

2.4.2.2数据库分析工具--ERwin

 ERwin是功能强大、易于使用的数据库设计工具。它为设计、生成、维护高水平的数据库应用程序提供了非凡的工作效率。 从描述信息需求和商务规则的逻辑模型,到针对特定目标数据库优化的物理模型,ERwin帮助您可视化地确定合理的结构、关键元素,并优化数据库。 ERwin不仅是数据库设计工具,同时还是一个功能强大的数据库开发工具,能为所有主流的数据库自动生成数据库表和成千上万条存储过程和触发器代码。其突破性的完全比较技术,允许迭代开发,随时把模型与您的数据库同步。把数据库与领先的开发环境集成在一起,ERwin同样能加速以数据为中心的应用开发。

2.4.3系统开发工具介绍

2.4.3.1系统开发工具--Visual Studio 2008

Visual Studio 2008是微软公司推出的开发环境。是目前最流行的 Windows 平台应用程序开发环境。Visual Studio 2008 使开发人员能够快速创建高质量、用户体验丰富而又紧密联系的应用程序,充分展示了 Microsoft 开发智能客户端应用程序的构想。借助 Visual Studio 2008,采集和分析信息将变得更为简单便捷,业务决策也会因此变得更为有效。

  Visual Studio 2008提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序。并在三个方面为开发人员提供了关键改进:1)快速的应用程序开发2)高效的团队协作3)突破性的用户体验。   

  快速的应用程序开发:为了帮助开发人员迅速创建先进的软件,Visual Studio 2008 提供了改进的语言和数据功能,例如语言集成的查询 (LINQ),各个编程人员可以利用这些功能更轻松地构建解决方案以分析和处理信息。

  突破性的用户体验:Visual Studio 2008 为开发人员提供了在最新平台上加速创建紧密联系的应用程序的新工具,这些平台包括 WebWindows VistaOffice 2007SQL Server 2008 Windows Server 2008。对于 WebASP.NET AJAX 及其他新技术使开发人员能够迅速创建更高效、交互式更强和更个性化的新一代 Web 体验。

  高效的团队协作:Visual Studio 2008 提供了帮助开发团队改进协作的扩展的和改进的服务项目,包括帮助将数据库专业人员和图形设计人员加入到开发流程的工具。

  使用 Microsoft .NET Framework 3.5:.NET Framework 提供了用于解决常见编程任务的构建基块(预制的软件),从而能够快速构造具有出色的最终用户体验的紧密联系的应用程序。在 .NET Framework 模型业务流程上有效构建的紧密联系的应用程序有利于在异类环境中实现系统集成。 

2.4.3.2数据库管理工具—Microsoft SQL Server 2005

系统中我们采用免费的Microsoft SQL Server 2005 Express Edition

SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。  

我们使用 Microsoft SQL Server 2005 Express Edition 数据库来存储我们的应用程序表和SqlMembershipProvider 架构。该决定基于两个原因:首先,它是免费的,Express Edition SQL Server 2005 的最容易理解的版本;再者,SQL Server 2005 Express Edition 数据库可以直接放在Web 应用程序的App_Data 文件夹中,这样我们就可以将数据库与web 应用程序一起打包成一个ZIP 文件,在重新部署时不需要特殊的安装指示或配置选项。 

 

  评论这张
 
阅读(1141)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018