登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 外文翻译 > 理工学类 > 信息与计算科学 > 正文

基于MVC架构的数据库和Web应用程序外文翻译资料

 2022-08-06 09:08  

英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料


基于MVC架构的数据库和Web应用程序

Diana M. Selfa, Maya Carrillo, Ma. del Rociacute;o Boone

计算机科学学院

贝纳梅里塔自治大学

摘要: MVC体系结构已被企业软件开发广泛接受。它计划将系统划分为三个不同的层次,分别负责接口控制逻辑和数据访问,这有助于根据每个层中当前类的独立性来维护和发展系统。为了说明在MVC下构建的成功的应用程序,这项工作中,我们介绍了使用UML对数据库和Web应用程序进行分析、设计和实现的不同阶段。作为应用程序的中心组件,它具有由十五种关系组成的数据库和由十七个网页支持的用户界面。

关键词:MVC体系结构 数据库系统 分析和系统设计

1.介绍

在软件开发中,建模和标准化符号可以精确地表达复杂的想法,从而促进通常具有不同技术和文化知识的项目参与者之间的交流。

符号应具有良好定义的语义,并应由参与者主导,以便于沟通,既定的标准可以克服错误的解释和歧义[1]

系统分析和设计产生的模型是通过使用特定通知的图表构建的。UML主要是一种图形语言,用来表示开发面向对象的信息系统所需的概念。

模型有助于理解和表示已解决的问题以及问题的解决方案。现在有各种用于对问题建模以及表达系统要求和限制的不同方法。如果问题模型与解决方案模型的工作量相去甚远,这一点将用于尝试将问题表示形式从用户可理解的形式转移到设计者和开发人员可理解的形式。这种情况会引起误解,并难以根据已解决的问题验证解决方案[6]

另一方面,软件工程师将潜在的解决方案应用于开发问题,监视其成功或失败,并在下次使用时产生更有效的解决方案。

每次出现问题时,不同的开发人员可能会花费大量的开发时间和精力来解决这些基本问题,并且每种产品的解决方案可能都不是最合适的解决方案。模式提供了一种手段来捕获有关软件开发中成功解决方案的知识。

这些模式之一是最初为使用编程语言Smalltalk实现的应用程序中的用户界面引入的模型视图控制器(MVC)架构。在这种方法中,系统分为三个部分:表达领域知识的模型,呈现用户界面的视图以及管理视图更新的控件。

MVC已展示了其在交互式应用程序中的优势,该应用程序允许相同信息的多种表示形式,促进了代码的重用,并帮助开发人员专注于单个应用程序方面[2]

通常,信息系统应根据其角色适应不同的用户需求。这意味着,如果多个用户需要访问资产信息,则库存负责人可能需要查看设备的数量,其分布以及谁来保存它们。但是,负责预算的人需要知道,迄今为止,在购买新资产中花费了多少。

对于将根据用户显示的相同信息,具有不同视图的情况将转化为这种情况。如果更新了视图,则此更新的结果应反映在其余视图中。考虑基于诸如设备子系统、位置子系统、预算子系统之类的子系统的体系结构可能会很昂贵,因为复制多个元素使软件更加复杂并且容易出错,系统维护也变得复杂。因此必须在子系统接口中更改系统功能的任何修改权限。要解决的问题是:

1.相同的信息应在不同的视图中以不同的格式显示

2.视图的更改应反映在其余视图中

3.用户界面的更改应易于进行

4.系统的中央功能应该独立于接口的编号,以允许多个接口共存[1]

MVC体系结构解决了上述提到的将系统功能与系统接口分离的问题,并且采用了将更改传播到其余系统视图的机制。那么它们与其他体系结构的关系的优势是:

1.更少的耦合

2.更高的凝聚力

3.视图提供了更大的灵活性和敏捷性:可以动态创建、添加、修改和清除新视图的多个模型视图。您可以嵌套视图,也可以更改视图的方式。一个视图在不更改其视觉表示的情况下响应用户,以同步视图、根据其功能为不同设备提供视图、为Web提供视图、为Windows应用程序提供另一个视图。

4更加清晰的设计

5.便于维护

6.更大的可扩展性[5,10]

由Ivar Jacobson [7]引入的健壮性分析可以轻松地移至MVC体系结构。在这种方法中,用例文本用于标识参与者对象,并根据它们在用例中扮演的角色对其进行分类。这种分类以自然的方式在MVC组件内部定位对象。Ivar将对象分类为:

1.实体对象:与持久数据相关的使用寿命长的对象,它们可以是数据库表,文件,缓存或会话数据(MVC模型)。

2.边界对象:与系统进行通信的对象 在其环境中,它们可以是屏幕、窗口、菜单或任何图形界面元素(MVC视图)。

3.控制对象:执行用例操作的对象,用于过滤出要呈现给用户的数据(MVC控件)。

此分析强加以下规则:

1.参与者只能与边界对象交谈。

2.边界对象只能与控制者和参与者进行对话。

3.实体对象只能与控制者进行对话。

4.控制者可以与边界对象和实体对象以及其他控制者进行对话,但不能与参与者进行对话[11]

在这项工作中,我们像案例研究一样展示了一个数据库和Web应用程序(SAF),以控制教育机构拥有的资产信息。它的建模是使用UML(统一建模语言)进行的,用于鲁棒性和MVC体系结构的分析。

在本文中,我们介绍了MVC体系结构。第三节描述了SAF规范方面,第四、第五和第六节分别描述了SAF的视图、控件和模型组件。最后一部分是这项工作的结论和观点。

2.MVC

模型视图控制器(MVC)范式最初是为使用Smalltalk实现的应用程序中的用户界面设计的,但是从那时起,它已成为无需关心实现语言的用户界面和控制组件经常更改的Web应用程序的设计范式。

MVC体系结构如图1所示,它将交互系统分为三个组件,每个组件专门负责一项任务。该模型包含应用程序数据并管理核心功能。

该视图管理模型的可视显示以及对用户的反馈。控制器解释用户的鼠标和键盘输入,命令模型和视图进行适当更改[3]

User

Controller

Model

View

图1 MVC架构

模式可能是被动的,这意味着它不知道视图或控制器的存在。例如,如果模型是只能由用户更改的文本。但是,在大多数情况下,模型必须具有指向视图的链接,以将内部过程导致的状态更改告知模型。视图和控制器始终处于连接状态。控制器与视图进行通信,以确定用户正在操纵哪些对象,并调用模型方法对这些对象进行更改。该模型执行更改,并通知视图更新。

应用程序视图通常包括几个嵌套的MVC视图。这些视图的控制器应进行协作,以确保适当的控件正在解释用户的进入。 为此,它们形成了一个分层树,其中消息通过树的分支从控制器传递到控制器。只有具有相应权利的控制器才采取措施。

每个视图都与一个唯一的控制器关联,反之亦然,但是模型可以同时具有多个视图控制器对。 每次模型更改时,必须通知每个从属视图,以便它们相应地更改。具有多个同步视图的可能性是MVC架构的显著优势[4]

3.SAF

我们提供了案例研究SAF,用于管理资产信息的应用程序,用于说明MVC体系结构的使用。

UML被用作建模语言,因为它已经成为行业标准,所以我们使用它来执行系统的模型。

试图减少问题模型和解决方案模型用例之间的冲突,以引起SAF需求。 图2显示了主要的用例:1.验证访问 请求的用户和进入系统的密码;2.管理资产信息 管理资产信息;3.管理系统目录,管理与资产相关的信息:帐户,负责资产的人员,位置,资产类别,资产类型,资产模型,组织等;以及 4.生成报告 按类别、位置、资产类型、资产负责人、序列号、库存标签和帐户以及列表属性的组合显示报告。

Responsible for Inventory

Generate Reports

Manage System Catalogs

Manage Assets Information

Validate Access

图2 SAF主要用例

一旦详细定义了用例,我们将使用Ivar Jacobson [7]引入的健壮性分析。

鲁棒性分析规则应用于SAF分析和设计。图3显示了通过关系lt;lt;用途gt;gt;与“管理系统目录”相关的“删除帐户”用例的简化图。该视图由名为Cuentas的HTML页面表示。当用户在HTML页面上选择数据网格(grdCuentas)的删除选项以消除元素时,消息将发送到PrvControl,后者将消息prvBorrar发送到MdPrincipal。这最后一个将消息执行发送到控件SqlClient,该控件是.NET Framework数据提供程序[13],后者通过SAF_SP_CUENTA存储过程擦除所选元素。

从健壮性图类,顺序图,协作图和状态图开始构建。SAF是在ASP.NET [8]中实现的,该方法与MVC范例耦合,以自然方式将文件* .aspx中的接口(视图)和文件* .aspx.yy中的页面(控件)后的代码分开,其中yy取决于编程语言,在我们的例子中是Visual Basic .NET。SQL Server 2000用作关系数据库[13,14]和Crystal Report生成报告。 该系统的主要功能是:1.验证访问权限;2.管理目录:资产类型、帐户、分类、位置、组织、度量单位、负责人、资产负责人、购置类型、标记、模型、保护状态和用户;3.管理资产;4.生成报告;5.保持资产历史。

图4显示了SAF分布:ASP页面服务器,数据库服务器和客户端,这些客户端将能够使用浏览器根据其授权级别使用该应用程序。

Cuentas

PrvControl

SqlCliente

MdPrincipal

grdCuentas DeleteCommand

图3 删除帐户用例的概念稳健性图

Internet Information Server(IIS)

Database Server

Web Clients

图4 SAF分配

4.视图

系统界面包含17个网页,其中13个用于目录管理。 它们允许均质化资产信息。 图5显示了用于管理帐户目录的页面。 在数据网格的每一行中,如果选择了X,则可以看到已注册的帐户,该行的元素将被删除。 如果选择E,则将关键帐户和描述帐户放置在相应的文本框中,并允许您对其进行修改。 如果按下新按钮,则会激活密钥帐户和描述帐户的文本框,以使用新帐户的信息进行编辑。 按下接受按钮时,此信息将保存到数据库中。

图5 SAF接口

5.控制

控件由* .aspx.vb文件构成,每个开发的网页都有一个,其中平均有12种方法,包含事件处理逻辑和与模型进行通信并将数据返回到页面控件的其他控件。类似以下示例显示了PrvControl类代码的一部分。此代码允许消除目录帐户。可以看到以SAF_SP_CUENTA存储过程为参数对模型层的构造方法的调用。

Private Sub prvBorrar()

If Me.grdCuentas.SelectedIndex lt;gt; -1 Then

Me.txtClave.Text = Me.grdCuentas.SelectedItem.Cells(1).Text

Me.txtCuenta.Text = Me.grdCuentas.SelectedItem.C

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[255169],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图