2nd Semester振返り①

Student Life in NUS

2nd Semesterで履修したModuleの具体的な内容を感想とともに書きます。

2nd Semester 履修科目は以下3科目です。
① IT5004 Enterprise Systems Architecture Fundamentals
② IT5006 Fundamentals of Data Analytics
③ IT5007 Software Engineering on Application Architecture

今回はEnterprise Systems Architecture Fundamentalsについて振返ります。

Enterprise Systems Architecture Fundamentals

全11回×3時間/回の講義で、以下内容を学びました。

システム開発のフレームワーク:SDLC

  • システム開発をする際のフレームワークでSystem Development Life Cycleの略称
  • システム開発には5段階のPhaseある(Planning, Analysis, Design, Implementation, Support)
  • Predictive SDLCとAdaptive SDLCがあり、Predictive SDLCはWaterfall型開発と言われ、前の工程(Phase)を終えてから次の工程に進む開発手法。Adaptive SDLCはアジャイル型開発と言われ、計画をすべて事前に決めるのではなく、開発プロジェクトの実行結果に基づいて計画を柔軟に変えながらプロジェクトを進行させる開発手法

システム開発の共通言語:UML

  • Unified Modeling Languageの略称で、複雑なシステムのアーキテクチャの設計や実装をする際にコンサルタント、ユーザー、エンジニア間で使用する視覚的な共通言語
  • システム開発のPhaseに応じて様々な図(ダイアグラム)を作成する
  • 本Moduleでは、Activity diagram, Use case diagram, Use case description, Class diagram, State machine diagram, Sequence diagramをカバー

Enterprise Systemの特徴

  • ユーザー数が多く、様々なシステムとの連携を前提とする場合が多い
  • アクセス方法も多様(ブラウザ、スマートフォン、ハードウェア等)
  • 堅牢性が高く、拡張性も高い
  • データの永続性が保たれていること

オブジェクト指向

  • システム設計や実装の考え方の一つで、データと処理をオブジェクトというひとつのまとまりとして定義して、そのオブジェクトを組み合わせて複雑な処理を伴うシステムを構築していくことが可能となる
  • 本Moduleではオブジェクト指向を理解するうえで必要な用語・考え方をJAVAというプログラム言語をベースに解説

その他

  • システムセキュリティ、ソフトウェアのデザイン手法(MVC), プロジェクトマネジメント、開発時のバージョン管理、テスト、デプロイメント手法など

テストの代替として最終レポートを提出

  • 架空の事例に基づいてUMLの各種図(ダイアグラム)を作成
  • Easy Car Rentalという、自分の車を貸したい人と車を借りたい人をマッチングするプラットフォームシステムを構築するという設定のもとで、そのシステムに必要な機能やワークフロー、データと処理のデザインをすることが課されたタスク
  • 具体的にはUse case diagramとActivity diagram, Domain model class diagramを作成する
  • 個人ワークとして課され、作成期間は1週間

感想

正直な感想は、実務において必要な知識であることはよく理解しつつも、座学講義だけではイメージがつきにくく、他のModuleに比べてやや退屈でした。

170名というクラスサイズかつオンライン授業だったので仕方ないと思う反面、1つの実在するシステムの事例を掘り下げてSDLCのフレームワークを説明したり、各種Diagramを作成したりするとよりイメージが掴みやすかったかなと思いました。

多分今時点でシステムコンサルに行ったとしても、この授業で学んだことを十分に活かすことができないと思ったので、システムコンサルの実務を担っているProfessionalにヒアリングするなどしてイメージを具体化していきたいです。