“架构”一词最早来自建筑学,原意为建筑物设计和建造的艺术。但是在软件工程领域,软件架构不是一个新名词,只是在早期的著作中人们将软件架构称为软件体系架构。这就是架构的概念。所谓架构,就是人们对一个结构内的元素及元素间关系的一种主观影射的产物。
系统架构的主要任务是界定系统级的功能与非功能要求、规划要设计的整体系统的特征、规划并设计实现系统级的各项要求的手段,同时利用各种学科技术完成子系统的结构构建。
在系统架构中,由于对软件越来越深入的依赖,软件架构的任务也体现出重要的作用。而且系统架构与软件架构是紧密联系和相互依赖的。
1997年,Eberhadrt Rechtin 与MarkW Maier 在其论著中,为计算机科学总结了系统架构方面的实践成果,从而奠定了系统科学和系统架构在计算机科学中的基石:
无论何种系统架构应用领域,目的都是一样的,即完整地、高一致性的、平衡各种利弊的、有技术和市场前瞻性的设计系统和实施系统。
如何进行软件架构设计?
软件系统架构设计方法步骤
基于体系架构的软件设计模型把软件过程划分为体系架构需求、设计、文档化、复审、实现和演化6个子过程,现逐一简要概述如下。
体系架构需求。即将用户对软件系统功能、性能、界面、设计约束等方面的期望(即“需求”)进行获取、分析、加工,并将每一个需求项目抽象定义为构件(类的集合)。
体系架构设计。即采用迭代的方法首先选择一个合适的软件体系架构风格(如C/S、B/S、N层、管道过滤器风格、C2风格等)作为架构模型,然后将需求阶段标识的构件映射到模型中,分析构件间的相互作用关系,最后形成量身订做的软件体系架构。
体系架构文档化。即生成用户和研发人员能够阅读的体系架构规格说明书和体系架构设计说明书。
体系架构复审。即及早发现体系架构设计中存在的缺陷和错误,及时予以标记和排除。
体系架构实现。即设计人员开发出系统构件,按照体系架构设计规格说明书进行构件的关联、合成、组装和测试。
体系架构演化。如果用户需求发生了变化,则需相应地修改完善优化、调整软件体系结构,以适应新的变化了的软件需求。
结构设计需要用哪些软件
做结构设计必须要会CAD、探索者、里正、PKPM等软件。
尤其是pkpm2010,现在都是电算。设计时最好手上有三大基本规范:抗震、高规、混凝土规范,其中抗规最为重要,pkpm很多参数要根据抗规输入。而且结构周期、刚度、位移要符合规范。建议把pkpm基本教程学会。还有TBSA、3D3S、etabs、sap2000等软件。
建筑结构设计的软件有哪些?
首选PKPM,其次是探索者与天正结构。
一、对于多高层结构的设计优先选择PKPM、ETABS和MTS;另外也可以选择SAP2000、MIDAS、STAAD PRO和ROBOT、3D3S;如果是计算分析,随便选一个通用有限元软件即可,强烈推荐ANSYS。
二、对于空间结构的设计优先选择SAP2000、MIDAS、STAAD PRO和ROBOT;纯计算分析强烈推荐ANSYS、MIDAS、SAP2000和NASTRAN;
三、对于索膜结构可以选择ANSYS、EASY、FORTEN、3D3S。鉴于EASY、FORTEN一定要用正版,所以还是用ANSYS和3D3S比较现实。
四、对于动力弹塑性分析建议采用ABAQUS和LS-DYNA;另外也可以选用ETABS(多高层)、SAP2000、MIDAS(最近推出Building专门做动力弹塑性)。
五、节点细部分析,建议采用ANSYS、ABSQUS;也可以选用NASTRAN和MARC。
另外,对于一些特殊结构,考虑到可能会使用到简单的二次开发,还是选ANSYS、ABAQUS等带有编程语言的通用软件。
现在结构设计使用什么软件?
国内大多用PKPM计算,一些特殊的结构特别是工业建筑结构还有一些特殊的计算软件,另外理正工具箱计算单独的小构件也不错,还有探索者什么的,画图多用Autocad,外挂软件有天正建筑,探索者等。
用什么工具画 软件架构设计图
UIDesigner是腾讯用户研究与体验设计部(CDC)设计研发的一款设计类软件,打造一款可以让设计师统一平台和团队协作的平台型设计工具,经过1.0和2.0版本的经验沉淀,我们决定对3.0版本进行全新的架构设计。
开发一个软件系统,前期的架构设计承载着整个软件的设计思想和关键决策,可以说是重中之重。
根据软件架构设计思想,关注分割和交互,好的架构必须使每个关注点相互分离。我们进行了最基本的需求分析,得出两个关注点:一是工具,二是设计绘图,关系如图1所示。
得到最基本的两个关注点后,接着将提取关键需求(包括:关键功能需求、关键质量需求和关键商业需求),根据两个关注点进行架构的细化设计。
一、关注点——工具
这里我们结合UIDesigner的实际需求,提取出属于“工具”范畴的关键功能需求、关键质量需求和关键商业需求。
首先,“工具”的关键功能需求,必须包括:磁盘文件读写、异常捕捉、日志记录、安全性管理;非工具所必须,但是UIDesigner本身所要求的,包括:配置管理、缓存管理、线程服务、服务器和客户端通讯管理、国际化服务。
其次,“工具”的关键质量需求,质量需求包括开发期质量需求和运行期质量需求两部分,经过分析和权衡,UIDesigner的性能主要取决于设计绘图,而稳定性、可扩展性和可维护性才是决定“工具”本身发展的质量需求,因此,对“工具”的质量需求设计将以稳定性、可扩展性和可维护性为主。
最后,“工具”的关键商业需求,因为UIDesigner本身并没有很复杂的业务需求,因此关键商业需求是在设计流程的优化和规范上得到体现,这方面的设计已经属于高层模块和使用流程的设计,对架构的影响非常小,可以暂时性的忽略。
经过关键需求的提取,我们得到了“工具”的设计目标——可以提供通用功能(关键功能需求)的高稳定性、扩展性和维护性的客户端应用。根据此目标,我们采取了DI(Dependency-Injection)和MVP(Model-View-Presenter)结合的架构,概念架构设计如图2所示。
软件开发的架构设计指的是什么?
主要指的是你所开发的总体结构框架,你说实现的那些功能,和功能的结构图什么的。还要写需求分析等等
如何进行软件架构设计?
软件系统架构设计方法步骤
基于体系架构的软件设计模型把软件过程划分为体系架构需求、设计、文档化、复审、实现和演化6个子过程,现逐一简要概述如下。
体系架构需求。即将用户对软件系统功能、性能、界面、设计约束等方面的期望(即“需求”)进行获取、分析、加工,并将每一个需求项目抽象定义为构件(类的集合)。
体系架构设计。即采用迭代的方法首先选择一个合适的软件体系架构风格(如C/S、B/S、N层、管道过滤器风格、C2风格等)作为架构模型,然后将需求阶段标识的构件映射到模型中,分析构件间的相互作用关系,最后形成量身订做的软件体系架构。
体系架构文档化。即生成用户和研发人员能够阅读的体系架构规格说明书和体系架构设计说明书。
体系架构复审。即及早发现体系架构设计中存在的缺陷和错误,及时予以标记和排除。
体系架构实现。即设计人员开发出系统构件,按照体系架构设计规格说明书进行构件的关联、合成、组装和测试。
体系架构演化。如果用户需求发生了变化,则需相应地修改完善优化、调整软件体系结构,以适应新的变化了的软件需求。
转载请注明出处51数据库 » 软件结构设计 什么是软件系统架构设计