ago)カテゴリタグ:情報ついにやってきた、情報のラスボス。10月中に50以上にも及ぶすべての課題を攻略できるのでしょうか・・・もう、いきなり言葉が特殊でわかりにくい。同じような言葉を別の分野ではこう言うよねっていうのがあって。汎化っていうよりは一般化とかの方がメジャーな表現だと思うわけよ。オブジェクトって表現もあまりピンと来ないんだよな。英語圏の人はスッと入るんだろうけれど。いうか、最近のビジネス業界のなんでもカタカナにしときゃいいんだ的風潮が本当に腹が立つ。グロスを総計と言わない理由には何かあるのかい??レジャーもそうだよ、アクティビティとかコンセッションとかよ。外資系の圧力なのかね??例えば、コミュニケーションとか日本語にないワードならばいいんだけど、上手く日本語に訳せる言葉ですらカタカナ使っているのがなあ・・・しかも、なんか、使っている奴が大抵得意げなのもムカつくよなwまあ、その権化が小池百合子さんだと思うよ。未来を予測する最善の方法は、未来を発明することである。構成要素がてんでバラバラに、それぞれ好き勝手に働いているものはシステムではない。不具合が生じた時には、システムの構成要素を修正する必要があるが、その時にできるだけ修正範囲を限定でき、修正すべき内容が理解しやすいシステムがいいシステムだとされる。オブジェクト指向は以下のよいシステムの条件が実現しやすいと言われている。条件1疎結合性システムの構成要素同士の結合度が低い(複雑になりすぎるので、あんまりなんでもかんでも結び付けない)。直感的に理解しやすい抽象性を持つ(全部具体的に書かない)。エンジニアは顧客の要求通りのシステムは作ってはいけないというのは笑った。理由は、1顧客は作るべきシステム要件を全て知らないから。2顧客は作るべきでない要求をする可能性があるから。いうのって、ダメな上司の命令とかもありそうだよな。うまくいなして、部下たちが勝手にフォローしちゃうっていうね。UMLユニファイド・モデリング・ラングエージ。システムの構造を分かりやすく図で示す統一された方法のこと。80年代~90年代初頭には、紛らわしいローカルルールがたくさん存在したため、オブジェクト指向プログラミング言語の標準化に乗り出したという経緯がある。クラスデータ(属性)と処理(操作)をセットにしたもの。Aというグループに分類できるデータは処理Aが行うといったようにすること。これによりシステムがわかりやすくなる。UMLではといった図で表す。インスタンス(オブジェクト)実体。クラスによって作られる値。粉物を例にすると、クラスがたい焼き器、インスタンスがたい焼き。これがクラスがたこ焼き器になると、インスタンスはたい焼きではなくたこ焼きができる。UMLではと二段の長方形で描く。インスタンス名をクラス名より先に記述するのに注意。クラスのUMLと区別するために、インスタンスのクラス名やインスタンス名には必ず下線を引く。ちなみにクラス名のみ記述する場合はと:を残す。属性すら省略する場合はとする。サブクラス会員における特別会員など。ベン図などの集合の考え方をすると理解しやすい。※矢印の形は本当は正三角形に直線。これは正しく書かなければならない。関連クラスとクラスが関連している場合、そのクラスどうしを実線で結び、その端には、関連先に結びつくインスタンスの数(多重度)を示す。多重度(カーディナリティ)の記述の仕方は以下のとおり。0以上(ならなんでもいい)例えば、購入者というクラスと、購入というクラスと、タイトルというクラスがあった場合、ある特定の購入があった場合を考えると、購入者は一人に、購入された書籍のタイトルは一冊に特定できるので、クラス関連図は以下のようになる。※逆にある購入者がいたとき、その人が行った本の購入は(よほどの活字アレルギーでもない限り)複数回あるため、購入のクラス側には*を用いている。このように、関連図は中央に出来事(用言)のクラス、両端に人や物(体言)のクラスが来ることが多い。多重度の入れ方がかなり難しい問題。3つのクラスを作り、これらの関係図を作りなさい。1つも講義を受講しない生徒や、一人も生徒が受講しない講義があっても良いとする。一人の生徒から見て、その生徒が受講する科目の数は最低で0科目、最大で10科目なので、左側の多重度が0..10となり、逆にある講義科目から見て、その講義科目を受講する生徒は最低で0人、最大で20人なので、右側の多重度は0..20となるのである。インタフェース境界面という意味。抽象クラスと近いが、仕様の定義(抽象操作の宣言)のみを行なうため、インタフェースからインスタンスは作れない。インタフェースには具体的な実体がないので、実体化するためにはほかのクラスに実装してもらう必要がある。その場合は三角形付きの点線矢印で結ぶ。あるクラスがインタフェースを使用する場合を図で表す場合は、両者を依存関係を表す点線の矢印で結ぶ。