ソフトウェアエンジニアリング
技報サイト内検索
2007年8月発行 Vol.27 No.2 通巻93号ソフトウェアエンジニアリング
技報93号は「ソフトウェアエンジニアリング」特集です。日本ユニシスグループがかつてのハードウェアビジネスからソフトウェア・サービスビジネスに軸足を移すにしたがい、ソフトウェアエンジニアリングは日本ユニシスグループが高技術者集団であるための証としてますます重要な位置付けになってきています。ソフトウェア開発に関わる2007年時点での日本ユニシスグループの最新の取り組みをまとめた本号では、要求事項の可視化、見積技法、標準化と共有・再利用技術、ソフトウェア品質検証に焦点をあてるとともに、これらのツールや技法を活用するエンジニアのあり方と育成についても言及しています。
システム構築プロジェクトの現状と課題
社会や企業における情報システムの重要性やシステム障害発生時の社会的・経済的影響度が益々高まる中、システム構築プロジェクトに課せられる要求もまた複雑・高度化してきている。システム構築における品質と開発生産性の向上や、プロジェクト事故の防止に向けては、単にプロジェクトマネジメント面のみならず、ソフトウェアエンジニアリング面から契約・商習慣面、人材育成面に至る、幅広い分野での多面的な対応が不可欠である。 本稿では、我が国の情報サービス・ソフトウェア産業や一般的なシステム構築プロジェクトの現状と課題を概観した上で、本特集号に掲載した日本ユニシスグループにおけるソフトウェアエンジニアリングの主要領域での最新の取り組みや事例に関する各論文について、その背景となる課題認識と位置づけ・概要を述べる。各論文の背景にある個々の活動は、いずれもシステム構築プロセスを一変させるような華々しさはないが、ソフトウェア企業における中長期的な技術力の向上や業績の維持・拡大といった観点から有用かつ重要なものである。
可視化と知財活用によるシステム化アプローチ
日本ユニシスグループは、米国ユニシス社が開発したビジネス戦略からIT システム構築までをカバーするシステム化アプローチ、UBB(Unisys Business Blueprinting)の導入を開始した。 UBBは、企業のビジネス戦略/業務プロセス/アプリケーション/情報インフラストラクチャの4 層からなるアーキテクチャにより、企業のビジネス構造やシステム構造を立体的(3D)に表す。UBBは4層アーキテクチャに基づいた、方法論、ツールセット、ブループリントなどから構成され、日本ユニシスグループが顧客へのサービスビジネスに活用する道具立てとして位置づけられる。 顧客にとってのUBBの効用は、モデリング技術による企業のビジネス戦略/業務プロセス/システム機能/IT基盤の体系立った可視化、ビジネスモデルからITシステムへの連携技術による企業のビジネス部門とIT部門とのコミュニケーション・ギャップ解消、トレーサビリティ機能によるビジネスとIT間の整合性維持、業務知識や経験などの知財有効活用によるIT投資の最適化などである。また、UBBの活用により、顧客は自社のビジネスの可視化が促進でき(Visible Enterprise)、ビジネスとITが融合したアジャイル(俊敏)な企業体質への変化が期待できる。 本稿では、UBBの概要と特長を中心に解説する。
業務知識共有化のためのルール
産業や業種に関る動向および業務プロセス等の業務知識をモデル化し組織として共有化することで、顧客企業においてはビジネス改善機会が、ITベンダーにおいてはシステムサービス等における生産性や品質の改善ができるという仮説をたて、検証を行った。本稿では業務知識を共有化し再利用性を高めるための考慮を提言する。
見積手法の実践上の留意点
見積手法はプロジェクトを成功させるためにプロジェクト・マネージャーが習得していなければならない技術のひとつである。近年、顧客要求の高度化、複雑化、急激な技術の変化により、見積手法を適用するためには従来に増してより一層の知識と経験が必要とされる。見積りは、単純に手法を使用して工数、金額を算出して完了というものではなく、プロジェクトゴールを達成するための前提条件を明らかにし、見積結果をプロジェクト計画のベースラインとし、プロジェクト実行フェーズにおいて追跡、管理されなければならない。見積りはプロジェクト管理と密接に関連するものであり、それ故に、プロジェクト成功の重要要因といわれる由縁である。本稿は、代表的な見積手法についてその考え方と背景を概説し、適用する際の留意点について省察する。
日本ユニシスにおける開発標準の策定と適用への取り組み
システム開発が大規模化・短期化・複雑化する中で、開発の標準化による生産性と品質の向上が求められている。大規模なシステム開発プロジェクトは、数多くの開発メンバーが同時並行で開発作業を進めるため、開発プロセスを定義し、成果物の作成ルールや処理方式のパターンを規定することで標準化を図り、開発メンバーの経験やスキルの差に起因する成果物品質のバラツキを抑止する必要がある。こうした標準化は、開発技術の選択と組み合わせによる開発プロセスの改善であり、効果を高めるためには、開発プロジェクトの特徴や制約に合わせてカスタマイズし、開発現場でも適用を支援する必要がある。 日本ユニシスグループでは、Java EEベースの開発にはMIDMOST for Java EEを、.NETFramework の開発ではLUCINA for .NETをそれぞれ提供している。標準化を進めることの期待効果は大きいが、技術の評価と適用判断、人材育成の課題もある。開発標準は、新しい開発技術を取り込んで、ノウハウや知識をフィードバックすることで継続的に改善し、利用価値を高めていく必要があり、組織的な取り組みが求められている。 本稿では、大規模なシステム開発プロジェクトでの設計とプログラミング、テストの工程における標準化の背景や目的、実践的で現実的なアプローチとその効果について概説し、日本ユニシスグループが進める二つの開発標準について紹介する。
ソフトウェアテスト技術
ソフトウェアの品質が注目されつつある。品質は上流で作りこむのが品質管理の基本であるが、テストは上流工程での適切なテスト戦略とテスト設計から始まり最終工程としての検証に至る、ソフトウェア開発工程全般に渡る極めて重要な活動である。だが、テスト技術に関する誤解や認識の違いが、ソフトウェア品質の低下を引き起こしたり、場合によってはプロジェクトの成否すら左右する場合があることが、日本ユニシス品質保証部が実施している第三者レビュ等の品質保証活動を通して明らかになってきた。オフショア企業に開発委託しているプロジェクトで特にその傾向があるが、昨今のシステム構築プロジェクトが抱えている共通の問題とも思われる。本稿では、特に誤解が生じやすく、よって委託先と共通理解を確立しておくべきテストの考え方と技術について述べる。
ソフトウェア製品開発におけるSOA手法の適用
SEサービスは労働集約型ビジネスから知財活用型ビジネスへの転換期を迎えている。本稿で紹介するソリューション製品は、知財活用型ビジネスにおいて、その方法論やモデリングツール、上流工程で利用するテンプレートだけでなくソフトウェアとしても知財活用型ビジネスを実現することを目的として構築した。 対象となる通信販売業向けのフルフィルメントシステム、IMPACT-DM FF3は、通信販売ビジネスの特性、ソリューション製品の特性の二つの観点からSOA手法の適用が有効と考え、設計思想として採用することを選択した。 本稿では、IMPACT-DM FF3構築にあたりSOA手法を適用した背景、構築の実際、期待効果と今後に向けた課題について説明する。
Software Factories,現状と未来 − マイクロソフト社の次世代開発基盤技術
Software Factoriesはマイクロソフト社が2004年に発表したソフトウェア開発の生産性を改善する開発基盤技術であり、ソフトウェア開発の工業化を目指す。Software Factoriesは、ソフトウェアプロダクトライン、アーキテクチャフレームワーク、コンテキストに依存した開発環境、モデル駆動型開発、の四つの要素技術から構成され、日本のソフトウェア工場の考え方、ソフトウェアセル生産方式を取り入れた普及が期待される。本論文では、Software Factoriesの現状と今後の方向性を説明する。
システム開発の足腰を鍛えるソフトウェアエンジニアリング教育
2004年頃から、ソフトウエアエンジニアリング教育を見直す動きが盛んになっている。現在、情報システムは、変化の激しいビジネス環境に対応した新たなビジネスモデルの創出と業務効率化の両面を実現する役割を担うだけではなく、社会生活の身近なところに普及し、便利、安心を提供するインフラとして位置づけられている。ひとたび情報システムに障害が発生すると、ビジネスの停止だけではなく、社会生活へ多大な影響を及ぼしかねない状況にある。情報システムを開発する立場としては、複雑で変化するビジネス要求に応えながら、社会インフラとしての責務を意識したシステム作りが求められている。 本稿では、主に情報システムの開発や運用・保守を提供する立場から、現在の情報システムを支える人材をどのように育成していくべきか、といった視点で、その中心として位置づけるソフトウエアエンジニアリング教育について述べる。
アーキテクト視点の体系化
情報システムは、現代社会において欠かすことのできない社会基盤である。メインフレームが中心的な存在であった時代と比べてオープン系の情報システムでは自由度の高まりによって複雑性が増した。さらに、近年ではシステム開発技術の進化も急速である。本稿では、システム開発技術の変遷に影響されにくい基礎的、普遍的な部分として、アーキテクトが持つべき視点や観点の体系化について注目する。その上で情報システムの機能的・非機能的な側面を捉えるこの視点体系を、今後どの様に活用できるかについて考察する。