当前位置:好一点 > 教育资讯 >高考政策 >正文

软件工程中软件结构图和层次图的异同

更新:2023年02月17日 10:47 好一点

好一点小编带来了软件工程中软件结构图和层次图的异同,希望能对大家有所帮助,一起来看看吧!
软件工程中软件结构图和层次图的异同

软件工程中软件结构图和层次图的异同

两者之间没有区别。两者指的均是软件构架,为软件系统的草图。

软件工程中软件结构图和层次图均是为了反映软件系统中组件之间相互关系和约束的体系结构设计图,属于一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。

软件结构图(又被叫做软件构架)一般通过分层次或分时间段等方式说明体系结构的各个组成部分的组合关系。描述的对象是直接构成系统的抽象组件,各个组件之间的连接则明确和相对细致地描述组件之间的通讯关系。

扩展资料:

其他介绍:

软件结构图包括架构元件、联结器、任务流。所谓架构元素,也就是组成系统的核心砖瓦,而联结器则描述这些元件之间通讯的路径、通讯的机制、通讯的预期结果,任务流则描述系统如何使用这些元件和联结器完成某一项需求。

通过一个软件结构图建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。在建造一个系统之前会有很多的重要决定需要事先作出,而一旦系统开始进行详细设计甚至建造,这些决定就很难更改甚至无法更改。显然,这样的决定必定是有关系统设计成败的最重要决定,必须经过非常慎重的研究和考察。

参考资料来源:百度百科-软件构架

参考资料来源:百度百科-软件结构图

参考资料来源:百度百科-软件体系结构(学科名称)

软件系统结构图的宽度是指什么?

软件系统结构图的宽度是指整体控制跨度(最大模块数的层)的表示。

系统架构指的完整系统的组成架构,例如系统分成几个部分。服务平台、管理门户、终端门户、ATM门户、外部系统以及接口、支撑系统等,将这些系统进行合理的划分。

然后再进行功能分类细分,例如服务平台内部划分为系统管理、用户管理、帐号管理、支付管理、接口层、统计分析等逻辑功能。总之,将整个系统业务分解为逻辑功能模块,并且科学合理,就是系统架构了。

技术架构,从技术层面描述,主要是分层模型,例如持久层、数据层、逻辑层、应用层、表现层等,然后每层使用什么技术框架,例如Spring、hibernate、ioc、MVC、成熟的类库、中间件、WebService等,分别说明,要求这些技术能够将整个系统的主要实现概括。

应用架构主要考虑部署,例如你不同的应用如何分别部署,如何支持灵活扩展、大并发量、安全性等,需要画出物理网络部署图。按照应用进行划分的话,还需要考虑是否支持分布式SOA。

技术架构关注的是技术的分层及描述(不单纯只写mvc),关键技术的方案(如事务处理、缓存与集群等)应用架构关注的是:应用功能的划分、应用功能集成和应用功能部署。

扩展资料:

软件结构图是为了反映软件系统中组件之间相互关系和约束的体系结构设计图,称为软件体系结构图更为合适,一般通过分层次或分时间段等方式说明体系结构的各个组成部分的组合关系。

在结构化设计方法中,软件结构图主要分为变换型软件结构图和事务型软件结构图两种。

软件结构包括构成系统的设计元素的描述、设计元素之间的交互、设计元素的组合模式以及在这些模式中的约束。一个系统由一组构件以及它们之间的交互关系组成,这种系统本身又可以成为一个更大的系统的组成元素。

参考资料:百度百科-软件结构图

什么叫做软件系统结构图的宽度?

软件系统结构图的宽度是指整体控制跨度(最大模块数的层)的表示。

系统结构图架构的几个要点:

系统安全这是首要考虑的,网络可以划分为3个区:

DMZ区可以直接公网访问,也可以与AppCore区互通,但不能直接与DBCore区互通(通常这里放置反向代理Web服务器);

AppCore区能与DMZ区、DBCore区互通,但是无法直接从公网访问(通常这里放置应用服务器、中间件服务器之类);

DBCore区仅与AppCore区互通(通常这里放置核心数据库)。除了“硬件负载均衡”节点外,其它节点都可以部署成集群(DB有点特殊,传统RDBMS要实现分布式/集群还是比较困难的,要看具体采用的数据库产品,并非所有数据库都能方便的做Sharding。

Jboss本身可以通过Domain模式+mod_cluster实现集群、Redis通过Master/Slave以Sentinel方式可以实现HA、IBMMQ本身就支持集群、FTPServer配合底层储存阵列也可以做到HA、Nginx静态资源服务器自不必说。

尽量采用开源成熟产品,jboss、redis、nginx、apache、mysql、rabbitMQ都是很好的选择。硬件负载均衡通常成本不低,但是效果明显,如果实在没钱,域名解析采用DNS轮询策略,也能达到类似效果,只不过可靠性略差。

常规企业应用中,传统关系型数据仍然是主流,但是no-sql经过这几年发展,技术也日渐成熟了,一些非关键数据可以适当采用no-sql数据库,比如:系统日志、报文历史记录这类相对比较独立,而且增长迅速的数据,可以考虑存储到no-sqldb甚至HDFS、TFS等分布式开源文件系统中。

如果系统数据量级达到单机RDBMS的上限,尽早考虑Sharding方案,目前mysql在这方面比较成熟,其它数据库就不好说了。

webserver、appserver这些一般都可以通过集群实现横向扩张,满足性能日常增长的需求。最大的障碍还是DB,如果规模真达到了DB的上限,还是考虑换分布式DB或者迁移到“云”上吧。

扩展资料:

软件结构图是为了反映软件系统中组件之间相互关系和约束的体系结构设计图,称为软件体系结构图更为合适,一般通过分层次或分时间段等方式说明体系结构的各个组成部分的组合关系。

在结构化设计方法中,软件结构图主要分为变换型软件结构图和事务型软件结构图两种。

软件结构包括构成系统的设计元素的描述、设计元素之间的交互、设计元素的组合模式以及在这些模式中的约束。一个系统由一组构件以及它们之间的交互关系组成,这种系统本身又可以成为一个更大的系统的组成元素。

参考资料:百度百科-软件结构图

软件结构图怎么画

软件体系结构参考图如下:


软件架构是一种无法以简单的一维方式进行说明的复杂实体。
-Paul Clements 《软件架构编档》

正如上面提到的,不同的受众,比如用户、客户、开发人员、测试人员、运维人员,需要从各自工作的角度去理解和使用架构。所以回答这个问题,需要首先了解这幅架构图画出来是给谁看,你想从那个维度去入手。
确定了这个问题之后,再来了解架构视图有哪些维度和组成要素:
1. 架构视图
最经典的当属4+1视图:

逻辑视图
开发视图
过程视图
物理视图
场景视图

4+1视图提出后,业界也有其它的观点提出,诸如SEI(模块视图、组建和连接件视图、分配视图)、西门子4种视图(概念、模块、代码、执行视图)、以及RM-ODP(企业视图、信息视图、计算视图、工程师图)等。
常见的视图除了上述4+1视图外还包括:数据视图、安全视图、实现视图等。
2. 了解架构视图的四要素

图示化主要元素和元素之间的关系
具有明确的图例、定义和说明元素
每个元素具备明确的接口和行为规范
设计原理和设计决策的信息


3. 简单说一下几个视图针对的角色和维度:
逻辑视图一般针对客户、用户、业务人员、开发组织,主要从系统的功能元素、以及它们的接口、职责、交互维度入手。主要元素包括系统、子系统、功能模块、子功能模块、接口等。
开发视图一般针对开发和测试相关人员,主要描述系统如何开发实现;主要元素包括描述系统的分层、分区、框架、系统通用服务、业务通用服务、类和接口、系统平台和大基础框架。用途是知道开发设计和实现。
物理视图一般针对系统运维人员、集成人员,它是系统逻辑组件到物理节点的映射,节点与节点间的物理网络配置等,主要关注非功能性需求,诸如性能(吞吐量)、可伸缩性、可靠性,可用性等,从而得出相关的物理部署结构图。

以上就是好一点整理的软件工程中软件结构图和层次图的异同相关内容,想要了解更多信息,敬请查阅好一点。

与“软件工程中软件结构图和层次图的异同”相关推荐

每周推荐




最新文章

山东大学有哪些专业比较强

山东大学有哪些专业比较强

时间:2024年12月22日
公司介绍  联系我们
  鲁ICP备2021028409号-10

好一点 淄博机智熊网络科技有限公司版权所有 All right reserved. 版权所有

警告:未经本网授权不得转载、摘编或利用其它方式使用上述作品