システム開発に携わっている人は
SEを経験していれば、全体の工程
というのはおわかりのはずです
私も、要件定義から納品、
その後の本番稼働の、運用や保守
といったことも経験しているので
今回は、私が実際に行った
人事・給与システム開発を
例に挙げながら、見てみようと思います
①システム開発の流れ・・要件定義
まず顧客から、ウチの会社の
人事と給与システムを新しく
したいんだよね~とシステム会社
に依頼があります
そして、予算や期間など
SEは参加しませんが、
マネージャーやその上司など
役員も出ますが、SEのさらに上の
方々が客先と決めることになります
後々、変更になる場合もありますが
一旦、これでGOサインが出れば
早速、要件定義から入ります
まだ、ここではざっくりとした
概要しかわからないので、
要件定義では、
○○というシステムで、何をしたいのか?
従業員の給与明細を、Web上で
いつでも閲覧できるようにしたい
とか
○○という手当が、新しく会社で
支給されることが決定され
役職に応じて、毎月支給したい。
どうすればいいの?
というところからです
大規模な改修になると、
今使っているシステムから
新しく導入されるシステムへの
データ移行なんてのもあります
システムの入れ替えです
新しいシステムで出来ないことを
追加で、プログラムで行うことも
多々ありますから、そういった
作業も全てひっくるめて、
スケジュールを組んだり、
担当を割り振ったりするのです
そして、実現させるために、
どうすればいいか?
これらをとりまとめて
基本設計書をSEが作成します
出来たら、お次の工程です
②システム開発の流れ・・実装
さ、概要設計が出来ましたら、
いよいよ、実装に入ります
作業の手順はこうです
1.詳細設計書作成・修正
2.1.のレビュー
OKであれば3へ
3.実装(コーディング)
※コンパイルはもちろんやります
4.3.のレビュー(時と場合による)
作業(レビュー)が終わりましたら、
いよいよ検証に入ります
③システム開発の流れ・・検証
さぁ、システム構築というか
コーディングが出来ましたら、
いよいよ検証に入ります
その前に、計画書なども作りますが
詳細を見ていくと。。。
テスト1.単体検証
詳細は。。
1.単体テスト計画書の作成
2.1.のレビュー
3.単体テストデータの作成
4.単体テスト実施
※エビデンス
(テストをやったという証拠です)
を画面ショットなどで残しておきます。
5の結果まとめで報告書に貼り付けます
5.単体テスト結果のまとめ
テストその2.結合検証
あんまり単体テストと変わり
はありませんが、少し範囲を広くして
行うテストです
単体テストは、あくまで
作ったプログラムが単独で
想定していた結果になるかどうか
を見ますが、結合検証となると、
少々範囲が広くなり、関連する
システムとの連携テストを行います
例えば、単体テストで行った
アウトプットファイルを使い、
実際に使うシステムの画面から
ファイル取り込みをしてみる
といったことです。
プロジェクトによって、やったり
やらなかったり、検証範囲も
異なってきますが、これはその
チーム内で相談し、実施してください。
さ、まだまだ検証は続きます^^;
テストその3.システム間連携総合テスト
システム全体での流れをテストします
実際に、顧客が日々行う業務
に従って、オペレーションしてみます
これでうまくいくかどうか?
ってことですね
今回は私の経験談で
お伝えしますが、例えばこうです
①システムA⇒データファイル作成
↓
②システムBへ送信
↓
③システムB⇒システムAのファイル取り込み
④プログラムAとBが作動
CSVファイルAとBが作成される
↓
⑤システムXに送信
↓
⑥システムXの画面で取り込みを
行い、送られてきた
データファイルの中身が
○○という画面で参照できること!
こんな具合です
番号を振りましたが、それぞれで
テスト項目がいくつかあり
それらがOKかNGか確認を行います
私が経験したプロジェクトでは
1か月~2か月くらいかかりましたでしょうか。
規模によって異なりますが、
これが全て消化できたら
次は、お客さんに実際のデータを
使い、検証用の環境で
オペレーションをしてもらいます
テストその4.ユーザー検証
ユーザー検証の計画書・手順書も
開発側で作成し、お渡しします
ユーザー(顧客)は、手順書に
沿ってオペレーションをし、
こちらが作成した確認項目を
確認してもらい、OKかNGかを
判定して頂きます
大変なのが、普段の業務と
並行して実行して頂くので
スケジュールは割と余裕がある
ように組まなければいけません。
こちらはいつでも電話やメールで
質疑に答えられるよう準備をしておきます。
さ、最後のテストは、
プロジェクトによりけりかも
しれませんが、私が参加していた
プロジェクトではやりました。
テストその5.本番環境リリース前事前検証
作った成果物(プログラムのファイル)
を本番環境にアップするわけ
ですが、事前に、同じような
環境を用意しておき、手順書に
したがって、行ってみます
漏れを防ぐため、
リハーサルを行うのです
これがOKであれば、いざ本番環境へ・・
これで、本番稼働日を迎える
わけですが、納品は本番稼働後
になるでしょうか?
こちらもプロジェクトによって
異なるかと思いますが、顧客へ
ドキュメント、ソースファイル
などを納品。。
本番稼働後は、運用・保守期間と
なり、開発チームがそのまま
引き継ぐ可能性が高いです
まぁ、テストを行ってきて
システムのことは熟知していますからね。
私も最初から最後まで担当
させて頂き、涙はありませんが、
苦楽を開発メンバー、顧客とも
味わってきました^^;
これから、システム開発の仕事を
やってみたいという方は、
どういう作業をするのか、参考に
して頂き、本当にやりたいのか?
寝る前にでも考えてみてくださいね!
言えるのは、決して、楽では
ありません!ということです(笑)