新しいWebシステムを開始するためにどのように計画していますか?
-
22-10-2019 - |
質問
私は最近ますます多くのシステムを作成しており、プロジェクトを開始する前にますます計画と準備をしています。
どのライブラリまたはフレームワークを使用するか、どの言語、サイトがどのように流れるかなどの基本的なアーキテクチャを決定します。
また、クラスがどこにあり、どのように関係するかを示すために、発泡スチロールのボールを吊るすなど、他のデザインプロセスについても聞いたことがあります。
このプロセスに役立つソフトウェアはありますか?ガイドラインや手順はありますか、それとも新しいプロジェクトを設計する際に従う一連の手順またはガイドラインがありますか?
解決
したがって、あなたはソリューションアーキテクチャを基本的に行っています。私が知っている方法論はありません - 少なくとも4ページ以下で簡潔に説明されているものはありません(私が考えていることに興味があるもの)。
あなたの質問に答えるために:
1-制約を理解します
明らかなのは、あなたが解決しようとしている問題と文脈を理解することです。
あなたはフリーハンドを持っているか、既存の標準によって制約されているかもしれません - 私が働いている場合(政府のAgenceyで)私たちは多くの異なるテクノロジーとシステムを持っています、そして、私たちが何か他のものを見ているときに順序があります。私たちが好む技術と私たちが成長しようとしているテクノロジー。
ザックマンはエンタープライズアーキテクチャフレームワークです。面白いと思うかもしれませんが、具体的にはソリューションレベルで多くの関連性があるとは思いません。トガフは別のものです。
2-ビュー
Togaf(およびZachman)についてのことは、それがさまざまな「ビュー」の概念を持っているということです。たとえば、次のようです。
- セキュリティビュー
- データビュー
- テクノロジービュー
- アプリケーションビュー
- プロセスビュー
- サポートビュー
- 運用ビュー
- 請求ビュー
- ユーザービュー
- パフォーマンスなど...
すぐに、あなたが計画 /アーキテクテクティブをしているシステムに関連するビューについて慎重に考えたいと思っています。プロジェクト /システムが開発されるにつれて、これらを念頭に置く必要があります。彼らは主要な決定を導くのに役立ちます。また、「征服を分割する」という線に沿って機能するため、このAppoarch /考え方も気に入っています。
3-モデリング
発泡スチロールのボールを使用することは聞いたことがありませんが、触覚的な方法で関係をモデル化するというアイデアは非常に魅力的に聞こえますが、大きなシステムが必要なかもしれません:)
ホワイトボードは、クラスがどのように関連するか(そして実際に)の関係を探る私のお気に入りの方法です。私はあなたとデジタルカメラ、またはカメラが組み込まれた携帯電話を持っていることを強くお勧めします。私は後者を使用し、必要に応じてホワイトボードの写真を撮り、会議の後にコンピューターと同期し、参加者にコピーを電子メールで送信します。情報をキャプチャするのは非常に簡単で、非常にプロフェッショナルに見えます。
UMLは非常に便利ですが、視聴者に応じて使用するビットを選択して選択する必要がある場合があります。
モデリングツールでシステムを正式にモデリングします(そして、単に図式化するのではなく、正式なUMLを使用するのではなく、Visioとは対照的に)は非常に便利です。これを行うことに慣れていない場合、あなたはあなたが経験しなければならない痛みのしきい値があることがわかりますが、それは一般的にそれだけの価値があります:
- システムは特定のサイズ /複雑さを超えています。
- 操作できる小さなシステムがたくさんあります。
4-プロジェクト方法論
私はアジャイル /スクラムの大ファンです。私はSLNアーキテクチャにアジャイルの原則を適用する方法を検討していますが、まだ何もありません。
私は昨年Tech -EDでの良いセッションに参加しました(ARC202はKevin Francisとの建築家の役割に挑戦しています) - 私は書き込みをしています ここ.
これは素晴らしいセッションでした - 方法論に関係なく、(解決策?)アーキテクトがプロジェクトにどのように関与すべきかを誰も説明したのを見たのは初めてです。ケビンズはアジャイルの支持者であり、彼の話はそれに焦点を当てており、それはそれが2倍の良いものになりました:アーキテクチャとアジャイルのフィット方法。
他のヒント
好きな人もいます かんばん.
他の人は見つけます uml 役に立つように。
アーキテクチャが使用します Zachmannフレームワーク.
ほとんどの人はこれらのテクニックの組み合わせを使用していると思います。柔軟性があることが重要です - 各プロジェクトは異なります。管理スキルとプロセスを磨くと、プロジェクトの大部分に最適なワークフローが見つかります。