• ベストアンサー

ソフトウェアってどう作るんですか?

こんにちは 最近プログラミングに興味を持っています。 そこで質問なのですが、ソフトウェアってどう作るんですか? 今手元にマイクロソフト社の「Bookshelt Basic マルチメディア統合辞書」があります。このような辞書を作ってみたいな~と思います。 どのようにして作るのですか?よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • dayowl
  • ベストアンサー率56% (84/148)
回答No.5

電子辞書を作りたいならこの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に実装するクラスです。 私は一応このクラスライブラリを使って広辞苑などの辞書の検索ソフトを作ってみたことがあります。 ・・・と書いてて気が付いたのですが、 「辞書」を作るのと「辞書検索ソフト」を作るのと、微妙に要求されるスキルが違いますね。 上記は「辞書検索ソフト」を作りたい場合の話です。

yossan1
質問者

お礼

ご回答ありがとうございました! 

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (6)

  • tak2003
  • ベストアンサー率32% (174/540)
回答No.7

ソフトウェアはプログラム言語を使ってコードを記述するコーディングとプログラムの骨組みを考える設計に分かれています。 あなたが作りたい物を細部に至るまで細かく仕様書にまとめる作業からプログラミングは始まります。 仕様書は使うデータベースとデータベースのテーブル名やカラム名又は、コードを記述する言語名やコーディング規約、画面遷移などのプログラムに関する詳細設計と、そのプログラム全体の仕様が書いてある概要設計などがあります。 プログラムは仕様書を元に行われます。単体のEXEが出来たらテスト仕様書に基づき単体テストを行います。 単体テストがすべて完了したら、結合テストを行います。 テストがすべて完了したらリリースとなります。 ソフトウェアの作り方でした。

yossan1
質問者

お礼

ご回答ありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。
noname#30727
noname#30727
回答No.6

この手の辞書を作るときには、 データベースにデータを入力し、GUIは任意の言語で作成するのが一般的です。 辞書とは、あるキーワードに対して、文字、画像、音声などが付帯もしくはリンクしていることを指します。それを、一般的な言語で作成するのは現実的ではありません。 その後(もしくは並行して)、GUIを担当するプログラムを作成しますが、キーワードの一覧表示とか検索機能、キーワードに対する内容の表示、その内容の一部から再度検索をしたりリンクさせたりするプログラムを作っていくことになります。 Bookshlf ほどのものを作るのは技術的にも簡単ではないですが、莫大な時間がかかるというのがネックです。小さな規模から始めるのであれば、Microsoft Access のような、汎用データベースソフトだけで作成するのが現実的でしょう。

全文を見る
すると、全ての回答が全文表示されます。
  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.4

 #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という言葉がタイトルかサブタイトルに入っていることでしょう。  と学ぶことは山のようにあるわけですが、まずは、これという言語を適当に決めて、(選択基準は本屋さんでわかりやすそうな参考書があったから・・と言う程度の理由でかまいません。)入門書と開発環境を整え、小さなプログラムを、本を片手に作っていくことから始めてください。  そのうち、入門書を一冊読み終わり、自分で作ったかわいい小さなプログラムが何本かできた頃には、次にやるべき事は自ずと見えてくるかと思います。  がんばってくださいね=^・。・^=

yossan1
質問者

お礼

ご回答ありがとうございました。 一応初心者向けとしてまずはBASICからやってみたいと思います。

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

プログラム言語はいくつもありますが、 1.将来的に使いこなすならDelphi 2.あまり複雑なことをしない、巨大プログラムは作らないのならVisual Basic をお勧めします。 どちらでも辞書は作れます。 また、Bookshelfは見たことがないので良くわかりませんが、辞書類似のものであれば、(厳密にはプログラム言語ではありませんが) 1.Accessなどでも辞書類似のものは作れると思います。 2.あるいはhtml(ホームページ言語)でもできる 3.巨大でなければhelpファイルを作るためのソフトも使える たぶん、Booksheftは市販ソフトでしょうからデータ量が非常に多いのだと思います。 それと同じぐらいのデータを考えているのなら、専用のプログラム言語が必要です。 しかし、もっと小さな、例えば項目の数が200個程度なら上記の2とか3でも可能です。 そこらはどの程度の規模の辞書を、誰が使うか(個人的に使うのか、不特定多数に流すので使い勝手が重要なのか)といった要素により違ってきます。

yossan1
質問者

お礼

ご回答ありがとうございました!!

全文を見る
すると、全ての回答が全文表示されます。
  • renton
  • ベストアンサー率34% (1720/4934)
回答No.2

プログラム言語としてはBasic、C、Javaなどがあります。 市販のツールを購入するか、無料で配布されているものを使用して作りますが、始めてすぐに自分の思った通りのプログラムが書けるようにあるとは限りません。 多少プログラムの勉強が必要です。 単語のリストを作って、それを参照するという程度なら、ホームページを作るのと同じHTMLでも作れそうです。 HTMLならテキストエディタ(メモ帳など)一つあれば作れるので簡単です。 HTML講座などのキーワードで検索してみてください。

yossan1
質問者

お礼

ご回答ありがとうございました。 もちろん勉強しますが辞書に向いている言語はなんでしょうか?それが分からないと勉強できませんので・・

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

ドイツ語を学んだことのない人に、「どうやったら資本論のような本を書けるのですか」と質問されている感じです。 ドイツ語の入門書から始めて、徐々に勉強していくしかないですよね。そして、書いたものが良いかどうかはドイツ語とは別のレベルの才能とかアイディアが必要になります。 まずは、プログラム言語を勉強し、非常に単純なプログラムから初めて徐々に言語をマスターしていくのが常道でしょう。

yossan1
質問者

お礼

ご回答ありがとうございます。 わたしの質問の仕方が悪かったですね。というわけで改めて質問し直します。 (1)辞書を作るには何が必要ですか?(そこら辺のフリーウェアではだめですか?) (2)必要な言語はなんでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ソフトウェアの販売をしたい

    マイクロソフト社のソフトウェアの販売をしたいのですが、販売店向けの代理店はどこなのでしょうか? 全くの初心者です。よろしくお願いします。

  • 金融関係のソフトウエア開発

    最近、就職活動のことを考えています。現在大学2年生なので実際に活動を始めるのは、まだ、少し先だとは思っています。 それで、金融関係に興味を持っていて、少しプログラミングもできるので、金融関係のソフトウエア開発がいいんじゃないかと思っています。 しかし、興味をもっているだけで、実際にどういうソフトウエアが必要なのかよく分かりません。 お金を扱うものなので、かなり頑丈(精密)に作ってあるイメージがありますが、どんな感じなのでしょうか? 昔は、言語はコボルを使っていたといいますが、今もそうなのでしょうか? 勘定系システムとかがあるんですよね。そういうのを勉強できる本とかはあるのでしょうか? やっぱり、あるんでしょうね。 そういう勉強は、ソフトウエア会社に入社してからで、間に合うのでしょうか?

  • どういった流れで・ソフトウェアで始めるのでしょうか?

    プログラミングの勉強もしたことありませんし、本なども読んだことも有りません(JAVAは本なら所持)。判るのは「言語」を組み立ててそれがプログラムとして機能することと、言語はC++JAVAぐらいしか知りません。 プログラミングを勉強するに当たって「何を造りたいのか?」という事を聞かれるとすぐ答えられませんが、本当にくだらないソフトなど作ってみたいなと思います。 ・例えば、部屋の模様替えソフトです。部屋の面積を長さと角度など正確に入れ、その中に又正確に測った家具などをおき、どうすれば生活スペースが少しでも広くなるか…のようなソフトです。 取り合えず、今は何が作りたいかは判りませんが、勉強はしてみたいものです。VisualBasicやBorland C++ というソフトウェアを使えばC++でのプログラミング構成ができるのでしょうか?どのようなソフトウェアが初心者にとってとっつきやすいでしょうか? どのような言語が良いのかが判りませんが、プログラミング自体わからない自分でも聞いたことのあるC++は一番の有名だと思い、そちらを始めに勉強したいと思います。 あと、質問のタイトルにもありますように、「プログラミング構成の流れ」や「要点」など有りましたら教えてください。 要点と言われても漠然としますが・・・プログラマーの皆様のコツや初心の頃にやっていたことなど教えていただければ精進できると思います。 長文になりまして失礼します。宜しく御願します。m(_ _)m

  • ソフトウェアを格安で買いたい

    マイクロソフトオフィス2003アカデミック版 もしくは ワードのみが欲しいんですが、 そういうソフトウェアが格安で買えるオンラインショップはどこがありますか?

  • Flashが作成できるソフトウェア

    こんにちは。マルチメディアど素人です。 Flashでなにか作ってみたいのですが、ソフトが高そうで買えません。 できればフリーソフトかシェアウェアで制作したいのですが・・・ フリーでFlashの作成ができるソフトウェア、どなたかご存知無いですか?

  • マイクロソフト社ソフトウェアに関して

    以前、ウィンドウズは、ひとつのソフトを多数のPCにインストールすることを防ぐためにマイクロソフト社がオンライン上で、それを監視し、もしそれが発見された場合、警告を発するということを聞いたことがあるのですが、そうなのでしょうか? もしそうなのだとすると、それはOSやオフィスを含めたすべてのソフトウエアが対象なのでしょうか?

  • 看板屋さんで使うソフトウェアについて

    私は現在小さな看板屋さんで働いているのですが、私以外パソコンを使える人がいないため、パソコンのソフトウェアについて教えてくれる人がいません。 現在使っているソフトはイラストレーターとフォトショップとJw_cadの3つです。 一応この3つのソフトウェアがあれば仕事は一通りできるのですが、「このソフトがあればもっと便利」というものがあれば教えてください。 最近は3DCG(?)3D設計(?)に興味を持っていますが、ソフトウェアの種類が多すぎてどれに手を付けたらいいのかわかりません。 使っているパソコンはWindows7です。 よろしくお願いします。

  • 「ソフトウェアの使用経験は?」と問われたら

    現在エントリーシートを書いているのですが、その中に 「ソフトウェア使用経験」 という項目があります。 これはどのようなソフトウェアの使用経験を問うているのでしょうか? DreamweaverやPhotoshopなど具体的なソフト名を挙げてその使用経験を問うものはよく見かけますし、それならば答えられるのですが、単にソフトウェアと言われると漠然としすぎて何を書いていいか分からないのです。 例えば 「eclipseを使用し、xxxなアプリを開発しました」 のような、開発に関わるようなソフトのことを答えればよいのでしょうか? また、別の会社では 「ソフトウェア使用経験(C言語/JAVA等)」 という聞き方になっていました。 ソフトの使用経験というよりプログラミング経験を問われているような印象を受け、 「ソフトウェアの使用経験≒プログラミング経験??」 と混乱してしまいました。 結局この項目にはどのようなことを書いたらよいのでしょうか。

  • 将来、ソフトウェアとかを作ってビジネスをしたりできるんですか?

    自分はプログラミングに興味があるんですが、将来、本業とは傍らにC言語なんかを勉強して自分でソフトウェアを開発してビジネスとしたり・・・ っていうのはできるんですか?

  • DVD を焼くのに必要なソフトウェア

    今、ネットでダウンロードした動画をDVDに焼こうとしているのですが、マルティメディアでは焼けません。何かお勧めのソフトウェアがあるのでしたら教えてください。できれば、無料のやつがいいです・・・

このQ&Aのポイント
  • HDDに保存されているファイル(写真データ)をSSDにコピーしようとした際に、一部のファイルが正常にコピーできない問題が発生しました。
  • コピー方法は、全てのフォルダーを含む649個のフォルダーと84.2GBのデータです。
  • OSはWindows 11 Homeで、SSDは2TBの容量でexFAT形式、HDDはNTFS形式です。
回答を見る