【初心者向け】様々なシステム開発手法
システム開発には作成するサービスやプロジェクトによって適切な開発手法がいくつかあります。今回はシステム開発の手法を数種類紹介して、それぞれの特徴や、メリット、デメリットを紹介します。下記が主な開発手法の一覧になります。 ・ウォーターフォール型開発 ・アジャイル型開発 ・プロトタイプ型開発 ・スパイラル型開発 ・DevOps(デブオプス) ・リーン開発では次からそれぞれの開発手法の特徴とメリット、デメリットを紹介します。
【Spring】便利なアノテーションについて知ろう①
Java開発でフレームワークを使用する際、Springが選ばれることが多いと感じます。Springで特徴的なのはアノテーションという@を使った記載になります。そのアノテーションにはどういったものがあるか、どういった意味になるのかを調べてまとめてみました。
システムテストについて
システムテストとはシステム開発の一環として行われるテスト手法の一つで、「総合テスト」とも呼ばれています。システム開発の最終段階で行われることが多く、実際に使用される状況と同じ設定でテストを行います。システムテストでは、開発したシステムが期待通りに動作するか、構築したシステムが仕様書通りの機能や性能要件を満たしているかについて検証します。実際の使用状況を想定して、本番と同じ環境で多角的にテストを行うことで、開発環境ではわからないバグや不具合を発見するのに役立ちます。さらに、システムの一部だけではなくシステム全体を俯瞰して、ハードウェアも含めたテストが実施されるため、ハードウェアの環境に関連する不具合も検出できます。システムテストが行われるのは、プログラムや機能ごとの確認を行う単体テストや、プログラムを結合してバグがないかを確認する結合テストを終えた、開発の最終段階です。納品前に全体を通したテストを行うことでシステムの品質を確保し、クライアントに引き渡したあとに残存するリスクをできるだけ減らすことができます。
【Spring】便利なアノテーションについて知ろう②
便利なアノテーションについて知りましょう!
【MySQL】実行計画を活用した速度改善
作成したプログラムの実行速度が単体テストのときは早かったのに、結合テストや本番では遅くなって問題になることがよくあると思います。今回はデータベースへのアクセス速度の問題を、実行計画を活用しながら解決する方法を簡単に説明いたします。説明はMySQLを対象としておりますが、基本的なところはどのDBMSでも同じと考えています。
【ソフトウェアテスト】ソフトウェア開発とテスト活動について ①
ソフトウェアはほとんどの場合、複数の機能を組み合わせてシステムを構築し、さまざまなシステムをまとめたものを運用する想定で開発プロジェクトが進行します。Webシステム開発、アプリケーション開発、組み込みシステム開発など、開発プロジェクトにもそれぞれ種類はありますが、アプリケーションに付随するWebサービスを展開する場合にWebシステムを開発したり、組み込みシステムと連携するアプリケーションを展開する場合にアプリケーション開発をするなど、複数のサービスやプラットフォームが関連しているのがソフトウェアの現状であり、開発プロジェクトもそれに伴って複雑で多様な関係性の中で進行していきます。このため、何か一つを開発して終わりとなることはほとんどなく、開発プロジェクトの開始・終了・進行中に至るまで、そのほか複数の開発プロジェクトの進行も関連してきます。とはいえ、多くのプロジェクトが相互に関連しながら進行しているとしても、プロジェクト進行の工程という点でいうならば、サービスやシステムの企画と検討に始まり、リリース後の継続的な運用保守から運用の終了に至るまでを一つのサイクルとして、開発プロジェクトは段階を経て進行していくといえます。
テスト(運用・保守・サポート)
【Mac OS】簡単なバッチファイル作成
そもそもバッチファイル(batch file)とは、Windows環境において実行したいコマンド列が記述されたテキストファイルです。拡張子が「.bat」のため、BATファイルとも呼ばれます。その他にも「.sh」拡張子も使用されます。Mac OSでは「.command」や「.sh」が拡張子になります。バッチファイルにコマンドを記述してその処理を順番に実行することを、バッチ処理と言います。つまり、バッチファイルに上からコマンドを書いていけば、その順番で実行されるということです。頻繁に実行する処理の一連の流れをバッチファイルに記述しておけば、いつでもまとめてその処理を実行できます。バッチファイルのコーディングには、RubyやPythonといったスクリプト言語が用いられます。
【ソフトウェアテスト】ソフトウェア開発とテスト活動について②
「【ソフトウェアテスト】テストレベルについて ①」記事に記載のとおり、開発ライフサイクルモデルには形式や期間によってさまざまなモデルがあり、テストを実施するタイミングもモデルによってさまざまです。先に挙げた開発工程の例である要件定義→設計→開発→テスト→リリース/保守を一連の流れとする開発ライフサイクルも、このフローを開発期間の流れとして実施するのはあくまでウォーターフォール型モデルのようなシーケンシャルな開発ライフサイクルであり、イテレーティブ開発モデルやインクリメンタル開発モデルでは、各工程とテストが同時に進行したり、無駄をなくすことを目的としてあえて一部工程を省くこともあります。V字モデルは各工程とテストが同時進行する例です。要件定義の段階で要件定義に対するテストを実施、システム設計の時点で設計された内容に対してテストを実施といったかたちで、開発完了後にようやくテストではなく、常に工程の早期段階でテストを実施します。開発完了後のテストで不具合が検出されると工程の手戻りが発生してしまい、工数に無駄が生じますが、早期にテストを実施することにより、上流工程の段階で不具合や懸念を可能な限り取り去って開発作業の手戻りを少なくし、無駄な工数の増加を防いだり、最終的な品質の向上を目指すことができます。このようにV字モデルの左側で行う開発活動に対して早期にテストを実施して効率的な開発活動を目指す手法をシフトレフトと呼びます。イテレーティブ開発モデルやインクリメンタル開発モデルとなると、さらに各工程とテストが早期段階で実施されていきます。全体的な流れをより細かく迅速に行い、それを細かく繰り返していくサイクルが、現在のソフトウェア開発形式の主流になってきています。
テスト(運用・保守・サポート)
SOAPについて知ろう
皆様、SOAPというワードを耳にしたことはありますか。私はこの記事を作成する前まで恥ずかしながら知りませんでした。今回はSOAPについてどういったものなのか調べてまとめてみました。
【初心者用】Swingについて勉強したのでまとめてみた 第一回
Swing とは、 Java の GUI (グラフィカルユーザーインターフェース)を構築するためのフレームワークです。Swing は OS の GUI 画面を構成する部品に頼らずに独自に 画面を構成しているので、 実行環境の違いがなく、さらに実行環境で用意されている以上の 画面構成が利用可能となります。その反面、OS に元々備わっている画面の構成ではなくなるために動作速度が遅いなどの欠点があります。しかしながら、近年のハードウェアの進化などに伴い、動作速度の問題は大きなものではなくなってきていると言われています。そもそもJavaのGUIフレームワークとして最初に提供されたのはAWT(Abstract Windows Toolkit)ですが、AWTではテキストボックスやボタンなどのウィンドウ画面を構成する部品はOSの機能を利用していたため、Peerが処理を行っていました。こうしたPeerベースの構成となると、OSによって若干動作が異なったり、OSの不具合がJavaで作成したアプリケーションにも現れるなどの問題が発生することがあり、「一度書いたらどこでも同じように動く」と言うJavaの基本と若干の相違が生まれたため、Peerに頼らないアーキテクチャとしてSwingが生まれました。
【初心者用】Swingについて勉強したのでまとめてみた 第二回
前回はSwingとはどういうものか、そしてボタンを押下したら小文字英字が大文字に変換される簡単な処理の作成を行いました。今回はSwingに図形を描画する方法をまとめ、次の章でこれまでの応用としてボタンを押下するとSwingに図形を描画して最終的に絵を完成させる処理を作成していきます。
Ubuntuについて知ろう
Ubuntuを皆さんご存じでしょうか。Ubuntuとはなにか、コマンドはどういったものがあるのかを調査してまとめました。
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
2023年10月26日
テスト(運用・保守・サポート)2023年11月17日
2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見る#12 SES企業の見極め5選
こんにちは!ラーニンギフト採用担当です。「SESって会社によってかなり違うって聞くけど、何を基準に選べばいいの?」そんな不安を感じているエンジニアの方も多いのではないでしょうか。実際、SES企業は数が多く、働き方やサポート体制も会社によってさまざまです。そのため、"どの会社を選ぶか”によって、エンジニアとしてのキャリアや働きやすさが大きく変わることもあります。今回は、SES企業を選ぶ際に確認しておきたいポイントを5つご紹介します!
プログラマー(バックエンドエンジニア)
#11キャリアサポーターって何してるの?【“案件に入って終わり”じゃない。キャリサポのリアルに密着】
こんにちは!採用担当です😊今回は、当社でエンジニアのキャリア支援を行っている「キャリアサポーター(通称:キャリサポ)」にインタビュー!SES業界では、「案件参画後は放置だった…」 「相談できる人がいなかった…」そんな声を聞くことも少なくありません。では実際に、当社のキャリサポはどんなことをしているのでしょうか?今回は、・面談で何を見ているのか・どんな人が伸びやすいのか・印象に残っている支援事例 など、“キャリア支援のリアル”について聞いてみました✨
プログラマー(バックエンドエンジニア)
イチから学ぶデータベース・SQL(6)
イチから学ぶデータベース・SQL(5)では、サンプルデータベースに登録されているデータのログ解析をしていきました。 今回も前回同様paizaラーニングを参考に、オンラインRPGを題材としてSQLについて学習を進めていきます。
製造・コーディング(インフラ)
【初心者用】Pythonが何なのかメリット・デメリットの面からまとめてみた
エンジニアとしてのキャリアが短く、データベース・SQLについて疎い自分がデータベースとSQLについて基本から学びながら、データベースとは何か、SQLとは何かを分かりやすいように説明していきます。
製造・コーディング(インフラ)
#09 社員インタビュー【育児もキャリアも、どちらも大切にしたい。フロントエンドエンジニアとして働く、私のリアルな毎日】
こんにちは!今回は、ラーニンギフトで活躍中のフロントエンドエンジニアにインタビュー🎤育児と仕事を両立しながら、自分らしいキャリアを歩んでいる社員のリアルな声をお届けします!「エンジニアとして成長したい」「でも、子どもとの時間も諦めたくない」そんな想いを持っている方に、ぜひ読んでほしい内容です😊
#10営業インタビュー【エンジニアの価値を高める仕事とは?】
― 単価10万円アップを実現したリアルな話 ―こんにちは!採用担当です😊今回は、当社で活躍する営業メンバーにインタビュー🎤 エンジニアと企業をつなぐ“営業のリアル”について、ちょっと深掘りしてみました!
DBのビューとは?メリットデメリットや使用方法についても紹介!
アプリケーション開発にとってデータベースは必須スキルとなっております。データベースの知識がないと、アプリケーション開発に難航することでしょう。しかしデータベースの知識を身に付けるとなると、かなりの勉強量を要します。というのもデータベースオブジェクトには様々な種類があり、一朝一夕では身に付くものではありません。今回は、データベースのビューについてご説明いたします。ビューそのものは必ず覚えてなくてはならないと言うものではありませんが、よく使われます。まずは本記事でビューの基礎知識を身に付けてください。本記事ではメリットデメリットや具体的な使用方法について紹介しております。
Git GUIツールの使い方:初心者向けチュートリアル
Gitとは、分散型バージョン管理システムの1つで、コードやファイルなどの変更履歴を記録し、複数の人で同時に開発を進めるために使われます。Linuxの開発者であるLinus Torvaldsによって開発され、現在は世界中の多くの企業やオープンソースプロジェクトで使用されています。Gitは、ファイルの変更履歴を保存するための「リポジトリ」と呼ばれるデータベースを持ち、このリポジトリに対してコミットと呼ばれる操作で変更履歴を追加していきます。また、ブランチと呼ばれる分岐を作成して、異なるバージョンのコードを管理します。Gitの主な特徴としては、以下のようなものが挙げられます。・ローカルでの高速な動作・分散型であるため、オフラインでも開発ができる・変更履歴を管理しやすく、コードの品質を高めることができる・大規模なプロジェクトでもスケーラブルに対応可能Gitは、コマンドラインツールを使って操作することもできますが、GUIツールを使って操作することもできます。
