===================================================================== 【 IT 先 锋 系 列 研 讨 会 】 http://www.itxf.com 《 建立稳定的软件架构 》 -----以面向对象的角度,从需求工程到组件微架构设计 时 间 【 2003 年 4 月 19 日 周六 下午 2 点 】 地 点 【 中科院图书馆新馆 报告厅 】 具体方位见http://www.itxf.com/activity/adress.htm ============================================================================== 一、主 持 人: 徐 毅 -- IT先锋成员 tel:62780066-394 E-MAIL: xuas@163.net 二、内容简介 技术重点:面向对象分析设计、架构、组件、需求、软件工程 背景: 在软件项目研发过程中,经常会遇到这样的情况,在巨大的项目进度和成本压力下,项目总算完成。其后随着软件产品的版本根据用户需求不断升级,项目的维护工作量随着软件规模的增大直线上升。经常要作做出结构性的调整,付出巨大的代价。试想如果能够在产品设计阶段由系统架构师定义一个良好的软件系统架构,充分考虑系统架构的稳定性、扩展性、灵活性。将会给软件项目的研发带来很大的好处。本次研讨会由系统架构方面的专家桑博士为大家带来他的心得体会。 内容: 软件系统架构定义, 主要讲解Mary Shaw以及UML定义 为什么需要系统架构? 从组件重用和成功的软件过程实践两方面讲解。 怎样才算较为稳定的架构? 适应变化、变化局部化。 如何建立较为稳定的架构? 1.业务建模方面 不单独进行业务建模而注重领域建模、业务建模两阶段; 2.系统建模方面 分层、粗颗粒组件化、参数化、业务逻辑脚本由业务人员维护、业务规则、数据化/持久化/触发自动化 何谓OO的系统架构? 分布式系统架构与J2EE关系;如何区分J2EE与分布式系统架构的分工、业务组件如何与J2EE兼容。 三、主讲人介绍: 桑大勇,历任公司技术负责人,‘武汉大学 软件工程国家重点实验室’博士后、副教授,‘西安电子科技大学 软件工程研究所’博士。获得IBM的对象技术专家认证. 曾参与或主持大型企业的物资供应intranet和管理信息系统的业务建模和需求分析,行业企业供应链管理系统的领域分析、架构设计等。组件模型设计和组件库管理工具的设计. 研究经历: 1.基于互联网的软件组件重用技术和软件体系结构 2.面向对象程序设计(OOP)理论 3.面向对象组件重用技术研究 发表中英文论文数十篇。 ---------------------------------------------------------------------- 研讨会秉承自由开放的精神,免费参加 最新信息请到http://www.itxf.com/ 上去查询。 随时获得最新的研讨会信息,请登记我们的邮件列表:发一封subject email:xuas@163.net
如能转发,不胜感谢。 研讨会背景如下 http://www.itxf.com IT先锋,一直活跃在信息技术领域前沿、致力开发企业规模的培训课程以及IT先进技术的推广,面向广大技术人员提供高品质的培训,并为业内公司提供优秀的解决方案和顾问咨询。 IT先锋,作为北京信息技术领域的排头兵,在广大信息技术研究人员中已有了良好的社会基础和声誉。我们的成员遍布研究院所和高技术公司,技术核心为信息技术各领域的青年专家,他们来自自由程序员、清华大学、北京大学、中国科学院、北航、北邮、各大高科技公司。就是这样一群朝气蓬勃的年轻人组成了IT先锋科技的灵魂,并重点负责整个团队的运作。“空谈误国,实干兴邦”是我们坚持不变的做事原则! 从清华大学东门外“三才堂”的几人小组,到北京大学理科一号楼操作系统实验室的数十人沙龙,再到中国科学院声学所的DSP大楼的数百人论坛,IT先锋的逐渐成熟已成为IT业界很具影响力的一股力量。如今, 我们的发展壮大,也带来了高技术公司的项目经理和研发人员的不断加入,我们每次活动的影响力已波及上万名系统及研发人员。 “IT先锋”不断进取和完善,作为日益成熟并稳固发展的技术性团队,我们将会更好的规划与组织,紧锣密鼓地配合与跟进,给广大技术人员理想而清晰的发展空间。 研讨会遵循“为之贡献,从中获益”的精神,营造一个良好的交流环境是我们的重要工作之一。我们希望将最新、最有潜力的信息技术传播给中国的广大技术人员,促进技术人员之间的交流与协作。我们的讲座、论坛是完全开放的、免费的。我们针对不同的技术领域,结合不同时期的技术热点和重点,举办各种主题的技术讲座,邀请该领域的专业人士来讲述当今技术潮流,勾画信息技术的未来,传授实用的技术方法。 “IT先锋”给了大家面对面交流的机会,并欢迎任何形式的技术交流,包括个人和公司到研讨会现场进行演讲和交流。我们希望参与者能通过每一次交流而获得更新、更及时的信息,在众人智慧下解决一些疑难问题,在"百家争鸣"的热烈气氛中迸出火花。 每次研讨会上都会技术演讲,作为一个主题并展开分组讨论。我们希望凡是参加者,都应认真思考,介绍自己的成果和感兴趣的技术方向,积极探讨问题(我们不欢迎只索取不贡献)。 “IT先锋系列研讨会”原则上每月举行1次以上。 活动形式 1、每月定期举办专题技术交流活动 2、开展IT技术的专项研究,使得交流活动进一步深入。 3、我们的活动通过IT先锋网站、IBM developerWorks中国网站、其他技术型网站及我们的邮件列表发布。 4、每次论坛都会有人作技术演说,作为一个主题,然后分组讨论。 5、我们要求凡是参加研讨会的人,都进行认真的思考,抱着开放自由的精神,积极探讨问题,只索取不贡献是不被欢迎的。 如何参与: 1、IT先锋秉承自由开放的精神,对参加者不作任何的身份限制。 2、欢迎IT界人士到IT先锋研讨会来推广交流先进的技术和思想。 3、参加者一律平等,禁止任何形式的歧视、嘲讽和人身攻击。 4、这里提倡“为之贡献,从中获益”的精神。 5、通过加入我们网站的邮件列表,获取最新的通知消息。 6、通过网站技术论坛发表你的看法和问题。 7、请参加者认真填写我们的登记表,以便获得最新的活动信息。 8、我们现场会有奖品发放给积极思考发言的朋友
本次活动是免费,自由参加的。 地点是在北京。 你只需要在入场时候填写一个登记表,就可以进入会场了。
软件架构设计师在开发团队中的角色定位 徐毅 xuas@163.net 如果将整个软件项目团队中的开发角色分成 管理人员、业务专家、开发人员、测试人员等。那么软件架构设计师是一名开发人员。他是开发人 员中的领导,可以称为首席程序员。 软件架构设计师与一般编程设计人员的区别在于:他站在整个系统中更高的抽象层次上,或者说软件架构设计师站在系统宏观的视角上对系统 进行定义和设计。 那么软件架构设计师的职责是什么呢?在项目初期系统研发的技术平台的选择(比如 是.net还是j2ee)。系统采用那一种框架(framwork)。 进一步的在研发过程中,软件架构师要对系统结构进行设计,划分子系统,将系统研发人物分配给编程设计人员,确定底层重用组件,和组件 的接口定义。同时制定研发过程中的“标准”,包括“设计指南”在子系统设计层面上对编程设计人员进行规范,“编码指南”对在编码风格 层次上对编程设计人员进行规范。 因此从软件架构设计师的工作来看,软件架构设计师要有相当的经验,指导团队在合适的技术道路上前进。并且根据以往的积累,复用以前的 架构和组件。在目前许多公司有多个项目组,他们往往各自为战,重复开发通用的模块,缺乏必要的沟通。软件架构设计师应该负责定义公司 的组件标准和复用基础。所以软件架构设计师是软件技术层面上的宏观把握者和底层研发标准的制定者。 本次研讨会就是针对软件架构师的研讨会。 http://www.itxf.com
说的不错。
这次桑博士主要从他的经验来谈。 不是普及讲座。 希望能够在研讨会上和大家交流。
可惜我不在北京,预祝你们会议取得成功。
要是有记录能贴出来就好了
以下是研讨会涉及的部分内容:(注意只是部分内容) 为什么需要系统架构 --过程经验 早期开发和验证系统架构并在其周围构建系统的其余部分 --降低技术风险 --系统其余部分可并行开发 --Rational Unified Process --SunTone AM (RUP for J2EE) 怎样才算较为稳定的架构 适应变化(战略) --不变的是需求不断变化 --保证本系统能易于响应变化 --保证本架构能易于在领域内重用 模型元素内聚外散(战术) --使得不同部分可独立演化 --使得系统构成有更多选择 灵活程度需要折衷 --Martin Fowler < 如何建立较为稳定的架构 需求工程 建立领域模型,然后在领域模型的基础上建立业务模型 采用CBSD建立分层架构 中间件层均视作由组件构成 OS-通用组件-领域组件-应用系统 中间件层的标准化(国际/国家/企业) 需求工程(来自RUP实践) 谁主导需求工程 需求工程的目的 如何进行需求工程 需求工程产出物对架构设计有何影响 谁主导需求工程(排序) 用户 --系统范围 --业务流程 领域专家 --业务流程重组(BPR)/Consultant 建模人员 --业务(领域)模型文档化 --完成从业务模型到系统模型映射 GUI设计师 --业务(领域)模型可视化 需求工程的目的 致力于本次开发出正确的系统 --所得即所需(不多不少) 能为类似系统开发提供积累 --可重用的需求 能为用户需求变更(进化)做好准备 --相对稳定的需求与相对易变的需求 如何进行需求工程 建立领域模型 --目的:可重用的业务建模基础;统一术语;理解业务语境 --领域模型定义:应用领域中最重要的实体(领域对象,10-50个)及其静态关系 --主要产出物:业务对象模型(类图)、词汇表 --易犯错误:很快陷入细节 如何进行需求工程 领域模型实例(DNS Service) 如何进行需求工程 建立业务模型 --建立业务用例模型 --用UML活动图表示业务流程 --根据业务流程发掘业务对象的操作 --建立业务对象模型(领域模型+业务规则) 根据业务模型确定临时系统用例 --从每个业务角色的角度出发建模 捕获用例的非功能性需求 捕获用户补充需求(不与用例关联) 如何进行需求工程 根据临时系统用例建立GUI流转模型 --以每个用例为单位建模 --用UML状态图表示:状态节点表示界面;状态转换表示界面变换,guard condition表示非人为转换触发条件、event表示人为触发行为,etc. 建立GUI示意原型 --用户用以验证业务用例的准确性 如何进行需求工程 业务流程实例 GUI界面流转模型实例 GUI界面原型实例 如何进行需求工程
谢谢。 〕 不在北京,可以到我们的论坛上交流: http://itxf.clubhi.com
一般有我们的幻灯放在网站上 http://www.itxf.com
中科院: http://www.las.ac.cn/zxgl/XinGuanJZH.asp 在it先锋的历次活动中,这次场地比较高档,呵呵
ding
up
现在谈架构的人太少了.