タグ

設計に関するtaketsのブックマーク (29)

  • 要件定義とはそもそも何か

    BPStudy#188〜要件定義を学ぼう。ChatGPTを添えて( https://bpstudy.connpass.com/event/281289/ ) の登壇資料です。 2023年4月28日(金)に開催。

    要件定義とはそもそも何か
  • ドメイン駆動設計を理解する3つのキーワード - ソフトウェア設計を考える

    ドメイン駆動設計との出会い 10年前に、エヴァンスのドメイン駆動設計を初めて読んだ時は、書いてある内容がほとんど理解できなかった。 あまり、面白いとも思わなかった。 当時は、現場でバグだらけのコードと格闘していた。障害が報告されるたびに、リファクタリングを参考に、該当個所の長いメソッドや大きなクラスを片端からリファクタリング。その結果、コードがわかりやすくなり、やっかいなバグが単純な修正で解消できてしまうことの効果に驚き、設計の重要性を再認識していた。 それ以前は、UNIXとC言語、OracleとPL/SQLという、オブジェクト指向ではない世界で技術を身に着けてきた。 どちらかというとオブジェクト指向には、ネガティブな印象を持っていた。現場では役に立たんだろうと。 バグとの格闘の中で、リファクタリング(設計改善)の威力を肌で感じ、その考え方とやり方がオブジェクト指向に由来するということを

    ドメイン駆動設計を理解する3つのキーワード - ソフトウェア設計を考える
    takets
    takets 2024/01/27
    ドメインモデル=計算モデルとするモデリングはしっくりくる
  • Value Object は不変にする | システム設計日記

    ドメイン駆動設計(DDD)の Value Objects パターンでは、オブジェクトを不変(immutable)にすることを強く推奨している。 なんとなく、そんなもんか、と思っていたけど、ある日、なるほど、というケースに出くわした話し。 変数名にこだわる 前提として、変数名にこだわるようになったことがある。 DDD のユビキタス言語パターンの実践として、 ・パッケージ名 ・クラス名 ・メソッド名 ・変数名 は、業務上の意味のある名前にこだわることを、徹底しはじめた。 Java Calendar クラスの日付計算 当日から、2週間後に、期限切れになる、というビジネスルルールを実装していた。 Calendar getExpireDate() { Calendar now = Calendar.getInstance(); now.add( Calendar.DATE, 7*2 ); retur

    takets
    takets 2024/01/27
    不変オブジェクトの実装 実装方法としては、 ・コンストラクトで、値をすべてセット。 ・setter など、内容を書き換えるメソッドを書かない。 ・値を変えたいときは、同じクラスの別のインスタンスを作成して戻す
  • 最近の海外DDDセミナーを聞いてみたら色々と常識が破壊された - Qiita

    TL;DR 最近の設計志向はイベント駆動がかなり中心になっている とくにDDD界隈がここまでイベント駆動一槍だとは思わなかった ストーリーを出発点にイベント駆動で設計を組み立てる「イベントストーミング」がかなり多くの場所で事例として取り上げられている はじめに 最近、洋書や動画の講演資料などいくつか海外の情報源に当たることがおおくなり、その中で「結構日でやられている取り組みとちがうなー」と考えることが多く、一旦そのあたりの差分をまとめておこうかと思いました。 ただの出羽守(あるいは鹿鳴館精神)ではなく、一つの潮流としてこんなのがあるってのを記述できればなと思います イベントが設計の基線となりつつある、、、のか? まず1つ目に驚いたのが、イベントが設計の中心になっている、そう感じる機会が多かったこと。 ここで言うイベントは、実践ドメイン駆動設計の中でも「ドメインイベント」として実装パタ

    最近の海外DDDセミナーを聞いてみたら色々と常識が破壊された - Qiita
  • gitbookで設計書を作成したら最高だった話 - フォトシンス エンジニアブログ

    こんにちは。Akerunエンジニアの @ishturk です。 Akerun Advent Calendarの記事です。 今日は設計書の話です。 設計書をどんなツールで書くかは、僕らソフトウェアエンジニアの尽きない悩み(楽しみ)ですね。 最近はまったツールが最高に良かったので紹介させてください。 僕のツールに求める要件は以下です。 編集がカジュアルにできる UMLが書ける。あとから編集できる(画像での貼付けは編集できないのでNG) バージョンの管理ができる 好きになれる(重要) 変遷と pros/cons MS Word pros 良くも悪くもスタンダードなツールですね。 だれでも編集できるのが強みです。 Visioと組み合わせれば、UMLも後から編集可能です cons Visioは標準にするには少々値が張ります。 バイナリ形式なのでバージョン管理はしづらいです。 ページが増えたり画像を貼

    gitbookで設計書を作成したら最高だった話 - フォトシンス エンジニアブログ
  • PHPカンファレンス福岡2018で「SOLIDの原則ってどんなふうに使うの? オープン・クローズドの原則編(拡大版)」を話しました - HITORIGOTO

    6月16日に開催されたPHPカンファレンス福岡2018で、『SOLIDの原則ってどんなふうに使うの? オープン・クローズドの原則編(拡大版)』というトークをしました。 phpcon.fukuoka.jp スライドは以下です。スライドだけでも十分内容が伝わるように作っていますが、しゃべりでしか言っていないこともたくさんありますので、動画がアップロードされたらそちらを観ていただきたいです。 このトークにかける思い 私はプログラマになりたての頃から、ソフトウェアの設計が好きでした。これまで独学だったり師匠や先輩方からのご指導だったりで揉まれながら、さまざまなことを学んできました。そんな学びの結果、私に身についたといいますか、師匠や先輩方から授かったという方がよいのかもしれませんが、ソフトウェアやコードの設計に対する「目」というものがあります。この「目」は、ソフトウェアのソースコードを見た時に、そ

    PHPカンファレンス福岡2018で「SOLIDの原則ってどんなふうに使うの? オープン・クローズドの原則編(拡大版)」を話しました - HITORIGOTO
    takets
    takets 2018/06/18
    OCPについての話。バリエーションを軸にすると考えやすい
  • PHP7 で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計 / PHP Conference 2016

    2016/11/03 @ PHPカンファレンス2016 2016/12/15 @ PHPカンファレンス2016再演イベントにて改訂 2017/06/10 @ PHPカンファレンス福岡2017にて改訂 2017/06/10 @ PHPカンファレンス福岡2017講演録画 https://www.…

    PHP7 で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計 / PHP Conference 2016
  • アーキ部:テーブル設計をやってみよう! - そこに仁義はあるのか(仮)

    毎週金曜の定時後に弊社でアーキ部なるものが開催されています(✌'ω' ✌) スピードラーニング的に@kawasimaさんのお話を聞く会ですが、今週はテーブル設計がテーマでした! この記事がすごく良かったので、触発されてブログ書く!!! developer.hatenastaff.com お題 ↓のお題が出て、テーブル設計を考えてみるはなし。 要求仕様は以下のとおり。 ・宿の部屋は、シングルやツインのような部屋タイプが設定できます。 ・宿側で宿泊プランを設定できます。宿泊プランは適用される日付が設定できます。 ・プランには複数の部屋タイプが含まれることがあります。 ・宿側でプラン・部屋タイプ・宿泊日ごとに宿泊費の設定ができます。 ・カスタマはプラン・部屋タイプ・宿泊日を指定して宿泊予約ができます。 ・予約は会員でも非会員でも可能です。 ・また、会員・非会員に関わらず、宿をお気に入りに登録でき

    アーキ部:テーブル設計をやってみよう! - そこに仁義はあるのか(仮)
  • DI 2

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    DI 2
    takets
    takets 2008/09/14
    - DI基礎。
  • 構成管理 実践入門 第1章 構成管理入門 はじめに

    第1章 構成管理入門 はじめに なぜ今構成管理に注目するのか 特集で扱う内容 サンプルの準備 第2章 Subversionによるバージョン管理入門 はじめに クライアント環境の構築 インポート チェックアウト ソースファイルの変更に関連する操作 チーム開発に関連する操作 おわりに 第3章 Subversionベストプラクティス はじめに 帰ってきたO先輩 コードライン編その1 メインライン コードライン編その2 コードラインポリシー コードライン編その3 プライベートバージョン サードパーティライブラリのバージョン管理 リリース編その1 リリース管理 リリース編その2 自動リリース 継続的インテグレーション 第4章 Maven2によるビルド入門 はじめに なぜMaven2なのか? Maven2のインストール まずは試してみよう さらに開発を進めよう 第5章 Maven2ベストプラクティス

  • モデリング・リファクタリングのススメ

    ビジネス・モデリングなどのモデリングを始めてはみたものの,なかなか上手くモデリングできない…そんな悩みを持っている方も多いと思います。そこで,今回はモデリングを上達させるための「モデリング・リファクタリング」という方法をご紹介します。 モデリング・リファクタリングとは 「モデリング・リファクタリング」とは筆者が考えた造語です。(すでに誰かによって提唱されているかもしれませんが)筆者が発明したものではなく,モデリングに慣れている方なら自然とやっているようなテクニックです。 もともと「リファクタリング」というのは,小さなプログラム(例えばクラス)を作るときに,プログラムの外側の仕様(使われ方)は変えずに,中身の構造だけを変えることです。 なぜそんなことをするかというと,とりあえず仕様は満たしていたとしても,中身が汚い設計のままでは,変更に弱く,保守性も悪いからです。そこで,小さなプログラムを作

    モデリング・リファクタリングのススメ
  • http://www.casestudio.com/enu/database_design_freeware.aspx

    takets
    takets 2006/09/04
    - ERDモデルを書くツール
  • 業務フローをすらすら描きたい方、チェック!:An Agile Way:オルタナティブ・ブログ

    日、JUDE/Biz の新しいRCがダウンロード可能になっています。 触れ込みは「内部統制」のツールなんですが、実際はJUDEの使い勝手をそのままに、業務フローをすいすい描ける、というところに注力しています(縦方向も横方向もすいすいです)。ですので、システム開発において業務フローからユースケースを切り出したい、とか、業務フローから概念データベースを設計したい、という用途にも十分使えます。 さらに、「組織」、「人事」、「ITシステム」という概念が扱えて、UMLのアクティビティ図で言うところの「スイムレーン」に、「組織」やら「ITシステム」やらをドラッグ&ドロップできるんです! そして、知る人ぞしる、「産能大式」の業務フロー図。いま、この図法をサポートしているツールはどこにもありません。 ぜひ、試してみてください。 http://jude-users.com/ja/modules/weblo

    業務フローをすらすら描きたい方、チェック!:An Agile Way:オルタナティブ・ブログ
  • AIDMAの法則をベースにしたユーザー導線の設計 | 実践!Webマーケティング:Blog | ミツエーリンクス

    このコーナーでは、企業でWebサイトの運営に携わっている方、マーケティング部門等でWebの活用法について考えておられる方向けに、Webマーケティングの実践のための手法やノウハウ、事例をご紹介していきます。市場に出回る書籍や雑誌では論じられることない、Webマーケティングの最前線に触れていただければと思います。 2005年07月05日 AIDMAの法則をベースにしたユーザー導線の設計 マーケティングユニット 棚橋 AIDMAの法則とは、アメリカのローランド・ホールが提唱した、消費者がある商品を知るところから実際に購入行動に至るまでの「消費行動」のプロセスに関する仮説です。 Attention(注意)→ Interest(関心)→ Desire(欲求)→ Memory(記憶)→ Action(行動)の頭文字を取って、AIDMAの法則と呼ばれています。 マーケティングに関わる仕事をされている方で

    takets
    takets 2006/08/31
    - ユーザの問題解決を導く方法最優先
  • @IT:UCD=利用者中心設計のプロセスとは?

    Webアプリケーションのユーザーインターフェイス[3] UCD=利用者中心設計のプロセスとは? ソシオメディア 上野 学 2005/8/9 「ユーザーにとっては “ユーザーインターフェイス”こそが製品そのもの」「ユーザーが選びやすいフォームのカタチを考えよう」に続き、連載第3回は、ユーザーインターフェイスデザインの上流工程に着目して、利用効率が高くユーザーが目的を十分に達成できるシステムを作り上げるのに必要な、プロジェクト初期の取り組みについて考えていきます。 まず前提として、システムを利用するユーザーは何らかの目的を持っている、ということを意識することが大切です。ユーザーインターフェイスを評価するうえでは、この目的がどれぐらいスムーズに達成されたかという視点が重要になります。個々の画面がどれだけ論理的にデザインされていたとしても、そのシステムを利用した結果としてユーザーが来の目的を達成

  • ニーズ別ページ遷移の仮説 - Web構築ノウハウ

    ニーズを持った閲覧者のつもりになり、ページをどのように移動し、最終目的のページにたどり着くかを試すのが「ニーズ別ページ遷移の仮説」です。企画内容がサイトに合っているかを試すのにも役立ちます。ここではその具体的なやり方についてまとめています。 ニーズと必要な情報を一覧する サイト企画において一覧化された見込み顧客のニーズと気づきの一覧をここでもう一度確認します。 実際に想定ユーザーになり、サイトマップでページ移動 ニーズ別に実際の顧客になったつもりで外部サイトからサイト内へ入り、目的の情報までたどり着いてみましょう。検索エンジンやリンク集経由でサイトにたどり着いたとして、どの様に移動するかサイトマップを移動しましょう。移動した順に番号をつけておきます。 足りない情報を一覧する ニーズ別遷移のなかで足りないと思われる情報が出てくるかもしれません。「どのような時に何を欲しいと思い、何が足りなかっ

    takets
    takets 2006/08/31
    - 提案できそうなことを記録しとこう
  • 画面遷移図というもの

    このページは移動しました。1秒後に自動的に移動します。 1秒経っても移動しない場合はこちらをクリックしてください。

    takets
    takets 2006/08/31
    - 全体から詳細へ。詳細から全体へ
  • 画面遷移図とWEB仕様書 - ホームページ制作

    ホームページを成功へと導くための重要なプロセス、画面遷移図およびWEB仕様書を作成します。 弊社では、以下のポイントを中心に画面遷移図・WEB仕様書を作成し、お客様とお打ち合わせした上でホームページの作成に着手します。 まずは、ホームページを構成するWEBページの洗い出しから始めていきます。 画面遷移図の作成 ホームページのリンク構造 ホームページの階層構造(ディレクトリ) ホームページの基レイアウト next... 動的ページの仕様 next... 画面遷移図の作成 ホームページの作成に当たって最も重要なことは、まず画面遷移図を作成して、サイトオーナーの意図した通りにWEBページが閲覧されるかどうか、よく検討することです。 ホームページ制作でよく陥りがちなのは、サイトオーナーの希望に添ってWEBページを作ったはいいが、ページビューが伸び悩み、問い合わせや注文に至ることが少ない、といった

    takets
    takets 2006/08/31
    - 当たり前だけど、相手の目的を想像するの超大事
  • 画面遷移図・画面仕様書:Kobaken ジャーナル : 畑違いWebデザイナーの模索

    takets
    takets 2006/08/31
    - 資料は一読するだけで理解できて、『使える』ものであるべし
  • SCOllaBo.com

    Canada’s Top Online Casinos for 2025: Expert Picks and Rankings If you’re searching for trusted gaming experiences tailored to Canadian players, we’ve highlighted platforms that consistently set industry benchmarks. Safety is paramount—every site featured here is fully licensed, secure, and transparent about their operations. Players can expect prompt payout speeds, top-rated customer support, and