■ このスレッドは過去ログ倉庫に格納されています
設計思想/ソフトウェア工学(UML, デザパタetc)
- 1 :デフォルトの名無しさん:2017/09/29(金) 01:10:55.23 ID:NSGi97+G.net
- ・要求設計、概念設計、論理設計、物理設計までを扱う範囲とします。
- 2 :デフォルトの名無しさん:2017/09/29(金) 01:29:23.55 ID:ppl3WHHK.net
- %%%3%%%
000-DOK<NAZE-0.8112162>
001-3800%\73NMB/1,81,2,NB"IKKI"%
002-91.81%ML7"8.122231746668193,43@ML.4@"%^23.1444
003-1.33321444718%"YLD""SO"%{71.%{62.1339816{331.422231765%<<<NL6
004-LOOP%Go To"000"%
VCL
- 3 :デフォルトの名無しさん:2017/09/29(金) 03:11:51.92 ID:UluMyDjB.net
- テーマが漠然としてる
良い設計はどういう設計かとか
なんか問題意識が欲しい
あと具体的な題材も欲しい
図書館やレンタルビデオの
貸出管理をどう設計するかとか
- 4 :【お題】:2017/09/29(金) 03:55:44.00 ID:NSGi97+G.net
- ・じゃあお題を建てよう。
・みんな>>3 を基準にして色々と考えてくれ。
・このお題が気に入らない場合棄却してくれても構わないが、
その場合代わりのお題はつくってくれよな。
・「Excelに記録されているデータを読み込んで特徴を分析し、
それを洗練して互換的に格納するDBを作成るSQL案を自動生成する。
このシステムはデータをもとに推測を行って、テーブル作成から
データ流し込みまでの全てのSQL案を生成してくれる。
DB名, テーブル名, カラム名, データ型, 各種制約も出来る限り
頑張って設定してくれる。(わからない場合デフォルトの名前とか
が入るようになる。)
推測のしかたについて、オプション指定機能が搭載されていて、
オプション次第で様々なDB格納法が自動生成できる。
制約については何故その制約が必要と判断したのかの理由を
レポートしてくれる。」
- 5 :デフォルトの名無しさん:2017/09/29(金) 08:11:49.51 ID:f9wlNvC6.net
- >>1
すみません、デザパタってなんですか?
まさかデザインパターンのことですか??
- 6 :デフォルトの名無しさん:2017/09/29(金) 22:32:09.38 ID:NSGi97+G.net
- >>5
そうだよ、アナリシスパターンでもいいよ
- 7 :デフォルトの名無しさん:2017/09/29(金) 23:06:17.17 ID:RLeXl8wr.net
- >>4
設計思想について話したかったんじゃないの?
- 8 :デフォルトの名無しさん:2017/09/29(金) 23:10:07.53 ID:QnX5sSrT.net
- 設計なんで実装の話は原則禁止
どの言語でも通用する話をするべき
- 9 :デフォルトの名無しさん:2017/09/29(金) 23:10:37.66 ID:QnX5sSrT.net
- >>4
設計の話なんで、ExcelとかSQLとか言う話はいらない。
抽象化して書いてくれ
- 10 :デフォルトの名無しさん:2017/09/29(金) 23:18:03.15 ID:QnX5sSrT.net
- いや俺が書いてあげよう。ExcelやSQLという言葉を消すだけだが
・「マイグレーションファイルに記述した定義から
いろんなデータベースにスキーマと初期データを自動生成する。
このフレームワークは初期データファイルから
データの流し込みを行ってくれる
スキーマや制約も出来る限り
頑張って設定してくれる。(わからない場合デフォルトの名前とか
が入るようになる。)
オプション指定機能が搭載されていて、
オプション次第で多くのDBMSに対応できる。
ER図とかの自動生成機能も存在する」
つまりRailsのようなものだ。
Railsを設計してくれという話だ。
- 11 :デフォルトの名無しさん:2017/09/29(金) 23:23:08.13 ID:RLeXl8wr.net
- >>9
そこに出てくるExcel・SQL・DBは
みんな要件レベルの話で実装の話じゃないよ
- 12 :デフォルトの名無しさん:2017/09/29(金) 23:24:44.32 ID:QnX5sSrT.net
- つまりは>>4はActiveRecordの設計がどうなっているか?
ORMとはどのような設計になっているかという話がしたいということだろう。
ORMとはデータベースをオブジェクトにマッピングしてくれるものだ。
というのはよく言われる簡単な説明の一つだな。
まず二次元のデータベースっていうのは慣れると単純なので
ある意味楽ではあるが、現実世界は二次元のデータには収まらない
初心者が勘違いしてしまうのはORMは単なるSQL生成ツールだと
思ってしまうこと。まあそれは本当の初心者だろうが、
ORMは複数のテーブルがあってそれぞれがつながってる
データベース全体をオブジェクトの形で表現するもの。
テーブル=モデルと考えてしまうと、ある地点で行き詰まってしまう。
データベース=モデル群と考えるのが正解。
データベースに入っているデータをいろんな視点(=モデル)から
見ることができるようにするのがORM
だからORMを使う時にモデルとモデルのつながりの定義を書くのは必須なのである
(もちろんログや設定のようなつながりを持たないモデルもあるにはあるが)
- 13 :デフォルトの名無しさん:2017/09/29(金) 23:25:13.78 ID:QnX5sSrT.net
- >>11
設計の話なんで要件の話はいらない。
設計の話をしましょう。
ActiveRecordとかね
- 14 :デフォルトの名無しさん:2017/09/29(金) 23:29:12.39 ID:QnX5sSrT.net
- ActiveRecordはRailsが有名になったせいで
Rails特有のライブラリや概念だと勘違いしている人も
いるかもしれないがそれは違う。
ぐぐればすぐに分かることだが
http://www.techscore.com/tech/Ruby/Rails/other/designpattern/1/
> 1. Active Recordパターンとは?
>
> Martin Fowler氏の Patterns of Enterprise Application Architecture (邦訳)で
> 解説されているデザインパターンのひとつで、以下のように解説されています。
>
> データベーステーブルまたはビューの行をラップし、データベースアクセスを
> カプセル化してデータにドメインロジックを追加するオブジェクト
日本語訳は残念との噂が高いが、この本のこと
エンタープライズアプリケーションアーキテクチャパターン
https://www.amazon.co.jp/dp/B01B5MX2O2
なのでActiveRecordパターンの話は
あきらかに設計思想の話であると明確にしておこう
- 15 :【お題】:2017/09/29(金) 23:30:29.00 ID:NSGi97+G.net
- >>10
いいやそれは違う。
マイグレーションファイル書かないとだめじゃん。
SQLという文言は排除してもいいがExcelは排除したくない。
「IT全然知らない人がつくった.xlsxファイルを、データベースに入れたい」
「それと同時にデータベースをつくってくれる呪文」も手に入れたい。
RailsとかORMとか ActiveRecordとかもっと詳細化された概念じゃん。
- 16 :デフォルトの名無しさん:2017/09/29(金) 23:33:41.73 ID:QnX5sSrT.net
- ActiveRecordパターン等のパーシステンス層アーキテクチャパターン
には次のようなものが有る
http://otndnld.oracle.co.jp/columns/arai-semi/data_access/2/
> Table Data Gateway
> Row Data Gateway
> Active Record
> Data Mapper
- 17 :デフォルトの名無しさん:2017/09/29(金) 23:35:53.60 ID:QnX5sSrT.net
- >>15
> Excelは排除したくない。
お前の都合は知らん。
一番シンプルでわかりやすく強力な手段を選ぶべき
例えば、booleanと書けばいいのに真偽値と日本語で書くようなもの。
not null と書けばいいのに必須と日本語で書くようなことに意味はない
その考えで行くとExcelは排除すべきという結論になる
そのことを説明してもいいが、そもそも設計の話とは無関係なので
Excelの話はここでもう終わり
お前風言うのであれば
「Excelは排除したい」だ。このスレから
- 18 :デフォルトの名無しさん:2017/09/29(金) 23:36:19.09 ID:f2TxCfjK.net
- 仕様が確定してれば設計なんて猿でもできる
仕様が不確定な問題を設計までもってくる馬鹿がいるとその開発は失敗と思っていい
- 19 :デフォルトの名無しさん:2017/09/29(金) 23:37:47.81 ID:QnX5sSrT.net
- 一人で設計とは関係ないエクセルがーって
話をしたいならどうぞご勝手にとしか言うつもりはない。
ただ設計思想とは全く関係ないということだ。
だから設計思想の話をしたいと思ってる人は
俺を始め、エクセルの話は誰もしないということは受け入れろ。
- 20 :デフォルトの名無しさん:2017/09/29(金) 23:38:23.39 ID:QnX5sSrT.net
- >>18
> 仕様が確定してれば設計なんて猿でもできる
それができる猿は見たこと無いので
説得力ゼロだよ。
- 21 :デフォルトの名無しさん:2017/09/29(金) 23:40:19.76 ID:QnX5sSrT.net
- 設計思想の話に戻ろう
といっても俺が何やら言うよりもまずはコピペでいいあろう。
設計思想の話について、何か意見があればどうぞということだ。
Active Record
3つ目はActive Recordです。一言で言うと「データベースのテーブル/ビューの
1つの行をラップしたオブジェクトで、データアクセスロジックやドメインロジックを
カプセル化したオブジェクトとして実装」といえるかと思います。
Active Recordは、それ自身にドメインロジックを含むという点でドメイン層の
Domain Modelパターンとデータベースのテーブルのレコードを表すという点で
パーシステンス層のRow Data Gatewayパターンに良く似ています。
まず、Domain Modelと似ているという点ですが、Active Record自体が
Domain Objectと成り得るのですが、本当?のDomain Objectと異なる点は、
Active Recordはテーブルの構造を元にして基本的にテーブルの列の表現として設計される点です。
一方、Domain Objectは、テーブルの構造に関係なく、オブジェクト指向のドメイン分析の結果抽出されます。
例えば、前編で説明したDomain Modelでは、Strategyパターンを利用しているものの、
BIDテーブルに対応したBidクラス、Itemテーブルに対応したItemクラス、
SALEテーブルに対応したSaleクラスとテーブルとクラスがほぼ一対一になっていますが、
ドメインオブジェクトの設計によっては同じテーブル構造のまま、Itemを抽象クラスとして用意して、
そのItemを継承したBookやComputerなどの具象クラスを作成する様な継承関係を実装するかもしれません。
その場合、それら継承関係をItemテーブルという1つのテーブルに格納しなければならないかも知れません。
つまり、Domain Modelが複雑になればなるほど、両者の違いは明確になってきます。
そもそもドメイン層とパーシステンス層という全く役割の異なった層のパターンですので違うのが当たり前ですが・・・
あと、Row Data Gatewayと似ているという点ですが、これは単純にActive Recordがドメインロジックを含むという点かと思われます。
Active Recordパターンのコードは、Row Data Gatewayとほぼ同じです。異なる点は、
それ自身にドメインロジックが含まれるという点ですので今回は省略します。
- 22 :デフォルトの名無しさん:2017/09/29(金) 23:44:51.15 ID:QnX5sSrT.net
- パーシステンス層アーキテクチャパターンの選択
それでは、どのパーシステンス層のアーキテクチャパターンを選択すべきでしょうか?
これは、ドメイン層のアーキテクチャパターンの選択に大きく依存します。PoEAAでは、以下の様な組み合が考えられるとしています。
ドメイン層アーキテクチャパターン パーシステンス層アーキテクチャパターン
Transaction Scriptパターン Row Data Gatewayパターン
Table Data Gatewayパターン
Domain Modelパターン Active Recordパターン
Data Mapperパターン
Table Moduleパターン Table Data Gatewayパターン
ドメイン層とパーシステンス層はどの様な組み合わせでもかまいませんが、
より合わせやすいパターンは上記の様な組み合わせといっています。
また、少し視点を変えて各アーキテクチャパターンとシステムの論理的な階層の依存関係を表すと以下のように成るかと思われます。
【図】パーシステンス層/ドメイン層アーキテクチャパターンの依存関係
かなり抽象的かつ感覚的な図ですので、大体の感触をつかんでいただければ良いのですが、
1つ言えることは、システムの論理的な階層である、ドメイン層とパーシステンス層は、
其々異なる役割を持った層ですので、お互いに依存が少ないほうが好ましいと思われます。
その点で言うとDomain ModelとData Mapperがお互いの層で依存関係が少なく済みます。
- 23 :デフォルトの名無しさん:2017/09/29(金) 23:49:06.93 ID:QnX5sSrT.net
- >>22に自己レス
パターンはぶっちゃけどれもまともに使っていれば悪くないんだろうけど
結局は使うフレームワークによるよな。
ウェブのシステムは単純なのが多いから
トランザクションスクリプトパターン使って
テーブルデータゲートウェイかな?
SQLを生成してくれるライブラリで十分だと思っているけど、
Rails使ってみるとアクティブレコードパターンよく出来てるんだよな。
これぐらい作り込まれていれば、ドメインモデルパターンもやる気になる
(流石に貧弱なフレームワークでドメインモデルは大変すぎた)
- 24 :【お題】:2017/09/29(金) 23:53:33.73 ID:NSGi97+G.net
- わかった、Excelはゴリ押しするのはやめよう。
ただ、なんでExcelがいいかっていうと、
既存でExcelで格納されたデータってたくさんあるだろ、
この「既存の表を情報処理できるように整理したい」と
いうのが目的。
スプレッドシートでざっと「DBのテーブルっぽい表」を
つくって、今回開発するシステムにその「表」を見て推測させて
それっぽい構造をつくってもらいたい。
あとはそっからSQLが分かる人なら、DBいじって手直しできればいいな~と
そういう話です。Excelも固有名詞だからゴリ押ししたのは済まなかった。
- 25 :【お題】:2017/09/29(金) 23:57:46.50 ID:NSGi97+G.net
- >>14
Active Recordで「パターン」なの!?
そりゃ知らなかったぜ。
- 26 :デフォルトの名無しさん:2017/09/29(金) 23:58:13.22 ID:QnX5sSrT.net
- >>24
エクセルはただファイルフォーマットにすぎない。
設計思想とは何の関係もない。
ファイルフォーマットとしてみれば
無駄に重く二次元に縛られてるから柔軟性がない。
YAML形式のほうが遥かに可読性が高くて
柔軟性が有るファイルフォーマット
ってかファイルフォーマットの話はいらない。
- 27 :デフォルトの名無しさん:2017/09/30(土) 00:00:00.15 ID:YEkb06JW.net
- >>25
Martin Fowler氏の Patterns of Enterprise Application Architecture(通称PoEAA)で
紹介されているデザインパターンの一つのアクティブレコードパターンを
実装したのがRailsのActiveRecord
時系列的に見ればパターンとして紹介された後にRailsがつくられてる
- 28 :【お題】:2017/09/30(土) 00:04:57.56 ID:aRvHHZYR.net
- なるほど。
>>26
.csvに書き出せばいけるやん?
最初からそう言わなかった俺が悪いが。
このお題は良くないかな、きっと構文解析必要だよね、
それって設計はあまり関係なくなってくるよな。
- 29 :デフォルトの名無しさん:2017/09/30(土) 00:20:39.20 ID:saho3bNy.net
- 設計って何?
業務?
プログラム?
なんの設計を考えるの?
- 30 :【お題】:2017/09/30(土) 00:30:38.24 ID:aRvHHZYR.net
- こまったwwwww代わりの要求を考えたが出て来ないわwww
だれか要求出せる人お題考えてくれwwwww
- 31 :デフォルトの名無しさん:2017/09/30(土) 00:37:57.90 ID:YEkb06JW.net
- >>28
> .csvに書き出せばいけるやん?
だからファイルフォーマットの話はどうでもいいの
設計とは無関係
無関係だが言っておくとYAMLの方が見やすい
CSVなんてインデントすらまともにできないだろ
階層構造のデータも作れない
- 32 :デフォルトの名無しさん:2017/09/30(土) 00:38:40.58 ID:YEkb06JW.net
- >>30
設計思想の話で要求とか関係ないと言ってる。
設計思想の話をするならば、なぜあのフレームワークは
こういう設計になってるのか、その思想が知りたい
とかそういう話
- 33 :【お題】:2017/09/30(土) 00:47:40.14 ID:aRvHHZYR.net
- >>31
そうだな。
それを「データから」推測して構造再構築できないかな。
たとえば、"太郎"が見つかったら -> 「漢字が使われている(Unicode)」である
->「東アジアらへんの人名っぽい」とか
(少なくととも"ASSDFEWHE"のようなランダムなトークンではなさそうとか)
-"2017/09/30"を読んだら->「日付だ」とか。
型が特定できたら、開発するシステムがある程度自分なりの考え方で
整理整頓して正規化して、再構築してくれる。
あと、重要な前提として元データの「完全再現移植」は目指さない。
っていうの後付だけどつけるわ。
- 34 :デフォルトの名無しさん:2017/09/30(土) 00:51:16.44 ID:e3HOpbVM.net
- ずっと実装の話になってる
実装だと分かるから言いたくなる
いかに設計が難しいか分かるな
- 35 :【お題】:2017/09/30(土) 00:55:09.45 ID:aRvHHZYR.net
- >> 34
まさにそれ、ほんとすみません。
こうしよう。
>>40 以降に書かれた最初に「お題」として投稿されたものに対して
議論しよう。
- 36 :デフォルトの名無しさん:2017/09/30(土) 01:31:22.72 ID:Gb2Lg2Zy.net
- どういう方針で実装するか考えことが設計だろうに。
実装とも言語とも切り離して考えることが何の役に立つのだ。
- 37 :【お題】:2017/09/30(土) 01:54:58.43 ID:aRvHHZYR.net
- この状態を取りまとめてくれる
有能なプロマネ兄貴が来るのを待つしか無いな。
- 38 :デフォルトの名無しさん:2017/09/30(土) 02:21:40.48 ID:MuV6ZELy.net
- >>4の要件そう悪くなかったのに変なのに流されるからだよ
- 39 :デフォルトの名無しさん:2017/09/30(土) 08:56:47.01 ID:kOdc4YYr.net
- >>10がクソ「いろんな」←はぁ?
社会人ですか?w
お里が知れるな
- 40 :お題:2017/09/30(土) 11:00:02.01 ID:YEkb06JW.net
- パーシステンス層アーキテクチャパターンについて自分の考えを述べよ
パーシステンス層アーキテクチャパターンの選択
それでは、どのパーシステンス層のアーキテクチャパターンを選択すべきでしょうか?
これは、ドメイン層のアーキテクチャパターンの選択に大きく依存します。PoEAAでは、以下の様な組み合が考えられるとしています。
ドメイン層アーキテクチャパターン パーシステンス層アーキテクチャパターン
Transaction Scriptパターン Row Data Gatewayパターン
Table Data Gatewayパターン
Domain Modelパターン Active Recordパターン
Data Mapperパターン
Table Moduleパターン Table Data Gatewayパターン
ドメイン層とパーシステンス層はどの様な組み合わせでもかまいませんが、
より合わせやすいパターンは上記の様な組み合わせといっています。
また、少し視点を変えて各アーキテクチャパターンとシステムの論理的な階層の依存関係を表すと以下のように成るかと思われます。
【図】パーシステンス層/ドメイン層アーキテクチャパターンの依存関係
かなり抽象的かつ感覚的な図ですので、大体の感触をつかんでいただければ良いのですが、
1つ言えることは、システムの論理的な階層である、ドメイン層とパーシステンス層は、
其々異なる役割を持った層ですので、お互いに依存が少ないほうが好ましいと思われます。
その点で言うとDomain ModelとData Mapperがお互いの層で依存関係が少なく済みます。
- 41 :デフォルトの名無しさん:2017/09/30(土) 17:39:35.70 ID:e3HOpbVM.net
- なんか最初から予備知識が
必要な話になってるけど
それだとレスがつけにくいと思う
>>3
>図書館やレンタルビデオの
>貸出管理をどう設計するか
くらいの話から始めればいいんじゃないの?
- 42 :デフォルトの名無しさん:2017/09/30(土) 17:55:21.86 ID:e3HOpbVM.net
- レンタルビデオをドメインモデリングでやるとしたら
ドメイン層にはまず
会員クラスがあってビデオクラスがある
貸出管理クラスで両者の情報を参照して貸出処理する
そのほか料金クラスや期日クラスも要るだろう
ここら辺はそんなに極端な差は出ないと思う
- 43 :デフォルトの名無しさん:2017/09/30(土) 18:02:34.49 ID:kOdc4YYr.net
- 要件定義しろよ
- 44 :デフォルトの名無しさん:2017/09/30(土) 18:03:44.48 ID:e3HOpbVM.net
- >>42
>貸出管理クラスで両者の情報を参照して貸出処理する
おっと思いつきで書いちゃったけど
貸出の操作をするのはアプリ層か
ドメイン層では貸出の整合性を取るが
やり方はいろいろあると思う
- 45 :デフォルトの名無しさん:2017/09/30(土) 18:07:45.62 ID:e3HOpbVM.net
- >要件定義
・ビデオ(DVD/CD)の貸出を処理できる
→ 料金や期日ももちろん提示する
・ビデオが貸出中や貸出可能かどうか検索できる
・貸出期限を過ぎた会員を検索できる
必要最低限の要件はざっくりこんな感じ
もちろん実務だと会員が何百万人いて
DBの性能要件とかあるだろうが
お題であまり複雑にしても仕様がない
- 46 :デフォルトの名無しさん:2017/09/30(土) 18:09:20.88 ID:e3HOpbVM.net
- あ、会員やビデオの登録や更新
(CRUD)はもちろん必要
穴だらけだけどそこら辺は
みんなでつついてくれ
- 47 :デフォルトの名無しさん:2017/09/30(土) 18:15:20.93 ID:kOdc4YYr.net
- 図が描けないのが辛いな
- 48 :デフォルトの名無しさん:2017/09/30(土) 18:27:16.20 ID:kOdc4YYr.net
- ユースケース
客
CD/DVDを借りる
CD/DVDを返す
CD/DVDを借りパクする
店員
店員登録
店員削除
ログイン
ログアウト
会員登録手続きをする
会員退会手続きをする
CD/DVDを借りる手続きをする
CD/DVDを返す手続きをする
CD/DVDを期限切れても返さない客に催促する
- 49 :デフォルトの名無しさん:2017/09/30(土) 18:56:27.94 ID:kOdc4YYr.net
- 店員
CD/DVDの状態取得
CD/DVDの新規登録
CD/DVDの削除
が無いと現在の状況がわからんのと
新しい商品の登録ができん
- 50 :デフォルトの名無しさん:2017/09/30(土) 19:24:30.66 ID:a814Aecf.net
- もっとユーザー要求に近いところから整理したほうがいいのでは?
システム構想ありきでユースケース書いてるように見えるが
- 51 :デフォルトの名無しさん:2017/09/30(土) 19:32:50.73 ID:V9icv6B6.net
- 期限や料金は貸出案件オブジェクトの属性にしたくなるな
- 52 :デフォルトの名無しさん:2017/09/30(土) 19:50:27.41 ID:e3HOpbVM.net
- >>50
お題は叩き台だから
具体的に要求を出してくれれば
現実にありそうな要求としてはたとえば
DVDの貸出回数を記録して
月間トップ10を出すとかね
- 53 :デフォルトの名無しさん:2017/09/30(土) 19:54:01.39 ID:e3HOpbVM.net
- >>51
その場合たとえば
期日クラスに問い合わせると
インスタンスを返してそれを
貸出側の属性に持たせるとか
- 54 :デフォルトの名無しさん:2017/09/30(土) 21:05:56.13 ID:kOdc4YYr.net
- データとしては
店員
会員
CD/DVD状態
貸出記録
返却記録
ぐらい?
- 55 :デフォルトの名無しさん:2017/10/01(日) 00:09:52.47 ID:1iFDY5/1.net
- >>3
このレスって10年ぐらい前に見た気がする
デジャヴュなのかありきたりすぎる話題なのか本当に過去にもあったものなのか
狐につままれてるみたいだ
- 56 :デフォルトの名無しさん:2017/10/01(日) 00:12:42.40 ID:1iFDY5/1.net
- 新機軸も何もなくただ建てられただけで>>3-4みたいな
流れのままだとありきたりなクソスレに終わる
毎年春に新入社員が受ける教育のようなくだらなさ
- 57 :デフォルトの名無しさん:2017/10/01(日) 00:22:50.36 ID:1iFDY5/1.net
- 実際ハロワとかの職業訓練ではjavaでレンタルビデオ店のシステムを作ろう
みたいのを一年かけてやる
で、書いたコードを手元に持ってて面接で見せるらしい
- 58 :デフォルトの名無しさん:2017/10/01(日) 00:24:02.00 ID:OSXVzYJs.net
- >>55
レンタルビデオの例は
リファクタリングの本に載ってるから
モデリングの題材として定番なんだよ
>>56
じゃあ新しい話題を振ればいいじゃん
ないなら定番になるのは仕様がない
- 59 :デフォルトの名無しさん:2017/10/01(日) 00:27:40.81 ID:1iFDY5/1.net
- 設計思想とはいうものの
実際は実装に引っ張られるので漠然と語ることなんてなかなかない
余程大規模じゃない限り会社の特性がありそれによって実装に制約が生じる
その点を考慮しての要求設計がなければまともなものはできない
- 60 :デフォルトの名無しさん:2017/10/01(日) 00:36:13.26 ID:kJ8csjIE.net
- お題をもとに設計について議論しようとしてるスレ?
設計思想はあんまり関係ない?
もしそうなら
議論の対象を「CD/DVDの貸出」のユースケースに絞って
もう少し深く要件考えるといいんじゃないかな
貸せるかどうかの判定ルールだったり
レンタル価格の算定ルールだったり
- 61 :デフォルトの名無しさん:2017/10/01(日) 00:47:39.82 ID:OSXVzYJs.net
- >>60
>設計思想はあんまり関係ない?
1じゃないけど
別に好きな話題振ればいんじゃね?
>>40
でもこれに誰もレスしてないから
いきなり深い設計思想を語っても
言うほどみんな乗ってこないじゃん
- 62 :デフォルトの名無しさん:2017/10/01(日) 01:08:19.74 ID:2Js2C5Pp.net
- 設計思想なのにデザパタって書いてあるスレタイが悪い
- 63 :デフォルトの名無しさん:2017/10/01(日) 01:46:01.01 ID:8JYfigS0.net
- >>54
顧客(特化: 会員/非会員)
店員
作品(属性: 保有数, 返却期限, 単価) (特化: CD/DVD)
→導出: 現在貸出中の数 & 貸出可能数
単品(属性: 識別子, 状態: 未貸出/未返却)
取引
- 64 :デフォルトの名無しさん:2017/10/01(日) 02:15:13.20 ID:8JYfigS0.net
- 個人的には>>40兄貴の講義にも興味があるけどな。
具体例を上げて解説して欲しいところではあるが。
- 65 :デフォルトの名無しさん:2017/10/01(日) 03:15:06.12 ID:kJ8csjIE.net
- >>61
そっか
「お題に沿って設計してみた」的なスレになれば有意義だと思うが
設計思想云々は設計思想って言葉を理解せずに使う人しかいないからゴミスレになる予感
- 66 :デフォルトの名無しさん:2017/10/01(日) 08:11:11.48 ID:U1G3k+aG.net
- >>62
少なくともデザパタと略す奴はクソ
- 67 :デフォルトの名無しさん:2017/10/01(日) 09:21:28.30 ID:Pf7aXXU9.net
- 機能一覧
店員登録
店員削除
ログイン
ログアウト
会員登録
会員退会
CD/DVD貸出
CD/DVD返却
CD/DVD期限切れ
CD/DVDの状態取得
CD/DVDの新規登録
CD/DVDの登録削除
こんなもんかな?
- 68 :デフォルトの名無しさん:2017/10/01(日) 09:29:30.28 ID:Pf7aXXU9.net
- あ、データの編集ができないな
店員編集
会員編集
CD/DVD編集
追加で
- 69 :デフォルトの名無しさん:2017/10/01(日) 09:32:16.58 ID:Pf7aXXU9.net
- 機能一覧
店員登録
店員編集
店員削除
ログイン
ログアウト
会員登録
会員編集
会員退会
CD/DVD貸出
CD/DVD返却
CD/DVD期限切れ
CD/DVDの状態取得
CD/DVDの新規登録
CD/DVDの編集
CD/DVDの登録削除
こんなもんかな?
- 70 :デフォルトの名無しさん:2017/10/01(日) 09:38:53.88 ID:Pf7aXXU9.net
- よく考えたらログインログアウトいらんね
削除ね
機能概要
店員登録
店員情報を店員Tblに登録する
店員編集
店員情報を編集する
店員削除
店員情報を削除(休眠)する
会員登録
会員情報を会員Tblに登録する
会員編集
会員情報を編集する
会員削除
会員情報を削除(休眠)する
- 71 :デフォルトの名無しさん:2017/10/01(日) 09:45:39.43 ID:Pf7aXXU9.net
- 機能概要
CD/DVD貸出
貸出情報を貸出tblに登録する
CD/DVD返却
返却情報を返却tblに登録する
CD/DVD期限切れ
期限切れの貸出情報を表示する
CD/DVDの状態取得
CD/DVD情報を表示する
CD/DVDの新規登録
CD/DVD情報をCD/DVDtblに登録する
CD/DVDの編集
CD/DVD情報を編集する
CD/DVDの登録削除
CD/DVD情報を削除(休眠)する
できた
- 72 :デフォルトの名無しさん:2017/10/01(日) 09:48:38.07 ID:Pf7aXXU9.net
- 俺はここまでで組めちゃうかも
オブジェクト指向設計とかいらね
- 73 :デフォルトの名無しさん:2017/10/01(日) 10:47:47.46 ID:8JYfigS0.net
- >>72
成果物見せてくれよな~頼むよ~
- 74 :デフォルトの名無しさん:2017/10/01(日) 11:04:11.15 ID:OXD0q5aq.net
- >>73
これ、それぞれ設定画面作って
OKボタンの処理でDB操作するだけだわ
これ作ってもらわなわからんって言うなら
掲示板で設計の話は無理なのかもしれん
ちなみに俺もテキトーに考えたので抜けやらなんやらあってもわからん
- 75 :デフォルトの名無しさん:2017/10/01(日) 11:33:35.29 ID:OXD0q5aq.net
- 機能概要
CD/DVD紛失
CD/DVD紛失情報をCD/DVD紛失tblに登録する
もいるかも
- 76 :デフォルトの名無しさん:2017/10/01(日) 11:45:19.69 ID:8JYfigS0.net
- ・要求設計や上流工程の本読んでるといつもそうだが、
実際に自分とは関係ない具体例出されると集中力が保てなくてすぐに
眠くなってしまう。
・いや、実際に自分が手がけている案件だって同じだ、議論領域に対して
正直な所興味が持てない。
・つまりプログラミングやアーキテクチャには興味があるが、
ドメイン領域に対して学習意欲がわかないというかなんというか。
- 77 :デフォルトの名無しさん:2017/10/01(日) 12:09:25.63 ID:OXD0q5aq.net
- >>76
周りが見えてないから
なんで後から追加・変更するの?
とか起きないためには
受け取った要件定義書や設計書を
自分がその資料をデバッグできなければならない
ここで漏れがあったらこれで作成できますと言った自分にもある程度の責任はついてくる
俺が出した機能概要で君はソフトウェアを作れるの?
作れないなら足りないところを言って
後からアレがないコレがない騒がないでよ
これで見積りを出すから
って状況なら嫌でも興味が湧くだろ?
- 78 :【演習】:2017/10/10(火) 12:26:46.70 ID:gurV1EfO.net
- ・次のクライアントへのインタビューを読み、
設問に解答してください。
やったぜ。 者:変態糞土方 (8月16日(水)07時14分22秒)
昨日の8月15日にいつもの浮浪者のおっさん(60歳)と先日メールくれた汚れ好きの土方のにいちゃん
(45歳)とわし(53歳)の3人で県北にある川の土手の下で盛りあったぜ。
今日は明日が休みなんでコンビニで酒とつまみを買ってから滅多に人が来ない所なんで、
そこでしこたま酒を飲んでからやりはじめたんや。
3人でちんぽ舐めあいながら地下足袋だけになり持って来たいちぢく浣腸を3本ずつ入れあった。
しばらくしたら、けつの穴がひくひくして来るし、糞が出口を求めて腹の中でぐるぐるしている。
浮浪者のおっさんにけつの穴をなめさせながら、兄ちゃんのけつの穴を舐めてたら、
先に兄ちゃんがわしの口に糞をドバーっと出して来た。
それと同時におっさんもわしも糞を出したんや。もう顔中、糞まみれや、
3人で出した糞を手で掬いながらお互いの体にぬりあったり、
糞まみれのちんぽを舐めあって小便で浣腸したりした。ああ〜〜たまらねえぜ。
しばらくやりまくってから又浣腸をしあうともう気が狂う程気持ちええんじゃ。
浮浪者のおっさんのけつの穴にわしのちんぽを突うずるっ込んでやると
けつの穴が糞と小便でずるずるして気持ちが良い。
にいちゃんもおっさんの口にちんぽ突っ込んで腰をつかって居る。
糞まみれのおっさんのちんぽを掻きながら、思い切り射精したんや。
それからは、もうめちゃくちゃにおっさんと兄ちゃんの糞ちんぽを舐めあい、
糞を塗りあい、二回も男汁を出した。もう一度やりたいぜ。
やはり大勢で糞まみれになると最高やで。こんな、変態親父と糞あそびしないか。
ああ〜〜早く糞まみれになろうぜ。
岡山の県北であえる奴なら最高や。わしは163*90*53,おっさんは165*75*60、や
糞まみれでやりたいやつ、至急、メールくれや。
土方姿のまま浣腸して、糞だらけでやろうや。
- 79 :デフォルトの名無しさん:2017/10/10(火) 12:32:35.43 ID:gurV1EfO.net
- ↑上記「とうこう」者 : 変態糞土方の部分の
「とうこう」がNGワードになっていたので削除しています。
<補足>
・クライアントの変態糞土方さんは、この経験を元に、
「糞遊びの会」のサイトを新たに立ち上げたいと考えました。
・このサイトでは会員登録を行い、会員については年齢、身長、体重
それから住所、性癖、空いている時間帯などを管理したいと考えています。
・このサイトでは会員/非会員などの間で掲示板でコミュニケーションを
とるソーシャルメディアとして活用したいようです。
・また、会員同士ではメッセージをやり取りし、オフ会を開くきっかけ
を作りたいそうです。
<設問>
・1: この記述を元に、クラス図、業務フロー図、アクティビティ図、
ユースケース図/記述などを作成しなさい。
・2: 実装段階において活用できそうなデザインパターンについて
解答しなさい。
・3: このシステムの問題点はどのようなところにあるか考え、
実運用開始にあたって発生することが懸念されるインシデント
及びその対応策について述べなさい。
- 80 :【演習】:2017/10/14(土) 12:20:09.78 ID:YZBwJ7NO.net
- あぁ^~速く回答まみれになろうぜ。
回答したいやつ。至急レスくれや。
- 81 :デフォルトの名無しさん:2017/10/14(土) 12:49:39.56 ID:6KISst0f.net
- まずは言い出しっぺがやれと
- 82 :デフォルトの名無しさん:2017/10/15(日) 21:27:55.88 ID:NUNtAlCN.net
- バージョンアップ時の設計について質問
今回バージョン1.0.0のアプリをバージョン1..0.1にしようとしています。
その時に1.0.0ではなかったソフトを1.0.1では導入しようと思っています
・1.0.0:アプリAのみ
・1.0.1:アプリA+別アプリB+テキストファイル
※ファイル通信を行っていたものがもともとアプリA
バージョンアップでアプリAからファイル通信機能を無くし
別アプリBにファイル通信機能を持たすことになっています
バージョンアップするときはアプリAの上書+アプリBの導入で良いのですが、
バージョンダウンする時アプリBとテキストファイルが1.0.0では不必要なので削除しないといけないです。
このようなとき、ファイルを削除するのであればバージョンを判断して削除したり削除しなかったりを
決める以外に判断材料はないでしょうか?
バージョンで判断して削除するような設計しようとしていたのですがバージョン自体はアプリAに埋め込まれているため
インストールをしたアプリのバージョン取得をできません
また、次回起動時に削除してしまえばいいのかと思っていたのですが、バージョンが古いアプリAだと別アプリBの存在を知らないため削除できません
インストール時に何かしら判断する方法をアドバイスほしいです
テキストファイルにはアプリBの処理の分岐処理に使うようなキーを書く予定で
これを上手く使えないかなと考えています
- 83 :デフォルトの名無しさん:2017/10/15(日) 21:48:21.63 ID:hZRxEBGG.net
- >>82
デスクトップアプリの話?
1つのアプリの中のコンポーネントとして
AとBとテキストファイルがあるという理解でいい?
スイート製品でアプリBのみのアンインストールや
アプリAのみのアンインストールやバージョンアップができるの?
内容からして前者だと思うけど
その場合AやBはアプリとは呼ばない気がする
- 84 :デフォルトの名無しさん:2017/10/15(日) 21:54:18.75 ID:hZRxEBGG.net
- >>82
一般的にバージョンダウン時は
インストール済みバージョンのアンインストーラを使ってアンインストールしてから
旧バージョンをインストールしてもらう
アンインストールせずに旧バージョンをインストールしようとしたら
新バージョンがインストールされてることを検知して
アンインストールするかどうかをユーザーに確認する
アンインストーラをキックして
アンインストール後に旧バージョンのインストーラに制御を戻すことも可能
- 85 :デフォルトの名無しさん:2017/10/15(日) 22:00:13.06 ID:NUNtAlCN.net
- >>83
デスクトップアプリです
前提:PC1の持つデータをPC2にインストールする
バージョン変更のボタン1つのみ(バージョンアップ・バージョンダウンの個別ボタン無し)
※PC1が持つデータがただ古いか新しいかの違いのみ
1つのアプリのコンポーネントとして〜というよりは
システム全体でAの実行ファイルとBの実行ファイルとテキストがあるって感じです
システムって言うと抽象化なのかな・・・?
あるシステムには今までは実行ファイルAしかなく、今度のアップデートからからは
実行ファイルAと実行ファイルBとテキストファイルになる
単体でのアップデートなどはできず
アップデートってすると前提にある様にPC1にあるデータを全てPC2に書き込む流れです
- 86 :デフォルトの名無しさん:2017/10/15(日) 22:21:48.24 ID:hZRxEBGG.net
- >>85
おーん、、、何やら変わったアプリだね….
それはいいとしてアップデート=バージョンアップだよね?
でアップデートする場合はPC1にあるデータをPC2に書き込むのはわかったけど
バージョンダウンする場合はPC2の実行ファイルAを古いバージョンにして
かつ不要な実行ファイルBとテキストファイルを削除したいってことでいい?
だとすれば実行ファイルAを古いバージョンにする時に
実行ファイルBとテキストファイルを削除すればいいと思うんだけど?
質問を理解できてないのかもしれんが
それが出来ない理由がいまいち分からん
- 87 :デフォルトの名無しさん:2017/10/15(日) 22:33:38.63 ID:NUNtAlCN.net
- >>86
アップデート=バージョンアップで問題なしです
やりたいことも、削除したいってことでOKです
あー今気づきました
ファイルAを古いバージョンにする時にこいつが古いバージョンだ!って判断するのが
どうやってすれば良いんだろうと悩んでるところです。。。
- 88 :デフォルトの名無しさん:2017/10/15(日) 23:09:31.05 ID:hZRxEBGG.net
- >>87
インストーラとかアンインストーラとかはあるんだよね??
1.0.1のAがインストール済みの環境で
1) 1.0.0のインストーラ/アンインストーラが起動された場合
対応バージョンより新しいのが入ってるのを検知して新バージョンのインストーラ/アンインストーラを使うように促す
(バージョンダウン時は新バージョンのアンインストールをしてから再度旧バージョンのインストーラを使ってもらう)
2) 1.0.1のインストーラ/アンインストーラが起動された場合
Bやテキストファイルの存在を知ってるので削除可能だよね?
バージョンダウンに直接対応したアンインストーラ兼インストーラを用意する場合も同じ
世の中一般のパッケージソフトはおおよそ上の仕組み使ってる
旧バージョンのインストーラが使えない状況で
バージョンアップ時に旧バージョンのAを退避しておく必要があるとかそういうことなのかな?
- 89 :デフォルトの名無しさん:2017/10/16(月) 01:04:43.52 ID:BLPcXnhp.net
- >>82
バージョニングが複雑になるときは
1. バージョンの記述を設定ファイルに外出しする
2. AとBと実行ファイルごとにバージョンを振る
3. バージョン変更するためのバッチや専用アプリを書く
上のどれかでだいたい行けるはず
番号が小さいほど導入の手間が少ない
- 90 :デフォルトの名無しさん:2017/10/16(月) 01:42:27.84 ID:1MDONeW4.net
- >>82
とりあえずセマンティックバージョニングでググってこい
- 91 :デフォルトの名無しさん:2017/10/16(月) 01:57:49.59 ID:t2YDIrX7.net
- ______
,;i|||||||||||||||||||||||||||||||ii;、 _/
/||||||||||||||||||||||||||||||||||||||ii;、 \
/ ̄ ̄\||||||||||||||||||||||||||||||||||||ii;゙ヽ, /
'" ̄ヽ ヽ!!|||||||||||||||| ||||||||||!!"ヘ < セマンティックageるよ
ヽ ゙!!!|||||||||||| |||||||!! iヽ── /
|||l ゙゙ヽ、ll,,‐''''"" | ヽ||||||||| セマンティックageるよ
|||l ____ ゙l __ \|||||||||
||!' /ヽ、 o゙>┴<"o /\ |'" ̄| ホントの勇気 見せてくれたら
\ / |ミミヽ──‐'"ノ≡- ゙'──''彡| |、 | |
 ̄| |ミミミ/" ̄ 、,,/|l ̄"'''ヽ彡|| |、/ / セマンティックageるよ
ヽ、l| |ミミミ| |、────フヽ |彡l| |/ /_
\/|l |ミミミ| \_/ ̄ ̄フ_/ |彡|l/  ̄/ セマンティックageるよ
\ ノ l|ミミミ| \二二、_/ |彡| フ
 ̄\ l|ミミミ|  ̄ ̄ ̄ |メ/ \ トキメク胸に キラキラ光った
| \ ヽ\ミヽ  ̄ ̄"' |/ /
/ \ヽ、ヾ''''ヽ、_____// /_ バージョンをageるよ
/ ヽ ゙ヽ─、──────'/|  ̄/
. / ゙\ \ / / \__
───'''" ̄ ̄ ゙゙̄ヽ、__,,/,-'''" ̄ ゙''─
- 92 :デフォルトの名無しさん:2017/10/16(月) 02:54:09.09 ID:VwEzpL/B.net
- >>90
リファクタリングしただけかもしれんぞ
まあそうじゃなくてもその会社で決めたバージョニングスキームに従えばいいでしょ
- 93 :デフォルトの名無しさん:2017/10/16(月) 06:50:27.77 ID:1MDONeW4.net
- >>92
「会社で決めた決めたバージョニングスキーム」が読みとれたのかい?
どっちにしても質問者はセマンティックバージョニング知らなそうだから、プラスになると思うよ
- 94 :デフォルトの名無しさん:2017/10/17(火) 17:20:41.06 ID:IfQVHUWW.net
- アナリシスパターンとデザインパターンの関連性
って対応表みたいなのあるかな?
- 95 :デフォルトの名無しさん:2017/10/17(火) 18:12:49.12 ID:G9wCIPXR.net
- >>94
どういう目的で関連や対応を知りたいの?
アナリシスパターンはデータモデルのパターンだから
デザインパターンとは基本的に関係ないよ
- 96 :デフォルトの名無しさん:2017/10/19(木) 19:00:09.75 ID:WUKQrCUm.net
- フリーでUMLデザインツールといえば、なにがおすすめですか?
- 97 :デフォルトの名無しさん:2017/10/19(木) 20:17:05.58 ID:JScZcAYQ.net
- astah
- 98 :名無しさん@そうだ選挙に行こう! Go to vote!:2017/10/22(日) 17:38:17.57 ID:O4jMcQm7.net
- 設計のご相談
あるソフトのバージョンアップをしたいと考えている
んでもってそのバージョンアップに伴い既存ファイルに新しいキーが追加される
その状況で考えて欲しいです
そのファイルは現在インストーラーが上書きすることになっているため新バージョンがリリースされる度に上書きされます
そのためキーの値を保持し続けることができません
(キーは書き換える可能性があるものです)
インストーラを変更させずにキーを保持し続ける方法無いでしょうか
キー変更をするためのバッチファイルを準備しようとは思っていますがそれを使ってなんとかならないものだろうか
例
1.0が現在のキーなし
1.1が新しくキー追加
1.2がキー追加などなくバージョンアップのとき
1.1でキー追加→バッチファイルを実行しキー値を変更する→1.2のバージョン上げるとキーがデフォルトに戻る
- 99 :名無しさん@そうだ選挙に行こう! Go to vote!:2017/10/22(日) 18:01:22.02 ID:rLFHcAK9.net
- インストーラーを変更しない理由が見当たらないけど
インストーラーの仕様漏れをなんとかリカバリできないかと苦労してるって話なのかな?
- 100 :名無しさん@そうだ選挙に行こう! Go to vote!:2017/10/22(日) 18:25:10.12 ID:O4jMcQm7.net
- >>99
そうです
普通に考えたらインストーラを上書きしないようにすることで解決すべきことなんでしょうが
それが今回何故かNGでそれをどうにか回避できないかと
- 101 :デフォルトの名無しさん:2017/10/22(日) 20:57:40.70 ID:rLFHcAK9.net
- 設計というか仕様の話だよね
インストーラーが本来すべき仕事だったそのバッチプログラムで肩代わりするしかない
バッチプログラムにキーの退避・復旧機能を入れてインストーラーの前後で実行してもらう
サポート対応コストを考えるとインストーラー修正のほうが絶対に安上がり
それにバッチプログラムで尻拭いするとしても
インストーラー担当にケツを拭かせるようにしないとろくな事にならないよ
- 102 :デフォルトの名無しさん:2017/10/22(日) 21:30:46.03 ID:O4jMcQm7.net
- やはりインストーラを修正しかないか...
インストーラ修正はテストの範囲が膨大になるからしたくなかったが...
キーの退避・復旧機能って言うとどうやってやるもんなんだろ
やっぱりtmpファイルを作っておくものかね?
- 103 :デフォルトの名無しさん:2017/10/23(月) 03:43:06.87 ID:JrZmYN5x.net
- イベントや状態遷移の設計についておすすめの書籍ある?
- 104 :デフォルトの名無しさん:2017/10/24(火) 07:17:31.51 ID:HCv33Y/u.net
- クラス設計をした結果継承もまったくなく1つのクラスに収まったんだけどそれってクラスにする必要あるもんなんかね?
- 105 :デフォルトの名無しさん:2017/10/24(火) 07:43:46.41 ID:vrotHuwu.net
- >>104
継承は必須じゃない
- 106 :デフォルトの名無しさん:2017/10/24(火) 07:48:45.93 ID:XO9ImU8w.net
- >>105
必須ではないってのはわかってる
一つにまとまったものをクラスとして置いておく必要あるんかな?ってなってる
ただの関数でもいいんじゃないかと
- 107 :デフォルトの名無しさん:2017/10/24(火) 07:55:52.31 ID:vrotHuwu.net
- >>106
メソッドひとつだけなら別に関数でもいいが
ふたつ以上必要なら意味はあると思う
- 108 :デフォルトの名無しさん:2017/10/24(火) 07:58:53.16 ID:XO9ImU8w.net
- >>107
メソッド三つ四つあるかな
あるライブラリをc++で呼び出す(コマンド実行)ためのコーディングをするためにクラス設計
ライブラリは色々なプロトコル(HTTP,FTPなどなど)をサポートしてたからそれにあわせてクラス設計中
メンバ変数
・char プロトコル
・char ユーザ名
・char パスワード
・char 実行コマンド
※実行コマンドはexe -u ユーザ名 -pa パスワード -p プロトコル名 その他オプションみたいなsystemに渡す出来上がった形
ふるまい
・コンストラクタ(プロトコルやユーザ名やパスワードを引数とする)
・実行コマンド作成
・実行コマンド実行
・実行後の終了待機
- 109 :デフォルトの名無しさん:2017/10/24(火) 08:08:53.99 ID:vrotHuwu.net
- >>108
メンバ変数を複数のメンバ関数で使うなら
クラスの意味あるじゃん
- 110 :デフォルトの名無しさん:2017/10/24(火) 09:50:41.14 ID:XO9ImU8w.net
- >>109
普通に引数として受け渡しでもいいんじゃないか
って疑問です
- 111 :デフォルトの名無しさん:2017/10/24(火) 16:15:40.27 ID:cjHIRFnx.net
- 特定のアカウントを使って接続して
いくつかのコマンドを順次実行したい場合に
利用者側がどういう使い方をしたいかによる
今後を含めて一つの関数を逐次実行するので十分であれば関数でいいかもね
- 112 :デフォルトの名無しさん:2017/10/24(火) 18:33:21.32 ID:vrotHuwu.net
- >>110
ダメってことはないよ
別に関数でも組めるよ
だけど規模が大きくなると
だんだん引数が多くなっていって
呼び出しが複雑になっていくでしょ?
OOで組むなら
メンバ変数で状態を持って
なるべく引数を減らす
- 113 :デフォルトの名無しさん:2017/10/27(金) 20:27:28.71 ID:BY+fhh/f.net
- 概念設計と論理設計の違いって何?
- 114 :デフォルトの名無しさん:2017/10/29(日) 01:41:18.55 ID:9lQAHngl.net
- >>113
ググレカス
- 115 :デフォルトの名無しさん:2017/11/01(水) 13:17:46.13 ID:jWbqOBSl.net
- 独立性の高いモジュール設計するときって
引数少なくしたらまず独立性が高くなるかなって考えてるのだけど合ってる?
それ以外に考えることある?
- 116 :デフォルトの名無しさん:2017/11/01(水) 18:10:03.93 ID:S3J9ewzc.net
- 参照を少なくする
- 117 :デフォルトの名無しさん:2017/11/01(水) 18:22:42.23 ID:qEJO82f+.net
- 独立性ってのは高凝集・疎結合の程度のことだよね?
引数の数って独立性に関係ある?
引数で渡されたオブジェクトのメソッドを呼び出すなら
関係してるけどそれは引数の数とはまた別だと思う
- 118 :デフォルトの名無しさん:2017/11/01(水) 18:45:16.31 ID:S3J9ewzc.net
- 引数で受け渡すのは独立性が高い
直接参照する方が依存性を高くする
- 119 :デフォルトの名無しさん:2017/11/01(水) 23:18:18.43 ID:cHQvRiDd.net
- 渡す引数によるけども渡す引数がそれぞれで依存するようなものならば独立性が低いと言える気がする
- 120 :デフォルトの名無しさん:2017/11/01(水) 23:27:23.87 ID:qEJO82f+.net
- >>118
直接参照は引数渡しに比べると依存性が高いので独立性が低い
それはそうだろうけど引数の数とは関係ないよね?
>>119
引数同士の依存度の強さは引数の独立性には関係するけど
モジュールの独立性とどう関係するの?
- 121 :デフォルトの名無しさん:2017/11/02(木) 00:51:44.64 ID:pq+UNRec.net
- たとえば引数でパスを受け取って
ファイルを開いて何か処理する
モジュールがあったとすると
引数でも依存性は高い
- 122 :デフォルトの名無しさん:2017/11/02(木) 01:30:12.00 ID:rd1E1A0+.net
- 依存性の高い低いは相対的な指標だからさ
何と比べてってのが無いとあんまり意味なくね?
- 123 :デフォルトの名無しさん:2017/11/02(木) 21:33:00.65 ID:PD3uBoNX.net
- 素朴な疑問なんですけどクラス図に書くフィールドがpublicになる事って実務の世界であるのでしょうか?
マイナス以外を書く事無さそうなので無記入で良いんじゃないかと
- 124 :デフォルトの名無しさん:2017/11/02(木) 22:14:33.07 ID:Ic4nkIVo.net
- 世の中のあらゆる言語からpublicフィールドが無くなったら必要なくなるだろう。
- 125 :デフォルトの名無しさん:2017/11/02(木) 22:53:15.70 ID:rd1E1A0+.net
- >>123
プロパティ
逆にprivateなフィールドをクラス図に書く必要があるのって
どういう目的でクラス図を書いてる時?
- 126 :デフォルトの名無しさん:2017/11/03(金) 16:06:43.40 ID:JRMJYWYA.net
- >>125
んなもんいくらでもあるだろ
お前はクラス内で利用する依存オブジェクトを全部公開するのか?
- 127 :デフォルトの名無しさん:2017/11/04(土) 08:59:22.14 ID:7D9PjzRB.net
- UMLとか書くのにペンタブ使うツールって無いんかね
あっても良さそうだけど。
- 128 :デフォルトの名無しさん:2017/11/04(土) 09:47:21.81 ID:4lDAx3zT.net
- タブレットでUML編集か
商品化しろ
- 129 :デフォルトの名無しさん:2017/11/05(日) 21:08:09.36 ID:mJ5ylCwT.net
- >>1
人類初!自分が作ったロボットに暴行を受けた男
https://youtu.be/pOdUO8DmPoU
- 130 :デフォルトの名無しさん:2017/11/06(月) 03:29:00.55 ID:2Q/sT7xS.net
- ヤフーブログの https://blogs.yahoo.co.jp/kamyu_2010 にデザパタ解説を発見した。
- 131 :デフォルトの名無しさん:2017/11/06(月) 19:53:17.44 ID:9L+ZJ2Xp.net
- ほとんど統合失調じゃねーかw
がんばれと言いたいがすでにがんばってる感じで
泣きながら床をのたうちまわりたい気分になった
がんばれ
- 132 :デフォルトの名無しさん:2017/11/06(月) 20:06:56.27 ID:9L+ZJ2Xp.net
- でも思考が破綻してるわけじゃないな
アスペか
これが本物のアスペなのか?
- 133 :デフォルトの名無しさん:2017/11/06(月) 20:47:07.11 ID:tjV5ukzM.net
- たんに不器用なおっさんなんじゃね?
- 134 :デフォルトの名無しさん:2017/11/09(木) 12:48:24.46 ID:hfkiYsiW.net
- 外注に出す時はどこまで口を挟んで良いのかな?
DDDの採用とか言って良いのかな
内部で使うとはいえ業務ソフトを丸投げして構造化プログラムで組まれたらキツいなと
- 135 :デフォルトの名無しさん:2017/11/09(木) 18:40:45.86 ID:oTLZ7Zqm.net
- 後で書き直しになったら外注する意味ないからな
といって外注でDDDでポンと出来るとも思えないが
- 136 :デフォルトの名無しさん:2018/01/31(水) 17:28:23.18 ID:H4JZoijG.net
- UMLを書くツールって何使ってる?
PlantUMLを使ってるんだが、
アクティビティ図(ベータ版)で、ifの終わりに毎回「◇」が付くのって消せないかな?
それか、何か他に良いツールあったら教えてください
WORDやExcelやPowerPointで一つずつ書くのが確実なのかもしれんが
- 137 :デフォルトの名無しさん:2018/02/01(木) 03:42:50.95 ID:lCvV1P8G.net
- Astah
- 138 :デフォルトの名無しさん:2018/02/05(月) 08:42:38.92 ID:EtfEhPH8.net
- visioが良いらしい
あれはワードに張ったままでも編集できる
- 139 :デフォルトの名無しさん:2018/02/07(水) 18:07:33.82 ID:e8WHE/qt.net
- 画期的なデザインパターンってあるか?
- 140 :デフォルトの名無しさん:2018/02/07(水) 18:32:51.13 ID:TRREltXp.net
- デザインパターン自体が画期的だった
- 141 :デフォルトの名無しさん:2018/02/07(水) 19:09:02.23 ID:Rn2OhqN+.net
- >>139
ないんじゃないかな
そもそもデザインパターンってよく使われてたパターンを整理して名前つけただけだし
- 142 :デフォルトの名無しさん:2018/02/16(金) 01:21:18.20 ID:W1XJdyx1.net
- ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
- 143 :デフォルトの名無しさん:2018/05/23(水) 20:27:27.89 ID:Au5e7VGg.net
- 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
ZB5CI
- 144 :デフォルトの名無しさん:2018/07/05(木) 01:19:49.66 ID:RfoszcD2.net
- CZZ
- 145 :デフォルトの名無しさん:2018/09/11(火) 10:22:11.65 ID:8TFPOuLo.net
- PlantUMLで
if(判定)then([Yes])
else([No])
:例外処理;
endif
って書くと、「判定」の下に[No]の「例外処理」が来て右側が[Yes]になるけども、
判定の右側を[No]にして、判定の左側もしくは下側を[Yes]にする方法ってあります?
- 146 :デフォルトの名無しさん:2019/01/13(日) 19:28:12.99 ID:bepzLkLz.net
- astahでかけ
- 147 :デフォルトの名無しさん:2019/04/01(月) 18:33:42.70 ID:DUI06/LX.net
- UML図をマウスでさくっとかける無料ソフト
カモン
- 148 :デフォルトの名無しさん:2019/04/02(火) 10:46:14.00 ID:wiU9Z+Y4.net
- マウスとか微調整出来なくてイラっとする
- 149 :デフォルトの名無しさん:2019/04/04(木) 20:20:49.51 ID:dwkaTZV0.net
- >>147
>>146
総レス数 149
56 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★