株式会社リンクス / バックエンドエンジニア
スペースベースアーキテクチャでの電力需給調整システム開発
## プロジェクト概要 全国に点在する9つの電力会社を束ね、各中給システムから送られてくる電力をもとに、電力の需給調整をおこなうシステムを構築していました。すでに稼働しており、今回新たに新規機能を追加するために、プロジェクトに参画していました。 ### 担当した役割 1.約1ヶ月間、要件定義において、JavaScript /Javaで客先提示用の画面モックを16画面作成しました。 2. 8月から2023年3月に至るまで、低レイヤーの演算機能の新規機能1機能分を基本設計からほぼ全て任されていました。(詳細は以下) 新規機能追加にともなうDB論理設計 新規作成ファイルにともなう外部I/F設計 Astahでのデータクラス設計 Plant UMLでの業務ロジックのフローチャート作成 C++でのコーディング(3000行ほど) ### 使用技術や開発環境等 フロントエンド:JavaScript / CSS / HTML /JSP バックエンド:C++(演算機能)、Java(演算管理) DB:PostgreSQL OS:linux 仮想環境:Virtual Box ### 取り組んだ課題 1. フローチャートの作成 内部のシステムで保持しているデータと、外部から送られてくるデータに応じて、 各パターンに分けて処理を実行するのですが、当初分岐をうまく切り分けることができず、冗長な作りになってしまいました。 処理を見直し、引数をたくさん持つ作りになっていたことに気づきました。 冒頭の分岐で、場合分けに応じて使わない引数を削っていく方針に変えました。その結果、変数を削り、 シンプルな作りにすることができました。 2. データクラス設計 新規追加する機能に伴い、どこにデータクラスのクラス及び変数を追加するか検討しました。 追加する観点として、以下を意識しました。 ①メソッドで変数を呼び出すときに、呼び出しやすい位置にあるか ②既存の処理に対して、最小限の変更で済むかどうか ③既存のデータクラスと、意味的な整合性が取れているか 特に上長が、②を気にされていたので、ソースコードを入念に調べて、問題ないか検討しました。 3.未習得技術のキャッチアップ JavaScriptとC++は、それぞれ未習得言語だったので、 それぞれUdemyや学習書籍を用いて勉強しました。 特にJavaScriptに関しては、今まで全くやってこなかったので、アプリを自分で作って勉強しました。 作成したTodoアプリは、以下になります。 https://github.com/schwarzwald0906/todo-js その頑張りが評価され、2ヶ月目からより重要な演算機能の実装の方に回していただきました。