我最近创建了越来越多的系统,在开始项目之前,我发现越来越多的计划和准备工作。你打算如何开始一个新的网络系统?
我确定我会用什么库或框架,什么语言的网站将如何流动的基本架构等
我也听说过其他设计过程,如挂发泡胶球显示类是什么以及它们如何相关,这是一个我从未听说过的过程,也不知道它是如何工作的。
有什么软件可以帮助这个过程吗?在设计新项目时是否有任何指导方针或步骤,或者您是否有一套建议的步骤或指导方针?
我最近创建了越来越多的系统,在开始项目之前,我发现越来越多的计划和准备工作。你打算如何开始一个新的网络系统?
我确定我会用什么库或框架,什么语言的网站将如何流动的基本架构等
我也听说过其他设计过程,如挂发泡胶球显示类是什么以及它们如何相关,这是一个我从未听说过的过程,也不知道它是如何工作的。
有什么软件可以帮助这个过程吗?在设计新项目时是否有任何指导方针或步骤,或者您是否有一套建议的步骤或指导方针?
所以你基本上在做解决方案架构。没有任何我知道的方法 - 至少没有任何方法可以在四页或更少的页面中简洁地描述(我有兴趣提出)。
要回答你的问题:
1 - 了解制约
明显的是理解你正在试图解决的问题和上下文。你可能有一个空手,或者你可能会被现有的标准所约束 - 在我工作的地方(在一个政府时代),我们有很多不同的技术和系统,当我们看别的东西时,有一个啄食顺序;我们更喜欢的技术和我们试图从中壮大的技术。
Zachman是一个企业架构框架;您可能会发现它很有趣,但我怀疑它在解决方案级别具有很多相关性。 TOGAF是另一个。
2 - 视图
约TOGAF(和Zachman)的事情是,它具有不同的 “视图” 的概念,例如:
右突前要仔细考虑哪些视图与您计划/架构的系统相关。随着项目/系统的发展,你需要牢记这些;他们将帮助指导重大决策。我也喜欢这个appoarch /思考方式,因为它符合“分而治之”的思路 - 把大型的困惑分解成小的问题。
3 - 建模
我还没有听说过使用保丽龙球,但在触觉方式建模关系的想法听起来很吸引人 - 但如果它是一个大的系统,你可能需要一个非常大的房间:)
白板是我最喜欢探索班级如何相互关联(以及任何事情)的方式。我强烈建议您随身携带数码相机,或内置相机的手机;我使用后者,根据需要拍摄白板照片,然后在会议结束后将其与计算机同步,并通过电子邮件将副本发送给与会者。捕获信息非常简单,并使您看起来非常专业。
UML非常有用,但您可能需要根据您的受众选择使用哪些位,这取决于您想要正式看待事物的方式。
在建模工具(和使用正式的UML,而不仅仅是图表,在Visio中)正式建模系统是非常有用的。如果你不熟悉这样做,你会发现那里是你必须经历一个痛苦的阈值,但它通常值得的,当:
4 - 工程方法
我敏捷/ SCRUM的忠实粉丝。我正在研究如何将灵活原则应用于sln架构 - 但我还没有任何东西。
我去年在Tech-Ed参加了一个很好的会议(ARC202与Kevin Francis挑战建筑师的角色) - 我写了一篇文章here。
这是一个极好的会议 - 这是 我见过的任何人 解释如何一个(解决方案?)建筑师 应该搞一个项目中第一次 - 无论方法论。 Kevins 敏捷倡导者 - 和他的谈话 专注于,这使得它两次 一样好:如何适应架构和 敏捷。
一些人喜欢Kanban。
其他发现UML有用。
建筑群的使用者使用Zachmann Framework。
我认为大多数人使用这些技术的组合。灵活 - 每个项目都是不同的。保持锐化您的管理技能和流程,您会发现最适合大多数项目的工作流程。