结盟众多企业“教练”, 共同设计、开发及提供人才培养解决方案,通过新颖多样的学习方式,针对性的定制化内容,助力企业全面提升竞争优势。
Fireball
3天
5800元/人
不好的设计,导致编码工作量剧增不用说,还有一堆质量隐患,面对需求变化时更加是束手无策。“面向对象设计(OOD)”这概念被吹嘘得很玄乎,也出现了不少号称“面向对象”但又不能解决具体问题的设计。
我们需要的是“灵巧的,能适应变化”的设计,能解决实际问题的设计!本课程将介绍如何应用UML(统一建模语言)来应对这个挑战,系统地讲解如何理解需求、如何进行架构设计、用户体验设计、数据设计、实体类设计、详细设计等,让学员学会如何做出“高性价比”的设计。
将UML知识融汇中具体的实例中,而不会单调地讲UML语法。
案例一个接一个,贯穿整个课程,学员需分组讨论和思考。
课程还会介绍很多非UML的内容,如:用户体验设计、数据库设计。
1. 掌握部署图、组件图、包图、类图、序列图、活动图、状态机图。
2. 学会用部署图、组件图、包图进行架构设计。
3. 学会用类图、包图、序列图、活动图、状态机图深化设计。
4. 学会“理解需求、预测变化”,理解需求驱动设计。
5. 学会如何做好用户体验设计。
6. 学会如何业务驱动数据库设计。
7. 学会如何做出“高性价比”的设计。
项目经理、系统分析师、设计人员、开发人员、测试人员、有一定编程经验并且对软件设计或UML感兴趣的人士。
主题 | 课题 | 说明 |
---|---|---|
大话UML之软件设计 |
1. 组建学习小组。 2. 认识UML。 3. 课程安排简述。 |
端正对UML的认识,组建学习小组。 |
做出高性价比的设计-软件设计之正路 |
1. 认识常见的设计问题。 2. 挑战4个设计案例。 3. 认识设计的大致过程。 4. 认识高性价比设计。 |
通过具体的案例来把握住做设计的基本方针:做高性价比的设计。 |
优秀设计的开始-理解需求 |
1. 分析“某公司考勤管理系统”的需求。 2. 学习用例图。 3. 发掘需求,找出设计关注点。 a) 用户分析。 b) 用例分析。 4. 设计考勤系统的部署图。 5. 体验“需求驱动设计”。 |
设计不是“虚虚”的,能解决具体问题的设计才是优秀的设计,而“具体问题”是来自对需求的深入全面分析。 |
描绘系统的骨架-部署图 |
1. 认识“某便利店管理系统”的网络拓扑结构图。 2. 通过该系统来学习部署图。 3. 演练部署图。 4. 怎样才能画好部署图? |
系统架构设计,应该首选部署图。我们架构设计的目标应该是:利用有限的资源、用熟悉的技术、搭建满足需求的灵活架构! |
构造骨架及可重用设计-组件图 |
1. 认识什么是组件。 2. 学习组件图语法。 3. 用组件图来练习可重用设计。 |
组件图是对部署图进一步细化,也是可重用设计的有力工具。 |
组织你的设计-包图 |
1. 认识什么是包图。 2. 学习包图的语法。 3. 学习应用包图进行设计的例子。 a) 架构设计。 b) 数据层设计。 c) 控件设计。 |
包图语法相对来说比较简单,但要用包图来组织好设计就很不简单。包一般来说是逻辑上的概念,我们可以根据自己的意图,利用包来组织好设计。 |
设计出系统的蓝图框架-部署图、组件图、包图综合应用 |
1. 演练“请假外出管理系统”部署图。 a) 分析需求,列出设计考虑点。 b) 绘出部署图,进一步分析。 2. 学习部署图、组件图、包图综合应用。 3. 深入分析“请假外出管理系统”部署图。 4. 综合运用部署图、包图、组件图深化设计。 |
架构设计可不是“小菜一碟”,是对设计师功力的一大考验。部署图、组件图、包图三者的综合应用,能助你一臂之力。 |
从外表开始-用户体验设计 |
1. 调查:用户会选择什么软件? 2. 狂热追求技术及漂亮架构的教训。 3. 软件的内在美和外在美。 4. 界面整体规划-界面流图。 a) 演练“请假外出系统”界面流图。 b) 演练首页设计。 5. 统一界面标准:形象、文字、行为。 6. 易用性设计。 |
客户要的是实用、好用的软件,客户并不关心软件架构是否漂亮、代码是否优雅,我们做软件设计的决不能忘记这个根本。我们应该做好用户体验设计,以此来驱动软件背后的设计。 |
设计你的类-类图 |
1. 类图可能是用得最多的UML图。 2. 什么是类? 3. 类图基本篇-通过实例来体会。 a) 属性、方法。 b) 关系:引用、泛化、包含。 4. 类图高级篇-通过实例来体会。 5. 用类图来实战设计模式。 6. 对象图。 |
类图的语法比较复杂,但经常用到的部分比较简单。 类图能直接指导编码,如何能设计好类图,最能考验你的OOD能力。 课程还会让学员演练几种设计模式,让学员体验用类图设计的威力。 |
从数据底层开始-数据库设计 |
1. 数据库设计三大范式。 2. 如何由业务模型转化为数据库设计。 3. 介绍“由底而上”的设计方法。 |
本节重点介绍如何根据由类图描述的业务模型,导出数据库设计,同时遵循数据库设计三大范式的要求。 |
从中间开始-实体类设计 |
1. 如何由类图描述的业务模型,导出实体类设计。 2. 实体类该如何设计,使之与具体的数据库实现无关? 3. 介绍由“中间到上下”的设计方法。 |
实体类是系统各层之间传递的东东,要设计好不容易。 “中间到上下”的设计方法,可让软件的表现层、数据层“独立” |
让你的类交互-序列图 |
1. 通过“上餐馆吃饭”事件来学习序列图。 2. 分析用例,设计软件背后的实现。 a) 案例1:增加、编辑、删除、查看。 b) 案例2:复杂查询。 |
用序列图来设计,最能体现“需求驱动”。每个用例背后的实现,都可以用序列图表示出来。 |
描述你的算法-活动图 |
1. 通过“审批请假”案例来认识活动图。 2. 实战:用活动图来描述算法。 a) 冒泡排序法。 b) 复杂业务逻辑。 3. 算法与活动图。 |
某些复杂的、高难度的算法,用活动图表达出来是一个不错的做法。 |
工作流的设计利器-状态机图 |
1. 通过“请假审批”案例来认识状态机图。 2. 介绍设计模式之一状态模式,案例:游戏软件中的NPC。 3. 认识状态机工作流。 |
如果设计中遇到“状态”的问题,状态机图是不二的选择。 |
实战-优秀设计是怎样炼成的 |
1. 继续挑战“考勤管理系统”的设计。 a) 调整原来的架构设计。 b) 用户体验设计。 c) 综合运用类图、序列图、活动图、状态机图来深化设计。 2. 总体回顾。 |
该实战会延续上一个综合实战,你必须和你的组员一起为做出一个“高性价比”的设计而努力。 讲师会在过程中随时指导。 |
UML其它图及常用工具简介 |
1. 介绍协作图、时序图。 2. 介绍绘制UML的常用工具。 3. 布置课后作业。 4. 对学员提出学习和工作指导。 |
课后最后会介绍另外两种不太常用的UML图。 |