基本設計・詳細設計とは
システム開発にはさまざまな工程があります。要件定義・基本設計・詳細設計などなどの工程が存在します。設計書を作成するのは、開発工程の前段階である「設計」工程。設計工程はシステム開発の方向性を左右するため、特に重要とされています。さらに設計工程は「基本設計」と「詳細設計」に分かれます。設計業務に携わっていなくても、名前は聞いたことがあるという方は多いのではないでしょうか。ただ、具体的にどのような違いがあるのか明確に理解できていない方もいるかもしれません。
基本設計(外部設計)(PG/フロントエンド)
【ソフトウェアテスト】CFD法
CFD法はCause Flow Diagram(原因流れ図)を略したもので、原因の集合と結果をそれぞれの関係のつながりにフォーカスして図式化し、そこからデシジョンテーブルを想定してテストケースを作成する技法です。システム設計において、正常な動作の仕様を基本として異常系の仕様もエラー動作実装のため明確に定義されているべきですが、テスト実施の際には、仕様想定上の正常系・異常系動作確認はもとより、考え得る限りの準正常系テストケース網羅も必要です。そうしたケースの考慮が足りていないと、リリース後にユーザーが想定外の操作を実行して重篤な不具合につながったり、あるいは仕様の穴を付いた不正処理などを実行されたりして、プロジェクトやサービスに損失が発生したりします。原因・結果・各関係を図示して明確に関係を洗い出すことで、実装段階では考慮が漏れているような挙動についても抜けや漏れをカバーするようにテストすることができます。また、エラーに関するもののみではなく、同値分割が可能な原因が複数関連して複数の結果が想定されるというシステムで、その関係性を図にして流れを見ることで、テストケース作成がグラフィカルに把握しやすくなります。インターネットでクレジットカードを利用して決済処理を実行する際に、完了までには以下の様な結果パターンが想定されます。・カード情報入力エラー(入力したカード利用情報に問題がある)・決済処理不能エラー(登録しているカード情報の照会時にエラーが発生)・通信不良による接続タイムアウトエラー(決済実行から完了までの通信時間が規定の時間内に処理されないことによるエラー)・決済完了上記4パターンの結果を返すまでの原因は、細部まで書き出すと煩雑になります。・複数の入力フォームに入力した情報のどこがエラーになったか・カード情報照会時にどのような理由でエラーになったか・どのページからどのページに遷移するときにエラーになったか・何秒以上の通信待機時間を過ぎたら通信エラーで処理するか等これらを一つの枠に収めてそれぞれを線でつなぐことで関係性を整理できるのが、このCFD法の利点だと思います。
テスト(運用・保守・サポート)
【初心者用】Pythonが何なのかメリット・デメリットの面からまとめてみた
エンジニアとしてのキャリアが短く、データベース・SQLについて疎い自分がデータベースとSQLについて基本から学びながら、データベースとは何か、SQLとは何かを分かりやすいように説明していきます。
製造・コーディング(インフラ)
【必読】エンジニアのマネジメントって何?必要性とスキルアップ方法を徹底解説
エンジニア職において、技術力や知識はもちろん重要ですが、マネジメントスキルを身につける事も大切です。マネジメントスキルを身につけることで、プロジェクトの推進やパフォーマンスの向上、エンジニアの育成やモチベーションの維持など、さまざまなメリットがあります。本記事では、エンジニア職におけるマネジメントのスキルアップについて、具体的に解説していきます。
【パート1】ChatGPTをデスクトップ上から使えるようにデスクトップアプリ化してみた|Node.js & Electron
最近、ChatGPTという物がとても注目されています。私自身も、実際に使用してみてその性能に驚きました。簡単な質問はもちろん、前提条件を指定した文章の作成や、プログラミングのコード作成までできてしまいます。今回はその便利なChatPGTをデスクトップアプリ化し、どこからでも質問を行えるようにしていきたいと思います。
製造・コーディング(PG/バックエンド)
Javaエンジニアってどうなの?現役エンジニアが語る需要と将来性!
世界には200以上のプログラミング言語が存在しており、今もなおその数は増え続けていますが、年齢と共に自身が習得したプログラミング言語の将来性を不安視される方もいるのではないでしょうか。エンジニアに求められるスキルセットは日々変化しており、SES営業の経験がある筆者も、エンジニアにスキルマッチする案件が見つからないと、炎上プロジェクトや単価の低い案件しかご用意が出来ず、悩んだ時期もあります。スキルチェンジして年収を上げたいと考えている方から相談を受けることもありますが、その時に重要な要素の1つとなるのが「プログラミング言語」の将来性です。本記事では、Javaの特徴や需要と将来性について現役のシステムエンジニアが解説します。
MongoDBを使用してNext.jsのWebアプリケーションを作成してみた
本記事では、MongoDBを使用したNext.jsのWEBアプリケーションの作成方法について解説します。MongoDBはNoSQLの一つで、柔軟なデータベース設計や高速なデータ処理が可能なため、Webアプリケーションの開発において人気があります。Next.jsはReactのフレームワークであり、サーバーサイドレンダリングをサポートしています。MongoDBとNext.jsを組み合わせることで、高速で柔軟性の高いWebアプリケーションを作成することができます。
製造・コーディング(PG/バックエンド)
Junit5でのテストコードの覚書
今日一日はまったので、覚書。Junit5Controller.java@Controllerpublic class Junit5Controller { @RequestMapping("/Junit5") public @ResponseBody String greeting() { return "Hello, World"; }}@SpringBootTest@AutoConfigureMockMvcclass Junit5ControllerTest { @Autowired private MockMvc mockMvc; @Test public void shouldReturnDefaultMessage() throws Exception { this.mockMvc.perform(get("/Junit5")).andDo(print()) .andExpect(content().string(containsString("Hello, World"))); }}@WebMvcTestではエラーが出る。
テスト(PG/バックエンド)
【初心者用】AWS基礎⑦
前回はクラウドプラクティショナーの出題範囲のうちのAWSの主要サービスの識別までを学習してきました。今回はAWSの主要サービスの識別のところについて、さらに学習していきたいと思います。
その他(インフラ)
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
アーキテクト・技術選定(PG/バックエンド)2023年10月26日
テスト(運用・保守・サポート)2023年11月17日
2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見る【これからJP1に触れる人向け】JP1とは
開発プロジェクトに携わる際にJP1というツールに触れたことはあるだろうか。JP1は開発工程、特にテスト作業においては非常に利便性の高いツールである。この記事ではまだJP1に触れたことがない人向けにJP1の概要やJP1を合う買う際に知っておくべき用語を取り上げる。
テスト(運用・保守・サポート)
インデックスとは?メリットデメリットやインデックスの種類も交えてご紹介
インデックスとは、データベースを扱う際には欠かすことのできない概念となります。インデックスの取り扱いによって、データのアクセス速度が大きく変わります。特に大規模なデータを扱う場合には、取り扱いに気をつけなくてはなりません。インデックスを設定した結果、処理速度が遅くなってしまうことやそもそもインデックスを使用するような実行計画が選択されないこともあるのです。インデックスは、DBMSの種類(例えば、OracleやMySQL、Postgreなど)によっても異なります。インデックスの仕様を知らないと、開発者にとって意図しない処理をしてしまう可能性もあります。そこで今回はインデックスについてメリットデメリットや具体的にどのような種類があるのかを説明していきます。
【初心者向け】Packet Tracerでネットワークを学ぶ(CLI操作の基本編①)
ルータ初期設定編ではPacket Tracerを使ってルータを直接操作し色々な設定を試してみたいと思います。 まずCisco製品のルータにはPCと同様にOSがインストールされています。 それが「Cisco IOS(Internetwork Operating System)」です。 スイッチでもこのOSを利用しています。 Cisco IOSはWindowsのようなグラフィカルなインターフェースではなくコマンド入力のみで様々な操作を行うインターフェースになります。 コマンドで操作するインターフェースのことを「CLI(Command Line Interface)」と言います。
詳細設計(内部設計)(インフラ)
【初心者向け】Packet Tracerでネットワークを学ぶ(インストール編)
ネットワークエンジニアとしてCisco社のルータやスイッチの運用業務を遂行するには、 コマンドの知識やどのように機器が通信させているかよく理解しておく必要があります。 またCCNAといったネットワークのベンダー資格でも実際にコマンドを記述するシミュレーション問題が出題されることもあるので、自身のネットワークスキル向上には日頃からコマンド操作に慣れておく必要があります。 知識を定着や操作の慣れには座学だけでなく実際に機器に触れコマンドを入力し結果を確認することが一番なのですが、ルータやスイッチ等のネットワーク機器はいずれも高額であり、中古でもそれなりの値段となるので初心者が自宅に環境を作成することは簡単ではありません。 そこでCisco社のルータやスイッチに簡単に機器の設定、環境の構築、コマンドの投入練習といったことができるアプリケーションが「Packet Tracer」となります。
詳細設計(内部設計)(インフラ)
【初心者向け】Packet Tracerでネットワークを学ぶ(DHCP)
DHCP(Dynamic Host Configuration Protocol)は自動的にIPアドレスやサブネットマスク等をPCやルータに配布してくれるプロトコルです。
詳細設計(内部設計)(インフラ)
GitHubのReadmeをMarkdown記法で書く
Markdown記法は、プレーンテキストに特定の書式を付けることで、簡単にWebページやドキュメントを作成するための記法です。Markdown記法は、文書の見た目を整えるためのHTMLタグを記述する必要がなく、テキストファイルとしても読み書きが容易であるため、多くの人々によって広く使用されています。
プロジェクト推進・管理(PG/バックエンド)
#10営業インタビュー【エンジニアの価値を高める仕事とは?】
― 単価10万円アップを実現したリアルな話 ―こんにちは!採用担当です😊今回は、当社で活躍する営業メンバーにインタビュー🎤 エンジニアと企業をつなぐ“営業のリアル”について、ちょっと深掘りしてみました!
