我最近创建了越来越多的系统,我发现在开始这个项目之前,我做了越来越多的规划和准备。
我决定我将使用什么库或框架,什么语言,站点将如何流动的基本架构,等等。
我还听说过其他的设计过程,比如挂起泡沫塑料球来显示课程的位置以及它们之间的关系,这是一个我从未听说过的过程,我也不知道它是如何工作的。
有没有什么软件可以帮助你完成这个过程呢?在设计新项目时,是否有任何指导原则或步骤,或者您是否有一组推荐的步骤或指导原则?
发布于 2010-06-01 23:10:47
因此,您基本上是在做解决方案架构。据我所知,没有任何方法--至少没有一种方法在四页或更少的篇幅内被简洁地描述(我很感兴趣)。
回答你的问题:
1 -了解约束
显而易见的是理解你试图解决的问题和背景。
在我工作的地方(在一家政府机构),我们有许多不同的技术和系统,当我们看着其他东西时,有一个权衡顺序;我们喜欢的技术和我们试图摆脱的技术。
Zachman是一个企业架构框架;您可能会发现它很有趣,但我怀疑它在解决方案级别是否有太大的相关性,特别是。TOGAF是另一个。
2 -视图
关于TOGAF (和Zachman)的事情是它有不同的“视图”的概念,例如:
视图<代码>H119计费视图<代码>H220<代码>H121用户view
首先,您需要仔细考虑哪些视图与您正在规划/设计的系统相关。随着项目/系统的发展,您需要牢记这些;它们将有助于指导重大决策。我也喜欢这种思考方式,因为它的工作原理是“分解一个征服者”--把一个大的拼图分成小的拼图。
3 -建模
我以前没有听说过使用泡沫塑料球,但用触觉方式模拟关系的想法听起来非常吸引人-尽管如果它是一个大系统,你可能需要一个非常大的房间:)
白板是我最喜欢的探索类如何关联(以及任何东西,真的)的方式。我强烈建议你随身携带一台数码相机,或者一部内置相机的手机;我使用后者,我会根据需要拍摄白板照片,然后在会议结束后将照片同步到我的电脑上,并通过电子邮件将副本发送给与会者。它很容易捕捉到信息,而且让你看起来很专业。
UML非常有用,但您可能需要根据您的受众来挑选和选择您使用的部分-这取决于您想要以多正式的方式看待事物。
在建模工具中对系统进行正式建模(并使用正式的UML,而不仅仅是图形化,比如Visio)也非常有用。如果你不熟悉这样做,你会发现你必须经历一个痛苦的临界点,但在以下情况下通常是值得的:
4 -项目方法论
我是敏捷/ SCRUM的铁杆粉丝。我正在寻找将敏捷原则应用于sln架构的方法--但我还没有任何东西。
我去年在Tech-Ed上参加了一个很好的会议(ARC202和Kevin Francis一起挑战架构师的角色)-我有一个here。
这是一个很棒的会议--这是我第一次看到有人解释(解决方案?)无论采用何种方法,架构师都应该参与项目。凯文斯是敏捷的倡导者--他的演讲集中在这一点上,这使得它变得更好:如何适应架构和敏捷。
发布于 2010-06-01 20:58:38
有些人喜欢Kanban。
其他人发现UML很有用。
架构师使用Zachmann Framework。
我认为大多数人使用这些技术的组合。保持灵活性很重要--每个项目都是不同的。不断磨练你的管理技能和流程,你会发现一个最适合你大多数项目的工作流程。
https://stackoverflow.com/questions/2953221
复制相似问题