- ベストアンサー
ソフトウェアってどう作るんですか?
こんにちは 最近プログラミングに興味を持っています。 そこで質問なのですが、ソフトウェアってどう作るんですか? 今手元にマイクロソフト社の「Bookshelt Basic マルチメディア統合辞書」があります。このような辞書を作ってみたいな~と思います。 どのようにして作るのですか?よろしくお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
電子辞書を作りたいならこのURLが参考になるかも http://openlab.ring.gr.jp/edict/ 但し前提条件というか事前学習項目として、他の方もすでにご説明しておられますが、 (1)コンピュータの基礎知識 (2)電子辞書の基礎知識 (3)プログラム言語の基礎知識 などが最低限必要になります。 ちょっと専門的になりますが、現在のCD-ROM辞書はEPWING形式が主流と思って良いかと思います。 であれば、フリーで使えるEPWING形式のライブラリが揃っている言語を探せば良いかと思います。 例えば、 【C言語】 EBライブラリはWindows向けのC言語用ライブラリもあります。 http://www.sra.co.jp/people/m-kasahr/eb/index.html 【Java言語】 「EB4J」というクラスライブラリがあります。 http://sourceforge.jp/projects/eb4j/ これはC言語用のEBライブラリをJavaに実装するクラスです。 私は一応このクラスライブラリを使って広辞苑などの辞書の検索ソフトを作ってみたことがあります。 ・・・と書いてて気が付いたのですが、 「辞書」を作るのと「辞書検索ソフト」を作るのと、微妙に要求されるスキルが違いますね。 上記は「辞書検索ソフト」を作りたい場合の話です。
その他の回答 (6)
- tak2003
- ベストアンサー率32% (174/540)
ソフトウェアはプログラム言語を使ってコードを記述するコーディングとプログラムの骨組みを考える設計に分かれています。 あなたが作りたい物を細部に至るまで細かく仕様書にまとめる作業からプログラミングは始まります。 仕様書は使うデータベースとデータベースのテーブル名やカラム名又は、コードを記述する言語名やコーディング規約、画面遷移などのプログラムに関する詳細設計と、そのプログラム全体の仕様が書いてある概要設計などがあります。 プログラムは仕様書を元に行われます。単体のEXEが出来たらテスト仕様書に基づき単体テストを行います。 単体テストがすべて完了したら、結合テストを行います。 テストがすべて完了したらリリースとなります。 ソフトウェアの作り方でした。
お礼
ご回答ありがとうございました!
この手の辞書を作るときには、 データベースにデータを入力し、GUIは任意の言語で作成するのが一般的です。 辞書とは、あるキーワードに対して、文字、画像、音声などが付帯もしくはリンクしていることを指します。それを、一般的な言語で作成するのは現実的ではありません。 その後(もしくは並行して)、GUIを担当するプログラムを作成しますが、キーワードの一覧表示とか検索機能、キーワードに対する内容の表示、その内容の一部から再度検索をしたりリンクさせたりするプログラムを作っていくことになります。 Bookshlf ほどのものを作るのは技術的にも簡単ではないですが、莫大な時間がかかるというのがネックです。小さな規模から始めるのであれば、Microsoft Access のような、汎用データベースソフトだけで作成するのが現実的でしょう。
- mitoneko
- ベストアンサー率58% (469/798)
#1への補足も考慮して、おそらく、どんな言語でもプログラミングを経験されたことはありませんよね?多分。 どのような勉強をしていったらよいかですが、まずは、プログラミングと言うものを学んでください。としか言いようがないわけです。 実のところ、言語は、今の段階でしたら、何から始めてもかまいません。自分で実習ができる環境が整えられる言語であればどれでもいいです。 最終的な夢があるのはとっても良いことですから、マルチメディア辞書を作成するというのが最終目標でもいいかなとは思いますが、道のりはかなり長いです。(データ量もさることながら、それだけのデータ量を支えられるだけのシステムとなるとかなり困難なプログラムですので。) 目標の品に例示されているのが、Windowsのアプリケーションですので、とりあえず、プラットフォームはWindowsということで以下は進めますね。 とりあえず、目標のシステムが組めるだけの言語となると、 ・C/C++ 言語の特徴としては、比較的低レベルな操作から大規模なシステムまでかなりのエリアをカバーします。OSそのものもこの言語で書かれることが多く、今現在では一番ポピュラーな言語でしょうか。 あらゆる事に融通が利く反面、学習するときに、いくつか大きな山があるのも特徴です。(初心者の方が必ずこえないといけない関所が何カ所かあります。) 参考書の数も非常に多いです。 マイクロソフトのVisual C++ とか、BorlandのC++ Builderと言った所が、代表的な開発環境でしょうか。両方とも、数万円します。前者の方が参考書が多いです。 ・Visual Basic これも、マイクロソフトから、開発環境が販売されています。昔からあるBasicという言語をベースに、いろいろな改良がなされています。 ある程度までの大きさのシステムであれば、充分に作成することができます。言語でサポートされている範囲のシステムであれば、容易に作成できますが、いったんシステムのサポート範囲をはずれたことをしようとすると、不可能かハックに近い事をする必要が出てくることもあります。(まぁ、初心者の心配する範疇の話題ではないことは確かですが。) 参考書もある程度は豊富に出そろってますので、学習も楽でしょう。 ・Java オブジェクト指向を目指して開発された言語です。プラットフォーム(OS)に依存しない開発環境が、この言語の目標です。 一応、無償の開発環境もありますが、大きなシステムを組む頃には、それなりの有償の開発環境がある方が楽です。 参考書も豊富ですし、大概の入門向けの参考書には、開発環境の入手方法やインストール方法からかかれていることが多いですし、付録CD-ROMにフリーの開発環境が添付されているものもあります。 ・後は、.net開発環境や、C#などもありますが、まだ出てきたばかりで、少々初心者の方が手を出すには厳しいかも。 後、言語の他に、アルゴリズムという分野の学習をすることも必要なるでしょう。 コンピュータ言語で何かをしようとしたときに、それをどうやって実現するかを数学的に示したものです。たとえば、「ばらばらの数字を順番に並べるにはどうすればよいか?」とか、「ある一連の数字がある時に、指定した数字を検索するにはどうすればよいか?」とかいう方法論です。 これは、言語に依存しない形での解説書から、ある言語に絞った解説書まで数多くの解説書があります。大概、タイトルかサブタイトルに「アルゴリズム」という言葉が入ってます(苦笑) さらに、Windowsで、GUI環境のプログラムを作成するのであれば、Windows APIに関する学習も必要です。これは、プログラマーのためのWindowsの使用説明書です。Windowsでウィンドウを作成する方法とか、メニューを作成する方法とか、画面に文字や画像を表示する方法とか、そういった分野の話です。 解説書には、Windows APIという言葉がタイトルかサブタイトルに入っていることでしょう。 と学ぶことは山のようにあるわけですが、まずは、これという言語を適当に決めて、(選択基準は本屋さんでわかりやすそうな参考書があったから・・と言う程度の理由でかまいません。)入門書と開発環境を整え、小さなプログラムを、本を片手に作っていくことから始めてください。 そのうち、入門書を一冊読み終わり、自分で作ったかわいい小さなプログラムが何本かできた頃には、次にやるべき事は自ずと見えてくるかと思います。 がんばってくださいね=^・。・^=
お礼
ご回答ありがとうございました。 一応初心者向けとしてまずはBASICからやってみたいと思います。
- zero-fighter
- ベストアンサー率30% (155/507)
プログラム言語はいくつもありますが、 1.将来的に使いこなすならDelphi 2.あまり複雑なことをしない、巨大プログラムは作らないのならVisual Basic をお勧めします。 どちらでも辞書は作れます。 また、Bookshelfは見たことがないので良くわかりませんが、辞書類似のものであれば、(厳密にはプログラム言語ではありませんが) 1.Accessなどでも辞書類似のものは作れると思います。 2.あるいはhtml(ホームページ言語)でもできる 3.巨大でなければhelpファイルを作るためのソフトも使える たぶん、Booksheftは市販ソフトでしょうからデータ量が非常に多いのだと思います。 それと同じぐらいのデータを考えているのなら、専用のプログラム言語が必要です。 しかし、もっと小さな、例えば項目の数が200個程度なら上記の2とか3でも可能です。 そこらはどの程度の規模の辞書を、誰が使うか(個人的に使うのか、不特定多数に流すので使い勝手が重要なのか)といった要素により違ってきます。
お礼
ご回答ありがとうございました!!
- renton
- ベストアンサー率34% (1720/4934)
プログラム言語としてはBasic、C、Javaなどがあります。 市販のツールを購入するか、無料で配布されているものを使用して作りますが、始めてすぐに自分の思った通りのプログラムが書けるようにあるとは限りません。 多少プログラムの勉強が必要です。 単語のリストを作って、それを参照するという程度なら、ホームページを作るのと同じHTMLでも作れそうです。 HTMLならテキストエディタ(メモ帳など)一つあれば作れるので簡単です。 HTML講座などのキーワードで検索してみてください。
お礼
ご回答ありがとうございました。 もちろん勉強しますが辞書に向いている言語はなんでしょうか?それが分からないと勉強できませんので・・
- zero-fighter
- ベストアンサー率30% (155/507)
ドイツ語を学んだことのない人に、「どうやったら資本論のような本を書けるのですか」と質問されている感じです。 ドイツ語の入門書から始めて、徐々に勉強していくしかないですよね。そして、書いたものが良いかどうかはドイツ語とは別のレベルの才能とかアイディアが必要になります。 まずは、プログラム言語を勉強し、非常に単純なプログラムから初めて徐々に言語をマスターしていくのが常道でしょう。
お礼
ご回答ありがとうございます。 わたしの質問の仕方が悪かったですね。というわけで改めて質問し直します。 (1)辞書を作るには何が必要ですか?(そこら辺のフリーウェアではだめですか?) (2)必要な言語はなんでしょうか?
お礼
ご回答ありがとうございました!