torutkのブログ

ソフトウェア・エンジニアのブログ

ソフトウェア開発

Androidアプリケーションプログラミングを5年振りに

はじめに Androidアプリケーションのプログラミングは5年前に半年ちょっと程の期間取り組んで以来となります。 2015年初頭のAndroid開発環境は、最新OSがAndorid 4.4(KitKat)から 5.0(Lollipop)になった頃で、開発環境はそれまで主流のEclipseからAndroi…

これからソフトウェア開発プロジェクトが始まる際に買った本

アジャイル開発でなくても、開発上の様々な課題の解決あるいはリスクを低減するために、開発工程を1パスで流すプロセスではなく、段階的/繰り返し(イテレーティブ)に進めることがある程度認知されてきていると感じます。しかし、それは開発プロジェクトを…

バージョン管理ツールの作業ディレクトリはチケット別に設ける

バージョン管理ツールを使用したソフトウェア開発では、リポジトリからチェックアウト(クローン)した作業ディレクトリ上でファイルの変更を行います。 1つの作業ディレクトリを継続して使っていたとき 分散バージョン管理を知る前までは、個人の作業ディレ…

開発環境の構築とソフトウェアエンジニア考(続)

開発環境の構築とソフトウェアエンジニア考 - torutkの日記の続編です。前回書いたことと内容は重なりますが、まずソフトウェア開発環境に予算を付ける(投資をする)組織、予算を付けない組織の違いを考察してみます。そして、予算を付けない組織において、…

開発環境の構築とソフトウェアエンジニア考

プロジェクト案件毎に、人、ものを集めてシステム開発をする現場では、あらかじめ整った開発環境がないことがほとんどです。人を集めて、開発言語やソフトウェア構成が決まって、それから開発環境が準備されます。もっとシステマティックに作っている組織も…

2012年時点のPCスペックとプログラミングの変化考

昨年末に、自宅PC(メイン)のメモリを上限の16GBに増設しました。メモリの上限はマザーボードによって異なり、自宅PC(サブ)は上限が8GBでした。自作PC用に流通しているマザーボードがどれだけメモリが積めるのか調べてみると、今時点での主流は32GBで、一…

ソフトウェア開発を考え直してみる

火だるまプロジェクトの真っ最中では落ち着いて考えることができませんでしたが、2年がかりのプロジェクトがデリバリー(納入)を終え、カットオーバー(運用開始)となって四半期が過ぎ、いろいろとソフトウェア開発プロジェクトを振り返り考えるようになり…

メモ)WBSのW:Workとは

書籍「ソフトウェア開発はなぜ難しいのか」を読んで - torutkのブログで触れたWBSについて、もっと根源的なところで違和感を覚える要因がありました。今日知ったこと:WBSにおけるWorkの定義には次の2つの流派がある。 製品・作品などの成果物 作業 現時点で…

書籍「ソフトウェア開発はなぜ難しいのか」を読んで

十数年のソフトウェア開発経験から、ソフトウェア開発のマネージメントにおけるWBSの使用方法への違和感があります。プロジェクトマネージメントでは、WBS(Work Breakdown Structure)を計画と進捗管理に使うとされています。同じ開発組織・メンバーで類似し…

ソフトウェア開発雑記

UMLの開始/終了の記号が覚えられない いままで何度となく分からなくなってその都度調べていているのが、UMLの状態遷移図やアクティビティ図における開始記号(黒丸:●)と終了記号(二重黒丸:◎の中が塗りつぶし)です。 コード実行のカバレッジ(網羅)の…

バージョン管理ツールの選択

開発組織、プロジェクトの特性で大きく左右されるのが構成管理なので、バージョン管理ツールはその都度選択しなければならないのが現状です。 選択の前提 開発組織またはプロジェクトで標準化された構成管理(バージョン管理)環境が存在していない 開発支援…

CSVファイルが好きな人たち

プログラム間でのファイルのやり取りや、人間系で作成したデータをプログラムに読み込ませるとき、仕事上でよくCSVファイルにしようとする人に直面します。(というか、CSVファイル以外を採用する人にあうことは稀)CSVファイルというだけでは、ファイルフォ…

CollabNet Subversion Edge

CentOS 5/Red Hat Enterprise Linux 5 の標準搭載Subversionはバージョン1.4とちょっと古いのですが、Subversionはソースからビルドするのは依存するライブラリがいろいろあってちょっと大変です。そこで、CentOS 5/Red Hat Enterprise Linux 5用のバイナリ…

SourceForge.JPにプロジェクトを作成してみる

自分のWebサイトで公開していた以下を、以前からSourceForge.JPに移せないかと思っていました。 CygwinでJavaを快適に使う で、やっと昨日アカウントを作成、プロジェクトの申請をしました。申請は受理され、以下のプロジェクトがオープンしました。 http://…

サブシステムとコンポーネントとパッケージとファイル

ふとしたことがきっかけで、あらためてソフトウェア開発の概念をふりかえり、整理したくなりました。 クラスベースのオブジェクト指向プログラミング言語を使い、設計もクラスが中心となる場合を想定します。関数型プログラミングではなく、Lispでもなく、CO…

複数リリースを持つソフトウェアの構成管理課題

複数のプロジェクトで共通に利用するソフトウェア(フレームワークや共通ライブラリ)を管理する場合の構成管理上の課題を整理中です。解決手段の検討はまた別途・・・ 想定ケース 最初のプロジェクトでは、共通ソフトウェアはアプリケーションと一体で開発…

エンタープライズシステムの開発言語選定の一考察(C#とJava)

アーキテクチャ設計の一部に、プログラミング言語の選択があります。選択に関わるのは仕事では10年振り(うん? ちゃんと数えると13年か・・・)です。3月から下調べを開始して、可能な限り公平に。 もちろん人間の判断なので、主観が大きく関与せざるを得ま…

お金や人数が絡めば絡むほど、判断基準は政治的になる

いろいろな意味で、利害関係者が絡んでくるため、数人のプロジェクトでは問題にならない「思わぬこと」が発生し、ただただ驚くばかり・・・。

書籍購入

そこそこに大掛かりなプロジェクトにおいて、アジャイルな開発をするための知見を得るため、書籍を購入。でも積読がたまりにたまり、GW中に読みきれないかもしれない。アジャイル開発の本質とスケールアップ 変化に強い大規模開発を成功させる14のベストプラ…

ソフトウェア開発プロセスのメモ

ウォーターフォールで成功するのは、要求定義が確定し凍結でき、技術リスク、設計リスクがない場合でしょう。要求定義は確定しているものの、リスクがある場合、インクリメンタル開発プロセスを採ってもいいでしょう。では、要求定義が確定しない、あるいは…

購入メモ

ファシリテーション・グラフィック―議論を「見える化」する技法 (ファシリテーション・スキルズ)作者: 堀公俊,加藤彰出版社/メーカー: 日本経済新聞出版社発売日: 2006/09/01メディア: 単行本購入: 22人 クリック: 124回この商品を含むブログ (117件) を見る…

プロセスフローダイアグラム(PFD)

新しいプロジェクトに4月から投入され、右も左も分からない状態からあっという間に半月経過しました。設計メンバーでこれからどう作業を進めていくか、暗中模索をする中、ふっと昔作ったPFD(プロセスフローダイアグラム)を思い出し、メンバーでまずはブレ…

アーキテクチャ設計って何、と、開発体制のメモ

アーキテクチャ設計についてWeb公開記事のメモ ITアーキテクトへの“脱皮”の覚悟 - ITmedia エンタープライズ 連載記事の最後が、「最低10年使える業務アプリケーション」となっているように、保守・改善フェーズを考慮した設計の必要性について述べている。 …

アーキテクチャ設計の参考書籍

最近、アーキテクチャ設計に関するよさそうな書籍が出てきています。仕事のサイクルで、新しいシステムの開発に関わるので、ちょっと調べてみました。 購入した書籍 システムアーキテクチャ構築の原理~ITアーキテクトが持つべき3つの思考 (IT Architects' Ar…

貧弱なプログラミング(引数/戻り値がない世界)

ソフトウェア開発の現場では、いやおうなく人の書いたプログラムを追いかけなくてはならないことがあります。その時、自分とは違うスタイルのプログラミングを目にすることになります。その中でよく見かけるスタイルの一つが、「引数も戻り値もない関数」で…

チケット駆動と分散バージョン管理

実は、チケット駆動開発はいいなぁと思いつつ、チケット駆動開発は習慣化が必要で、習慣化するまでは非常に努力を要するため、今までちっとも実践できずにいました。最近、地理的に離れた複数拠点で、しかもネットワークが断絶に近い状態で、同一ソフトウェ…

RedmineでPDFの文字化けを解消

以下の組み合わせでは、Redmine.JPサイトのFAQRedmine.JP | PDFおよびCSVの文字化けを回避するにある設定をしても、日本語の文字化けが解消されません。 CentOS 5.3(LANG=ja_JP.UTF-8) Ruby 1.8.5 Redmine 0.8.5 解決策は、Rubyのバージョンを上げることで…

自動ビルド環境とHudson

「継続的インテグレーション」ツールHudsonを使った最初の一歩です。新しいツールは使いはじめるのに敷居があるので、Hudsonにおける敷居を越える参考にと日記をしたためてみました。 前置き 現在のプロジェクトでは、毎週リリースを行っているのですが、有…

バージョン管理術

開発規模が大きく複数の会社が関わるソフトウェアのバージョン管理をしていると、一筋縄ではいかない問題が多発します。そんなときに、ヒントになりそうな情報をいくつか見かけたのでメモ。 「複数のアジャイルチームでのバージョン管理」 http://www.infoq.…

SQL/DB関連本とBash本

RDBMSは、いままで避けて通ってきた技術分野でしたが、いつまでも避け得るものでもなく、今回まともに取り組もうと書籍購入。 Head First SQL ―頭とからだで覚えるSQLの基本作者: Lynn Beighley,佐藤直生,松永多苗子出版社/メーカー: オライリージャパン発売…