体系结构--第1章--认识体系结构课件.ppt
文本预览下载声明
软件体系结构的应用现状 软件体系结构描述语言 体系结构描述构造与表示 体系结构分析、设计与验证 体系结构发现、演化与重用 基于体系结构的软件开发方法 特定领域的体系结构框架 软件体系结构支持工具 软件产品线体系结构 建立评价软件体系结构的方法 * 我们的目标 在软件开发过程中使用软件体系结构 成为系统架构师 * 系统架构师 系统架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单等。 系统构架师是近几年来在国内外迅速成长并发展良好的一个职位。比尔? 盖茨 (首席软件架构师);丁磊 (首席架构师 ) * 系统架构师的职责 l、领导与协调整个项目中的技术活动(分析、设计和实施等) 2、推动主要的技术决策,并最终表达为软件构架 3、确定和文档化系统的相对构架而言意义重大的方面,包括系统的需求、设计、实施和部署等“视图” 4、确定设计元素的分组以及这些主要分组之间的接口 5、为技术决策提供规则,平衡各类涉众的不同关注点,化解技术风险,并保证相关决定被有效的传达和贯彻 6、理解、评价并接收系统需求 7、评价和确认软件架构的实现 * 某集团公司要开发一个网络财务程序,使各地员工能在互联网络上进行财务处理和报销。在设计该财务程序的体系结构时,项目组产生了分歧: ?张工程师认为应该采用客户机/服务器(C/S)结构。各分公司财务部要安装一个软件客户端,通过这个客户端连接到总公司财务部主机。如果员工在外地出差,需要报销帐务的,也需要安装这个客户端才能进行。 李工程师认为应该采用浏览器/服务器(BS)结构,各分公司及出差员工直接通过Windows操作系统自带的IE浏览器就可以连接到总公司的财务部主机。 * 架构受系统风险承担者的影响 风险承担者—对构建软件系统感兴趣的人或组织,包括合同中的客户、系统最终用户、开发人员、开发组织、系统维护人员等,他们所关注的问题各不相同,但都要求系统在他们所关注的方面提供保证或优化。 事物有主要矛盾和次要矛盾之分。 开发系统时,首先要确定其软件构架。借助于构架,设计师可以分析众多风险承担者所提出的各种要求的优先级,并将这些要求转化为系统的各个特性,再针对它们在系统结构上做折衷,从而得到和谐的架构。 * 开发组织所关心的问题不同于客户,它对软件构架的影响分为3类: · 直接影响 如希望向产品线发展 · 长远影响 如行业布局 · 组织结构的影响 如软件外包 · 开发团队的经验对设计师的影响 * 架构受设计师的素质和经验的影响 1 熟悉.NET的设计师在设计时会考虑.NET的框架和技术。 2 熟悉J2EE的设计师在设计时会考虑J2EE的框架和技术。 3 设计师具有数据库方向的背景,系统会被认为是数据库的应用。 4 设计师具有网络安全的背景,系统的安全会被放在很突出的位置。 * 构架受技术环境的影响 现在B/S样式很流行,设计师在设计时往往首先考虑系统能否在互联网环境下运行。 * 需求 (质量属性) 设计师 (小组) 构架 系统 客户和最终用户 开发组织 技术环境 设计师的经验、沟通能力 架构所受的影响 * 需求 (质量属性) 设计师 (小组) 构架 系统 客户和最终用户 开发组织 技术环境 设计师的经验 软件的架构不是静止的 * 软件在开发过程中或交付使用后,都可能会发生修改,这些修改往往涉及到架构的变更。因此软件版本的演进也是软件架构的演进。 软件架构影响设计师的经验。 软件架构影响开发组织的内部结构和经营目标。 软件架构可能会影响客户对下个系统的需求 有些系统甚至会影响并实际改变软件工程的发展,以及开发人员学习和实践的技术环境,如互联网、嵌入式、手机等。 * 架构商业周期—架构是软件开发的必经之路和必要手段,它受到来自客户和开发组织的影响,也受到设计师的素质和经验以及技术环境的影响;反过来,构架也影响着被开发的系统,对客户、开发组织、构架和技术环境也都有影响,还影响着客户及其开发组织的未来目标。围绕着构架的这些影响和反馈循环构成构架商业周期。 事物是静止的,也是运动、发展和变化的,软件架构也不例外。软件的架构是运动、发展和变化的。 * 构件与软件重用 构件模型及实现 构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。 * 在大多数工程学科中,系统是通过组合现有构件进行设计的,这些构件已经在其它系统上使用过。 软件工程一直
显示全部