Create your own awesome maps

Even on the go

with our free apps for iPhone, iPad and Android

Get Started

Already have an account?
Log In

ソフトウェアに関するアイデア by Mind Map: ソフトウェアに関するアイデア
0.0 stars - reviews range from 0 to 5

ソフトウェアに関するアイデア

配備 (インストール) 不要にすべき

コピーすればすぐ動く

お客様にメールで送ったらすぐ使える

クライアントをメールで送ったら自動的にサーバーに接続して使える, セキュリティはサーバー側で担保する

Web アプリ

家のように作る

全体のシステム化は少ない

ドアや窓はあとから変更可

コンセントに挿すと使える

拡張

根幹部分に影響を与えない

付け替え自由

Web ならできるかも

様々なサービスを Web サービスで準備する

JavaScript でクライアント側の特定の項目に組み込む

詳細はメタデータに置く (達人プログラマー)

メタデータ=スクリプト?

機能部品はかっちり作る

それを呼び出して組み合わせるのはスクリプトで

有向グラフで構成できるか?

ソース→ディスティネーション

あるグラフ経路を情報として知らせる

{ソース→ディスティネーション}→ディスティネーション, クロージャと同じ

排他的ではなく協調的な分類ができるようにする

タグ付けは○

フォルダ分けは×

雑多なアイデア

セキュアな システムを 作れるか?

一般ユーザーに どこまで システムの 変更を 許すか

溜め込んでも 使えなければ 意味が ない

検索が 重要

必要な 情報は 使う 場所の 近くに 表示されるように する

ポータルも 有用, ある 使用シーンや 特性で 絞り込んで 表示した もの

あらゆる 部分を ポータブルに する

インストール

DB

やりやすくなる, インストール, メンテナンス, 保守, 改修

ローカルで 機能追加できるように する

従来システムへの 不満, 見積 マスター 2009 (MS Access 製の 見積 ソフト), 印刷形式が 複数 ある, よく 使う ものは 限られて いる, 決まった 表紙, 決まった 明細の 順に 印刷したい, Access なので できない!

Web システムなら, ブラウザ上で JavaScript を 動かせる, Greasemonkey, 機能追加 できる

ドメインモデル, オブジェクトの うまい 作成方法

1. まずは 関数で 考える, 必要な 情報を 引数に 取る

2. 最初の 引数を オブジェクトと する

3. 残りの 引数を 引数のまま, または インスタンス変数と する

アプリ間 権限は CRUD だけで よい?

例, ソーシャルアプリから アドレス帳への アクセス, 2ch クライアントから カメラロールへの アクセス

REST の 考え方

設計しすぎない

あまり 設計せず 作り始める, YAGNI (You aren't gonna need it), 設計を 単純に する, 余分な 柔軟性を 作り込まない

少し 作って リファクタリングする, 予定外の 拡張に 備える

トップダウン or ボトムアップ

ボトムアップだと 使わない 関数を 作っていたり する

トップダウンだと TDD しにくい, BDDが解決策となる

フリー版の機能制限は質でなく量でする

量による 差別化の 利点, すべての 機能を 使うことが できる, 必要な 人だけが 課金する

例, MindMeister, 保有マップ 5 個まで, Downloads / Lite, 保有ファイル 5 個まで

すべてを 自動化しては いけない

手作業を 自動化するのは よい

例, クライアントから 印刷ボタンを 押すと サーバーに 接続された プリンタから 資料が 印刷される

プラグインで拡張する

基本機能と拡張機能を別に作成できる, 保守しやすい, 基本機能のバージョンアップ時に不具合が入りにくい

ユーザーに合わせて機能を追加できる

開発協力者を増やしやすい

開発やデバッグ時に呼び出しやすいようにモジュール化する

例, 表示/編集モードの切り替え, ApplicationMode.Edit 等, DB からの値の取り出し、格納, model.load; model.name="ABC"; model.save

緩く作る

要件は常に変わる

お客の要望にその場で応えられる

かっちり作っても利用者から見たら同じ, 修正しやすく作った方がお客のためになる

ビジネスシステムをJava等でかっちり作るのは間違っている

サービス名は「よくある音でスペルが違う」ものがよい

flickr

clojure

古いデーターは追い出せるようにする

別途アーカイブもしくは破棄

アルゴリズムをなるべく共通にシンプルにして, 動作の詳細 (個別の違い) をパラメータに追い出す

パラメータさえあれば再現できる

再コンパイル無しで動作の調整が可能

専用アプリも全面的に Web 連携すべき

例, Evernote Windows クライアント, Readability iOS アプリ

連携内容, リンク, 本文中に URL, リンクを書ける, リンク先の内容を表示する, 取り込み, Web の内容, 画像, メールで受信したものを格納する, 混在して表示, Web の関連情報をアプリ内に表示する

利点, Web 上にある無数のサービスと連携できる, 地図, カレンダー, メール, アプリ内で管理しきれない関連情報を, 別サービスで管理できる, マインドマップ, Evernote

テンプレート (ひな形) 化する

何を入力すべきかわかりやすい

素早く完成できる

完成形がわかる

公開 Web サービスの認証

メールアドレスで招待・認証

登録時, 1. 招待メールを送る, 2. メールのリンクからアクセス, 3. 初期パスワードが届く, 4. アクセスしてパスワード変更

メールアドレス変更時, 1. 新しいメールアドレスを登録, 2. 新メアドに確認メールを送信, 3. メールのリンクからアクセス, 4. パスワードでログイン

別マップ

別マップ: Persistence層、DBに関するアイデア

別マップ: プログラムのテストに関するアイデア

別マップ: UI, 操作性に 関する アイデア

別マップ: プログラミング言語、型に関するアイデア

別マップ: プログラム構成法、ロジックの置き場所

別マップ: オブジェクト指向と関数型

印刷

PDF

多くの環境で(ブラウザのみで)印刷できる

レイアウトをすぐに(たとえば客先で)修正するのは難しい

Word, Excel等への差し込み

テンプレートに差し込む

文章を修正しやすい

印刷前に加工できる

PXDoc/SVG

正確な位置に印刷できる, PXDocは簡単に位置調整できる, A4に線が印刷されるので実測との差を入力する

役立つことが重要

アジャイル

すぐ作り, すぐ出し, すぐフィードバックを受ける, 方向性が自動的に修正される

作り方より使い方を重視する

大切なのは顧客価値, いつまで開発のやり方ばっかり語ってるの?, 正しく設計されたプログラミングより, 顧客が価値を認めたものが残る, Worth Is Better, Worth Is Worth