1,抽象与反馈细化
抽象与反馈细化更适合系统分析的角度来看
抽象原则,与人的思维规律也是对应。复杂事物的层次结构:概念层、逻辑层、实现层。
模型作为一种抽象——即被构建的真实事物的近似代表,建模使架构师及其他人员能够可视化整个系统,评估不同选择,并且更清晰地交流设计,避免了技术、财务或实际构建等风险。
多角度视图,只用单视图表达所有体系结构要点是不够的,Rational的4+1 View。
4+1 View视图
实际上可以是N+1视图,是比较经典。
这种过程模型中,时间轴是隐含在反馈(这里称追溯)中,比较推崇采用测试驱动!
产品开发的基本视图(概念与逻辑、需求视图不在下文讨论范畴) ――20071028(to 赵钢等)
1,系统结构图:建立全局的概念,标识重要功能部件和重要的数据项。相当于UML的开发视图+物理视图。
2,数据分布图:全局静态视图,有点类似UML类图,但有边界(pk Package)和空间(内存/永久存储),并标识关键数据交换路径及其规则,最后还有个数据字典。相当于UML的逻辑视图。
3,核心处理流程图:全局动态视图,本质应该是UML活动图。相当于UML的过程视图
补充说明:
1,各个图之间应该是可以相互映射的,图2 图3是对图1的展开,至少要这么两个展开,对于复杂的流程路径还需要辅助状态图、活动图,如用户开通流程。
2,另外,产品经理先可测试驱动,功能测试与验证作为线索(当然是要前面的宏观视图建立起来的基础上),功能测试的测试用例要自己来写一些,并保持跟踪。所谓敏捷建模也并没有脱离这些基础,只是更强调“轻型”、灵活而已。
2,RUP中二维的过程模型
RUP二维过程模型更适合项目管理角度来看。
u 纵轴表现了过程的静态结构:如何用术语活动(activity)、产物(artifact)、 角色(worker)和工作流(workflow)来描述。
u 横轴代表了制订开发过程时的时间,体现了过程的动态结构。它以术语周期(cycle)、阶段(phase)、迭代(iteration)和里程碑(milestone)来表达。
1) 初始阶段:目标是为系统建立商业案例和确定项目的边界。【生命周期目标里程碑】
2) 细化阶段:目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。是四个阶段中最关键的阶段。【生命周期的结构里程碑】
3) 构建阶段:所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详尽的测试。构建阶段,从某种意义上说,是重点在管理资源和控制运作以优化成本、日程、质量的生产过程。就这一点而言,管理的理念经历了初始阶段和细化阶段的智力资产开发到构建阶段和交付阶段可发布产品的过渡。【初始功能里程碑】
4) 交付阶段:目的是将软件产品交付给用户群体。【产品发布里程碑】
这两个角度实际上是统一的:在(RUP二维的)开发过程中由粗到细、不断“扩展”、调整与修正抽象模型(N+1视图)!
现实问题一般有多个解决方案,优秀架构师的区别在于:在庞杂的技术要求中寻求最优雅,简洁的解决方案!
阅读(2373) | 评论(0) | 转发(0) |