.

Software Development Skill
ソフトウェア開発スキル資格
January 2022
Syllabus v1.0J

Japanese translated material for reference only
日本語参考訳.

e-mail: Japan@peoplecert.org, www.peoplecert.org

Copyright © 2022 PeopleCert International Ltd. All Rights Reserved.
無断転載を禁じます。PeopleCert International Ltd.の書面による許可なく、本書のいかなる部分をいかなる形式および手段（電子的、複写、記録、その他）でも複製または転送することを禁じます。この資料の複製、送信、またはいかなる目的での使用の許可に関するお問い合わせは、当社にお願いします。
免責事項
本書は、読者に役立つ情報を提供することを目的としています。PeopleCert は細心の注意を払っておりますが 、 また、
PeopleCert International Ltd は、本書に含まれる情報、指示、アドバイスによって生じる、または生じるいかなる損失または損害（特別、間接、結果的なものを含むがこれに限らない）に対しても責任を負いません。
当書類は、参考訳として機械翻訳を利用しており、原本の英語版をご参照ください。

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0J｜2022 年 1 月

2/ 35ページ.

1. はじめにソフトウェア開発（コーディング）はここ数年で大きく進化し、ソフトウェア開発者（プログラマー）は多くの企業で求められる人材となりました。 現在、アプリケーションやプログラムを開発するために、開発者はコーディング言語やプラットフォームなど、膨大な数の技術から選択することができます。 しかし、この選択はソフトウェア開発者として非常に難しい選択です。
PeopleCert Software Development Skill (ソフトウェア開発スキル) Foundation 認定資格
は、Java、JavaScript、Python、または C#のいずれかのソフトウェア開発/コーディングスキルを構築するために必要な基本的な知識をカバーしています。 PeopleCert の Software
Development Skills。Advanced 認定レベルでは、ソフトウェア開発に関するより高度なスキルや知識をカバーしています。
これらのスキルの基礎となる知識は、PeopleCert Education が作成した Coding Bootcamp トレーニング教材で特別に提供されるものです。
シラバスの主な目的は、開発者スキルに携わる人々の認定のための基盤を提供することである。
認定に関連する学習成果を文書化し、各認定レベルにおいてこれらの学習成果が達成されたことを実証するために受験者が満たすべき要件を記述しています。

Foundation (基礎)

Advanced (アドバンスド)

Java

○

○

C#

○

○

JavaScript○○

Python○○Angular

-

検証中

React

-

検証中

VueJS

-

検証中

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0｜2022 年 1 月

3/ 35ページ.

2. Foundation（ファンデーション）認定
2.1. Foundation 認定の目的
Foundation 認定資格の目的は、受験者が開発者の基本的なスキルについて十分な知識、理解、応用力を持ち、初級フルスタック開発者としてソフトウェア開発チームの一員として、または効率的に作業できることを確認することです。また、Foundation 認定は、Advanced 認定の前提条件でもあります。

2.2. ターゲット層/オーディエンス
この資格は、PeopleCert が提供するソフトウェア開発スキル認定スキームの最初のレベル（Foundation）であり、効率的なソフトウェア開発者を目指す人を対象としています。受験者は、
ソースコードの記述に関する確かな知識と理解を持ち、それを実証するとともに、コードを効率的かつ効果的に記述する方法の応用スキルを実証する必要があります。また、この資格は、個人認定を希望する受験者にも対応しています。
この資格は、保有者に Foundation レベルの知識を提供し、様々な技術を使用してコードを書くことをしっかりと理解していることを証明するものです。
この Advanced レベルのスキルと知識は、PeopleCert が提供するソフトウェア開発スキル認定
スキームの次のレベルでカバーされています。

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0J｜2022 年 1 月

4/ 35ページ.

3. Advanced（アドバンスド）認定
3.1. Advanced 認定の目的
Advanced 認定資格の目的は、受験者が中核となる開発者スキルの高度な知識、理解、および応用力を持ち、開発者としてソフトウェア開発チームの一員として、あるいは効果的に働くことができることを確認することです。 Advanced 認定者は、適切な指示のもと、実際のソフトウェ
ア開発プロジェクトにおいて、シラバスに記載された方法論と技術を適用し、発生しうる問題に対して解決策を提供することができなければなりません。

3.2. ターゲット層/オーディエンス
この資格は、PeopleCert が提供するソフトウェア開発スキル認定スキームの 2 番目のレベル（上級）であり、効率的なソフトウェア開発者を目指す人を対象としています。受験者は、ソースコードの記述に関する確かな知識と理解を持ち、それを実証するとともに、コードを効率的かつ効果的に記述する方法の応用スキルを実証する必要があります。また、この資格は、個人認定を希望する受験者にも対応しています。
この資格は、保有者に Advanced レベルの知識を提供し、様々な技術を使ったコードを書くことについて、より深い理解があることを証明するものです。

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0｜2022 年 1 月

5/ 35ページ.

4. 認定目標
Foundation レベルでは、プログラミングの基本概念とプログラミング言語、オブジェクト指向プ
ログラミング（OOP）、HTML、CSS、データベース、スクラム手法、メンテナンス可能なコードの書き方の基本を学びます。 プログラミング言語は、希望に応じて、C#、JavaScript、Python、Java のいずれかを使用します。
PeopleCert Software Development Skills：

Foundation 認定資格は、以下の知識、理解、および実践的な適応力を証明することができるようになります。
•

ソフトウェア設計・開発のキーコンセプト•

ソフトウェアアーキテクチャとソフトウェア開発方法論•

要求の取り込みとソフトウェア設計•

アプリケーション開発における最新のツールやコンセプトの使用、コーディング、関連するプログラミングスキル（Web または Windows）。

•

メンテナンス可能なコードとは•ソフトウェアテストとデバッグの技術

上級コースでは、プログラミングやプログラミング言語の概念、オブジェクト指向プログラミン
グ（OOP）、HTML、CSS に関するスキルと知識を強化します。
データベース、スクラムの方法論、保守性の高いコードを書くための基礎知識。 プログラミング
言語は、希望に応じて、C#、JavaScript、Python、Java のいずれかを使用します。

PeopleCert Software Development Skills：

Advanced 認定資格は、以下の知識、理解、および実践的なアプリケーションを証明することができます。
•

ソフトウェア設計・開発のキーコンセプト•

ソフトウェアアーキテクチャとソフトウェア開発方法論•

要求の取り込みとソフトウェア設計•

アプリケーション開発における最新のツールやコンセプトの使用、コーディング、関連するプログラミングスキル（Web または Windows）。

•

保守性の高いコードの作成•

ソフトウェアテストとデバッグの手法と応用•

スクラムや DevOps など様々な手法を用い、チームでより大規模なアプリケーションの設計・開発を行う。

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0J｜2022 年 1 月

6/ 35ページ.
•

C#または JavaScript または Java または Python プログラミング言語を使用したフルスタッ
クアプリケーションの開発© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0｜2022 年 1 月

7/ 35ページ.

4.1. 認証スキームレベル
上記の学習目標を通じて、受験者は以下の分野の関連スキルを実証することになります。
テクニカルスキル

その他のスキルオブジェクト指向プログラミング

タイムマネジメント

関数型プログラミング

アントレプレナーシップ・マインドセット

デバッグ技術パーソナルスキルアップ

テスト駆動開発

プレゼンテーション＆コミュニケーションスキ

一般的なアーキテクチャのパターン

ル

データ／クラスモデリングUI/ UX - ユーザビリティ

HTML/ CSS/ JavaScript

プロジェクトマネジメント

Bootstrap フレームワーク

IT サービスマネジメント（ITSM）

バージョン管理（Git）

以下の技術（Java、JavaScript、Python、C#のいずれかのプログラミング言語による）を使用します。

Technologies
Java

C#

JavaScript

Python

共通項目

Java
Programming
Maven /
TomcatMySQL /HSQLDB
Servlets / JSP
Spring MVC/
Spring Boot /DI / AOPJPA /Hibernate

C#
Programming
ASP .NET MVC
SQL Server
SQL Reporting
Services
ADO .NET /EntityFramework
Visual Studio
DapperJavaScript
Programming
node.js
MySQL
Express JS
Sails
Waterline

PythonProgramming
Flask
MySQL
DjangoActiveRecord
ORM

HTML / CSSSQLJavaScript
Bootstrap Framework
Angular / React
Version Control (Git)
REST architecture
Web servers (Apache,nginx)
xUnit
Unix command-line
MongoDB and other
NoSQL databases
UI / UX Design
Cloud-based services andtheir development, like
(AWS, Google Cloud
Platform)© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0J｜2022 年 1 月

8/ 35ページ.

5. 審査
ソフトウェア開発技術認定試験は、ソフトウェア開発の基本的な知識と理解、および関連する技術（Java、JavaScript、Python、C#）を使用してコードを作成する能力を検証するために設計されています。
Foundation 試験では、学習のレベル分けの基準となるブルーム分類法（1 ）の認知領域において、以下の 3 つのカテゴリーを中心に学習します。
•

Knowledge•

Comprehension 理解度•

Application

ナレッジ

アプリケーション

上記のカテゴリーとは別に、上級レベルではブルームのタクソノミーの 2 つの認知領域が試験に追加されます。
•

Analysis

分析•

Evaluation

評価

5.1. アセスメントアプローチ
ファウンデーションとアドバンスでは、「知識」「理解」「応用」「分析」「評価」の 5 つの基本カ
テゴリーに重点を置いた評価方法を採用しています。
知識 (Knowledge) とは、事実から理論に至るまで、以前に学習した内容を思い出すことと定義され、認知領域における学習成果の最下層に相当する。 このような学習成果は、次のような知ること、思い出すことを含む評価目標に転化される。
•

一般的・基本的な用語、定義、概念、原理など•

具体的なコマンドと機能•

プロセス、手順、コーディング方法

理解 (Comprehension) とは、最も低いレベルの理解であり、学習した教材の意味を把握する能力を意味し、その過程には解釈、翻訳、推定の要素も含まれる。 このような学習成果、ひいては評価目標は、単に情報を思い出すということにとどまらず、以下のようなものが含まれる可能性があります。
•

事実、概念、原理を理解する•

資料の解釈（例：コード、チャート、グラフ、テキスト、ダイアグラム）

ブルーム分類法では、認知領域における学習の 6 つのレベル（知る、理解する、適用する、分析する、評価する、創造する）
が定義されており、これらは順次的かつ累積的に、単純なものから複雑なものへと移行していきます。
6 段階目の学習を達成するためには、それまでの 5 段階を確実に習得している必要があります。
1© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0｜2022 年 1 月

9/ 35ページ.
•

使用したプロセス、手順、方法の正当性

応用 (Application) は、受験者が自分の知識と理解・納得を組み合わせて、抽象化することができるレベルです。より具体的には、抽象化された一般原則や方法を具体的な状況に適用するた
めに、受験者は自分の知識と理解を適用することが期待されています。このような学習成果、ひいては評価目標は、単に情報を思い出すということにとどまらず、以下のようなものが含まれる
可能性があります。
•

新しい具体的な状況において、アイデア、原理、理論を用いることができる。

•

与えられた状況において、適切なコードの選択、原則の適用、特定のアプローチの使用、またはオプションの選択を特定することができる•

学習したことを新しい状況に適用する•ルール、方法、コンセプト、原則、理論の適用•

この分野の学習成果は、理解度以下のものよりも高いレベルの理解を必要とします。

分析 (Analysis) とは、情報を構成要素に分解し、その組織構造を理解し、推論を行うことができるようになることで、応用を超えたレベルです。具体的には、分解、識別、図式化、検出、区別、図解などが必要で、これらはすべてこのレベルの学習における重要なタスクであり、これまでの「知る」「理解する」「応用する」のレベルを含んでいます。このような学習成果、ひいては評価目標は、「知る」「理解する」「応用する」にとどまらず、以下のようなものが含まれる可能性があります。
•

問題の分析に使えるパターンを見ることができる•

いんねんをさだめる

•

邪推をする

•

裏付けを取る•

部品を特定し、部品間の関係を分析し、関連する組織原理を認識する。

評価 (Evaluation) とは、情報、アイデアの妥当性、作品の品質などについて、一定の基準に基づいて判断し、意見を発表・擁護する能力が求められるレベルです。
•

内部証拠からみた判断•

外部基準に基づく判断•

抽象的な関係セットを導き出す

この評価では、上記の認知領域のカテゴリーに対応する評価目標を使用するため、上記の学習成果を取り入れることができます。

5.2. 応募資格／研修内容
この試験には、正式な参加基準やトレーニングの必要性があります。

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0J｜2022 年 1 月

10/ 35ページ

.
PeopleCert ソフトウェア開発スキルの Foundation レベル試験の受験資格は、オブジェクト指向技術（Java、JavaScript、Python、または C#）を使用したプログラミングができることです。
受験者は、オブジェクト指向技術（Java、JavaScript、Python、C#）、HTML/CSS、JavaScript、
jQuery、リレーショナルデータベースなど（FND レベルのシラバスによる）を使用してプログラ
ミングでき、ソフトウェア開発者として 2 年間の実務経験があるか、コンピュータサイエンス、ソフトウェア工学またはプログラミングを重視した関 連分野の学士号以上を持っているか、
PeopleCert による認定トレーニングを受けていることが必要です。
Advanced レベルでは、PeopleCert Software Development Skills Foundation 認定試験に合格していることが必要です。

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0｜2022 年 1 月

11/ 35ページ

.

5.3. 試験形式
Foundation 試験の試験形式は、以下の表のとおりです。
試験配信形式

コンピュータ（オンラインプロクタリング試験または教室）

タイプ

多肢選択問題（MCQ）100 問

各問題は 1 点

単一回答： 4 つの選択可能な回答のうちの 1 つ
複数回答： Y 個のうち X 個が回答可能（変動あり）
設問言語

英語

（定型的な選択問題で、設問／回答は業務で利用するプログ

ラミング言語が主となりますコーディングができる方であれば英語の障壁は最低限です。）
試験時間

2 時間（120 分） 日本語が母国語の方は、150 分

非ネイティブスピーカーや障がいのある受験者の場合は、さらに 30分の延長が認められます。
認定ライン

正答 65%

試験監督員／検査監査員

はい

対面またはオンラインによるプロクタリング

オープンブック

いいえ

試験会場に資料を持ち込むことはできません

前提条件

認定トレーニングまたは受験資格要件

成績優秀者表彰

N/A

認証の有効性永年有効

Advanced 試験の試験形式は、以下の表のとおりです。
試験配信形式

コンピュータ（オンラインプロクタリング試験または教室）

タイプ

多肢選択問題（MCQ）100 問

各問題は 1 点

単一回答： 4 つの選択可能な回答のうちの 1 つ
複数回答： Y 個のうち X 個が回答可能（変動あり）
設問言語

英語

（定型的な選択問題で、設問／回答は業務で利用するプログ

ラミング言語が主となりますコーディングができる方であれば英語の障壁は最低限です。）
試験時間

2 時間（120 分） 日本語が母国語の方は、150 分

非ネイティブスピーカーや障がいのある受験者の場合は、さらに 30分の延長が認められます。
認定ライン

正答 65%

試験監督員／検査監査員

はいオープンブック

いいえ

前提条件または認定トレーニングまたは公式の受験資格

推薦

ソフトウェア開発スキル Foundation 証明書（同じプログラミング言語）を取得していることが推奨されます。

成績優秀者表彰

N/A

認証の有効性

永年有効

対面またはオンラインによるプロクタリング
試験会場に資料を持ち込むことはできません© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0J｜2022 年 1 月

12/ 35ページ

.
試験は、試験仕様に基づき、定期的に更新される問題テストバンク（QTB）から出題されてています。設問は、試験セット間で互換性を持って使用されています。各試験の全体的な難易度は、他のどの試験とも同じです。複数回受験する場合、受験者に同じ試験が割り当てられることはありません。

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0｜2022 年 1 月

13/ 35ページ

.

6. 詳細シラバス
シラバスは、主要サブジェクトの見出しに関連するセクションで構成され、1 桁のセクション
番号が付されている。また、シラバスのカテゴリーごとに推奨されるトレーニング時間もこの表に記載されています。
次の表は、科目ごとの研修時間案です。この表は、研修の構成を示すものではありません。
トピック
FSD_1

知識・スキルセット
1.1 キーコンセプト

ソフトウェア

参照

タスク項目

1.1.1

コンピューティングの定義

1.1.2

コードとプログラム/アプリケーシ

デザインとョンの用語の定義

開発

1.1.3

FND

ADV

✔
✔

プログラミング言語、コンパイ
ラ、ソフトウェア実行の用語の定

✔

義
1.1.4

プログラム作成における典型的なアクティビティを認識することができる。
分析、設計、プログラミング、デ✔

バッグ/テスト、保守/強化
1.1.5"フルスタック開発 "という用語の定義

1.2 ソフトウェア

1.2.1

アーキテクチャー

ソフトウェアアーキテクチャの概念を理解する1.2.2

クライアント・サーバーモデルの概念を理解する

1.2.3

典型的な Web アプリケーションのアーキテクチャを理解する

1.2.4

3 層アーキテクチャを理解する

1.2.5

Web リクエストのエンドツーエン
ドのワークフローを理解する

1.2.6

Software-as-As-Service のコンセ
プトの理解

1.2.7

✔
✔
✔
✔
✔
✔
✔

集中型と分散型のアプリケーショ
ンアーキテクチャを区別する：ピアツーピア、マイクロサービスな

✔

ど。
1.2.8

一般的なアプリケーションのアー
キテクチャを理解する

1.2.9

✔

モバイルアプリケーションアーキ

✔

テクチャを理解する
1.3 ソフトウェア

1.3.1

開発 メソドロジー

アプリケーションの開発プロセス
を理解する

✔

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0J｜2022 年 1 月

14/ 35ページ

.
1.3.2

ウォーターフォール、プロトタイ
ピング、ラピッドアプリケーショ
ン、アジャイルコード、フィック
スなど、主なソフトウェア開発方✔

法論について説明できる。 これらの方法論を区別し、どのような場合に適用されるかを説明する。
1.3.3

ソフトウェア方法論に基づき、ソフ
トウェア開発に関連する主な活動をリストアップします。
要件、設計。

✔

建設、テスト。
デバッグ、デプロイメント。
メンテナンス

1.4 要求事項

1.3.4

コードレビューの仕組みを理解する

✔

1.3.5

DevOps の仕組みを理解する

✔

1.3.6

スクラムの仕組みを理解する

✔

1.4.1

要件抽出のプロセスを理解し、それキャプチャーとを完了する方法を知っている✔

ソフトウェア設計
1.4.2

要件把握からソフトウェア設計までのプロセスを理解し、簡単なケ✔

ースに適用する。
1.4.3

モックアップデザインの作成

1.4.4

ユニファイド・モデリングの活用
UML（言語）によるユースケース

✔
✔

図の作成
1.4.5

ユニファイド・モデリングの活用
UML（言語）により、クラス図を✔

作成します。
1.4.6

ユニファイド・モデリングの活用
UML（言語）でシーケンス図、状✔

態遷移図を作成する。
1.4.7

GUI デザイナーの使用とその基本
機能

1.5 サポート

1.5.1

活動内容およびプロフェッショナルな実✔

コンフィギュレーションマネジメン✔

トを理解し、活用する
1.5.2

適切なドキュメントの作成

1.5.3

アジャイルワークフローで、共通✔

践のツールを使って共同作業を行✔

い、進捗を文書化する練習をします。
想定されるトレーニング時間

トピック

知識・スキルセット

参照

タスク項目

8

FND

24

ADV

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0｜2022 年 1 月

15/ 35ページ

.
FSD_2 入門
プログラミング

2.1 デベロッパーツール

2.1.1

エディタとコンパイラの理解と利用

✔

2.1.2

静的解析の実行（例：FindBugs）

✔

2.1.3

Unix コマンドラインとそのツールの理解と使用2.1.4

ビルドツール（例：make、
Maven）の使用

2.1.5

IDE を理解し、使用する

2.1.6

GitHub と GitHub issues の理解と
活用

2.1.7

Git バージョンコントロールの理解と使用

2.2 プログラミング

2.1.8

デバッグを理解し実行する

2.1.9

最適化を理解し実行する

2.2.1

プログラミング言語の種類：手続き

言語とパラダイム

✔
✔
✔
✔
✔
✔
✔

型、オブジェクト指向、データ指向、スクリプト。コンパイル型言語✔

とインタプリタ型言語の区別
2.2.2

ソフトウェア開発のバックエンドとフロントエンドの区別

2.3 プログラミング

2.3.1

基本事項

変数の定義、簡単なプログラムの作
成と実行

2.3.2

✔

✔

編集、実行、停止、ページング、リダイレクト、パイピングなど、コマンドラインの基本をリストアップ✔

し、使用することができます。
2.3.3

文字列とコンソールの使用作成など、アウトプット
文字列リテラル、さまざまな文字列✔

メソッドの呼び出し
2.3.4

条件式、ループ、制御フローを使用
する

2.3.5

関数/メソッドの定義、手続き型プ
ログラミングの使用

2.3.6

リスト、リスト内包、辞書の定義と

✔
✔

使い方

✔

2.3.7

入出力の処理✔

2.3.8

HTML ページにデータベース
を接続し、Python でデータを✔

表示する想定されるトレーニング時間

トピック

知識・スキルセット

参照

タスク項目

20

-

FND

ADV

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0J｜2022 年 1 月

16/ 35ページ

.
FSD_3 オブジ
ェクト
オリエンテッド

3.1 はじめに

3.1.1

オブジェクト指向

オブジェクト指向の考え方を理解し、説明できる✔

プログラミング
3.1.2

状態と振る舞いのカプセル化について理解し、説明する。

3.1.3

オブジェクト指向の特性を理解し、利用する✔

3.1.4

プリミティブ型の理解・使用

✔

3.1.5

カスタムタイプとしてのクラスを理解し、利用する

3.1.6

3.2.1

コールスタックとヒープを理解し使
用する

3.2.3

反復と再帰を理解し、使用する。

3.2.4

値渡し、参照渡しを理解し、利用
する。

3.2.5

静的データの把握と活用

3.2.6

オブジェクトを参照型として理解し、利用する3.3 オブジェクト指向の
クラス設計

3.3.1

✔

メモリポインタとリファレンスを理解し使用する3.2.2✔

クラス間の関係を理解し、利用する：関連付け、集約、合成

3.2 ポインタ、リファレ
ンス✔

オブジェクト指向の原則を知り、応用できる。
抽象化、カプセル化。

✔

✔
✔
✔
✔
✔

✔

モジュール化、階層化
3.3.2

アクセスモディファイアを知る・
理解する

3.3.3

3.4 継承不変性を理解する：利点とメカニ

✔

ズム

✔

3.3.4

ジェネリックタイプの作成

✔

3.4.1

継承の理解、使用、応用

✔

3.4.2

キャスティングの理解、使用、応
用

3.4.3

シャドーイングを理解し、使用し、応用する3.4.4

オーバーロードの理解、使用、適
用

3.4.5

オーバーライドの理解、使用、適
用

✔
✔
✔
✔

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0｜2022 年 1 月

17/ 35ページ

.
3.4.6

抽象的なメソッドとクラスを理解し使用する

3.5 多相性・多重継承

3.5.1

ポリモーフィズムの理解と利用

3.5.2

モジュール性（パッケージ、モジュール）、設計原理（デメテルの法
則、安定性）を理解し、活用す

✔
✔

✔

る。
3.5.3

多重継承を理解し、利用する

✔

3.5.4

インターフェイスを理解し、利用✔

する
3.6 ライフサイクル 対象

3.6.1

物

コンストラクタの作成と使用、チ
ェーニング

✔

3.6.2

ファイナライザーの作成と使用

✔

3.6.3

デストラクタの作成と使用

✔

3.6.4

ガベージコレクションを理解し、
使用する

3.6.5

オブジェクトをコピーする

3.6.6

オブジェクトの浅いコピー、深いコピーを理解し、使用することが

✔
✔
✔

できる

3.7 Java コレクション

3.6.7

コピーコンストラクタ

✔

3.6.8

クローンオブジェクト

✔

3.7.1

データ構造を説明する：データ構C# 空リスト造とは何か、どのように機能する/か、使用するデータ構造をどのよ✔

うに選択するか
JavaScript

3.7.2

Java、JavaScript のコレクション

コレクション

インターフェース、C#の空リス/

ト、Python の辞書について説明しPython コレクション

ます。

インターフェース

3.7.3

キークラスの理解、定義、使用

3.7.4

イテレーションオプションを理解
し、Iterator を使用する

3.8 オブジェクトの比較

✔
✔

3.8.1

プリミティブ型と参照型の比較

✔

3.8.2

オブジェクトを比較する 等しい

✔

3.8.3

オブジェクト比較のカスタマイズ

✔

3.8.4

演算子のオーバーロードを理解し、使用する3.9 エラー処理

✔

✔

3.9.1

戻り値の制限を概説

✔

3.9.2

例外を理解し、利用する

✔

3.9.3

カスタム例外の作成と使用✔

✔

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0J｜2022 年 1 月

18/ 35ページ

.
3.10 接続する

3.10.1

データベースJava / C# / JavaScript / Python
による RDBMS への接続

3.10.2✔

✔

✔

✔

Java / C# / JavaScript / Python
で SQL クエリを実行し、データを取得する。

3.10.3

Java / C# / JavaScript / Python✔

でデータを消費する。
3.11 デザインパターン

3.11.1

デザインパターンを説明する

3.11.2

Observer ソフトウェアデザインパ✔
✔

ターンを使用する
3.11.3Strategy ソフトウェアデザインパ✔

ターンを使用する
3.11.4

Factory ソフトウェアデザインパ✔

ターンを使用する
3.11.5

抽象ファクトリーソフトウェアデ✔

ザインパターンを使用する
3.11.6Composite ソフトウェアデザイン✔

パターンを使用する
3.12 アルゴリズム

3.12.1

データ構造、およびアルゴリズム開発とは何かを理解✔

し、アルゴリズムを開発する

その他のトピックス
3.12.2複雑性解析の理解

3.12.3

グラフデータ構造を理解し、利用✔
✔

する
3.12.4

ソートを理解し、使用する

3.12.5

サーチを理解し、利用する

3.12.6

スクリプト API を理解し、利用す

✔
✔
✔

る
3.13 書き込み3.13.1

保守性の高いコード

基本的なコードスタイルのガイ
ドラインを説明し、適用し、コ✔

ードレビューセッションに参加する。
3.13.2✔

ソフトウェアの保守性を説明し、適用する

3.13.3

コードメンテナビリティとコードメ✔

ンテナンスの理解
3.13.4

大規模なプロジェクトに取り組✔

み、コードリーディングを活用する
3.13.5

コードとデザインの匂いを理解する

3.13.6

リファクタリングの説明と適用想定されるトレーニング時間

✔
✔
72

64

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0｜2022 年 1 月

19/ 35ページ

.
トピック

知識・スキルセット

参照

タスク項目

FSD_4 ウェ
ブデザインと開発

4.1 主要な概念と原則

4.1.1

Web 開発、ブラウザ、HTTP（ハイパーテキスト）の概要
トランスファープロトコル）、

ファンダメンタル

HTMLズ(ハイパーテキストマークアップ(フロントエンド)言語）、CSS（Cascading

FND

ADV

✔

スタイルシート）、URL（Uniform
リソースロケーター)
4.1.2

4.1.3

ウェブ開発用エディタ、ツールの理
解と使用
と原則

✔

デザインの基本要素（デザインコン
セプト、ページデザイン、ホームページレイアウト、ナビゲーションバ✔

ー）を理解し、使用することができる。
4.2 HTML

4.2.1

HTML、HTML とは何かを理解する
文書構造、タグ
エレメント、ヘディング
段落、書式設定✔

要素、改行。
コメント、特殊文字。
空要素、リスト
4.2.2

HTML でページを作成する
属性、画像、リンク。
テーブル、ブロックレベル、インラ
イン✔

要素、Div & Span 要素、フォー
ム、フォーム要素
4.2.3

HTML5 要素（構造要素、入力
要素、属性）を理解し、利用✔

する。
4.3 カスケードスタイル

4.3.1

シート（CSS）

CSS（Cascading Style Sheets）の概要、利点、CSS の文書構造と規則、コメント、基本的なセレク
タとプロパティ、HTML での使用
（Inline
スタイル、エンベデッド＆リンク✔

スタイルシート)
4.3.2

を使ってスタイルシートを作成します。
CSS プロパティ、CSS スタイリン
グ(背景、テキストフォーマット、フォントの制御）、ブロック要素とオ
ブジェクト、リストとテーブル、CSS Id と Class、ボックスモデル（紹介。
ボーダー属性、パディング✔

プロパティ, マージンプロパティ)© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0J｜2022 年 1 月

20/ 35ページ

.
4.3.3

グループ化、ディメンション、ディスプレイ、ポジショニング、フローティング、アライメント、疑✔

似クラス、ナビゲーションバー、
イメージスプライト、アトリビュ
ートセクターなど、CSS の高度なテクニックと要素を使用する。
4.3.4

CSS カラーを使ったページレイア
ウトやサイトデザインの作成

4.4.ブートストラップ

4.4.1

Bootstrap とレスポンシブデザインを理解し、活用する。

4.4.2

ページコンポーネントを理解し、使用する

4.5 HTML/ CSS

4.4.3

フォームを理解し作成する

4.5.1

静的ページを作成し、Web 標準とアプリケーションとベストプラクティスに沿ったデザ

品質保証

インを実装する方法を知ってい

✔
✔
✔
✔

✔

る。
4.5.2

ツールを使って、HTML と CSS の品質をフィードバックし、アクセ✔

シビリティと正確性を確保する。
4.5.3

ブラウザの落とし穴を知り、異なるクライアントブラウザ間で一貫✔

したプレゼンテーションを行うためのテクニックを適用/実践する。
4.5.4

コンテンツのプログレッシブエン
ハンスメントを適用し、クロスブ
ラウザ体験を向上させるためにコ✔

ンテンツを検出し、変更する。
4.6 JavaScript/ jQuery

4.6.1

JavaScript のコード、変数、関数

4.6.2

アドバンスを使用したコード
JavaScript：if 条件、ループ

4.6.3

✔
✔

フォームのユーザビリティ向上、✔

ユーザーからのデータ検証
4.6.4

jQuery プラグイン、jQuery UI、
Unobtrusive クライアント検証、✔

jQuery テンプレートの使用
4.7 XML

4.7.1

XML の構文について説明する

4.7.2

XML スキーマ、XSD、XSLT の記
述と使用

4.8 アドバンスト エレメ

4.8.1

ント

✔
✔

理解し、使用する
ジオロケーション、ジオロケーシ✔

ョン API© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0｜2022 年 1 月

21/ 35ページ

.
4.8.2

ウェブストレージ、Cookie、ス
トレージタイプ、メソッドとプ
ロパティ、イベントなどの高度✔

な要素の使用について理解する。 Web ストレージと Cookie
を区別することができる。
4.8.3

URL に基づくルーティング動作の

✔

適用
4.8.4

イベントベースのアプリケーション
設計を適用する

4.9 ウェブパブリッシン

4.9.1

グとホスティング

✔

概要と使用方法 Web
パブリッシング/ホスティングと継✔

続的インテグレーションの技術
4.9.2

Web クライアントと Web サーバ
ーの役割 - HTTP プロトコルを理

✔

解する
4.9.3

ウェブサイトの作成：サイトの保存、ウェブサイトでの作業、ウェ
ブサイトの構造、ウェブページの✔

タイトルの使用
4.9.4

Apache Tomcat の web.xml ファイ
ルなど、Web 公開パラメータの管

✔

理・変更。
4.9.5

Web サーバーのインストール

4.9.6

Web サーバーに証明書を追加する HTTPS

4.9.7

さまざまなホスティングオプション
を理解する

4.9.8

✔
✔
✔

仮想化、クラウドホスティングの
✔

理解と活用
4.9.9

同時接続ユーザー数と必要帯域幅の✔

見積もり
4.10 ユーザーアカウント 4.10.1

ユーザー認証について説明します。

とセキュリティ

ハッシュでユーザーパスワードを安✔

全に保ち、クッキースプーフィングを防止する。
4.10.2✔

SQL インジェクション攻撃について説明する

4.10.3

共通鍵暗号と公開鍵暗号、証明書に✔

ついて理解する。
4.11 API4.11.1

API とは何か、なぜ API にこだわ
るのか、API をアプリケーション✔

でどう使うのかを理解する。
想定されるトレーニング時間

トピック

知識・スキルセット

参照

タスク項目

40

48

FND

ADV

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0J｜2022 年 1 月

22/ 35ページ

.
FSD_5

5.1 キー(リレーショナ

用語／定義

5.1.1

データレイヤーの概念を理解す
る：ファイル vs. リレーショナル

ル）データベース✔

データベース
5.1.2

RDBMS とは何かを理解する

5.1.3

テーブル、カラム、ロウ、フィールド、データ型の概念を理解

✔
✔

する。

5.2 データベース設計

5.1.4

SQL の役割を理解する

✔

5.1.5

カーソルの概念を理解する

✔

5.2.1

データベーススキーマの概念を理解
する

5.2.2

✔

✔

データベースのリレーションシッ
プを理解し、作成、削除、修正す✔

ることができる
5.2.3

ERDiagram とは何かを理解する

✔

5.2.4

デザイン ER-Diagrams

✔

5.2.5

論理と物理のマッピングを理解し、使用する5.2.6

主キーと外部キーの定義とその区別。 キーの設定、変更。

5.2.7

データベース設計の制約を理解し、定義する

5.2.8

✔

✔

✔

データ型を理解し、定義し、利用

✔

する
5.2.9

データベースの整合性を理解し、✔

評価し、適用する
5.2.105.3 SQL

データベースの正規化を理解し、評価し、適用する✔

5.3.1

SQL とは何かを理解する

✔

5.3.2

簡単な SELECT SQL クエリの作
成と実行

✔

5.3.3

INSERT SQL クエリの作成と実行

✔

5.3.4

DELETE SQL クエリの作成と実行

✔

5.3.5

SQL 演算子の一覧と使用

✔

5.3.6

Inner Join と Outer Join を理解し、使用する。

5.3.7

SQL 関数の理解、作成、実行

5.3.8

ネストした SQL クエリの作成と実

✔
✔
✔

行
5.3.9

SQL コマンド（DDL、DCL、
DML）の一覧と使用方法✔

✔

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0｜2022 年 1 月

23/ 35ページ

.
5.4 RDBMS

5.4.1

RDBMS のインストール

5.4.2

簡単なデータベーススキーマを作
成する

5.4.3

SQL クエリーを手動で実行する

5.4.4との間でデータのインポート/エク
スポートを行います。

✔
✔
✔

✔

✔

リレーショナル DBMS
5.4.5

トリガーの理解と使用、ストアド
プロシージャとデータベースビュ

✔

ーの作成
5.4.6

インデックスの作成

5.4.9

ロギングを理解し、使用すること

✔

ができる。

✔

リカバリーとトランザクションロ
グ
5.4.10

ジョブスケジューリングを理解✔

し、利用する5.4.11

データベースのバックアップを理✔

解し、利用する
5.5 アドバンスト

5.5.1

キーバリューストアのような No-

データベーストピック

SQL データベースの概念を理解す

ス

る。
5.5.2

✔

キューブの概念、ディメンジョ
ン、集計、フィルタリングを理解✔

する。
想定されるトレーニング時間

トピック

知識・スキルセット

参照

タスク項目

FSD_6

6.1 はじめに

6.1.1

動的 Web アプリケーション開発原

ウェブ

ウェブ開発

則の概要

24

16

FND

ADV

✔

アプリケーション
6.1.2

開発です。

クライアントサイドアプリケーショ
ンフレームワークの概要

MVC と
6.1.3

その他

MVC コンセプト(Model-ViewController)を理解する。 サーバサ

フレームワーク✔

✔

イド MVC フレームワークの概要
6.2 Web アプリケーショ
ンのサーバーサイドのコード（例：Servlet-JSP(Java ストリーム用) /6.2.1

簡単な動的ウェブページを作成する

6.2.2

フォームデータを読み取り、サーバ

ASP (C# ストリーム用)

6.2.3

ーサイドの検証を行う
し、動的な HTML コンテンツを表(JavaScript ストリーム

示する

ストリーム用) )

6.2.4

✔

実行時にクラスメソッドを呼び出/ Node.js と ExpressJS用) / Django (Python✔

制御フローの管理✔

✔

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0J｜2022 年 1 月

24/ 35ページ

.
6.2.5

データおよびデータベース接続の管
理

6.2.6

データベースの永続化レイヤー（例：Entity）を理解し、利用することができる。
フレームワーク、Hibernate。
Waterline、ActiveRecord✔

✔

ORM）、およびクエリインターフェース(例:LINQ)

6.3 REST
建築
6.4 サーバサイド MVC

6.2.7

セッション管理の理解と活用

✔

6.3.1

REST アーキテクチャの説明

✔

6.3.2

RESTful な Web サービスの開発

6.4.1

MVC の基礎と Configuration

フレームワーク（Javaは Spring、C#は
ASP.NET、JavaScript はSails、Python はDjango）✔
✔

Packaging を理解する。
6.4.2

モデルを理解し、使用する

✔

6.4.3

View を理解し、利用する

✔

6.4.4

Controller を理解し、使用する

✔

6.4.5

理解し、使用する✔

ウェブソケットとコンバーター
6.5 JavaScript (JS)

6.5.1

フレームワーク

6.5.2

一般的な JavaScript（JS）フレ
ームワークをリストアップします。 React、Angular など JS フ
レームワークの利点を挙げてください。
リアクトは時間をなくす✔

React / Angular を使ったレンダリ

✔

ング
6.5.3

React / Angular をリストアップし✔

て使用する
コンポーネント
6.5.4

React や Angular における Props✔

と State の違いについて
6.5.5

Imperative スタイルと Declarative✔

スタイルの比較
6.5.6

React / Angular を使ったフォーム

✔

の作成
6.5.7

React / Angular アプリケーション

✔

のテスト
6.5.8

React / を理解し、利用する✔

角型複合部品
6.5.9

理解し、使用する✔

React / Angular でのアニメーショ
ン
6.5.10

React / Angular のサーバーレンダ
リングについて説明します。

✔

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0｜2022 年 1 月

25/ 35ページ

.
想定されるトレーニング時間

トピック

知識・スキルセット

参照

タスク項目

FSD_7

7.1 テストサイクル

7.1.1

ソフトウェア

ソフトウェアテスト

テスト

ツール

テストサイクルの全フェーズを列挙
せよ。 要求分析。
テスト計画、テスト

24

32

FND

ADV

開発、テスト実行。

デバッギング✔

テストレポート、テスト結果
解析、不具合再試験。
回帰テスト、テスト
クロージング
7.1.2

オープンソース、フリー、商用ソ✔

フトウェアテストツールの説明と使用方法
7.2 種類

7.2.1

ソフトウェアテスト

静的ソフトウェアテストを理解し、

✔

利用する
7.2.2

動的ソフトウェアテストを理解し、

✔

利用する
7.2.3

ブラックボックステストについて理✔

解し、活用する
7.2.4

ホワイトボックスソフトウェアテ✔

ストを理解し、利用する
7.2.5

Visual（GUI）ソフトウェアテスト
を理解し、活用する。

7.3 テストレベルおよび

✔

7.3.1

ユニットテストの理解と活用

✔

7.3.2

コンポーネントテストの理解と活用

✔

7.3.3

統合テストを理解し、活用する

✔

7.3.4

システムテストの理解と活用

✔

7.3.5

受入テストの理解と活用

✔

7.3.6

アルファテストの理解と活用

✔

7.3.7

ベータテストについて理解し、活用

デバッギング
技術情報

✔

する
7.3.8

IDE デバッガを使用する想定されるトレーニング時間

トピック

知識・スキルセット

参照

タスク項目

FSD_8

8.1 デザイン プロセス

8.1.1

UX とデザイン思考を概説する。

UI/UX - ユーザ

8

FND

アクセシビリティ対応を含む✔

プロトタイプを理解する

✔

ビリティ
8.1.2

✔
16

ADV

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0J｜2022 年 1 月

26/ 35ページ

.
8.2 ラピッドプロトタイ

8.2.1

プ

ビジュアルデザインの基本を理解し、応用する8.2.2✔

ペーパープロトタイピングとユーザ
ビリティテストを理解し、活用す✔

る。
想定されるトレーニング時間

トピック

知識・スキルセット

参照

タスク項目

FSD_9

9.1 対人関係 スキル

9.1.1

開発者にとってのタイムマネジメン

デベロッパー

トの重要性を理解し、タイムマネジ

ソフトスキル・

メントツールや手法を活用する。

8

FND

-

ADV

✔

チームワーク
9.1.2

9.1.3

9.2 スクラム

開発者のためのプレゼンテーション
スキルの重要性を理解し、ベストな方法を適用する。
プレゼンテーション中の練習✔

開発者（同僚、管理職、上司、顧客など）に対するコミュニケーション能力の重要性を理解し、あらゆるタ
イプのコミュニケーションにおけるベストプラクティスを適用する。
ふりかえり学習。

✔

9.2.1

スクラム手法の基本を概説

✔

9.2.2

スクラムの役割一覧

✔

9.2.3

スクラムミーティングの仕組みを理

✔

解する
9.2.4

スクラムの理解・活用✔

人工物

9.3 IT サービスマネジメ

9.2.5

スケールスクラム

9.3.1

IT サービスマネジメントの概念をント(ITSM)

✔
✔

定義する
9.3.2

開発者にとっての IT サービスマネ
ジメントの重要性を理解し、IT サ
ービスマネジメントの手法と用具✔

想定されるトレーニング時間

816想定されるトレーニング時間の合計

212

216

課題・プロジェクトの配分時間案

1212

なお、Foundation タスクの全項目は、認定試験のアドバンスレベルにも含まれます。

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0｜2022 年 1 月

27/ 35ページ

.

7. テスト仕様
ファウンデーション試験は、以下の構成で 9 つのセクションから構成されます。
セクショ

商品説明

試験(%)

ン
FSD_1

ソフトウェア設計・開発

6.0%

FSD_2

プログラミング入門

5.0%

FSD_3

オブジェクト指向プログラミング

40.0%

FSD_4

ウェブデザインと開発の基礎（フロントエンド）

12.0%

FSD_5

(リレーショナル）データベース

26.0%

FSD_6

Web アプリケーション開発、MVC とその他のフレームワーク

8.0%

FSD_7

ソフトウェアテストとデバッグ

1.0%

FSD_8

UI/UX - ユーザビリティ

1.0%

FSD_9

デベロッパーのソフトスキルおよびチームワーク

1.0%

合計

100.0%

現在、ファウンデーション試験は 4 つのプログラミング言語で実施されています。Java、
JavaScript、Python、C#の 4 つのプログラミング言語で受験可能です。

上級試験は、以下の構成で 9 つのセクションから構成されます。
セクショ

商品説明

試験(%)

ン
FSD_1

ソフトウェア設計・開発

8.0%

FSD_2

プログラミング入門

3.0%

FSD_3

オブジェクト指向プログラミング

26.0%

FSD_4

ウェブデザインと開発の基礎（フロントエンド）

25.0%

FSD_5

(リレーショナル）データベース

12.0%

FSD_6

Web アプリケーション開発、MVC とその他のフレームワーク

12.0%

FSD_7

ソフトウェアテストとデバッグ

11.0%

FSD_8

UI/UX - ユーザビリティ

0.0%-1.0%

FSD_9

デベロッパーのソフトスキルおよびチームワーク

2.0%-3.0%

合計

100.0%

現在、上級試験は 4 つのプログラミング言語で実施されています。Java、JavaScript、Python、C#の 4 つのプログラミング言語で受験可能です。

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0J｜2022 年 1 月

28/ 35ページ

.

8. 推薦図書
1. Bloch, Joshua. Effective Java. Addison-Wesley Professional; 3 edition 2018.
2. Birrell, N.D., Ould, M.A. A Practical Handbook for Software Development. Cambridge, UK:
Cambridge University Press, 1985. (ISBN 0-521-25462-0).
3. Duckett, Jon. “HTML and CSS: Design and Build Websites”, New York, US: John Wiley &Sons, 2011. (ISBN: 978-1118008188).
4. Flannagan, David. “JavaScript: The Definitive Guide”, California: O’Reilly Media, Inc. (ISBN978-0596805524).
5. Frisbie, Matt. Professional JavaScript for Web Developers 4th Edition. Indianapolis, IN:
John Wiley and Sons, 2020. (ISBN 978-978-1119366447).
6. Gamma, Erich., Helm, Richard., Johnson, Ralph., Vlissides, John. Design Patterns CD:
Elements of Reusable Object-Oriented Software. Boston, MA: Addison-Wesley, 1998.
(ISBN 0-201-30952-1).
7. Fowler, Martin. Refactoring: Improving the Design of Existing Code. Second Edition.
AddisonWesley, Boston, MA, 2020.
8. Frisbie, Matt. Professional JavaScript for Web Developers 4th Edition. Indianapolis, IN:
John Wiley and Sons, 2020. (ISBN 978-978-1119366447).
9. Herman, David. Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript.
Addison-Wesley Professional; 2012.
10. Hunt, Andrew and Thomas Hunt. The Pragmatic Programmer: From Journeyman to Master.
Boston, MA: Addison-Wesley Professional, 1999. (ISBN 978-0201616224).
11. International Standard ISO/IEC 25010. Systems and Software Engineering -- Systems andsoftware Quality Requirements and Evaluation (SQuaRE) -- System and Software Quality
Models. First Edition, 2011-03-01.
12. Joost Visser, Building Maintainable Software: 10 guidelines for Future Proof Code, Java andC# editions, California: O’Reilly Media, Inc. 2016. (ISBN 978-1-491-94434-9).
13. Lutz, Mark. Learning Python, 5th Edition. California: O’Reilly Media, Inc. 2016. (ISBN 9781449-35573-9).
14. Martin, Robert C. Clean Code: A Handbook of Agile Software Craftsmanship. New Jersey,
NJ: Prentice Hall, 2008 (ISBN 978-0132350884).
15. Martin, Robert C. The Clean Coder: A Code of Conduct for Professional Programmers.
Prentice Hall; 2011.
16. McBreen, Pete. Software Craftsmanship: The New Imperative. Addison-Wesley, 2002. 17.
McConnell, Steve C. Code Complete: A Practical Handbook of Software Construction.
Microsoft Press, Redmond, WA, second edition, 2004.
18. Nixon, Richard. Learning PHP, MySQL & JavaScript with jQuery, CSS & HTML5), California,
US: O’Reilly Media, 2014. (ISBN: 978-1491918661).
19. Official Coding Bootcamp Courseware by PeopleCert.

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0｜2022 年 1 月

29/ 35ページ

.
20. Padolsey, James. Clean Code in JavaScript: Develop reliable, maintainable, and robust
JavaScript, Birmingham, UK: Packt Publishing, 2020. (ISBN: 978-1789957648).
21. Schildt, Herbert. Java: The Complete Reference. Tenth Edition, McGraw-Hill Education,2017. (ISBN: 978-125958331).
22. Schwaber,
Ken
&
Jeff
Sutherland,“SCRUM
Guide”,
http://www.scrumguides.org/docs/scrumguide/v2016/2016-ScrumGuidehttp://www.scrumguides.org/docs/scrumguide/v2016/2016-Scrum-Guide-US.pdf zoom=100US.pdf#zoom=100, 2016.
23. Sharp, John. Microsoft Visual C# Step by Step. 8th Edition – Developer Reference, Redmond,
WA, US: Microsoft Press, 2015. (ISBN: 978-1509301041).
24. Shaw, Zed. Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly
Beautiful World of Computers and Code (Zed Shaw's Hard Way Series). Boston, MA:
Addison-Wesley Professional; July 7, 2017. (ISBN 978-0134692883).
25. Shaw, Zed. Learn More Python 3 the Hard Way: The Next Step for New Python Programmers(Zed Shaw's Hard Way Series). Boston, MA: Addison-Wesley Professional; July 7, 2017.
(ISBN 978-0134123486).
26. Sommerville, Ian. Software Engineering. 6th Edition., Boston, MA: Addison Wesley, 2001.
(ISBN 0-201-39815-X).
27. Spinellis, Diomidis. Effective Debugging: 66 Specific Ways to Debug Software and Systems.
Addison-Wesley Professional, Boston, MA, 2016.
28. Thompson, Maurice J. Python: - The Bible- 3 Manuscripts in 1 book: Python Programmingfor Beginners - Python Programming for Intermediates - Python Programming for Advanced.
Independently published, April 28, 2018. (ISBN 978-1980953906).
29. Shaw, Zed. “Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly
Beautiful World of Computers and Code (Zed Shaw's Hard Way Series)”. Boston, MA:
Addison-Wesley Professional; July 7, 2017. (ISBN 978-0134692883).
30. Shaw, Zed. “Learn More Python 3 the Hard Way: The Next Step for New Python Programmers(Zed Shaw's Hard Way Series)”. Boston, MA: Addison-Wesley Professional; July 7, 2017.
(ISBN 978-0134123486).
31. TechRepublic.
“IT Professional's Guide to Project Management.”
TechRepublic, 1999-2001. (ISBN 1-931490-16-3 with CD-ROM).

Louisville, KY:

32. Thompson, Maurice J. “Python: - The Bible- 3 Manuscripts in 1 book: Python Programmingfor Beginners - Python Programming for Intermediates - Python Programming for Advanced“. Independently published, April 28, 2018. (ISBN 978-1980953906).

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0J｜2022 年 1 月

30/ 35ページ

.

9. 用語集
Term

Definition2

Abstraction

The process of extracting the most important or defining featuresfrom a problem or challenge.

Agile (Software
Development)

A set of values and principles for software development underwhich requirements and solutions evolve through the collaborative
effort of self-organizing cross-functional teams.

Algorithm

A precise description of a series of steps to attain a goal

Application

A program or integrated suite of programs that has a defined
functionArray

An ordered sequence of same-typed values whose elements arefast to access by their numerical index in the array.

BooleanA data type for yes or no, true or false values.

Class

A set of objects having the same behavior (but typically differingin state), or a template defining such a set, plus the functions
needed to manipulate the data

Code Review

Code review (sometimes referred to as peer review) is a software
quality assurance activity in which one or several people including
the authors of code, along with peer reviewers, and perhaps
quality assurance (QA) testers get together to review code.

Compiler

A computer program which transforms source code into object
code.

Computational
Thinking

The thought processes involved in formulating problems and theirsolutions so that the solutions are represented in a form that canbe effectively carried out by an information processing agent

Computing

The systematic study of algorithmic processes that describe andtransform information: their theory, analysis, design, efficiency,
implementation, and application.

Constant

An identifier that is bound to an invariant value.

Constructor

A class method (in object-oriented programming) that creates andinitializes each instance of an object.

Data typeA classification or category of various types of data that states thepossible values that can be taken, how they are stored, and what
range of operations are allowed on them.

Decomposition

Breaking a complex problem down into smaller, simpler, easier tounderstand problems.

DevOpsDevOps (compound of "development" and "operations") is a
software engineering practice that aims at unifying softwaredevelopment (Dev) and software operation (Ops).

Exception

An interruption in normal processing, especially as caused by anerror condition.

Flow chart

A schematic representation of the logic that defines the flow ofcontrol through a program

Formal Language

A strictly structured language, with exact and precise rules.

Function

A routine that receives zero or more arguments and may return aresult.

2
https://en.wiktionary.org/wiki/Appendix:Glossary_of_computer_programming
https://en.wikipedia.org/wiki2© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0｜2022 年 1 月

31/ 35ページ

.
Heap

An area of memory reserved for dynamically allocated data
objects, contrasted to the stack.

Identifier

A formal name used in source code to refer to a variable, function,
procedure, package, etc.

Input

A value from outside the computer that is needed for the
instructions to be followed.

Integer

A data type for integer values.

Interpreter

A program which executes another program written in a
programming language other than machine code.

Term

Definition2

Machine CodeA series of 1’s and 0’s created by the computer from the sourcecode that the computers electronic circuits can understand.
Creating machine code from source code is known as compiling orinterpreting the source code.

Maintainability

The degree of effectiveness and efficiency with which a product orsystem can be modified by the intended maintainers (ISO 25010,§4.2.7)

MethodIn object-oriented languages, a subroutine or function belonging toa class or object.

ModuleA program that is linked with others to form a functioning
application; one method of implementing a subroutine Agroup of units. In Java and C#: a top-level class.

NaturalLanguage

A natural language needs context to be clearly understood andavoid ambiguity.

ObjectAn instance of a class.

Object-Oriented(OO)

Using entities called objects that can process data and exchange
messages with other objects.

OutputA value calculated, or an action performed, by the computer
program, which is displayed to the world outside of it.

Parameter

A name in a function or subroutine definition that is replaced by, orbound to, the corresponding actual argument when the function or
subroutine is called.

Procedure

A subroutine or function coded to perform a specific task.

ProgramA software application, or a collection of software applications,designed to perform a specific task.

Prototype

The prototype is an object that is associated with every function
and object by default in JavaScript, where function's prototype
property is accessible and modifiable and object's prototype
property (aka attribute) is not visible.

Pseudocode

An informal way of representing an algorithm, using written
instructions in natural language, for example English.

Quality /Software Quality

In the context of software, “software quality” is defined in the ISO
25010 standard. It is an observable characteristic of source codeand design that has a specific value. An example is maintainability:code that is easy to maintain for developers can be consideredhigh quality. Quality can be assessed with e.g. software metrics.
Assuming that measurements are consistent and comparable,
then software quality can be monitored and managed.

Refactoring
TechniqueA technique or pattern to improve part of an existing codebase.

Scrum

Scrum is an iterative and incremental agile software development
framework for managing product development© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0J｜2022 年 1 月

32/ 35ページ

.
Source CodeHuman-readable instructions in a programming language, to betransformed into machine instructions by a compiler, interpreter,
assembler or other such system.

Stack

The portion of the computer memory used to keep track of called
procedures or call instructions.

StringA data type for a sequence of characters such as letters of English
alphabet.

Subclass

In object-oriented programming, an object class derived fromanother class (its superclass) from which it inherits a base set ofproperties and methods.

Superclass

A class that passes attributes and methods down the hierarchy tosubclasses.

Type

A tag attached to variables and values used in determining whatvalues may be assigned to what variables.

UI

User interface design (UI) or user interface engineering is thedesign of user interfaces for machines and software, such as

Term

Definition2
computers, home appliances, mobile devices, and other electronic
devices, with the focus on maximizing usability and the user
experience.

Unit Interface

The number of parameters of a unit of code (in Java and C#: thenumber of parameters of a method or constructor).

UX

User experience design (UX, UXD, UED or XD) is the process ofenhancing user satisfaction with a product by improving theusability, accessibility, and pleasure provided in the interaction
with the product.

Variable

A named memory location in which a program can store
intermediate results and from which it can read them.

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0｜2022 年 1 月

33/ 35ページ

.

このページは意図的に空白にしてあります。

© 2022 PeopleCert | 無断転載禁止
シラバス／ソフトウェア開発スキル｜バージョン 01.0J｜2022 年 1 月

34/ 35ページ

.