2010-06-01 80 views
1

我最近创建了越来越多的系统,在开始项目之前,我发现越来越多的计划和准备工作。你打算如何开始一个新的网络系统?

我确定我会用什么库或框架,什么语言的网站将如何流动的基本架构等

我也听说过其他设计过程,如挂发泡胶球显示类是什么以及它们如何相关,这是一个我从未听说过的过程,也不知道它是如何工作的。

有什么软件可以帮助这个过程吗?在设计新项目时是否有任何指导方针或步骤,或者您是否有一套建议的步骤或指导方针?

回答

2

所以你基本上在做解决方案架构。没有任何我知道的方法 - 至少没有任何方法可以在四页或更少的页面中简洁地描述(我有兴趣提出)。

要回答你的问题:

1 - 了解制约

明显的是理解你正在试图解决的问题和上下文。你可能有一个空手,或者你可能会被现有的标准所约束 - 在我工作的地方(在一个政府时代),我们有很多不同的技术和系统,当我们看别的东西时,有一个啄食顺序;我们更喜欢的技术和我们试图从中壮大的技术。

Zachman是一个企业架构框架;您可能会发现它很有趣,但我怀疑它在解决方案级别具有很多相关性。 TOGAF是另一个。

2 - 视图

约TOGAF(和Zachman)的事情是,它具有不同的 “视图” 的概念,例如:

  • 安全视图
  • 数据视图
  • 技术视图
  • 应用视图
  • proc ESS视图
  • 支持视图
  • 操作视图
  • 结算视图
  • 用户视图
  • 性能,等等...

右突前要仔细考虑哪些视图与您计划/架构的系统相关。随着项目/系统的发展,你需要牢记这些;他们将帮助指导重大决策。我也喜欢这个appoarch /思考方式,因为它符合“分而治之”的思路 - 把大型的困惑分解成小的问题。

3 - 建模

我还没有听说过使用保丽龙球,但在触觉方式建模关系的想法听起来很吸引人 - 但如果它是一个大的系统,你可能需要一个非常大的房间:)

白板是我最喜欢探索班级如何相互关联(以及任何事情)的方式。我强烈建议您随身携带数码相机,或内置相机的手机;我使用后者,根据需要拍摄白板照片,然后在会议结束后将其与计算机同步,并通过电子邮件将副本发送给与会者。捕获信息非常简单,并使您看起来非常专业。

UML非常有用,但您可能需要根据您的受众选择使用哪些位,这取决于您想要正式看待事物的方式。

在建模工具(和使用正式的UML,而不仅仅是图表,在Visio中)正式建模系统是非常有用的。如果你不熟悉这样做,你会发现那里是你必须经历一个痛苦的阈值,但它通常值得的,当:

  • 系统是以上具有一定规模/复杂性,或
  • 你有许多更小的系统可以使用。

4 - 工程方法

我敏捷/ SCRUM的忠实粉丝。我正在研究如何将灵活原则应用于sln架构 - 但我还没有任何东西。

我去年在Tech-Ed参加了一个很好的会议(ARC202与Kevin Francis挑战建筑师的角色) - 我写了一篇文章here

这是一个极好的会议 - 这是 我见过的任何人 解释如何一个(解决方案?)建筑师 应该搞一个项目中第一次 - 无论方法论。 Kevins 敏捷倡导者 - 和他的谈话 专注于,这使得它两次 一样好:如何适应架构和 敏捷。

1

一些人喜欢Kanban

其他发现UML有用。

建筑群的使用者使用Zachmann Framework

我认为大多数人使用这些技术的组合。灵活 - 每个项目都是不同的。保持锐化您的管理技能和流程,您会发现最适合大多数项目的工作流程。