ソフテックでは、社内基礎研修後に各所属上司の下で入社後研修を行います。私は、マイコン
(※2)について学習を行いました。マイコンは私にとって、非常に新鮮な分野で一度も触れたことが無かったので、ゼロから勉強をしました。最初は、分からないことが沢山ありましたが、上司が私の理解度を把握しつつ適切な指導を行ってくれたおかげで、段々と不安が解消していきました。また、勉強を通して作成したプログラムが正確に動いた際には、達成感が湧いてきて次の課題へも益々挑戦したくなりました。これはソフトウェア開発の醍醐味だと思います。
ソフトウェア開発では、要求分析段階にて顧客のニーズを正確に把握するために、お客様との打ち合わせがとても重要だと思います。様々な要求を確定後に、設計の段階に移ります。設計では、プログラムがスムーズに構築できるように仕様書の作成を行います。更に、品質は上流で作りこむことを意識して設計段階での仕様書作成がとても大事だと思います。ソフトウェア開発の流れの概略図を図1に示します。
ここで入社後研修中実際に行った一つの課題「ストップウォッチ」を紹介したいと思います。「ストップウォッチ」はRenesasのマイコンキット
(※3)を使い、スイッチのコントロールにより、時間計測の開始、停止、クリアを行い、操作結果をLCDに表示します。この課題はソフトウェア開発の進め方を理解し、マイコンの知識を獲得することを目的としています。従って、研修は仕様書作成からコーディングまで一通り行いました。
 |
|
図1. ソフトウェア開発流れ |
研修では要求分析段階で、最終的に実現したい動作フローを明確に教えていただきました。動作フローを図2に示します。私は、動作フローを理解して仕様書作成、およびコーディング作業を行いました。テスト、運用・保守はこの課題にて行われていませんが、今後実際の案件で行うことがあると思います。ソフテックの育成方針では、上流「要求分析」から下流「保守・運用」へのすべての作業が出来るような技術者を目指していますので、非常にやりがいが感じられる仕事だと思います。
 |
|
図2. 動作フロー |
課題の話に戻ると「ストップウォッチ」の機能実現は簡単だと最初は思いましたが、実際に時間計測用タイマの選択、タイマの周期設定、LCDの表示更新タイミングなど考えるべきところが結構ありました。それらを漏れなく、設計を行うために仕様書作成が必要となります。また、端子の接続、レジスタの設定などに使われているマイコンの機能についてマニュアルを読んで、必要な部分を仕様書に書き込みます。私は、仕様書の作成段階でタイマの選択が間違ったことをそのまま気付かずにコーディング工程移ってしまい、思う通りに動作しませんでした。原因を追究した結果、仕様書作成時に使われているシステムクロックをシステム分周器(分周比(1/2))にしていなかったことが分かりました。それで再修正を行い、思う通りに動くようになりましたが、非常に効率が悪い作業になりました。
この課題を通して、仕様書作成の大切さ、品質は上流で作りこむことを改めて認識しました。「ストップウォッチ」システムを動作しLCDに経過した時間を表示する様子、また基板の主要な部分の説明を図3に示します。
 |
|
図3. ストップウォッチ動作様子 |
こうしてマイコンのプログラムを作成してみて、プログラムの難しさと面白さを実感することができました。更に動作が思う通りにならない場合には、デバッグをうまく行うことが重要な作業と分かりました。