Tips 私が勉強した中でこれはと感じたものを紹介しています。誤解へのツッコミ、大歓迎です。

メニュー
購入した本
なんでファイル名は「***.cpp」?
構造化分析
Cは必要?
C++とVisualC++




以下、なんとか解説できるように理解したいテーマです。
・DLLって何?どう使う?
・ライブラリって何?どう使う?







■ C++とVisualC++

 勉強する為に本屋さんで本を探すと、多数の著作で目なじみになる(はずの)林 晴比古さんが、C++とVisualC++は別物、ということを書いておられます。
 VBAしか書いた事のない私でも、変数の宣言や型、選択文の概念は当初から理解できました。
 問題はクラスとか継承とかポインタとか。
 ただ、それらが耳になじんできたところでも、Visualの部分はちんぷんかんぷんなのです。
 林 晴比古さん曰く「「Visual」機能と「C++」機能を使いこなす必要がある」と。
 なんとなく、納得しました。

■ Cは必要?

 百人中百人がこう言うことでしょう。
 「そりゃ、あったに超したことはないさ」
 そりゃそうだよね。だけどC言語の知識が無いから聞いてるんじゃない、そんな私の分身のようなあなたへ。
 2002.12.1時点での意見:なくてもなんとかなる、と信じたい・・・強く

■ 構造化分析(TomDeMarcoさんが提唱されている手法)
 日経BP社「日経ソフトウェア編 ゼロから学ぶソフトウェア設計」から仕入れた知識です。
 つぎの三つの道具を使って分析を行います。(ゆくゆくは実際のDFDをgifを参照して説明したいと思っています。)
   1.データフローダイアグラム(DFD)
   2.データディクショナリ(DD)
   3.ミニ仕様書
1.1 データフローダイアグラム(DFD)
 DFDは、要はフローチャート?です。左の4つだけで表示します。
 「データの入出力源」は受注〜納品までの業務フローの中では、顧客と納品を代行する配送業者の二つで説明されています。処理がだれから依頼され、誰へ指示を出すのか?開発するシステムの第三者がデータの入出力源といえると考えています。
 「データ加工処理」は同じく、注文受付・在庫管理・出荷管理という三つで説明されています。最初は大きく分類して描いた方が良さそうです。条件分岐するような処理なら、もう一つ上の概念で処理をまとめたものを最初に描いた方が良さそうです。
 「データ格納場所」はデータファイルと考えれば良いでしょう。
 システム全体を描いていないのですが、私が基本業務について描いたDFDは、なんと「□→○→□」(データ格納場所は三つ)という、とても単純なものでした。余りにも単純だったので、「○」を九つに分けて次に説明する階層化の最上位としました。
1.2 DFDの階層化
 上の「データ加工処理」のところでも言っているように、最初のDFDは条件分岐のない形が良さそうです。次のステップつまりDFDの階層化の中で条件分岐を処理して行く方が。
 最初に描いたDFDをまずは楕円とその前後の矢印だけを対象に詳細にして考えてみます。受注プロセスに着目して考えると、最上位のDFDでは、受注窓口は「顧客」
□というデータの入出力源から「注文書」→を受け取り特定の楕円の前の矢印「注文受付」○という処理データ加工処理を行い、この時「顧客ファイル」=というデータ格納場所を参照・登録・記録してデータの流れ、「受注確認書」→を送付するとなります。
 これを階層化すると、例えば既存のユーザーと新規のユーザーではプロセスが異なるでしょう。このように階層を下げる毎に処理を細分化してフローを描いていきます。

2.データディクショナリ

表記記号 概要
等しい
〜と〜
[ ] または
{ } 繰り返し
( ) 任意の選択

データディクショナリはDFDの中で使用される4図形それぞれの定義を具体的に記述したものとなります。
 但し、その記述には左の表のような独特の表記法を用いて行います。
 例えば「乗客名簿は乗客記号と乗客名が繰り返し記述されたもの」は
    乗客名簿={乗客番号+乗客名}
と、市内電話番号は
    市内電話番号=(市外局番)+市内番号
と記述します。と書いてあります、というのも2002.12.1現在ここまで書いていないので、
具体的なところは分かりませんので、書いてから詳しく解説してみます。


3.ミニ仕様書
 DFDの最下層のプロセスの一つひとつについて具体的にどのような処理を行っているかを記述します。
 上部階層については記述する必要はありません。なぜなら、最下層で詳細に分解されている為です。
 一般的には次のモノが使われています。
  1.構造化言語
  2.デシジョンテーブル
  3.フローチャート(フローダイアグラムとどう違うんだろう?びっくり)
 構造化言語はif文を文章に書き換えたもの。つまり「もし〜〜なら〜〜、そうでなければ***」というように記述します。
 デシジョンテーブルはこの場合は〜〜、この場合は***、この場合は+++というようにCASE文を表に書き換えたものと
思えば分かりやすいでしょう。と書いてあります。データディクショナリと同様に書いた事がないのでこれまた実際に体験してから、頑張ってみます。

 
 

■ なんでcpp?

こんなのでも心動かされるのが、素人なんですよ(笑)。
C言語で作成する同様のファイルは「***.c」なんだそうです。
で、C++は「***.cpp」つまり後ろのpはプラスのイニシャルかと。C++(シープラスプラス)だからcpp

■ 購入した本
書名 出版社 金額 内容等
VisualC++あんしん入門 技術評論社 2180円 平成12年8月発売だから、6.0かと。
やってトライ!VisualC++.NETプログラミング ソフトバンクパブリッシング 2600円  
VisualBasic.NET入門 ソフトバンクパブリッシング 2800円 VisualStudio.NET体験版を入手する為に購入
Win32API完璧マスタ
(VisualC++プログラミングへのアプローチ)
CQ出版社 2600円 かっこ内が.NETのものが出てます。
探してます。
VisualC++.NET実践講座Vol.1(基礎編) 日経BPソフトプレス 2480円 積ん読中(汗
VisualC++.NET実践講座Vol.2(活用編) 日経BPソフトプレス 2480円 積ん読中(汗
VisualC++6.0の応用50例 ソフトバンクパブリッシング 3400円 VBAの時に、この手の本はとても役に立ったので
将来を見据えて購入
VisualC++逆引き大全500の極意 秀和システム 2400円 同上
VisualBasic.NET300の技 技術評論社 2680円 VBに逃げようかと弱気な心が
『とりあえず買っとくか』って
Cの絵本 翔泳社 1380円 C言語が分からなきゃ始まらないかな?と思って
C/C++プログラミング辞典 翔泳社 2400円  
ソフトウェア設計の基礎 日本理工出版会 2500円   
図解でわかる
はじめてのプログラミング
日本実業出版社 1700円  
日経BPパソコンベストムック
日経ソフトウェア編
ゼロから学ぶ ソフトウェア設計
日経BP 1886円 私自身、とても重宝しています。
ステップアップVisualC++.NET入門 工学社 2500円