AgileEAS.NET平台开发实例-药店系统-系统架构设计

简介:   介绍           本篇将会讲述如何使用AgileEAS.NET敏捷开发平台来进行药店系统的开发,首先我们需要根据需求文档来设计出药店系统的系统架构,才能继续进行后续的开发工作,整 理好架构后,然后一步步的完成具体的详细设计,数据库建模等,这样的完整步骤后,就可以开展具体的编码工作了,我们首先来看看根据药店系统的一些功能性的需求和非 功能性的需求来决定系统的架构设计,并且分解AgileEAS.NET平台已提供的相关功能来结合分析。

 

 

介绍

 

        本篇将会讲述如何使用AgileEAS.NET敏捷开发平台来进行药店系统的开发,首先我们需要根据需求文档来设计出药店系统的系统架构,才能继续进行后续的开发工作,整

理好架构后,然后一步步的完成具体的详细设计,数据库建模等,这样的完整步骤后,就可以开展具体的编码工作了,我们首先来看看根据药店系统的一些功能性的需求和非

功能性的需求来决定系统的架构设计,并且分解AgileEAS.NET平台已提供的相关功能来结合分析。

 

分析

          一、AgileEAS.NET平台的分层结构

        1、基于AgileEAS.NET平台的逻辑架构设计分析

        image

        从上图我们可以看出,AgileEAS.NET开发平台之上的架构设计与我们平时说的架构设计中的分层与设计之上并没有什么本质的差别,唯独是底层的数据访问层(DAL)上的

设计有一些细微的差别,下面我们来画图分析下相关的区别。

        AgileEAS.NET平台使用的模型是充血模型,意味着模型本身除了附带数据相关的信息外,还包含一些操作。

        image

        大家可以看看AgileEAS.NET平台中的DAL层就知道了,这里我就不贴出相关的代码了。

      2、AgileEAS.NET平台的物理架构设计分析

    image

        上面给出了AgileEAS.NET平台的物理架构中的的分布式访问形式,当然还有简单的形式,即直接不通过分布式访问服务来访问数据库,而是直接UI层通过DAL层或者服务

层,来直连数据库访问数据,而不是分布式的形式,具体的访问图如下:

        image 

        通过上面的分析,我们应该对AgileEAS.NET平台的相关设计架构支持有了一定的了解,那么我们在设计架构时,就考虑如何使用AgileEAS.NET平台提供的对架构的

非功能性要求的支持。下面我们就来看下如何结合药店系统来分析架构。

        

药店系统-架构设计

 

 

 

首先、可以说现在的分层结构是非常的流行,也是很容易理解和很容易来使用,当然目前的任何架构其实都是可以通过分层来达到一定程度的职责分离和低耦合,高内聚

的原则,但是我们不会为了分层而分层,那样只会让我们的工作量变大和复杂。 完事都要讲究一个平衡。

下面我们来分析下,基于药店,我们来分析下药店系统可能的分层结构。

image_thumb[32]

当然上图只是给出了主要的功能模块,还有一些统计分析和基础数据维护等模块,并没有画上,我们只要满足这些主要的功能需求,下面我们来看看一些非功能性的需

求,我们在设计架构的时候,必须要考虑清楚非功能性需求,否则设计出来的结构只能失败。

非功能性需求如下:

1、要支持远程访问,多用户使用。

2、要性能高,效率快,易用性。

3、可扩展,可维护。

基于上述的几点非功能性需求,刚好AgileEAS.NET敏捷开发平台,为我们提供了如下的高强度的支撑,下面我们画图来说明:

1、支持远程访问,多用户使用。

image_thumb[38]

        当然普通形式也可以使用服务层,这里不会影响到具体功能的使用,这里想说的是,平台默认提供了对分布式服务的支持。可以做到无缝的切换。关于具体的分层设计与

大家原来的多次结构并不冲突,只不过DAL层已经默认是充血模型了。

2、高性能,易用性等。

image_thumb[43]

3、可扩展性及可维护性

image_thumb[47]

由于平台采取的平台+插件的组织形式,因此可以做到如下要求:

1、可扩展。

2、并行开发。

3、平台提供插件的配置与管理。包括资源的分配与回收,生命周期等管理。

下面我们就来分析下根据上述的非功能性需求,我们必须要完成的开发工作原本是要实现分布式访问的支持,现在我们不需要实现这些内容,AgileEAS.NET平台已经为我

们实现了,我们只是在使用该分布式访问服务时满足相应的服务定义要求即可。我们具体的使用要求及定义要求,我们会在后续的服务层的开发过程中讲述。

药店系统的架构设计:

1、结合前面的非功能性需求,我们设计出如下架构:

image_thumb[50]

2、当然如果说访问太频繁或者数据交互量大,我们还可以抽出DTO。

image

3、结合MVC框架来使用该架构:

image

        当然具体的应用场景如何结合来设计等,就是看我们应用场景的需求了,我们本系列将以第一个架构为最终的版本来进行开发,我们选取该架构的主要原因是简单,可

行,并且能够满足需求。

 

 

总结

 

        本篇主要是分析了AgileEAS.NET的架构及分析了药店系统的整体架构设计,我们并没有关注一些细节方面的内容,后续关于一些更详细的内容,将会在后面的开发过程中

体现。当然由于本人水平有限,部分不足或者设计剖析错误之处,还请大家指定。

 

药店系统源码

         download3

更多交流

官方博客:http://www.smarteas.net/

官方网站:http://www.agilelab.cn/

如果您在使用AgileEAS.NET开发平台中有什么问题,请使用如下几种联系方式或者沟通方式。

1、电话-邮箱方式:

何戈洲hegezhou_hot@163.com 手机:18691480181 博客:http://www.cnblogs.com/hegezhou_hot/

2、QQ交流群:

308961614 网名:H.O.T


作者:IT行者-何戈洲
出处:http://www.cnblogs.com/hegezhou_hot/
2007年大学毕业后便投入到计算机行业中,先后涉足(电信、电子商务、教育、医疗、工程建筑、项目管理、房产)等行业,目前有比较丰富的技术及行业经验,技术方面涉及(Java、Go、.NET、Python、设计模式、系统架构、PM管理流程、软件工程、敏捷开发、SOA、云计算、大数据、区块链、WF、SAAS等领域),结合业务可提供(EIP、ERP、HIS、B2B、B2C、B2B2C、CRM、OA、O2O等)业务及技术解决方案,随着时间的推移,目前已逐步转向管理方面,欢迎同行一起交流学习,个人平时爱好体育运动、音乐、旅游等,向往丰富多彩的生活旅程。如有问题或建议,请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过hegezhou_hot@163.com  联系我,非常感谢。
其他联系方式:
电话:13716055594
联系人:何戈洲
微信联系我:

CallHot

反馈文章质量,你可以通过快速通道评论:
目录
相关文章
|
5月前
|
消息中间件 前端开发 小程序
一个基于.NET Core构建的简单、跨平台、模块化的商城系统
今天大姚给大家分享一个基于.NET Core构建的简单、跨平台、模块化、完全开源免费(MIT License)的商城系统:Module Shop。
|
5月前
|
小程序 C# 数据库
3个.NET开源、免费、强大的商城系统
今天大姚给大家分享3个.NET开源、免费、强大的商城系统,希望可以帮助到有商城系统开发需求的同学。
127 1
|
11天前
|
JSON 安全 数据安全/隐私保护
从0到1搭建权限管理系统系列三 .net8 JWT创建Token并使用
【9月更文挑战第22天】在.NET 8中,从零开始搭建权限管理系统并使用JWT(JSON Web Tokens)创建Token是关键步骤。JWT是一种开放标准(RFC 7519),用于安全传输信息,由头部、载荷和签名三部分组成。首先需安装`Microsoft.AspNetCore.Authentication.JwtBearer`包,并在`Program.cs`中配置JWT服务。接着,创建一个静态方法`GenerateToken`生成包含用户名和角色的Token。最后,在控制器中使用`[Authorize]`属性验证和解析Token,从而实现身份验证和授权功能。
|
2月前
|
设计模式 存储 前端开发
揭秘.NET架构设计模式:如何构建坚不可摧的系统?掌握这些,让你的项目无懈可击!
【8月更文挑战第28天】在软件开发中,设计模式是解决常见问题的经典方案,助力构建可维护、可扩展的系统。本文探讨了.NET中三种关键架构设计模式:MVC、依赖注入与仓储模式,并提供了示例代码。MVC通过模型、视图和控制器分离关注点;依赖注入则通过外部管理组件依赖提升复用性和可测性;仓储模式则统一数据访问接口,分离数据逻辑与业务逻辑。掌握这些模式有助于开发者优化系统架构,提升软件质量。
41 5
|
2月前
|
C# Windows 开发者
超越选择焦虑:深入解析WinForms、WPF与UWP——谁才是打造顶级.NET桌面应用的终极利器?从开发效率到视觉享受,全面解读三大框架优劣,助你精准匹配项目需求,构建完美桌面应用生态系统
【8月更文挑战第31天】.NET框架为开发者提供了多种桌面应用开发选项,包括WinForms、WPF和UWP。WinForms简单易用,适合快速开发基本应用;WPF提供强大的UI设计工具和丰富的视觉体验,支持XAML,易于实现复杂布局;UWP专为Windows 10设计,支持多设备,充分利用现代硬件特性。本文通过示例代码详细介绍这三种框架的特点,帮助读者根据项目需求做出明智选择。以下是各框架的简单示例代码,便于理解其基本用法。
72 0
|
2月前
|
开发者 API Windows
从怀旧到革新:看WinForms如何在保持向后兼容性的前提下,借助.NET新平台的力量实现自我进化与应用现代化,让经典桌面应用焕发第二春——我们的WinForms应用转型之路深度剖析
【8月更文挑战第31天】在Windows桌面应用开发中,Windows Forms(WinForms)依然是许多开发者的首选。尽管.NET Framework已演进至.NET 5 及更高版本,WinForms 仍作为核心组件保留,支持现有代码库的同时引入新特性。开发者可将项目迁移至.NET Core,享受性能提升和跨平台能力。迁移时需注意API变更,确保应用平稳过渡。通过自定义样式或第三方控件库,还可增强视觉效果。结合.NET新功能,WinForms 应用不仅能延续既有投资,还能焕发新生。 示例代码展示了如何在.NET Core中创建包含按钮和标签的基本窗口,实现简单的用户交互。
53 0
|
2月前
|
开发框架 NoSQL .NET
使用 Asp.net core webapi 集成配置系统,提高程序的灵活和可维护性
使用 Asp.net core webapi 集成配置系统,提高程序的灵活和可维护性
|
4月前
|
开发框架 前端开发 .NET
LIMS(实验室)信息管理系统源码、有哪些应用领域?采用C# ASP.NET dotnet 3.5 开发的一套实验室信息系统源码
集成于VS 2019,EXT.NET前端和ASP.NET后端,搭配MSSQL 2018数据库。系统覆盖样品管理、数据分析、报表和项目管理等实验室全流程。应用广泛,包括生产质检(如石化、制药)、环保监测、试验研究等领域。随着技术发展,现代LIMS还融合了临床、电子实验室笔记本和SaaS等功能,以满足复杂多样的实验室管理需求。
72 3
LIMS(实验室)信息管理系统源码、有哪些应用领域?采用C# ASP.NET dotnet 3.5 开发的一套实验室信息系统源码
|
3月前
|
开发框架 监控 NoSQL
.NET开源的实时应用监控系统 - WatchDog
.NET开源的实时应用监控系统 - WatchDog
|
3月前
|
SQL JavaScript 安全
基于.NET开源跨平台的文档管理系统
基于.NET开源跨平台的文档管理系统
114 0
下一篇
无影云桌面