【初心者向け】様々なシステム開発手法
システム開発には作成するサービスやプロジェクトによって適切な開発手法がいくつかあります。今回はシステム開発の手法を数種類紹介して、それぞれの特徴や、メリット、デメリットを紹介します。下記が主な開発手法の一覧になります。 ・ウォーターフォール型開発 ・アジャイル型開発 ・プロトタイプ型開発 ・スパイラル型開発 ・DevOps(デブオプス) ・リーン開発では次からそれぞれの開発手法の特徴とメリット、デメリットを紹介します。
初心者
【ソフトウェアテスト】レビューについて
ソフトウェアテスト領域には、動作させることを前提とした対象をテストする動的テストと、動作させることを前提としていない対象をテストする静的テストがあります。単体テストや結合テストなど、作成したものを動作させてテストをするのが動的テストですが、静的テストは動作させる対象がなくてもテストが実施できます。静的テスト活動の種類としてレビューがありますが、開発活動の中で作成された製品やシステム自体以外のものは、レビュー対象としてテストすることが可能です。
テスト(運用・保守・サポート)
【ソフトウェアテスト】QC7つ道具と新QC7つ道具 ②
QC7つ道具は、主に生産現場における各種数値を元に品質やリスクなどを分析して、品質管理を進める手法でしたが、品質管理に関わる問題は定量的分析のみでは対応しきれないようなものもあります。「【ソフトウェアテスト】欠陥分析手法について」記事でも触れているとおり、統計的分析は定量的解析手法で対応可能ですが、問題の要因に対してアプローチしようと考えた場合に、あらゆる要因が数値化できるのであれば定量的分析手法を用いれば解決できますが、数値化が困難であったり、集計して数値化して分析すると考えた場合に非常に手間がかかるような要-因に対しては、定性的な分析手法が必要になります。また、生産活動そのもののみではなく、プロジェクト全体の管理もQC活動、品質管理活動で対応すべき事象です。プロジェクト進行における問題点の可視化や共有に際して、数値データではない文字データや言語データでの集計管理をして、そうした定性的データを共通化された手法を用いて分析することにより、どのような生産現場でどのようなスキルの人が品質管理対応をする想定になったとしても、ある程度容易に対応できるように作成された手法のなかでも代表的な7つの手法が、新QC7つ道具(N7)として分類されています。英語ではNew Quality Control – 7 Tools等と呼ばれます。
テスト(運用・保守・サポート)
【Mac OS】簡単なバッチファイル作成
そもそもバッチファイル(batch file)とは、Windows環境において実行したいコマンド列が記述されたテキストファイルです。拡張子が「.bat」のため、BATファイルとも呼ばれます。その他にも「.sh」拡張子も使用されます。Mac OSでは「.command」や「.sh」が拡張子になります。バッチファイルにコマンドを記述してその処理を順番に実行することを、バッチ処理と言います。つまり、バッチファイルに上からコマンドを書いていけば、その順番で実行されるということです。頻繁に実行する処理の一連の流れをバッチファイルに記述しておけば、いつでもまとめてその処理を実行できます。バッチファイルのコーディングには、RubyやPythonといったスクリプト言語が用いられます。
学習・スキル
【ソフトウェアテスト】ソフトウェア開発とテスト活動について②
「【ソフトウェアテスト】テストレベルについて ①」記事に記載のとおり、開発ライフサイクルモデルには形式や期間によってさまざまなモデルがあり、テストを実施するタイミングもモデルによってさまざまです。先に挙げた開発工程の例である要件定義→設計→開発→テスト→リリース/保守を一連の流れとする開発ライフサイクルも、このフローを開発期間の流れとして実施するのはあくまでウォーターフォール型モデルのようなシーケンシャルな開発ライフサイクルであり、イテレーティブ開発モデルやインクリメンタル開発モデルでは、各工程とテストが同時に進行したり、無駄をなくすことを目的としてあえて一部工程を省くこともあります。V字モデルは各工程とテストが同時進行する例です。要件定義の段階で要件定義に対するテストを実施、システム設計の時点で設計された内容に対してテストを実施といったかたちで、開発完了後にようやくテストではなく、常に工程の早期段階でテストを実施します。開発完了後のテストで不具合が検出されると工程の手戻りが発生してしまい、工数に無駄が生じますが、早期にテストを実施することにより、上流工程の段階で不具合や懸念を可能な限り取り去って開発作業の手戻りを少なくし、無駄な工数の増加を防いだり、最終的な品質の向上を目指すことができます。このようにV字モデルの左側で行う開発活動に対して早期にテストを実施して効率的な開発活動を目指す手法をシフトレフトと呼びます。イテレーティブ開発モデルやインクリメンタル開発モデルとなると、さらに各工程とテストが早期段階で実施されていきます。全体的な流れをより細かく迅速に行い、それを細かく繰り返していくサイクルが、現在のソフトウェア開発形式の主流になってきています。
テスト(運用・保守・サポート)
【初心者用】Swingについて勉強したのでまとめてみた 第一回
Swing とは、 Java の GUI (グラフィカルユーザーインターフェース)を構築するためのフレームワークです。Swing は OS の GUI 画面を構成する部品に頼らずに独自に 画面を構成しているので、 実行環境の違いがなく、さらに実行環境で用意されている以上の 画面構成が利用可能となります。その反面、OS に元々備わっている画面の構成ではなくなるために動作速度が遅いなどの欠点があります。しかしながら、近年のハードウェアの進化などに伴い、動作速度の問題は大きなものではなくなってきていると言われています。そもそもJavaのGUIフレームワークとして最初に提供されたのはAWT(Abstract Windows Toolkit)ですが、AWTではテキストボックスやボタンなどのウィンドウ画面を構成する部品はOSの機能を利用していたため、Peerが処理を行っていました。こうしたPeerベースの構成となると、OSによって若干動作が異なったり、OSの不具合がJavaで作成したアプリケーションにも現れるなどの問題が発生することがあり、「一度書いたらどこでも同じように動く」と言うJavaの基本と若干の相違が生まれたため、Peerに頼らないアーキテクチャとしてSwingが生まれました。
初心者
Angularについて基礎知識を学ぶ
Angularという言葉を最近耳にすることが多くあります。私自身これまでAngularの開発に携わったことがないため、この記事作成を通してAngularとはどういったものなのか、基礎知識を学んでいきたいと考えてます。
初心者
Reactについて基礎知識を学ぶ
Reactについて皆さんは耳にしたことはありますか。Reactはよく比較されるVue.jsやAngularと同様人気が高くあります。ほかとどう違うのか、Reactの特徴とは何か。そういった内容を調査し、今回の記事作成を通してReactの基礎知識を学んでいこうと考えています。
初心者
便利なMyBatisについて知ろう
皆さんはMyBatisについて耳にしたことはありますか。私自身MyBatisを軽く触ったことがある程度でしたが学習コストが少なく、便利なフレームワークだと感じました。今回はその便利なMyBatisについて記事作成を通して、読んだ方が基礎知識を学べていただけたらと考えています。
初心者
Thymeleafについて学ぼう
皆さんはThymeleafについて耳にしたことはありますか。Javaの代表的なテンプレートエンジンでとても便利です。Thymeleafとはなにか、どういったメリットやデメリットがあるのかをこの記事作成を通して学んでいきたいと考えています。
初心者
【JavaScript】便利なVue.jsについて学ぼう
皆さんはVue.jsについてご存じでしょうか。Vue.jsは、JavaScriptを使ったアプリケーション開発を行うエンジニアから注目を集めている技術の一つです。Vue.jsとはなにか、メリット・デメリットはなにかをこの記事作成を通して調査しながら学んでいこうと考えています。
初心者
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
アーキテクト・技術選定(PG/バックエンド)2023年11月17日
学習・スキル2023年10月26日
テスト(運用・保守・サポート)2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見るDBのビューとは?メリットデメリットや使用方法についても紹介!
アプリケーション開発にとってデータベースは必須スキルとなっております。データベースの知識がないと、アプリケーション開発に難航することでしょう。しかしデータベースの知識を身に付けるとなると、かなりの勉強量を要します。というのもデータベースオブジェクトには様々な種類があり、一朝一夕では身に付くものではありません。今回は、データベースのビューについてご説明いたします。ビューそのものは必ず覚えてなくてはならないと言うものではありませんが、よく使われます。まずは本記事でビューの基礎知識を身に付けてください。本記事ではメリットデメリットや具体的な使用方法について紹介しております。
学習・スキル
【初心者用】ASP.NETのサーバーコントロールの種類をまとめてみた~その1~
ASP.NET Webフォームで使われるサーバーコントロールについてまとめてみたので、メモがてら記事にします。 それぞれのサーバーコントロールについて、固有のプロパティ等を具体例を交えて説明していきます。 (ID等の共通するプロパティは別記事で説明しているため、今回は取り上げません) 今回説明するサーバーコントロールは、以下になります。 ・Label コントロール ・Literal コントロール ・TextBox コントロール ・Image コントロール
製造・コーディング(PG/バックエンド)
【これからJP1に触れる人向け】JP1とは
開発プロジェクトに携わる際にJP1というツールに触れたことはあるだろうか。JP1は開発工程、特にテスト作業においては非常に利便性の高いツールである。この記事ではまだJP1に触れたことがない人向けにJP1の概要やJP1を合う買う際に知っておくべき用語を取り上げる。
テスト(運用・保守・サポート)
AUTOSARについて、まとめてみた
AUTOSAR(オートザー)とは、Automotive Open System Architectureの略称で、車載ソフトウェアの共通化を実現するためのプラットフォームの仕様名称でもあります。
開発環境関連(PG/フロントエンド)
Springを使ったDBデータ検索画面の作成
今回はJavaから画面へ値を渡すプログラムではなく、 画面からJavaへ値を渡して、DBからデータを取得し結果を画面へ表示する 実装方法を紹介していきたいと思います。
製造・コーディング(PG/バックエンド)
【初心者向け】Packet Tracerでネットワークを学ぶ(インストール編)
ネットワークエンジニアとしてCisco社のルータやスイッチの運用業務を遂行するには、 コマンドの知識やどのように機器が通信させているかよく理解しておく必要があります。 またCCNAといったネットワークのベンダー資格でも実際にコマンドを記述するシミュレーション問題が出題されることもあるので、自身のネットワークスキル向上には日頃からコマンド操作に慣れておく必要があります。 知識を定着や操作の慣れには座学だけでなく実際に機器に触れコマンドを入力し結果を確認することが一番なのですが、ルータやスイッチ等のネットワーク機器はいずれも高額であり、中古でもそれなりの値段となるので初心者が自宅に環境を作成することは簡単ではありません。 そこでCisco社のルータやスイッチに簡単に機器の設定、環境の構築、コマンドの投入練習といったことができるアプリケーションが「Packet Tracer」となります。
詳細設計(内部設計)(インフラ)
【初心者用】Pythonでスクレイピングをしてみよう
前回の記事で、Pythonのプログラムを実行するための環境構築について解説しました。 今回の記事では、Pythonで出来る作業の代表格でもあるスクレイピングを実際に行い、プログラミングのイメージを可視化していければと思います。 前回の記事で構築した、Jupyter Notebookを使っていきます。
製造・コーディング(PG/バックエンド)
マークアップ言語でなにができる?その種類と活用法を紹介!
マークアップ言語とは、文書の構造や見た目を表現するための言語のことで、HTMLやXMLなどが有名です。マークアップ言語は、プログラミング言語とは異なり、命令や計算を行うことはできませんが、文書の意味やレイアウトを定義することができます。この記事では、マークアップ言語の特徴やできること、プログラミング言語との違いなどを紹介しながら、マークアップ言語の種類や用途についても説明していきます。