上海甫崎商务教育—官网

咨询热线:
400-060-0103

上海甫崎商务教育课程中心>软件架构师
课程简介

        项目工期被拖延、开发与维护成本超过预算、交付的质量让用户不够满意,这些现象总是频繁地发生在我们身边的软件项目当中。其原因当然很多,但从技术的角度来分析,主要的问题还是出在缺乏一个健壮和可扩展的架构上。
软件的质量本质上是由其架构所决定的,架构控制着软件的全局,包含软件所有*重要方面的重大决定;而通常情况下,开发团队*缺的就是称职的软件架构师,因而造成系统缺乏整体的设计和控制,使得软件产品的结构混乱(缺乏统一和一致设计),实施风格各异,*终的交付的是一盘散沙的产品;显然成为一个架构师是极其困难的事,这将是一个长期的成长过程;然而*系统的培训来减缓学习曲线,帮助学员站在较高的起点来了解架构分析与设计的全貌,顺利地入门,和少走弯路,则是完全可能和有必要的。

本课程包括软件架构分析与设计、架构开发实践两个部分。

        本课程介绍了软件架构的基本理论和实际应用技术,涵盖了架构分析到架构设计的各个步骤。其中包括业务建模、需求开发、分析设计开发流程的简介(即所谓业务架构与应用架构),4+1视图,架构描述和架构文档的作用,如何进行架构分析、确定架构分析机制,如何从分析机制对应到设计机制和实施机制,架构模式的应用,层次模型的开发,包的设计原则、类的设计原则,以及架构模式、J2EE/dot.Net架构框架(即所谓技术架构),还有数据建模、对象—关系映射、数据库设计(即所谓数据架构)等。

为了让学员更深入地掌握相关内容,课程安排了围绕一个简单而完整的软件项目实例的架构建模实践习作。


课程目的

使学员能:基本掌握UP的分析设计门类中的架构分析设计部分,理解4+1视图、架构建模的理论知识,掌握软件架构文档、设计模型、架构机制和包设计原则的应用的基本内容和方法,能够初步按照RUP进行架构开发。


课程对象
该课程主要面向架构师(首要对象)、其他开发人员和项目经理。


学员基础
  1. 要求学员具备一定的OO基础,具有一定的面向对象的分析、设计经验更佳;
  2. 要求学员有使用任何一种面向对象的语言的编程基础;
  3. 培训学员需要具备一定的UML基础知识,对UML的各种概念有一定的了解,知道各种模型图的大致概念和意思。
  4. *接受过《面向对象分析与设计》或类似课程的培训。
  5.  
授课培训特色
整个课程围绕一个简单的软件项目实例来展开,*讲解和指导学员完成一系列练习,让学员对架构分析和架构设计的方法和过程等产生较深刻的感性认识;比如围绕BugReport V2.0案例,从确定其前景文档开始,到开发用例模型、编写用例规约,分析系统行为、识别架构机制,开展架构(逻辑)设计、映射到架构(物理)模型等,即按照实际项目的开发顺序来组织课程内容。

*答疑和习作评点,使学员进一步深入理解软件架构的理论和方法,并纠正一些错误或模糊的认识。
课程中还穿插一些讲师与学员的自由交流活动,解答与探讨实际项目中的各类问题。


课程大纲
软件架构设计师培训大纲(上篇)


内容 说明 备注
软件架构设计师的工作和技能要求。 从社会需求介绍软件架构设计师实际工作内容,进而讨论作为一个软件架构设计师需要掌握的技术技能。
不同企业 不同规模的项目对架构设计师的要求是不同的,我们要针对实际需求,针对性掌握知识。针对*软件企业的现状和发展需求,很多软件企业还没有区分架构设计师和概要设计人员,讲解如何做好软件架构设计,一个软件架构师需要掌握的知识点和技巧。
 
对需求的理解和架构抽取 从需求到实现技术,如何在文本性的需求书中,抓取技术内容。
在目前许多需求分析还没有采用面向对象情况下,如何对以过程分析为主的需求书,进行面向的对象分析。
架构设计是代码和需求的桥梁,把需求转换为程序员可以看懂的接口,是软件质量的重要*。
 
架构设计的主要过程


 
主要讲解架构设计的实施过程,包括系统选型,模块划分,接口定义,等等 主要包括:系统架构---性能定义和划分—系统选型---数据库选
型—模块定义---接口定义---测试接口---集成方法。
UML
 
讲解uml进行系统设计方法。
*具体实例进行讲解。讲解使用UML进行需求定义 模块定义 类图定义 接口定义 数据库定义的方法
 
常用设计工具介绍 介绍常用的设计工具。
包括 powerdesign
Visio \ Rose 使用
 
架构设计和 技术路线 介绍不同的技术架构特点 ,在不技术技术路线的设计的不同

J2ee .net SSH 不同技术架构下的,设计时的一般系统层次,典型架构。各技术架构的特点。

 
架构设计和项目管理 介绍架构设计如何服从大局,避免技术至上主义。介绍在CMM 、XP 等不同管理模式下的架构设计的区别 架构设计要服从整个项目需要,不是去追求完美的技术,技术*是错误的,不同管理模式需要不同架构设计方法和技巧。
团队管理与架构设计师 项目管理过程中架构设计师的地位
l 如何协调?如何培养?如何发展?讲解如何评价软件架构,包括评审技术的应用,以及更为客观的评估途径——安排开发人员基于架构基线来实现新的用例,从而评估架构的健壮性与易扩展性;讲解如何定义项目开发目录结构,以支持团队的协作开发;
l 讲解如何使用配置管理工具来支持项目开发目录结构的共享使用;
l 说明目录结构的设计原则和方法
 
UP统一软件过程概论
(过程架构)

l 全面说明UP统一软件过程的内容,包括角色(分析、设计、测试、管理、支持人员),工件(前景文档、架构文档等),和活动(业务、需求等九大科目);
l 讲解软件开发所经历的从业务建模(领域建模)、到需求建模(用例建模)、进而到架构建模、行为(应用)建模、数据建模,*后到测试建模的整个过程
 
CCMI与架构设计 l 在CMMI管理模式下,如何进行架构设计
XP开发模式与架构设计 l 极限开发模式下,如何进行架构设计。
 


软件架构设计师培训大纲(下篇)

内容 说明
备注
 
基于.Net的 架构设计 (s/c) 介绍基于.Net的 架构的s/c系统的 设计
.Net的 架构下,s/c模式系统的典型架构,如何多人协调界面设计,做到功能模块的分工。做到纵向、横向结合。
 
基于.Net的 架构设计 (s/b) 介绍基于.Net的 架构的s/b系统的 设计
.Net的 架构下,s/b 模式系统的典型架构,
 
J2EE 介绍基于J2EE的 架构的系统的 设计
基于J2EE的 架构的系统典型架构,

 
J2EE(ssh)
介绍基于J2EE(ssh)的 架构的系统的设计