ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

AOSD(アスペクト指向による機能追加)を、もうすこし詳しく

2010-12-14 20:06:21 | そのほか

 以前、ユースケースとアスペクト指向(機能追加を行うためのアスペクト指向)で書いた、最後の部分が、詳しくなくて、これでは、何を作ればいいか不明なので、手順をもう少し詳しく。




(1)追加機能を、ユースケースのextendで示す
    →拡張ポイントを明示

(2)ユースケースシナリオに、その拡張部分のフローを書く

(3)(元のシーケンス図があったら)シーケンス図に
   optで、拡張ポイントを明示し
   拡張フローを記述する
    →astah*だと、拡張フローをシーケンス図にすれば、
     クラスにメソッドを追加してくれるハズ

(4)ユースケース実現のクラス図を作成する
    →機能追加する部分のクラス図を作成

(5)ユースケース実現から、ユースケーススライス図を作成する
    →機能追加分中
      この機能にしか出てこないクラス=>クラスとして残す
      共通に出てくるクラス、この機能しか出てこないメソッド=>アスペクトとする
      共通に出てくるクラス、共通のメソッド=>かかれてないはず:(4)で書いてない
       →どっちにしろ、クラスとして残す

(6)ユースケースクラス図のアスペクト部分を記述する


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

astah*を使って、ICONIX風一気通貫システム開発 その9:画面作成

2010-12-14 15:19:34 | そのほか


「astah*を使って、開発の要求仕様から、プログラム作成までを、トレーサビリティを保って、どのように開発するかを書いてみる」という、このシリーズ、以下の手順で説明する予定ですが、

(1)作るべきもののユースケースを書く
(2)ユースケースシナリオを書く
(3)ロバストネス分析
(4)バウンダリ(画面)、エンティティ(テーブル等)の属性を埋めていく
(5)バウンダリの項目を元に、画面構成を考える。
(6)(必要があれば)エンティティを正規化して、ER図にする
(7)フレームワークを決定する
(8)画面クラスをソースコードに書き直す
(9)エンティティをDBのテーブルと、DAOに書き直す
(10)コントローラーを書き直す

前回、(7)をやったので、今回は、「(8)画面クラスをソースコードに書き直す」について




■概要と位置づけ

 (7)までで、外部設計が終わりました。
 ここからは、詳細設計&コーディングとなります。ただ、画面は詳細設計をするまでもなく、後は作っていけばいいっていう状態です。

 画面遷移は、状態遷移(ステートチャート)に、
 画面の入出力項目は、画面のクラス図の属性に
 画面で起こるイベントは、画面のクラス図のメソッドに

それぞれ記載されているので、それをもとに、画面を作成していけば良いだけです。




■たとえば・・・

 Strutsだと、ステートチャート図の状態を画面に、遷移を画面遷移に割り当てていたので、
 struts-config.xmlは、
   状態ごとにActionをつくり、
   そのActionに対応する画面(Form-bean&ActionForm)を定義し、
   そのActionに対するForwardは、
     画面に対応する「状態」につながっている遷移
 を書くことになります。

 画面のJSPは、
 画面のクラスの属性に対応する入出力項目をHTMLタグで作成し、
 画面のクラスのメソッドに対応するボタンなどのイベントを発生するものを作ります。

 また、ActionFormは、画面のクラスの属性に対応する入出力項目から、
 Actionメソッドは、画面のメソッドに対応して(すべてが1対1と言うわけではない)
  作られます。




■自動生成

 ここまでいくと、自動生成も考えられます。
 astah*のXMI形式で書き出し、状態遷移図から、struts-config.xml,Actionクラスを、
 クラス図から、ActionFormクラス,JSPを書き出すという方法です。

 astah*のXMLと自動生成の関係は、たぶん、このシリーズではなく、別に書きます。
 (それを書いていると長くなるので)




今回は、ここまで


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

QMLを、はじめたい! その2 QML版「Hello World」

2010-12-14 12:05:55 | そのほか

 昨日からはじめた、シリーズ「QMLを、はじめたい!」。前回は、Qtをインストールしました。
 そこで、今回は、インストールしたQtの中に入っている開発環境、Qt Creatorを使って、「Hello World」と出るだけのプログラムを作ります(正しくは、作ってくれます)。

 ちなみに、以下のサイトを参考にしています。

Qt Quick 入門 第3回: Hello QML!
http://qt-labs.jp/2010/08/26/hello-qml.html





■Qt Creator立ち上げ

 前回、インストールしたので、下図のように

  スタート→「Qt SDK Nokia ・・・・・」→Qt Creator
 (・・・・は、いろいろ)

 を選んで、Qt Creatorを起動します(ちょっと時間かかるかも・・?)




■プロジェクトをつくる→ソースできる

 Qt Creatorが立ち上がったら、
 プルダウンメニュー「ファイル」→「ファイル/プロジェクトの新規作成」

 そうすると、下のようなダイアログが出る。

 左側「他のプロジェクト」
 右側「QMLアプリケーション」を選ぶ
 「選択」をクリック。下図のダイアログが出る

 「名前」に適当なプロジェクト名を入れて、
 (必要ならパスを直す)
 「次へ」をクリック
(ちなみに、名前は「Project1」と入れました)

次のダイアログ(下図)で、「完了」をクリック

以下のように、「Hello World」と表示する画面を作ってくれます。




■実行

「Qt Creator」から、「ビルド」→「実行」を選択

下図のような感じで、実行してくれる




今回はここまで・・・

何も編集してないけど・・・

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする