marunomaruno-memo

marunomaruno-memo

第3回ボーランドデベロッパーキャンプ

2006年11月28日 | アーキテクチャー


http://bdn.borland.com/article/33750



【A3】Javaテクニカルセッション
「これで解決、Webサービス相互運用性 WindowsとJava」
 サン・マイクロシステムズ株式会社 ソフトウエア・ビジネス統括本部
 ソリューション・アーキテクト 岡崎 隆之

【B4】テクニカルケーススタディ
「パターン化されたロジックのコンポーネント化」
 株式会社シーソフト 内山 康広

【A5】Javaテクニカルセッション
「Javaで体験するスクリプト言語の威力」
 鈴木 雄介

---------------------------------------------

【A1】C++テクニカルセッション
「gSOAP, OpenSSL, pthreadsを使ったSOAP C/Sアプリ開発」
 ボーランド株式会社 デベロッパーツールズ事業本部 高橋 智宏

【B1】InterBaseテクニカルセッション
「InterBaseツール・ユティリティ大全」
 キムラデービー 木村 明治

【A2】Delphiテクニカルセッション
「InstantObjects 2.0によるWin32モデルドリブン開発」
 ボーランド株式会社 デベロッパーツールズ事業本部 高橋 智宏

【B2】C++テクニカルセッション
「C++ TR1 / Boost C++ Library 概要」
 ボーランド株式会社 デベロッパーツールズ事業本部 岩本 博幸

【B3】InterBaseテクニカルセッション
「InterBaseイン・アクション」
 キムラデービー 木村 明治

【A4】テクノロジープレビュー
「次期Java開発環境Pelotonプレビュー/製品ロードマップアップデート」
 講師未定

【B5】Delphiテクニカルセッション
「BDS 2006でQuickReport 4を使う」
 ボーランド株式会社 デベロッパーツールズ事業本部 岩本 博幸


組込みソフトウェア開発における品質向上の勧め(コーディング編)

2006年11月27日 | C / C++
組込みソフトウェア開発における品質向上の勧め(コーディング編)
http://www.seshop.com/detail.asp?pid=5998



  編: 独立行政法人情報処理推進機構 ソフトウェア・エンジニアリング・センター


  商品番号:109500
ISBN:4798109509
サイズ:A5
ページ:48
販売価格:\315(本体\300 消費税5%)
発売日:2005/05/20
出版社:株式会社翔泳社


1 はじめに

背景と問題提起、ソフトウェア品質の重要性

2 ソフトウェア品質とは

ソフトウェアバグと品質
ソフトウェア品質特性モデル
ソフトウェア品質低下の原因
組込みソフトウェア特有の品質

3 ソフトウェア品質向上の考え方

設計品質の向上
ソースコード品質の向上
V&Vによる品質向上
ソフトウェア品質関連の規格と利用方法

4 ソースコード品質向上のための技術

ソースコードの標準化
ソースコードの再利用
ソースコードの定量評価とコードレビュー

5 コーディング作法

コーディング作法/規約とは
利用可能なコーディング作法/規約
コーディング作法/規約の上手な利用方法
SEC版コーディング作法の概要
付録 SEC版コーディング作法の例


組込みソフトウェア開発向けコーディング作法ガイド[C言語版]

2006年11月27日 | C / C++
組込みソフトウェア開発向けコーディング作法ガイド[C言語版]
http://www.seshop.com/detail.asp?pid=7066&mode=spec


  編: 独立行政法人情報処理推進機構 ソフトウェア・エンジニアリング・センター


  商品番号:111890
ISBN:4798111899
サイズ:B5変
ページ:176
販売価格:\1,800(本体\1,714 消費税5%)
発売日:2006/05/31
出版社:株式会社翔泳社



Part 1 コーディング作法ガイドの読み方

1 概要
  1.1 コーディング作法とは
  1.2 コーディング作法の目的と位置づけ・想定利用者
  1.3 コーディング作法の特徴
  1.4 本ガイド利用に関する注意事項
2 ソースコード品質のとらえ方
  2.1 品質特性
  2.2 品質特性と作法・ルールの考え方
3 本ガイドの利用方法
  3.1 本ガイドの利用シーン
  3.2 新規コーディング規約の作成
  3.3 既存コーディング規約の充実
  3.4 プログラマの研修、独習のための学習教材

Part 2 組込みソフトウェア向けコーディング作法:作法表

作法表の読み方
作法表中の用語
組込みソフトウェア向けコーディング作法
  信頼性
  保守性
  移植性
  効率性

Part 3 組込みソフトウェアにありがちなコーディングミス

組込みソフトウェアにありがちなコーディングミス
  1 意味のない式や分
  2 誤った式や分
  3 誤ったメモリの使用
  4 論理演算の勘違いによる誤り
  5 タイプミスによる誤り
  6 コンパイラによってはエラーにならないケースがある記述

付録

付録 A 作法・ルール一覧
付録 B C言語文法によるルール分類
付録 C 処理系定義文書化テンプレート


Java ホットトピック

2006年11月22日 | Java
http://jp.sun.com/company/events/ev/3283.html

(1)「Web サービス相互運用性 - Windows と Java の関係」
ソフトウェア・ビジネス統括本部
Java エバンジェリスト 岡崎 隆之(おかざき た かゆき)

Web サービスと聞くと相互運用性なんていう問題はすでに解決している
ように思われますが、実際にはそうではありません。今回は発生しうる問題と、
それを解決すべく進められている Project Tango の概要をご紹介します。


(2)「スクリプト言語の夕べ」
東京ソフトウェア本部
Java エバンジェリスト 荻布 真也(おぎの しん や)

最近、JavaVM の上で動くスクリプト言語が注目されてきていますが、
次期バージョンの JDK 6 では、Java のプログラムからスクリプト言語
を呼び出すための標準フレームワークが登場します。今回は簡単な例を
使ってこのフレームワークを紹介します。



(3) Java クイズ

Q1. つぎを実行した結果、何が表示されますか。

import java.util.HashMap;
import java.util.Map;

public class Quize06112201 {
    public static void main(String[] args) {
        Map<Short, Short> map = new HashMap<Short, Short>();
        for (Short i = 0; i <365; i++)



Q2. クラスファイルの先頭4バイトにあるマジックナンバーはなんですか。

>od -t x1 Quize06112201.class
0000000 ?? ?? ?? ?? 00 00 00 31 00 41 01 00 0d 51 75 69
0000020 7a 65 30 36 31 31 32 32 30 31 07 00 01 01 00 10


Q3. つぎの Integer クラスのメソッド xxxxxxx() は何ですか。

    public static int xxxxxxx(int i) {
        i = (i & 0x55555555) << 1 | (i >>> 1) & 0x55555555;
        i = (i & 0x33333333) << 2 | (i >>> 2) & 0x33333333;
        i = (i & 0x0f0f0f0f) << 4 | (i >>> 4) & 0x0f0f0f0f;
        i = (i << 24) | ((i & 0xff00) << 8) | ((i >>> 8) & 0xff00) | (i >>> 24);
        return i;
    }



品質向上ソリューションフレームワーク紹介セミナー

2006年11月22日 | アーキテクチャー
第1回 品質向上ソリューションフレームワーク紹介セミナー

http://www.sios.com/product/QUICS/seminar/QuICKS.html

14:00~15:00 「OSS活用の開発プロセス及び開発における品質とは」
概要 : 近年、OSS(オープンソースソフトウェア)を活用し、開発の期間やコストの逓減を図り成功を収めている製品、サービスが増えている一方で知財リスクや 品質の管理が不明瞭なことから導入をためらうケースも少なくありません。セッションでは、製品開発をテーマにOSS導入ニーズ実態やリスク分析あるいは品質の評価について、事例等を交えながらOSSを活用できるヒントを 探ります。
講演者 : 株式会社イーエルティ
コンサルティング・教育事業部 ディレクタ 江端俊昭

15:15~16:15 「品質向上ソリューションフレームワークのご紹介」
~実現する「防御」そして「コストダウン」の秘密とは~
概要 : 品質向上ソリューションフレームワークを活用し、ソフトウェア開発における高負荷時のシステムダウン、プログラム内の誤り、脆弱性そしてOSSソフトウェアコードの混入出を「防御」し、最終的に「コストダウン」を実現する秘訣を紹介します。
講演者 : サイオステクノロジー株式会社 Webソリューション部
エンジニアリンググループ 松井安則


丸山先生 エンタープライズシステムのデザインパターン

2006年11月20日 | アーキテクチャー
http://www.c-sq.com/modules/article/article107.html

●‥‥‥‥○丸山先生レクチャーシリーズ in 東京 2006-2007○‥‥‥‥●
● 第1回テーマ「エンタープライズシステムのデザインパターン」
● http://www.c-sq.com/modules/article/article107.html
●‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥

◆プログラム:(13:30開始 18:00終了予定)
-----------------------------------------------------------------------
ご挨拶 13:30~13:40 株式会社コンポーネントスクエア

第1セッション<丸山先生セッション>
 タイトル:Webサービスの新仕様:WS-ResourceTransfer
 講演者:稚内北星学園大学
     学長 丸山 不二夫氏
 講演時間:13:40~15:00

第2セッション<開発論セッション>
 タイトル:Relaxer5
 講演者:稚内北星学園大学 東京サテライト校
     教授 浅海 智晴氏
 講演時間:15:10~16:00

第3セッション
 タイトル:ステートレス/ステートフルな視点で眺める JBoss Seam と
      Ruby on Rails
 講演者:(株)日本総研ソリューションズ
     技術本部 Java/.NET 技術クラスター 橋本 吉治氏
 講演時間:16:10~17:00

第4セッション
 タイトル:SOAとコンポーネント技術 --- SCA入門
 講演者:Seasarプロジェクト チーフコミッタ
     稚内北星学園大学東京サテライト校 客員教授
     ひが やすを氏
 講演時間:17:10~18:00

-----------------------------------------------------------------------

ひどい HTML を TagSoup で修正する

2006年11月14日 | Java
ヒント: ひどい HTML を TagSoup で修正する
http://www.ibm.com/jp/developerworks/xml/060602/j_x-tiptagsoup.shtml

TagSoup home page
http://mercury.ccil.org/~cowan/XML/tagsoup/

tagsoup-1.0rc4.jar

java -jar tagsoup-1.0rc3.jar --html < 入力ファイル名 > 出力ファイル名


tagsoup カスタム版
http://homepage.mac.com/yuji_okamura/DotMac/t/archives/2005/12/entry_75.html
tagsoup-1.0rc3-OKAMURA.tar.gz

初めてのアジャイル開発

2006年11月11日 | アーキテクチャー
初めてのアジャイル開発

http://store.nikkeibp.co.jp/item/main/148222819140.html

クレーグ・ラーマン著 ウルシステムズ 児高慎治郎、松田直樹 監訳 越智典子 訳
Agile & Iterative Development
A5判
440ページ
定価 2,520円(税込み)
ISBN 4-8222-8191-4
日経BP社
2004年9月21日発行


第1章 はじめに

■ソフトウエアは新製品開発である

第2章 反復型と進化型

■反復型開発
■リスク駆動とクライアント駆動の反復型開発
■タイムボックスを使った反復型開発
■進化型開発と適応型開発
■進化型要求分析
■進化型計画と適応型計画
■インクリメンタルな出荷
■進化型出荷
■具体的な反復型・進化型手法

第3章 アジャイル

■アジャイル開発
■手法の分類
■アジャイル宣言とアジャイル原則
■アジャイルプロジェクトマネジメント
■コミュニケーションとフィードバックを受け入れる
■人が重要であるというプログラミング
■シンプルなプラクティスとプロジェクトのツール
■経験的プロセスと定義・規定されたプロセス
■原則ベースとルールベース
■持続可能な規律:人間的側面
■複雑適応系としてのチーム
■アジャイルは誇大広告か
■具体的なアジャイル手法

第4章 物語

第5章 導入理由

■ソフトウエアプロジェクトには変化がつきもの
■反復型開発を導入する主な理由
■タイムボックスの利点
■要求に関する問題への反復的な対処
■ウォーターフォールの問題点
■問題:事前に承認まで済んだ「完全な」仕様の作成
■問題:プロジェクト後半での統合とテスト
■問題:「信頼性の高い」事前のスケジュールと見積もりの作成
■問題:「仕事を計画し、計画を実行する」価値

第6章 根拠

■調査による根拠
・反復型・進化型に関する調査
・規模に関する調査
・変更に関する研究
・ウォーターフォールの失敗に関する調査
・生産性に関する調査
・品質および欠陥に関する調査
■歴史的に有名な初期のプロジェクトによる根拠
■標準団体に関する根拠
■専門家および指導者による根拠
・ハーラン・ミルズ
・トム・ギルブ
・フレデリック・ブルックス
・バリー・ベーム
・ジェームス・マーチン
・トム・デマルコ
・エド・ヨードン
■ウォーターフォールの有効性に関する歴史的偶然
・ウォーターフォールが推奨し続けられている理由

第7章 スクラム

■手法概要
■ライフサイクル
■作業成果物、ロール、プラクティス
・スクラムミーティングの価値
■価値
■ありがちな間違いと誤解
■プロジェクト例
■プロセスの組み合わせ
・スクラム+Evo
・スクラム+UP
・スクラム+XP
■採用戦略
■現実と幻想
■長所および「その他」

第8章 エクストリーム・プログラミング

■手法の概要
■ライフサイクル
■作業成果物、ロール、プラクティス
■価値
■ありがちな間違いと誤解  
■プロジェクト例
■プロセスの組み合わせ
・XP+Evo
・XP+スクラム
・XP+UP
■採用戦略
■現実と幻想
■長所および「その他」

第9章 統一プロセス

■手法概要
■ライフサイクル
■作業成果物、ロール、プラクティス
・六つのベストプラクティス
■価値
■ありがちな間違いと誤解  
■プロジェクト例
■プロセスの組み合わせ
・UP+Evo
・UP+スクラム
・UP+XP
■採用戦略
■現実と幻想
■長所および「その他」

第10章 Evo

■手法概要
■ライフサイクル
■作業成果物、ロール、プラクティス
・Planguage
■価値
■ありがちな間違いと誤解
■プロジェクト例
■プロセスの組み合わせ
・Evo+スクラム
・Evo+UP
・Evo+XP
■採用戦略
■現実と幻想
■長所および「その他」

第11章 プラクティスのヒント

■プロジェクトマネジメント
・複数チームや複数サイトで実施する場合の初期の開発
・イテレーションをまたがった作業のオーバーラップあるいは「パイプライン」
・ローリングウェーブ式の適応型計画と予測型計画
・計画:「水曜日」に終了することを検討する
・計画:作業担当者の見積もり
・計画:広帯域デルファイ法を使った見積もり改善
・計画:複数のイテレーション計画ミーティング
・計画:アジャイルなタスクの洗い出し
・計画:イテレーションの間接的タスクを計画に組み込むこと
・計画:イテレーションごとに自分が使える時間を見積もる
・イテレーションの目標:リスク、カバレッジ、危険度、スキル開発
・イテレーションの目標:何に順位づけするか
・イテレーションの目標:どうやって順位づけするか - ドット投票
・イテレーションの目標:どうやって順位づけするか - 定量化手法
・イテレーションの目標:関連するイテレーションの長さは?
・イテレーションの目標:最初の開発イテレーションの前
・イテレーションの目標:最初の開発イテレーション
・イテレーションの目標:ユースケースとシナリオ
・イテレーションの目標:一次的/二次的依頼事項
・イテレーションの目標:イテレーションには依頼事項を追加しない
・イテレーションの進捗の追跡
・リスクの順位づけ
・リスクマネジメント
■環境
・継続した結合
・CASEツールとリバースエンジニアリング
・洞穴と共通の部屋
■要求
・アジャイルモデリング
・ビジョンの定義と維持
・進化型要求ワークショップ
・イテレーションをまたがった要求の追跡
■テスト
・テスト駆動型開発

第12章 FAQ



データベース・セキュリティ・コンソーシアム セミナー

2006年11月07日 | DB
http://www.db-security.org/seminar/dbsc_seminar2.html

第2回データベース・セキュリティ・コンソーシアム セミナー (11/7 東京)
 ~データベース・セキュリティにご関心をお持ちの方へ~
=====================================================================
内部統制に大きな関心が寄せられている昨今、情報の格納場所であるデータ
ベースに対するセキュリティ対策はIT統制の監査においても大きなポイントに
なると考えられています。
第2回セミナーでは、本コンソーシアムのセキュリティガイドラインWGにおい
て2005年度に策定した「データベースセキュリティガイドライン 第1.0版」一
般公開を記念し、その概要と活用のポイントをご紹介いたします。

主催:データベース・セキュリティ・コンソーシアム (DBSC)
日程:11月7日(火) 13:15~17:00 (受付開始 13:00)

CUnit for Mr.Ando.

2006年11月05日 | C / C++
■CUnit

CUnit は、 C / C++ プログラムの単体テストを行うツールです。

■CUnit

CUnit for Mr.Ando.
http://park.ruru.ne.jp/ando/work/CUnitForAndo/html/index_ja.html

■インストール

CUnitForAndo.tar.gz を展開します。

./CUnitForAndo/CUnitForAndo -- 本体.
./CUnitForAndo/easySample -- 簡単なサンプル.
./CUnitForAndo/Sample1/test
./CUnitForAndo/Sample1/test1
./CUnitForAndo/Sample1/test2
./CUnitForAndo/Sample1/real -- サンプル1.
./CUnitForAndo/Sample1/test
./CUnitForAndo/Sample2/real -- サンプル2.
./CUnitForAndo/Sample2/test
./CUnitForAndo/Sample3/real -- サンプル3.
./CUnitForAndo/Sample3/test
./Makefile -- 圧縮とテスト用.
./README.txt -- ライセンス.
./CUnitForAndo/html



■CUnitForAndo の使用法

1. ソースファイル

---- sq.c ----------------------------------------------
1
2 /** 被テスト関数 */
3 int sq(int a) {
4 return a * a;
5 }
-----------------------------------------------------------

この関数をテストします。


2. テスト・ドライバーの準備

---- sq_test.c ------------------------------------------
1 #include <stdio.h>
2 #include <testRunner.h>
3
4 int sq(int);
5 static unsigned int test01(void);
6 static unsigned int test02(void);
7 static unsigned int test03(void);
8
9 /** Main function. */
10 int main(void) {
11 testRunner(test01);
12 testRunner(test02);
13 testRunner(test03);
14 return 0;
15 }
16
17 /** test case */
18 unsigned int test01(void) {
19 TEST_ASSERT_EQUALS(0, sq(0));
20 return 0;
21 }
22
23 unsigned int test02(void) {
24 TEST_ASSERT_EQUALS(1, sq(1));
25 return 0;
26 }
27
28 unsigned int test03(void) {
29 TEST_ASSERT_EQUALS(2, sq(2)); // これは誤りになる
30 return 0;
31 }
-----------------------------------------------------------

■テストの実行

1. コンパイル+連係編集

ソースファイルは、CUnitForAndo をインストールしたディレクトリーとは別にあります。

$ gcc -c sq.c

$ gcc -ggdb -Wall -I../CUnitForAndo/CUnitForAndo/include
-I../CUnitForAndo/CUnitForAndo/include -c sq_test.c

$ gcc -ggdb -Wall -I../CUnitForAndo/CUnitForAndo/include
-I../CUnitForAndo/CUnitForAndo/include -c testRunner.c
# なお、testRunner.c もコンパイル/リンクする必要があります。

$ gcc sq.o sq_test.o testRunner.o

(注)必要に応じて、インクルード・ファイルの位置を変えてください。


2. テスト

$ ./a.out
OK (1 tests)
OK (1 tests)
sq_test.c:29: error: TestCaseError<0x00000002><0x00000004>
NG (now 0 ok...)


■その他の情報

./CUnitForAndo/html を参照してください。