1、什么是软件系统架构设计
“架构”一词最早来自建筑学,原意为建筑物设计和建造的艺术。但是在软件工程领域,软件架构不是一个新名词,只是在早期的著作中人们将软件架构称为软件体系架构。这就是架构的概念。所谓架构,就是人们对一个结构内的元素及元素间关系的一种主观影射的产物。
系统架构的主要任务是界定系统级的功能与非功能要求、规划要设计的整体系统的特征、规划并设计实现系统级的各项要求的手段,同时利用各种学科技术完成子系统的结构构建。
在系统架构中,由于对软件越来越深入的依赖,软件架构的任务也体现出重要的作用。而且系统架构与软件架构是紧密联系和相互依赖的。
1997年,Eberhadrt Rechtin 与MarkW Maier 在其论著中,为计算机科学总结了系统架构方面的实践成果,从而奠定了系统科学和系统架构在计算机科学中的基石:
无论何种系统架构应用领域,目的都是一样的,即完整地、高一致性的、平衡各种利弊的、有技术和市场前瞻性的设计系统和实施系统。
2、请教大型WEB系统的架构设计和技术选型
前端jquery easyui就可以了 至于后端,如果要快速开发建议自己封装一个数据库连接池 用threadlocal实现事务即可,注意sql注入。 至于struct2也没太大必要,自己实现简单跳转+权限,几个class 1000行代码搞定
3、大型网站技术架构 核心原理与案例分析 有用么
编辑推荐
编辑
本书作者是阿里巴巴网站构建的亲历者,拥有核心技术部门的一线工作经验,直接体验了大型网站构建与发展过程中的种种生与死,蜕与变,见证了一个网站架构从幼稚走向成熟稳定的历程。
没有晦涩难懂的术语,没有诘屈聱牙的文句,没有故弄玄虚的观点……
明明白白的语句,清清楚楚的文法,干净利落的建议——让读者直接体会网站架构的紧要处,不容马虎的关键点——这恰好是一个优秀的网站架构所必备的要素。
如果说“水不在深,有龙则灵”,那么对于想了解网站架构的读者而言,这本书恰好是“书不在多,有它则行!”
还犹豫什么呢?
内容简介
编辑
本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布、运维监控等在内的大型网站开发全景视图。
本书不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经理、项目经理、测试运维人员等了解网站技术架构的基础概念;还可供包括企业系统开发人员在内的各类软件开发从业人员借鉴,了解大型网站的解决方案和开发理念。
4、大型网站架构模式有哪些
1.分布式
对于大型网站,分层和分割的一个主要目的是为了切分后的模块便于分布式部署,即将不同模块部署在不同的服务器上,通过远程调用协同工作。分布式意味着可以使用更多的计算机完成同样的功能,计算机越多,CPU、内存、存储资源也就越多,能够处理的并发访问和数据量就越大,进而能够为更多的用户提供服务。
2.分层
分层是企业应用系统中最常见的一种架构模式,将系统在横向维度上切分成几个部分,每个部分负责一部分相对比较单一的职责,然后通过上层对下层的依赖和调用组成一个完整的系统。
分层结构在计算机世界中无处不在,网络的7层通信协议是一种分层结构;计算机硬件、操作系统、应用软件也可以看作是一种分层结构。在大型网站架构中也采用分层结构,将网站软件系统分为应用层、服务层、数据层。
3.分割
如果说分层是将软件在横向方面进行切分,那么分割就是在纵向方面对软件进行切分。
网站越大,功能越复杂,服务和数据处理的种类也越多,将这些不同的功能和服务分割开来,包装成高内聚低耦合的模块单元,一方面有助于软件的开发和维护;另一方面,便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力。
4.集群
使用分布式虽然已经将分层和分割后的模块独立部署,但是对于用户访问集中的模块(比如网站的首页),还需要将独立部署的服务器集群化,即多台服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务。
5.缓存
缓存就是将数据存放在距离计算最近的位置以加快处理速度。缓存是改善软件性能的第一手段,现代CPU越来越快的一个重要因素就是使用了更多的缓存,在复杂的软件设计中,缓存几乎无处不在。大型网站架构设计在很多方面都使用了缓存设计。
6.异步
计算机软件发展的一个重要目标和驱动力是降低软件耦合性。事物之间直接关系越少,就越少被彼此影响,越可以独立发展。大型网站架构中,系统解耦合的手段除了前面提到的分层、分割、分布等,还有一个重要手段是异步,业务之间的消息传递不是同步调用,而是将一个业务操作分成多个阶段,每个阶段之间通过共享数据的方式异步执行进行协作。
5、java开发大型网站(流量大,数据大(上万G数据))用什么架构?
分着说,前后台分开。
1、前端使用轻便的方式,servlet/jsp/jstl,使用jdbc或者能控制sql的ORM,不过坦白说用哪个都没有SQL快,虽然hibernate也能控制sql生成,不会用。
2、前台要分析好,哪些是实时数据,哪些不是,对于那些不适实效很高的,用好缓存。有些东西可以采用生成静态页面的方式。
3、后台随便了,SSH,因为后台操作不是很频繁。但是如果有导数据,10万级导入,还是用jdbc。
4、如果是网站,不是什么重要的业务系统,数据库设计以快为主,表里面多冗余一些外键字段,让查询最简化。
这个软件方面,还有硬件架构,那更复杂,这里就不说了,毕竟不专业。
6、有什么比较好的软件架构和软件工程的书?
1.软件架构设计
作者: 温昱
内容简介:本书紧紧围绕“软件架构设计”这一主题,立足实践解析了软件架构的概念、阐述了切实可行的软件架构设计方法、提供了可操作性极强的完整的架构设计过程。另外,本书从思维方式的突破、面向对象设计、UML建模、过程与管理等关键过渡环节,为广大程序员的成长提供了切中肯綮的指导。本书可作为计算机软件专业本科生、研究生和软件工程硕士的软件架构设计教材,也可作为软件开发高级培训、软件开发管理培训的培训教材,更是第一线高级开发人员和开发管理人员的必备参考书。
作译者介绍
温昱,资深咨询顾问,CSAI特聘高级顾问,软件架构专家,软件架构思想的传播者和积极推动者。十年系统规划、架构设计和研发管理经验,在金融、航空、多媒体、网络管理、中间件平台等领域负责和参与多个大型系统的规划、设计、开发与管理。在《程序员》杂志、IBM DeveloperWorks等媒体发表了《图论思想与UML应用》、《敏捷设计从理论到实践》、《随需而变的RUP》等文章数十篇。译著有《应用框架的设计与实现——NET平台》等。
作者: 温昱
温昱 资深咨询顾问,CSAI特聘高级顾问,软件架构专家。软件架构思想的传播者和积极推动者,中国软件技术大会杰出贡献专家。千年系统规划、架构设计和研发管理经验,在金融、航空、多媒体、电信、中间件平台等领域负责和参与多个大型系统的规划、设计、开发与管理。作为资深咨询顾问,已为众多知名企业提供了卓有成效的架构培训与咨询服务。
同作者作品
软件架构设计(09年度畅销榜TOP50)
SQL语言艺术 (china-pub首发) (08年度畅销榜TOP50)
一线架构师实践指南(中大型系统架构设计指南)
2. 架构实战—软件架构设计的过程
原书名: The Process of Software Architecting
作者: (英)Peter EelesPeter Peter Cripps
译者: 蔡黄辉 马文涛
内容简介:本书从基本原理入手,介绍软件架构设计过程中涉及的一些概念、流程、方法、用到的工作产品及可重用的资源,从第6章开始,通过介绍一个具体的案例来阐述如何定义需求、创建逻辑架构、创建物理架构。在第10章“进阶”中,作者补充说明了架构师和软件开发项目其他方面的关系,后面又说明了各种软件开发项目可能存在的困难及相应的处理方法。
本书理论结合实践,介绍了一些可以应用到整个或部分的架构设计流程中的最佳方法。不管你是一位资深的架构师还是一位有志于成为架构师的初级使用者,通过阅读本书都能从中获益。
作译者介绍
Peter Eeles 是IBM的高级IT架构师,他就职于IBM的Rational品牌软件组。在这个职位上,他帮助组织提高软件开发能力,尤其关注和致力于改进架构流程。Peter从1985年开始从事软件行业,其主要工作是进行架构设计和实现大规模、分布式的系统。Peter是《Building J2EE Applications with the Rational Unified Process》(Addison?Wesley,2002)和《Building business Objects》(John Wiley & Sons,1998)的合著者。他还是英国计算机协会高级会员(FBCS)、工程技术协会(FIET)会员、IBM技术人员、Open Group
3. 面向模式的软件架构.第4卷,分布式计算的模式语言(经典POSA系列的第4卷)
原书名: Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing
作者: (德)Frank Buschmann (英) Kevlin Henney (美)Douglas C. Schmidt
译者: 肖鹏 陈立
内容简介:本书关注分布式计算系统软件的设计和实现。书中首先介绍理解本书内容所需的核心的模式概念,分布式计算的好处和挑战;然后描述如何使用分布式计算模式语言,设计真实世界中仓库管理流程控制系统;最后重点讲述分布式计算模式语言,该语言陈述了创建分布式系统相关的技术主题。
作译者介绍
Fralk Buschmann是德国慕尼黑西门子技术公司的高级总工程师。他的研究领域包括对象技术、软件架构、产品线、模型驱动软件开发和模式。他在该领域著作甚多,其中最引人注目的便是POSA系列的前两卷[POSA1][POSA2]和最近的两卷:本书和[POSA5]。Frank在1992年至1996年曾是ANSIC++标准化委员会X3J16的成员,于1996年发起了首届EuroPLoP会议,与人合作汇编了数本模式方面的书籍[PLoPD3][SFHBS06],现任Wiley软件设计模式丛书的主编。
译者: 肖鹏
肖鹏,ThoughtWorks高级咨询师,敏捷过程教练,面向对象分析和面向对象设计专家。拥有6年以上软件开发实践经验,多次担任国内大中型企业敏捷流程改进、面向对象分析和面向对象设计咨询和培训。他长期关注于设计模式、架构模式、敏捷软件开发等领域,并致力于软件开发最佳实践的推广和应用。
同作者作品
Visual Studio 2005技术大全(使.NET程序员事半功倍的利器)
Visual Studio 技术大全(微软技术大师力作)
面向模式的软件架构.第4卷,分布式计算的模式语言(经典POSA系列的第4卷)
7、如何评价一个大型网站系统架构设计的好坏
评价一个大型网站系统架构设计的好坏
说说我的看法,对不对的供参考吧!
首先,网站也好、其它信息化系统也好,其系统架构设计都不是拍脑袋来的,都是依据一个出发点设计而来,究其所以,就是需求。而这个需求又是从最初的建设初衷来的,也就是说,按说最后做出来的东西应该满足建设初衷。
所以,简言之,有什么样的需求就有什么样的架构设计。因此,要评价架构设计的好坏,就拿需求来衡量。能满足需求的架构设计,就是对的。不能满足,或者不能全面满足的,如果没有项目建设上的延期认可或者同意搁置的决定,就是不应该的。
注意:我说的需求,并不仅是针对功能范畴的;也包括性能、可用性、安全等方面。所以说需求是全面的内容。
小刚SEO为你解答。
8、软件开发的架构设计指的是什么?
主要指的是你所开发的总体结构框架,你说实现的那些功能,和功能的结构图什么的。还要写需求分析等等
9、如何评价一个大型网站系统架构设计的好坏?
说说我的看法,对不对的供参考吧!
首先,网站也好、其它信息化系统也好,其系统架构设计都不是拍脑袋来的,都是依据一个出发点设计而来,究其所以,就是需求。而这个需求又是从最初的建设初衷来的,也就是说,按说最后做出来的东西应该满足建设初衷。
所以,简言之,有什么样的需求就有什么样的架构设计。因此,要评价架构设计的好坏,就拿需求来衡量。能满足需求的架构设计,就是对的。不能满足,或者不能全面满足的,如果没有项目建设上的延期认可或者同意搁置的决定,就是不应该的。
注意:我说的需求,并不仅是针对功能范畴的;也包括性能、可用性、安全等方面。所以说需求是全面的内容。