`
izuoyan
  • 浏览: 9205664 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

.NET企业级应用架构设计系列之开场白

阅读更多

本文属spanzhang(张友邦)原创,发布地址为:http://blog.csdn.net/spanzhang。转载或引用请注明原文之出处,谢谢!

其实很久以前就想写点关于架构设计方面的东西,一直以来都没有最终落到实处。正好这段时间在做一个WEB架构,决定把和架构设计有关的内容写成一个系列文章。算是回馈CSDN提供的各种免费服务,同时给初学架构设计的朋友一点小小的提示。在我工作的六年多时间里,除了第一年是纯粹编码以外,其余时间都在做和架构设计有关的工作,当然也还一直在写各种各样的代码。也就是说,我本人其实也只有不多的经验可以分享,所以文中肯定有一些观点不能让所有人都认同。如有异议,可以发邮件和我讨论。

1、架构设计是件容易的事情。
对于不熟悉的或者没有架构设计经验的程序员来说,架构设计可能看起来很神秘,不知道究竟该如何入手,也不清楚该注意些什么问题。其实架构设计也只是软件系统开发中的一个环节而已,整个软件系统的开发和维护以及变更还涉及到很多事情,包括技术、团队、沟通、市场、环境等等。在分析和设计架构的时候也是有很多套路和原则的,只要我们按照一些最基本最简单的思路和方向去分析问题,就能得到一个大体满足实际情况的架构。前面我曾写过两篇关于人脑思考复杂系统的文章:《破解复杂性》以及《和SOA一起对抗复杂性》。这是软件开发中的方法论问题,可以贯穿于软件开发的多个阶段,包括架构设计、编码实现、后期维护等。掌握一定的原则,对架构设计能带来事半功倍的效果。

2、架构设计不是件简单的事情。
虽然架构设计是件容易的事情,但也不是大多数没有架构设计经验的程序员想象中的画画框图那么简单。把几台服务器一摆,每一台服务器运行什么软件分配好,然后用网络连接起来,似乎每个企业级应用都是如此简间单单的几步。但现实生活中的软件系统实实在在可以用复杂大系统来形容,从规划、开发、维护和变更涉及到许许多多的人和事。架构设计就是要在规划阶段都把后面的事情尽量把握进来,要为稳定性努力,还要为可维护性、扩扩展性以及诸多的性能指标而思前想后。除了技术上的考虑,还要考虑人的因素,包括人员的组织、软件过程的组织、团队的协作和沟通等。也许你会说那些都是项目管理上的事,和架构设计没关系。但一个团队成员无法实现的架构没有任何实际意义。另外,现在是解决方案满天飞的时代,很多事情都可以用多种途径来解决,如何在五花八门的选项中间做出决定,可能让很多人都头疼过。自己的经验、团队的素质、领导的要求、环境的压力以及市场的变化,够折腾了。

3、架构设计需要方法论的指导
所以,总的说来,在正确的方法论指导下,复杂的架构设计其实是件容易的事情。这些方法论的思路包括,至上而下的分析,关注点分离,横向/纵向模块划分等。有时候觉得架构设计决策就像是浏览Google Earth,实际上反映的是一种自上而下的决策过程。对问题的分解是软件思维的基本素质,可以有横向分解、纵向分解以及两者的结合。能不能有效快速准确的分解问题,是软件开发人员需要首先训练的项目。另外,架构设计中图形化的工具非常有用,它能把系统的结构和运作机制以图形化的方式表达出来。也正因为这样才有了架构设计就是画框图的误会。再者,架构设计是一个工程性质的工作,对当事人的实际从业经验要求较高。只有对市场上的各种技术有较全面的了解之后才有可能设计出一个尽可能满足各种设计约束的架构。

先说这么多吧,算是一个开场白。欢迎关注后面的详细内容。

分享到:
评论

相关推荐

    软件架构设计试图模板文档

    《软件架构设计试图模板文档》 软件架构设计是软件开发过程中的关键环节,它定义了系统的组织结构和组件,以及这些组件之间的关系。一个清晰、完整的软件架构设计试图(template)能够帮助团队有效地规划和实施项目...

    软件工程专业--毕业设计-模板.doc

    本文档提供了一个软件工程毕业设计模板,包括标题、目录、摘要、引言、技术与原理、需求建模、架构设计、模块设计、部署与应用、结论、参考文献和附录等部分。 目录 目录是毕业设计的概括性文件,提供了整个设计的...

    信息管理与信息系统 论文答辩开场白

    * 系统的主要技术架构包括需求对后台数据库的概要设计、MyEclipse设计网站风格和布局、JSP与SQL语句的应用构造各模块的功能实现等。 三、系统分析与设计 * 系统分析的目的是根据需求和资源条件,以现状为基础,...

    医美培训演讲开场白培训演讲的精典开场白.docx

    医美培训演讲开场白培训演讲的精典开场白.docx

    Creative Present of Main Pages in www.coffeelife.net.cn.ppt

    【创意呈现主页面设计——以www.coffeelife.net.cn为例】 在网页设计领域,创新与吸引力是关键因素,能够使网站在众多竞争者中脱颖而出。"Creative Present of Main Pages in www.coffeelife.net.cn" 提供了一个...

    开场白的设计原则和方法.pdf

    一个精心设计的开场白可以决定整个活动的氛围和效果,甚至影响听众对后续内容的接纳程度。 首先,开场白的目标包括拉近与听众的距离、建立信任感和引发兴趣。培训师需要在短短的30秒内抓住学员的注意力,因为第一...

    毕业论文jsp83企业人事管理系统(jsp+servlet+sqlserver).doc

    MyEclipse开发工具可以与JSP、Servlet和SQL Server技术结合使用,实现企业级的Web应用程序。 7. B/S结构:B/S(Browser/Server)是一种软件架构模式,用于开发和实现Web应用程序。B/S结构可以与JSP、Servlet和SQL ...

    口语交际开场白PPT课件.pptx

    课件还提供了不同类型的开场白示例,如“爱的奉献”赈灾募捐义演活动和文学名著知识竞赛的开场白,这些例子进一步说明了如何根据不同的活动情境调整开场白的风格和内容,使之更贴近活动氛围。 在实际操作中,设计...

    企业年会开场白.docx

    【企业年会开场白】是公司举办年度盛会时主持人用于引导活动开始的演讲稿,它旨在营造气氛,向参与者表达欢迎和感激,并为后续的活动定下基调。开场白通常包含对过去一年的回顾,对未来的展望,以及对出席者的尊贵...

    英文报告开场白

    英文报告开场白 英文报告开场白是英文报告或演讲的开场白部分,它对于整个报告或演讲的成功起着至关重要的作用。开场白的主要目的是引起听众的注意,设定报告或演讲的基调,展现报告人的自信和专业水准。 在英文...

    参考资料-企业年会晚会主持词开场白.zip

    【企业年会晚会主持词开场白】是企业在年度重要活动——年会上,主持人用来开启整场晚会的重要环节。年会不仅是企业对过去一年工作成果的总结,也是员工间增进感情、提升团队凝聚力的重要平台。因此,主持人的开场白...

    毕业论文答辩开场白经典.docx

    本资源为毕业论文答辩开场白经典,主要内容为论文设计的目的和主要内容、论文结构和主要内容、论文写作和系统开发的过程等。 首先,本论文设计的目的及意义是作为计算机应用的一部分,图书销售管理系统对图书销售...

    软件详细设计例子

    引言部分是详细设计说明书的开场白,它对软件系统的背景、目的和定义进行了说明。在这个例子中,引言部分包括编写目的、背景、定义和参考资料四个方面的内容。 1.1 编写目的 编写目的部分对软件系统的设计目的和...

    企业迎新晚会主持词开场白.docx

    8. **企业文化展示**:晚会可能以公司歌曲或口号开始,如“xx之歌”,这既是对企业文化的传播,也是对企业精神的弘扬。 9. **新年寄语**:新年是新的起点,主持人的开场白通常会包含对新一年的寄语,鼓励员工以积极...

    幼儿园晨会开场白.doc

    幼儿园晨会开场白.doc

    开场白的设计原则和方法.doc

    开场白的设计原则和方法.doc

    【精】演讲稿开场白演讲稿开场白的作用有哪些.doc

    【精】演讲稿开场白的重要性 ...总的来说,演讲稿的开场白是演讲成功的关键一步,它既要吸引听众,又要为整场演讲定下基调,因此,演讲者需要精心设计,确保开场白既能引起共鸣,又能准确传达主题。

    广播站开场白.pdf

    在实际应用中,每一档节目都会根据其特色和目标听众来定制独特的开场白,既要在有限的时间内吸引听众,又要准确传递节目的核心价值。此外,为了确保开场白的质量,通常会有专门的团队对文案进行编辑、审核和演练,以...

    CMMI课件(快乐之旅-开场白)

    虽然没有涉及的内容仍有很多,但这门课程的设计旨在激发学习兴趣,让学员能够在轻松愉快的氛围中掌握CMMI的核心概念和实践应用。 总的来说,CMMI是一种强大的工具,旨在帮助组织提升其过程成熟度,实现更高效、更...

    一开场就抓住观众的注意力——演讲开场白技巧ppt模板.rar

    "一开场就抓住观众的注意力——演讲开场白技巧ppt模板"提供了一种有效的方法来设计和构建强大的开场白。以下是一些关键的演讲开场白技巧: 1. **引人入胜的故事**:开场时讲述一个相关的故事可以立即吸引观众的兴趣...

Global site tag (gtag.js) - Google Analytics