投稿元:
レビューを見る
クラウドシステム向けのシステム分析について紹介するもの。
昔学生時代に習ったものに加え新たにロバスト分析などがくわわっている。
分析手法やダイアグラムについて個別に知識としてはあったが、それらを連携して分析を進めるステップについておさらいできた。
実習としてセールスフォースのクラウドで簡単なシステム構築を体験できる。
投稿元:
レビューを見る
改めてシステム開発のお勉強。
分量がコンパクトな割に、要点が凝縮してまとめられていた。
■ソフトウェアの特徴と課題
(1)形状が見えない
ソフトウェアは、形状が見えないため、規格化が難しく、ソフトウェアの仕様や品質を外観からチェックすることができない
→ソフトウェアの仕様や品質を開発中に外観からチェックすることができないため、最終成果物のテストだけではなく、開発途中でのレビューによる仕様の確認や品質の確認が重要となる。
(2)開発の実体が掴みにくい
開発がどこまで、進展しているかは、途中の成果物であるドキュメントにより確認することになるが、工程が計画通りであるか、仕様が予定のものであるかのなどの確認は難しい
→開発工程を細かく設定し、開発の進捗を途中の開発成果物でチェックする方法などが行われている
(3)ユーザごとに開発されるオーダメイド品が多い
多くの工業製品は、工場で生産され、それがそのまま利用される。同様に、パソコン上で動作する多数のソフトウェアやスマホアプリ、携帯アプリは、パッケージソフトウェアとして開発されたものが変更されることなくそのまま既製品として利用される。一方、企業や行政で利用している業務用ソフトウェアや社会インフラ制御ソフトウェアもパッケージソフトウェアを利用することもあるが、ユーザごとのニーズに応えるため、オーダメイドとして開発されるソフトウェアも多い。
→有効なシステム開発のために、ユーザの課題や要求を引き出すのが難しい。また、ソフトウェアが対象としている領域も、ますます複雑になっており、この要件定義の作業を難しくしている。要件定義で確実な定義ができないまま、設計や構築の作業に入り、これらの時点で、要件定義の変更が発生すると設計や構築の作業に大きな手戻り作業が発生することとなる。
要件定義の作業では、ユーザからいかに確実に要求や課題を引き出すかが重要となる。このため、要件定義の作業では、ユーザと確実なコミュニケーションのもとで作業を進めることが必要であり、場合によっては、ユーザ側に入り込み、要求や課題をユーザ側の立場で提示することが必要である。
・オブジェクト:モノをモデル化したもの。属性とそのデータに対する捜査を一体化したもの。
・ユースケース:システムが外部に提供する機能。ユーザや外部の別のシステムなどがそのシステムを使ってできることを示す。
・ユースケース記述:ユースケース図の中の一つのユースケースについて、アクターとシステムのやりとりをストーリーとして記述したもの。
・ユースケース図:UMLで定められた表記図法の一つで、システムが外部に提供する機能を表現する図。システム開発において、システムが果たすべき役割を明確化するために作成されることが多い。
・ロバストネス分析:システム分析の一つの手法であり、ユースケース記述で定義されたソフトウェアの要件から、ソフトウェアを構成するエンティティクラス、バウンダリクラス、コントロールクラスを抽出する。ユースケースとクラスを対応付けるためのもの。
・MVC
①エンティティクラス:システムで保存されているデータに関するクラス。Modelに対応。
②バウンダリクラス:システムとアクターのインターフェースとなるクラス。Viewに対応。
③コントロールクラス:バウンダリクラスとエンティティクラスを接続する機能を構成するクラス。Controllerに対応。
投稿元:
レビューを見る
改めてシステム開発のお勉強。
分量がコンパクトな割に、要点が凝縮してまとめられていた。
■ソフトウェアの特徴と課題
(1)形状が見えない
ソフトウェアは、形状が見えないため、規格化が難しく、ソフトウェアの仕様や品質を外観からチェックすることができない
→ソフトウェアの仕様や品質を開発中に外観からチェックすることができないため、最終成果物のテストだけではなく、開発途中でのレビューによる仕様の確認や品質の確認が重要となる。
(2)開発の実体が掴みにくい
開発がどこまで、進展しているかは、途中の成果物であるドキュメントにより確認することになるが、工程が計画通りであるか、仕様が予定のものであるかのなどの確認は難しい
→開発工程を細かく設定し、開発の進捗を途中の開発成果物でチェックする方法などが行われている
(3)ユーザごとに開発されるオーダメイド品が多い
多くの工業製品は、工場で生産され、それがそのまま利用される。同様に、パソコン上で動作する多数のソフトウェアやスマホアプリ、携帯アプリは、パッケージソフトウェアとして開発されたものが変更されることなくそのまま既製品として利用される。一方、企業や行政で利用している業務用ソフトウェアや社会インフラ制御ソフトウェアもパッケージソフトウェアを利用することもあるが、ユーザごとのニーズに応えるため、オーダメイドとして開発されるソフトウェアも多い。
→有効なシステム開発のために、ユーザの課題や要求を引き出すのが難しい。また、ソフトウェアが対象としている領域も、ますます複雑になっており、この要件定義の作業を難しくしている。要件定義で確実な定義ができないまま、設計や構築の作業に入り、これらの時点で、要件定義の変更が発生すると設計や構築の作業に大きな手戻り作業が発生することとなる。
要件定義の作業では、ユーザからいかに確実に要求や課題を引き出すかが重要となる。このため、要件定義の作業では、ユーザと確実なコミュニケーションのもとで作業を進めることが必要であり、場合によっては、ユーザ側に入り込み、要求や課題をユーザ側の立場で提示することが必要である。
・オブジェクト:モノをモデル化したもの。属性とそのデータに対する捜査を一体化したもの。
・ユースケース:システムが外部に提供する機能。ユーザや外部の別のシステムなどがそのシステムを使ってできることを示す。
・ユースケース記述:ユースケース図の中の一つのユースケースについて、アクターとシステムのやりとりをストーリーとして記述したもの。
・ユースケース図:UMLで定められた表記図法の一つで、システムが外部に提供する機能を表現する図。システム開発において、システムが果たすべき役割を明確化するために作成されることが多い。
・ロバストネス分析:システム分析の一つの手法であり、ユースケース記述で定義されたソフトウェアの要件から、ソフトウェアを構成するエンティティクラス、バウンダリクラス、コントロールクラスを抽出する。ユースケースとクラスを対応付けるため��もの。
・MVC
?エンティティクラス:システムで保存されているデータに関するクラス。Modelに対応。
?バウンダリクラス:システムとアクターのインターフェースとなるクラス。Viewに対応。
?コントロールクラス:バウンダリクラスとエンティティクラスを接続する機能を構成するクラス。Controllerに対応。