タグ

ブックマーク / xtech.nikkei.com (68)

  • 第2回 「応答一律3秒」という性能要件はやめよう

    今回は、性能要件を具体化するポイントを紹介します。皆さんは、性能要件に何を定めればよいと思いますか。 システムの性能要件で、「Webアプリケーションの画面レスポンス時間は3秒以内であること」「バッチアプリケーションは毎日午前0~午前5時の間に終了すること」としか定義していないプロジェクトを見かけます。この場合、以下のような問題が潜んでいます。 (1)全機能の処理時間を同じレスポンス時間に収めなければならない 全機能に対して同じレスポンス時間を目標とするのは現実的ではありません。なぜなら、機能によって求められるレスポンス時間と処理の複雑度は異なるからです。 例えばコールセンターのシステムで、「(a)電話オペレーターが操作する画面」と「(b)管理者がマスターデータをメンテナンスする画面」があるとします。レスポンスの悪化が直ちにビジネス機会の損失につながる(a)の方が、求められるレスポンス時間は

    第2回 「応答一律3秒」という性能要件はやめよう
  • [方式設計編]性能要件はユーザーが決めると思ってはいけない

    「ユーザーが要件を決めてくれないので…」「性能要件を出していただかないと機器が見積もれません,早く要件を出してください!」。要件定義フェーズのみならず,プロジェクトの様々な工程でよく耳にする言葉である。 非機能要件はユーザーにヒアリングして洗い出すのが,インフラ設計における一般的な手法だ。だが,インフラ設計者はヒアリングによって得られたユーザーの「要望」を絶対的な「要件」としてとらえてはいけない。非機能要件を洗い出すに際しては,要望の裏にあるリスクやそこから派生する制約を先読みすることが重要である。その思考を停止してしまうと,後工程で様々な問題が発生する。 今回は,非機能要件の中でも読者にとって最も身近だと思われる「(オンラインの)性能要件」を例に解説する。なお,現在のシステム構築では,現行システムが存在せずゼロから開発することはほとんどない。従って,ここでは現行システムで何らかの稼働統計

    [方式設計編]性能要件はユーザーが決めると思ってはいけない
  • 【 vmstat 】 メモリーやCPUの負荷率や使用状況を表示する

    指定した単位で容量を表示する。kは1,000,Kは1,024,mは1,000,000,Mは1,048,576バイト単位で表示する vmstatは,システム内の情報を表示するコマンドだ。例えば,主メモリーの空き容量やCPUの動作状況などを表示する。 vmstatコマンドをそのまま実行すると,現在のプロセス,メモリー,スワップ,デバイス,割り込み,CPUの情報が表示される。また,「-d」や「-p」オプションを付けるとパーティションやディスクへの読み書き状況などが表示される。「-f」オプションを指定するとシステムが起動してからコマンド実行時までの間に,プロセスを作成した回数が表示される。 vmstatの後に秒単位で時間間隔を指定すると,指定した時間ごとにシステムの状況が表示される。また,回数を指定すると,指定した回数情報が表示される。 容量については「-S」オプションで単位を指定できる。「-S

    【 vmstat 】 メモリーやCPUの負荷率や使用状況を表示する
  • 基礎から学ぶソフトウエア・テスト---目次

    これから6回にわたってソフトウエア・テストの基について解説します。テストの基を理解することは,品質の良いソフトウエアを作るための大切な一歩となるはずです。今回から第3回まではソフトウエア・テストに必要な技術について,第4回から第6回は品質分析やマネージメントについて解説します。 基礎から学ぶソフトウエア・テスト(1) 基礎から学ぶソフトウエア・テスト(2) 基礎から学ぶソフトウエア・テスト(3) 基礎から学ぶソフトウエア・テスト(4) 基礎から学ぶソフトウエア・テスト(5) 基礎から学ぶソフトウエア・テスト(6)

    基礎から学ぶソフトウエア・テスト---目次
  • 第1回 Androidの構造

    2008年10月22日,米Google社が開発するモバイル機器向けのプラットフォーム「Android 1.0」がオープンソースとして公開された。これで誰でも自由にAndroidを機器に搭載したりAndroid用ソフトを開発したりできる。Androidは一体何を変えるのか..。Androidのソースに触れ,その実体をつかむ。(日Androidの会組み込みWG 近藤昭雄,木南英夫,水野光男) Android(アンドロイド)は,「Open Handset Alliance(OHA)」が2007年11月5日に提唱した。OHAはGoogleが主体となって結成したオープン携帯プラットフォームの普及を目指す団体で,実質的にGoogleAndroidを開発する。 同11月12日にアプリケーション開発環境の「Android SDK」が先行公開されたものの,ソース・コードはリリースされなかった。これは,ソ

    第1回 Androidの構造
  • Android徹底解説---内部構造,移植,開発

    遂に日でもAndroid携帯が発売された。注目を集めているAndroidとは,一体何なのか,パソコンに移植するためにはどのような作業が必要なのか,アプリケーションを開発するにはどうするのか解説する。 目次 Androidの仕組みを知る(1)

    Android徹底解説---内部構造,移植,開発
  • DOMから始めるJavaScriptモダン・スクリプティング---目次:ITpro

    近年,Ajaxの台頭をきっかけに,JavaScriptを使ったブラウザのリッチ・クライアント化が進んできました。現在では,ページの表示を変化させるだけであれば,ほとんどのことはJavaScriptのみで対処することが可能です。それを実現するのがDOMなのです。 第1回 DOMから始めるモダン・スクリプティングの世界へようこそ 第2回 ブラウザからHTMLはどう見えているかを理解しよう ~ドキュメントツリー~ 第3回 DOMスクリプティングのことはじめ(1) ~要素(タグ)を狙い撃ち~ 第4回 DOMスクリプティングのことはじめ(2) ~これはどんな要素?~ 第5回 DOMを使ってHTMLを自由自在に書き換える 第6回 イベントハンドラから脱却しよう 第7回 スクリプトを完全に分離しよう ~コンテンツ,プレゼンテーション,ビヘイビア~ 第8回 スクリプトのパッケージ化 ~使い回しできるスクリ

    DOMから始めるJavaScriptモダン・スクリプティング---目次:ITpro
  • ファジング

    フアジングとはソフトウエアのバグを発見するテクニックの一つ。ファズ・テストとも呼ばれる。セキュリティ・ホールにつながるOSやアプリケーションのバグを発見するための手法として,最近急速に注目度が高まっている。 ソフトウエアのバグを見つける方法は,大きく二つのタイプに分類できる。一つはソフトウエアを内部から調べる方法,もう一つは反対に外部から調べる方法だ。 内部から調べる方法は,ソフトウエアの「ソース・コード」を調べてバグを探す。ソース・コードは完成したプログラムのいわば「設計図」に当たり,オープン・ソースのソフトウエアの場合,誰でも自由に入手できる。 ソース・コードには,開発者が意図しないものも含め,プログラムのあらゆる処理や動作が書かれている。このため,もしソース・コードを完璧にチェックできるなら,理論上はどんなバグだろうが確実に見つけてつぶせるはず。 しかし,人間のチェック能力には限界が

    ファジング
  • 「プロジェクトの失敗につながる九つの要因に注意」、NTTデータの岩本副社長

    「予算オーバーや納期遅れ、品質低下といった失敗プロジェクトIT企業の視点で調べると、九つの共通点が見つかった。九つのうち三つを満たす案件については、特に注意が必要だ」。NTTデータの岩敏男副社長パブリック&フィナンシャルカンパニー長は2010年1月15日、プロジェクトマネジメント(PM)の国際標準化について議論する「PM国際標準化フォーラム」に登壇し、こう述べた(写真)。 岩副社長が挙げた九つの要因とは、次のものである。一つ目は、対象プロジェクトが新規顧客からの受注であること。二つ目は、新システムの要件が「現行どおり」とされていること。三つ目は、新技術や経験のない処理方式を採用していること。四つ目は、IT企業と顧客との間で一括請負契約を結んでいること。 五つ目は、IT企業のプロジェクト原価率が95%以上であること。六つ目は、開発期間が6カ月以内といった短期プロジェクトであること。七つ

    「プロジェクトの失敗につながる九つの要因に注意」、NTTデータの岩本副社長
  • 基礎から理解するデータベースのしくみ(5):ITpro

    SQL文を実行する際のパフォーマンスに大きな影響を及ぼすものとして,もう一つ,インデックスがあります。インデックスについては,どう定義すべきかというデータベース設計上の問題と,インデックスを有効に使うためのSQL文をどう書くべきかというコーディング上の問題があります。 ここではテーブル設計上の問題を主に取り上げます。SQL文のコーディングについては囲み記事「SQL文を最速にする11のポイント」を参照してください。 インデックスは,テーブルの検索速度を向上させるためのものです。それぞれのSQL文に対して最適なインデックスを定義するのが理想的ですが,実際にはある程度限られたインデックスで,必要なパフォーマンス要件を満たすようにインデックスを定義する必要があります。加えて,どんなSQL文が実際に発行されるのかがあらかじめわかっていない場合は,適当な想定に基づいてインデックスを定義しておかなくては

    基礎から理解するデータベースのしくみ(5):ITpro
  • まつもと直伝 プログラミングのオキテ 第20回 MVCとRuby on Rails:ITpro

    Ruby on Railsをはじめとする最近のWebアプリケーション・フレームワークの多くは,MVCと呼ばれるデザイン・パターンを採用しています。今回は,このMVCパターンの「正体」について考えます。 MVCはGUIを備えたプログラムを設計する際の指針となるデザイン・パターン*1の一つです。「モデル」(Model),「ビュー」(View),「コントローラ」(Controller)という3つの構成要素の頭文字から命名されました。多くのデザイン・パターンはプログラムの一部のみの構成を決めています。しかし,MVCはアプリケーション全体の構成を決めることが多いため,「アーキテクチャ・パターン」と呼ばれることもあります。 MVCは,元々プログラミング言語Smalltalkにおいて,ウインドウ(GUI)を持つアプリケーションを構築する際の指針として誕生しました。 MVCを発明したのは,当時,米Xero

    まつもと直伝 プログラミングのオキテ 第20回 MVCとRuby on Rails:ITpro
  • ITで“個”が輝く仕組み作り地域活性化を、塩尻市がセミナー開催

    一般財団法人塩尻市振興公社は2009年10月16日、「ITのプロフェッショナルが語るこれからのまちづくりと地域企業のIT戦略」と題した無料セミナーを開催した。IBMやグーグルなど複数の大手IT企業の有志が講演し、ITで“個”が輝く仕組みを作ることで地域活性化を図れると力説した。 塩尻市振興公社の米窪健一朗理事長は「地方都市は厳しい現実にさらされているが、人材交流の環境を作ることなどで創造的な人間を育てて町に活力を取り戻したい」とセミナー開催の狙いを語った。セミナー開催後は講演者を加えた交流会も併せて実施した。 70歳が「MSがヤフー買収らしい」とIT談義 基調講演では総務省地域情報化アドバイザーの森登志男氏が「ICTを活用したまちづくりの成功事例とその秘訣」と題して登壇した。 徳島県上勝町は過疎と高齢化に悩む山間地。人口2000人で高齢化率49.2%という状況の中、葉っぱを料理のつまもの

    ITで“個”が輝く仕組み作り地域活性化を、塩尻市がセミナー開催
  • ユーザー目線でレスポンス計測する「Web性能管理ソフト」(前編)

    番稼働中のWebシステムの性能を計測する「Web性能管理ソフト」への関心が高まっている。製品を提供するベンダーからは,「年間で約40%ずつ売り上げが伸びている」(ベンダーの担当者)といった声も聞く。 Web性能管理ソフトとは,クライアントがWebサーバーにHTTP(Hyper Text Transfer Protocol)リクエストを送信してから,レスポンスを受信するまでの時間(=レスポンス時間)を定期的または常時,測定するツールである(図1)。レスポンス時間は番環境の状況次第で変化するため,カットオーバー後も継続的に計測することが,運用担当者にとっても開発担当者にとっても不可欠になってきた。 図1●Web性能管理ソフトの機能と必要な理由 Web性能管理ソフトとは,番環境下でリクエストを送信してからレスポンスを受信するまでの時間(=レスポンス時間)を測定する機能を持ったツールである。

    ユーザー目線でレスポンス計測する「Web性能管理ソフト」(前編)
  • 第13回 [データモデル編]発注者が確認しやすいようにCRUD図をアレンジする

    CRUD図を利用して発注者とレビューをされたご経験はありますか? CRUD図というと一般的には以下のような図をイメージされるのではないでしょうか。 このCRUD図を使って,機能とデータの抜け・漏れや処理の集中,不完全な分割などがないかどうかを検証する「CRUD分析」で発注者に確認したいことが発生したときに,CRUD図をそのまま見せても,発注者はなかなか理解しずらいものです。 確認したい内容に絞り込んだ表を作成する そこでCRUD図をそのまま発注者に見せるのではなく,以下のようにアレンジしたCRUD図を作成してみましょう。 この図のポイントは以下の通りです。 ・申請書作成や承認といった処理のタイミングごとに,各エンティティの作成,参照,更新,削除があるかどうかを表した表形式にする。 ・確認したいエンティティとタイミングのみ記載する。 ・エンティティの数が多い場合は分類する。 ・作成,参照,更

    第13回 [データモデル編]発注者が確認しやすいようにCRUD図をアレンジする
  • 各種ブラウザでの互換性を検証できる編集ツール「Pirka'r」,IPAがOSSとして正式公開

    独立行政法人 情報処理推進機構(IPA)は2009年9月30日,コンテンツをさまざまなWebブラウザで閲覧した際の互換性向上を支援するツール「Pirka'r」(ピリカル)を,オープンソース・ソフトウエアとして正式公開した。互換性を検証や,コンテンツ編集機能を備える。 Pirika'rは以下のような機能を持つ。HTMLCSSJavaScriptを検証し,ブラウザに依存する記述がないかどうかを検証する「ブラウザ互換性チェック機能」。コンテンツがFirefox, Internet Explorer, Safariでどう表示されるかを,1画面に並べて表示する「マルチブラウザビュー機能」。また,コード補完や,シンタックス・ハイライト,構文チェックが可能なHTML/CSS/JavaScriptのエディタを備えており,指定したURLのコンテンツをディレクトリ構造を保ったままダウンロードし編集できる。

    各種ブラウザでの互換性を検証できる編集ツール「Pirka'r」,IPAがOSSとして正式公開
  • [プラットフォーム編]シンボリックリンクを不用意に使ってはいけない

    システム内に散在する設定ファイルを一カ所に集め,管理効率を上げたいという要望はないだろうか。UNIX系OSにはファイルを別名で参照する「シンボリックリンク」という機能があり,これを利用することで実現可能だ。 リンク先の実ファイルとシンボリックリンクは同等に扱えるため,どちらからどちらにリンクを張ってもよいと思われるかもしれないが,そうではない。 リンクには,ハードリンクとシンボリックリンクの二つがある。UNIX系OSのファイル・システムでは,ファイルに複数のファイル名を付けることができる。一つのファイルに対し,複数の実名を付ける処理がハードリンクである。ハードリンクの場合,複数あるファイル名はどれも対等なものとなる。 これに対しシンボリックリンクは,別名を付けることに相当する。シンボリックリンクを作成すると,新たにファイルが生成され,その内容として,リンク先のファイル名とパスが保持される。

    [プラットフォーム編]シンボリックリンクを不用意に使ってはいけない
  • LinuxをセキュアにするSELinuxとはどんなもの?

    SELinux(エスイーリナックス)とはSecurity-Enhanced Linuxの略です。米国家安全保障局(The National Security Agency:NSA)が中心となって開発しているLinuxベースのセキュアOSです。Linuxの最新カーネル*2.6が正式採用したことで,数あるセキュアOSの中でも命と目されています。 不要なリソースの利用を制限 SELinuxの最大の特徴は,従来のLinuxやUNIXでは絶対的な権限を持っていたroot(ルート)アカウントの特権を無くしてしまったことです。リソースへの権限をユーザーやプロセスごとに細かく設定して,例外なくセキュリティ・ポリシーで制御します。必要最低限の権限しか与えないことで,クラッカに侵入されてもシステムへの影響を最小限に抑えることを目指しています。 図3 SELinuxではリソースへの全アクセスをセキュリティ・ポ

    LinuxをセキュアにするSELinuxとはどんなもの?
  • CentOS 5.3 - インストール完全ガイド:ITpro

    ●名称:CentOS 5.3 ●提供元:The CentOS Project ●URL:http://www.centos.org/ ●対応機種:PC AT互換機, PowerPC搭載機など CentOSは,米Red Hat社が開発・提供している「Red Hat Enterprise Linux」(RHEL)の互換OSです。RHELのソース・コードからRed Hatの知的財産物(ロゴなど)を取り除いて開発されており,機能・性能的にはRHELと同等です。CentOSは無償で使用できます。 最新版のCentOS 5.3は,RHEL5.3の公開から約2カ月半遅れの2009年4月1日に公開されました。主にCentOS 5.2に存在していた不具合の修正が施されています。ここではインテル系CPU向け(i386版)のインストールDVDを用いたときのインストール手順を紹介します。

    CentOS 5.3 - インストール完全ガイド:ITpro
  • 第9回 テスト計画--品質管理方針を基にプロジェクト全体のテスト計画を作成する

    品質のトラッキング/コントロールで大きな役割を果たすのはテスト・フェーズである。このフェーズを効率的に実施するためには,しっかりとした「テスト計画」を 立案しておく必要がある。特に,テストの開始・完了基準をきちんと計画しておくことは,テストの進ちょくやコスト管理の観点からもきわめて重要だ。 布川 薫/日IBM 前回に引き続き,プロジェクト遂行段階における品質のトラッキング/コントロールに関する具体的な手段について話を進める。今回は,プロジェクトの計画段階で作成した「品質管理計画書」(第3回参照)を基に策定する「テスト計画」について,日IBMの手順に沿って解説していこう。 テスト計画の立案では,プロジェクト終了までの品質管理の方針を記述する「テスト方針書」(Comprehensive Test Plan)をまず作成する。テスト方針書はテスト・フェーズ全体のマスタープランとなるもので,プロ

    第9回 テスト計画--品質管理方針を基にプロジェクト全体のテスト計画を作成する
  • だれも教えてくれなかった外部設計の「極意」---目次

    外部設計書で最も大切なことは,「システム開発を依頼してきたお客様」(発注者)に読んでもらい,理解してもらうことです。外部設計書を,開発メンバーではなく,発注者に理解してもらうためには,「いかに発注者にとって分かりやすい外部設計書を作成できるか」と「レビューを通じていかに合意形成を図るか」が重要になります。連載では,発注者が理解しやすい外部設計書の書き方とレビューの方法に関する具体的なノウハウを解説していきます。 第1回 ユーザーと意思疎通が図れない外部設計書は危ない 第2回 [システム振舞い編]一覧表に一工夫入れることで漏れや重複をなくす 第3回 [システム振舞い編]全体を俯瞰でき,システム化範囲が一目で分かる業務フローを作成する 第4回 [システム振舞い編]発注者が理解しやすいシナリオの記述方法 第5回 [画面編]見れば“わかる”「画面レイアウト」の作り方 第6回 [画面編]画面遷移を

    だれも教えてくれなかった外部設計の「極意」---目次