【IT168 技术文章】
建模复杂软件和业务系统可能是一项充满挑战的任务。标准设计与分析模式可以提供一定帮助,但通常并不能说明如何应用各项技术或给出与目前问题类似的工作示例。幸运的是,您可以使用分析框架来收集和组织分析模式、工具、技能、组织技术、示例和解决过类似建模问题的其他人的专业知识。了解如何使用分析框架在各种软件开发领域(从安全性、消息传递和用户界面到人员招聘与培训)获得优势。
在某个地点某个时候某人已经遇到过与您类似的问题,并将其解决了。 如果您能够获得这个人很不容易得来的信息,并将解决方案放在可重用的表格中,这个做法怎么样? 这正是过去十多年向软件工程师提供的设计与分析模式。 不过,这些模式通常讨论具体的解决方案,而在了解如何确定正确的模式并在第一时间应用该模式方面并没有提供太多的指南。
幸运的是,您可以转而求诸于分析框架;分析框架能将可重用解决方案与分析模式、研究、实用组织技术和成功方法的具体示例组合在一起。 分析框架与您自己的个人库有些类似,专门针对您自己的经验和背景定制。
分析模式已经在软件开发领域使用了很多年,用于提供满足数据访问、事务监视和管理、安全性、消息传递、用户界面和其他应用程序需求的解决方案。 其目的不是实现在代码中,而是帮助分析人员了解复杂的问题领域。
分析框架包含了此类模式,还提供了研究特定领域(如业务分析或系统体系结构)所必需的技能、工具和技术的清单。 这对需要特定技能来满足当前需求的公司将非常有用。 如果候选人具有所列出的经验和能力,该候选人就很有可能能够成功地完成任务。
了解分析框架结构
我们这里以接受过木工培训的人将要制作家具的情况为例。 只有简单工具可用而且自己个人知识有限的工人可能会发现制作新家具很困难,而且费时。 另一方面,如果还是同一个人,却为其提供了设备齐全的工作间、强大的工具和全套计划与示例,那么此人就会觉得制作复杂而有意思的家具要简单得多了。 与此类似,通过提供经过验证的分析模式、强大的分析工具和技术以及用于捕获和表示复杂信息的有效建模方法的多个示例,也可以提高分析师的工作效率。
分析框架包含五个主要部分: 工具分类、一组有用的解决方案模式、一个或多个模型形式、多种研究技术和技能以及用于对复杂信息进行分组的方法。 表 1 显示了业务分析框架所必需的元素。
表 1. 业务分析框架
在此业务分析框架中,发现和捕获业务流程的有效工具包括建模软件(特别是 UML 建模——在业务需求捕获为用例的情况下)、文字处理辅助工具以及对模型和文档的某种形式的版本控制。 可以根据特定需求对工具进行定制,也可以使用更为通用的工具,如简单的可视绘图辅助工具等。
重复使用的分析模式在应用到特定分析领域时将非常有效。 在业务分析框架中,这些模式包括业务系统模式(如订单输入、库存控制和贸易解决)、行业特定的模式(如电话路由、包裹配送与调度以及制药控制)和业务结构(如表格、层次结构和分布式组织)。 模式是发现在特定业务领域重复出现的主题。 有关捕获重复业务主题的方法的更多信息,请参见“Enterprise Patterns and MDA:Enterprise Patterns and MDA: Building Better Software with Archetype Patterns and UML”(有关更多信息,请参见参考资料部分)。
可以选择模型形式来捕获复杂信息。 对于复杂分析,可以使用一系列有用的模型形式,如用于软件密集系统的统一建模语言 (UML)、用于软件工程的系统建模语言(Systems Modeling Language,SysML)和用于组织横向关注的 Zachman 框架。 在表 1 中所示的业务分析框架示例中,用于研究业务流程的有用模型形式包括 UML(用于流程和用例建模)、体系结构组织表和 Zachman 模型的可能的修改形式。
技术和技能是任何分析方法的关键方面。 能够提供个人或团队的当前可用技能的评估,这一点很重要。 例如,访谈技术需要作笔记和主动倾听的技巧。 进行团队工作,需要鼓励促进和团队领导方面的技能。 系统分析依赖于对问题进行批判思考(认识问题可以如何划分为更小更简单的领域)和应用倾听领域的类似解决方案的能力。
分析的目的是为了向受众说明所得出的结论。 如果不能以有意义、有说明力的方式组织信息,全世界最好的分析也不会成功。 自动工具仅为此问题提供部分解决方案,信息的整体组织确定目标受众将如何使用数据。 在业务分析框架中,这些分类原则表示为业务流程(业务划分为子领域)、业务用例间的依赖关系图以及总体组织结构(通常为层次结构形式)。