タグ

設計に関するkiyo560808のブックマーク (23)

  • ソフトウエアエンジニアがUX/UIを考える上で読むべき4冊の良書と名言たち

    筑波大学  システム情報工学研究科  コンピュータサイエンス専攻  非数値アルゴリズム研究室(NPAL) 五十嵐 悠紀 2004年度下期、2005年度下期とIPA未踏ソフトに採択された、『天才プログラマー/スーパークリエータ』。筑波大学 システム情報工学研究科 コンピュータサイエンス専攻 非数値アルゴリズム研究室(NPAL)に在籍し、CGUIの研究・開発に従事する。プライベートでは二児の母でもある 何か製品を考える時、そのものがカタチのあるものであっても、はたまたコンピュータの中で動くソフトウエアだったとしても、「ユーザーインターフェース(以下、UI)」について考える必要があります。さらには、わたしたちが日常生活においてストレスなく過ごせている裏側には、さまざまな人によって考えられてきたUIデザインが隠されていたりもします。 わたしは滞在先のホテルで、洗面所に入ったものの出ようとした時に

  • 仕様変更に強い開発をするための、ヒアリングモデル

    仕様変更に強い開発をするための、ヒアリングモデル:仕事を楽しめ! エンジニアの不死身力(21)(1/2 ページ) 今回のテーマ:仕様変更が起きる理由、そしてそれを防ぐには ある程度の経験を積んだエンジニアなら誰しも、顧客から仕様変更を依頼されて困った経験があるかと思います。 仕様変更が起こると手戻りが発生し、開発工数の増大や予算の圧迫、納期遅れなどを引き起こします。さらに。「仕様だ/仕様ではない」「言った/言わない」といったコミュニケーションのトラブルは感情論になる場合が多く、顧客との信頼関係も悪化します。エンジニアは無理な仕様変更で士気を落とし、顧客は社内調整などでいら立ちを覚えます。 せっかく開発するなら、リソース的にも感情的にも気持ち良く仕事をしたいものです。そこで今回は、「なぜ仕様変更は起こるのか?」をテーマに、仕様変更が起きる原因を探り、それを防ぐヒアリング方法を紹介します。 ヒ

    仕様変更に強い開発をするための、ヒアリングモデル
    kiyo560808
    kiyo560808 2012/04/13
    システムが欲しいと言われた時、把握すべきことは2つ。目的とシステムの詳細。目的を知るため「それがないことによって、何に困っているのか」を繰り返し顧客に問い掛ける。詳細は、必要な機能は?を聞く
  • いわゆる仕様と業務例外について - 急がば回れ、選ぶなら近道

    最近とにかく、移動が多いので、その中でちょいちょい考えたことをまとめておきます。まずは仕様の理解の仕方とか、業務例外とか、押さえておきましょうという視点から。別にこれが正解で必須というわけではないので、あくまで個人の経験をまとめただけです。 モデリングとか、なんというかそういう高尚な話ではなくて、実際に仕様をまとめるときに、現実的に落ちる穴を、経験的に書きます。大抵のプロジェクトでは、仕様が固まらずに、または手戻りが発生して酷くコストが膨らむということがやはり多いわけで。理屈はともかく自分の経験的な対策案です。 (なんというか、開発方法論や手法・ドキュメントのまとめ方は、なんとかBOKから始まって、アジャイルや押しくらまんじゅうやらでいくらでもであるのですが、その一方で丁寧な要求定義や設計それ自体ができる人材は、むしろ急激に減っているような印象すら受けます。海外からの翻訳や輸入はやたらと多

    いわゆる仕様と業務例外について - 急がば回れ、選ぶなら近道
    kiyo560808
    kiyo560808 2012/04/03
    実際に仕様をまとめるときの落とし穴について書かれている。こういう経験から得られる知恵は貴重。
  • PHPでよりユーザフレンドリなURLを設計するために - Zend_Controllerの新しいルーティング機能 -

    はじめに 連載では、PHP上で動作するアプリケーションフレームワークであるZend Frameworkについて紹介していきます。今回はZend_Controllerの最新機能を紹介したいと思います。以前Zend_Controllerを扱ったときからおおよそ2年半経過し、その間にZend Frameworkのバージョンも1.0から1.10にまでなりました。 この間にZend_Controllerコンポーネント内でもいくつかの変更がありました。具体的にはルーティングとアクションヘルパーについて、追加された機能や変更された機能があります。今回はこれらのうち、ルーティングへの変更を取り上げます。 対象読者 PHPの基構文については一通り理解している方を対象としています。また、過去の記事からの差分を中心に扱っているため、必要に応じて過去の記事を参照してください。 必要な環境 Zend Frame

  • コンサルタントがよく使うRFPの書き方:12項目で網羅的に作成

    情報システム部の存在意義は、ITサービスを通したユーザ利便性の向上にあります。ITサービスとは単一、もしくは複数のシステムによって提供されるものですから、新しいシステムを企画立案して運用に漕ぎつけるまでの流れは、情報システム部の主たる業務と言えるでしょう。 新しいシステムを構築するためには、企画段階で得た構想を要件レベルに具体化し、システム設計者に引き渡します。企画をした人間が設計・構築・テスト・リリースまで担当できるにこしたことはないのですが、上流工程を担当する人間はスキルセット上、高コスト(月単価150万円以上)であることがほとんどですし、そもそも社内でシステム実装スキルを有する人間を必要数確保できないという根的な課題もあって、要件定義フェーズ以前と設計フェーズ以降では担当者が異なることが多いのが実情です。 そこで要件定義フェーズで整理したことを正確に設計フェーズにつなげるために用い

    コンサルタントがよく使うRFPの書き方:12項目で網羅的に作成
  • 日本語・英語に対応したサイトを作るときの URL 設計メモ : 管理人@Yoski

    語・英語に対応したサイトを構築するとき、ドメインや URL の設計をどのようにするのが良いのか、振り返ってみるといろいろ実験してたのでメモ(まとめ)として残します。 これまで、以下のようなパターンを試してみました。 A.完全にドメインを分ける atode.cc と toread.cc B.サブドメインで切り分ける en.abc-yoga.biz と he.abc-yoga.biz C.ディレクトリを分ける www.freshreader.com/ver2/ja と www.freshreader.com/ver2/en D.ファイル名だけで区別する http://reviewposter.com/index.php と http://reviewposter.com/en_index.php E.クッキーや Accept-Language で表示ページを振り分ける http://sid

    kiyo560808
    kiyo560808 2011/08/31
    参考になった。結論は、完全にドメインをわけるかサブドメインで切り分けるのが良い。
  • サービス終了のお知らせ - NAVER まとめ

    サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。

    サービス終了のお知らせ - NAVER まとめ
  • RailsでのURL設計を考えてみる(4) スラッシュと「持っている」関係 - ぶろぐ。@はてな

    今回は、URLのスラッシュはどのようなときに使えばいいのか考えてみました。 resourcesのネスト URLはスラッシュ「/」で階層構造を表します。Railsでは、routes.rbでresourcesをこのようにネストして使うと、 resources :users do resources :articles end このようなURLができます。 http://example.com/users http://example.com/users/1 http://example.com/users/1/articles /users で「ユーザー全体」、 /users/1 で「ユーザーの1番」を指し、さらに /users/1/articles で「ユーザーの1番」の書いた「記事(article)全体」を指すわけです。((さらに /users/1/articles/2 で「ユーザーの1番

    RailsでのURL設計を考えてみる(4) スラッシュと「持っている」関係 - ぶろぐ。@はてな
  • 米スタンフォード大学が「機械学習」「データベース」「人工知能」の無料オンライン授業を今秋から開始 − Publickey

    米スタンフォード大学は、今秋から同大学で行われているコンピュータサイエンスの講義のうち、3つのコースをオンラインで無料公開することを発表しました。 公開されるのは、「Machine Learning」(機械学習)、「Introduction to Databases」(データベース入門)、「Introduction to Artificial Intelligence」(人工知能入門)の3コース。どのコースも今年の10月に開講し12月に終了する3カ月間の予定。コースによっては実際の講義とほぼ同様の宿題も用意され、提出すると自動採点してくれるようです。 機械学習のコースを担当するAndrew Ng准教授は発表の中で次のようにコメントしています。 “Both in the United States and elsewhere, many people simply do not have a

    米スタンフォード大学が「機械学習」「データベース」「人工知能」の無料オンライン授業を今秋から開始 − Publickey
    kiyo560808
    kiyo560808 2011/08/19
    こういうサービスが出てくると、英語ができる人とできない人で情報格差が出そう。英語は継続して学習しておこうと思った。
  • Final: OpenID Authentication 2.0 - 最終版

    Abstract OpenID 認証は、エンドユーザが識別子 (Identifier) を管理していることを証明する方法を提供するものである。OpenID 認証を利用すれば、リライングパーティー (Relying Party、以下 RP) はエンドユーザのパスワードやメールアドレスなどにアクセスする必要がなくなる。 OpenID は、分散方式であり、RP や OpenID プロバイダ (OpenID Provider 、以下 OP) の承認・登録を行なう中央集権的な機関は存在しない。エンドユーザは利用する OP を自由に選択することができ、OP を変更しても自身の識別子をそのまま継続して利用することができる。 プロトコル自体は JavaScript や最新ブラウザを必要としないが、AJAX を利用しても認証 (authentication) の仕組みは上手く機能する。つまり、エンドユーザは

  • Web Applicationを綺麗に設計するためのMVACという考え方 - $shibayu36->blog;

    【2016/03/04追記】以前まとめたこのMVACという名前の設計は既に古くなっており、今はこのようなアーキテクチャで設計していません。 こんにちは。最近ははてなでMVACというアーキテクチャに則って開発をしているのですが、ようやく意味を理解できてきました。そこで今回は「Web Applicationを綺麗に設計するためのMVACという考え方」について、サンプルを交えながら説明していこうと思います。かなり長くなってしまったので、時間があるときにでもどうぞ。 MVACって? データソースやロジックを扱う「Model」、表示・出力を管理する「View」、複数のModelとControllerをつなぐApplication、ユーザのリクエストなどを受け取りViewやApplicationを制御する「Controller」の4つの要素を組み合わせてシステムを実装する方式。MVCをさらに抽象化した

    kiyo560808
    kiyo560808 2011/08/18
    Cが2つの役割をになっているので、それをCとAにわけて、わかりやすくする。個人的にはMVCで十分。だけど、案件によっては、わけたいニーズも発生するかもしれない。
  • 複合主キーを避けるべき理由 - 虎塚

    データベース設計の話をしていて、「連番の主キーは業務上意味のないデータだから、テーブルに持たせるのはムダだ。複合主キーにするべき」という意見を聞く機会がありました。 脊髄反射で「ないわー」と思ったものの、理由を上手く説明できなかったので、改めて考えてみました。 その結果、次のような結論に至りました。 単一の連番カラムによる主キーと、複合カラムによる主キーとで迷ったら 実装をシンプルにし、業務変更の影響範囲を小さくするために、複合主キーを避ける というわけで、調べたことや考えたことをメモしておきます。# 間違っている部分があれば、教えていただけると嬉しいです。 (2011/07/25 追記)複合主キーとサロゲートキーについては、要件やシステムに依存して多様な判断がありうると思います。にもかかわらず、「避けるべき」というタイトルにしたのは極端でした。申し訳ありません。ご指摘下さった皆さん、あり

    複合主キーを避けるべき理由 - 虎塚
    kiyo560808
    kiyo560808 2011/07/14
    複合主キーは避けるべきだと思う。今開発中のもので、複合主キーを避けるために保存時に結構頑張る実装にした。
  • Objective-Cを書く人も書かない人も必読『iPhoneアプリ設計の極意』 - ninjinkun's diary

    @fladdictさんが監訳されたことで話題の、オライリーiPhoneアプリ設計の極意 ―思わずタップしたくなるアプリのデザイン』、早速会社で購入してもらって読みました。読み終わってまず思ったのは、これはiPhone開発に携わるすべての人に必読のになるだろうということです。エンジニア、デザイナー、企画者と分担が分かれている場合は、全員が読むといいのではないでしょうか。このiPhone開発に必要な共通言語を提供してくれます。それも、コードを使わずに。 書から得られる内容としては大きくふたつあると思います。ひとつはiPhone開発のプロセスを解説書としての側面。もうひとつはiPhoneUIカタログとしての側面です。 アプリ開発プロセスの解説書 このに書かれている開発プロセスは、ベストプラクティスと言えるものになっていると思います。ユーザーニーズを探ること、シンプルさを追求するこ

    Objective-Cを書く人も書かない人も必読『iPhoneアプリ設計の極意』 - ninjinkun's diary
    kiyo560808
    kiyo560808 2011/06/27
    iPhone開発に携わるすべての人に必読の本になるだろうということ、らしい。
  • ソーシャルゲームのためのMySQL入門その2 | BLOG - DeNA Engineering

    こんにちはこんにちは。11インチMacBook Airが欲しくてたまらないiwanagaです。 前回の記事 が幸いにもご好評を頂けた様で非常にうれしいです。嬉しくなって、ついがんばって第2弾を書いてしまいました。引き続き、ソーシャルゲームでよく使われるテーブルタイプ毎にちょっとしたテクニックを紹介していきます。 今回はちょっとライトな感じ&読み物になってしまっていますが「ユーザID単位で1つだけ持つデータ」と「パラメータなどのマスターデータ」についてご説明したいと思います。ちなみに次回はInnoDBのデータ構造の簡単な説明と複合プライマリーキーのデータについて、その次で紹介し損ねたちょっとマニアックなテクニックや性能管理のための手法を紹介することを予定しています。 その前に。。。 先日行われた JAPAN INNOVATION LEADERS SUMMIT で弊社松信が「ソーシャルゲーム

    ソーシャルゲームのためのMySQL入門その2 | BLOG - DeNA Engineering
    kiyo560808
    kiyo560808 2011/02/22
    なるほど。更新が多いグループと参照が多いグループでテーブルを分けて、テーブル毎の設定をカスタマイズし、効率化を図る。
  • システム開発 プロジェクト管理者の道具箱

    開始条件 要件定義の目的 要件定義の担当者 要件定義の方法 要件定義の基になる資料 要件の種類 要件定義の確認 要件定義書の項目 要件定義書作成時の注意点 要件定義の変更管理 成果物 終了条件

  • 上流工程-要件定義---目次:ITpro

    業務改革プロジェクトリーダー養成講座【第15期】 3日間の集中講義とワークショップで、事務改善と業務改革に必要な知識と手法が実践で即使えるノウハウ...

    上流工程-要件定義---目次:ITpro
  • システム設計 要件定義 基本設計 外部設計 内部設計

    要件定義、基設計、詳細設計、プログラム設計、テスト、運用というシステム構築の手順が一般的に浸透しているが、このプロセスは 実践ではほとんど守られておらず、要件定義の中で、ユーザと一緒に一部分を掘り下げて行っているうちに混合されることが多い。 ここではその区別について考える。ただし、実践手順が多少、イレギュラーに設計されるのは全体の合理化を促進しようとするためであり、必ずしも良くないこととは言い切れない。 基的には必要とされるアクターを考えることが重要だと思われる。 外部設計(システム設計) =システム方式設計+ソフトウェア設計 内部設計           =コンポーネント設計 詳細設計            =プログラム設計                                       (IPA) 1.システム方式の決定:アーキテクチャーとして、H/

  • ke-tai.org > Blog Archive > ソーシャルゲーム開発に関するスライド資料をまとめてみました

    ソーシャルゲーム開発に関するスライド資料をまとめてみました Tweet 2011/1/28 金曜日 matsui Posted in 記事紹介・リンク | 5 Comments » 最近は、ソーシャルゲーム開発に関するスライド資料が多く公開されており、各所で人気を集めているようです。 これらのスライド資料は、高負荷・大量アクセスを捌くための工夫がちりばめられており、とてもためになるものが多いです。 今回はそんなソーシャルゲーム開発に関するスライド資料をまとめてみました。 まずは手前味噌ですが、昨年のOSC北海道での発表に使わせて頂いた私のスライドです。 ブラウザ三国志を開発した際に苦労した箇所などをまとめました。 → ke-tai.org OSC 2010 北海道の発表で使用したスライド資料「PHPで大規模ブラウザゲームを開発してわかったこと」 [ke-tai.org] PHPで大規模ブラ

  • memcachedで快速アプリケーション - @IT

    第4回 memcachedで快速アプリケーション 太田 哲也 株式会社Cuon 2008/2/25 Rubyを使った大規模エンタープライズ開発が始まっている。Ruby on Railsでの開発において、インフラやアプリケーションアーキテクチャをどのように構成すべきかを考える(編集部) CGM(Consumer Generated Media)サイトを構築する際、考慮するべき点を挙げだすときりがない。 スケールアウトの容易なインフラ設計(第1回「CGMサイト構築で悩む負荷対策と拡張性の確保」参照)、開発効率の高いフレームワークの選定、保守性の高いソースコードの製造など、さまざまな要素が複雑に絡み合っている。 しかし、これらはあくまでも開発側として立った場合の視点であり、実際に利用する人々にとってはまったく関係のないことで、(当然のことではあるが)利用する人々は「触っていて快適」なサービスを求

    kiyo560808
    kiyo560808 2010/12/14
    find_by_sqlにした方が速いんだ。memcachedは、データとオブジェクトをメモリ内にキャッシュすることでデータベースから読み出しを行う回数を減少させ、データベースを用いたWebサイトを高速化するためによく用いられる
  • 「戦略眼」に不可欠な4つの思考法

    ユーザー企業がシステムの設計・開発を依頼するとき、そこには経営的な判断が存在する。顧客の「経営戦略」をとらえたうえでシステムを設計・開発できるITエンジニアになろう。 第2回では、戦略的思考に必要な道具の1つである「フレームワーク」について解説した。 フレームワークとは、すなわち「分け方」のことであった。事象を一塊で見るのではなく、分けることで分析ができる。しかし、分け方は増やせば増やすほどいいというものではなく、およそ5から7以下の部分に分けることが人間の脳の限界から考えても適している、という内容であった。 今回は道具の2つ目、「思考法」について解説する。フレームワークは便利な道具だが、やみくもに使えばよいというものではない。分けたはいいが、分けられたものに対して適切な考察ができなければ、良い戦略を立てられないからだ。フレームワークを使う際の使い方に当たるのが思考法である。 思考法の中で

    「戦略眼」に不可欠な4つの思考法
    kiyo560808
    kiyo560808 2010/10/30
    フレームワークを用いて分ける。分けたものを4つの思考技術(仮説思考、逆算思考、構造化思考、具体化思考)によって考察する。