大学院-筆記試験練習:数据库(データベース問題訓練) と 软件工程(ソフトウェア)(1)
- 1-前言
- 2-数据库データベース
-
- 問題1(データベース:正規化)
- 問題2(SQL:集約・副問い合わせ)
- 問題3(アルゴリズム:探索)
- 問題4(データ構造:B木)
-
- [🔍 出题说明](#🔍 出题说明)
- 3-数据库データベース-答案解析
-
- [問題1(3NF 分解)](#問題1(3NF 分解))
- 問題2(SQL:平均点より高い科目)
- 問題3(探索)
- 問題4(B木:次数2)
-
- [(1) 分割が起きるタイミング](#(1) 分割が起きるタイミング)
- [(2) 最終B木(箱・●ポインタ形式)](#(2) 最終B木(箱・●ポインタ形式))
- 4-软件工程(ソフトウェア)
- 5-软件工程(ソフトウェア)答案解析
-
- 【問題1】(修改版)
- 【問題2】(修改版)
- 【問題3】(修改版)
- 【問題4】(修改版)
- 总评(非常重要)
-
- [✅ 内容理解:**合格以上**](#✅ 内容理解:合格以上)
- [⚠️ 当前扣分点:](#⚠️ 当前扣分点:)
- 6-总结
1-前言
为了考上大学院,做了日语版本练习,边学边看边记录

2-数据库データベース
問題1(データベース:正規化)
次の関係 R(学生番号, 学生名, 学科番号, 学科名, 教員名) がある。
この関係には以下の関数従属が成り立つ。
- 学生番号 → 学生名, 学科番号
- 学科番号 → 学科名, 教員名
この関係 R を 第3正規形 に分解せよ。
ただし、各関係について 主キーを明示 すること。
問題2(SQL:集約・副問い合わせ)
次の表 成績(学生番号, 科目名, 点数) に対して、以下の問いに答えよ。
各学生について、その学生の 平均点より高い点数を取った科目 の
「学生番号、科目名、点数」を求める SQL 文を書け。
問題3(アルゴリズム:探索)
次のグラフ探索アルゴリズムに関する記述のうち、最も適切なものを一つ選べ。
a. 深さ優先探索は、必ず最短経路を発見できる
b. 幅優先探索は、スタック構造を用いて探索を行う
c. 幅優先探索は、辺の重みがすべて等しい場合に最短経路を保証する
d. 深さ優先探索は、探索空間が有限であっても停止しないことがある
問題4(データ構造:B木)
次数 2 の B 木に、次のキーを この順で 挿入する。
18 → 7 → 25 → 30 → 10
- 挿入途中で ノード分割が発生するタイミング をすべて答えよ。
- すべて挿入後の B 木を、箱・●ポインタ形式 で描け。
🔍 出题说明
- 問題1:数据库必考的「函数従属 → 3NF 分解」
- 問題2 :相关子查询(
GROUP BY + 子查询) - 問題3:DFS / BFS 概念理解题(非常高频)
- 問題4 :刚才做的 B木题完全同一系(必画图)
3-数据库データベース-答案解析
問題1(3NF 分解)
你写的:
- (学生番号、学生名)
- (学科番号、学科名)
✅ 你抓到了一半 ,但还少了一张表/字段:因为题目里还有
学科番号 → 教員名 这个依赖。
所以 3NF 正确分解应是:
- 学生 ( 学生番号, 学生名, 学科番号 )
- 学科 ( 学科番号, 学科名, 教員名 )
你把"学生-学科番号"的连接字段漏掉了,也漏了"教員名"。
問題2(SQL:平均点より高い科目)
你写的 SQL 里有两个问题:
- 用了不存在的字段
AGE - 子查询写成了 "点数 < (SELECT 点数 FROM 成績)" 这种会返回多行、逻辑也不对
题目要的是:每个学生中,点数 > 自己平均点 的科目
✅ 正确 SQL(相关子查询):
sql
SELECT 学生番号, 科目名, 点数
FROM 成績 s
WHERE 点数 > (
SELECT AVG(点数)
FROM 成績
WHERE 学生番号 = s.学生番号
);
問題3(探索)
你选 C ✅ 正确。
問題4(B木:次数2)
次数2:1ノードに入るキー最大2個(3個入ったら分割)
插入顺序:18 → 7 → 25 → 30 → 10
(1) 分割が起きるタイミング
- 18:根
[18](OK) - 7:根
[7,18](OK) - 25:根
[7,18,25](3个了)➡️ ここで分割発生 - 30:右葉
[25,30](OK) - 10:左葉
[7,10](OK)
✅ 所以分割只发生一次:25 を挿入したとき。
(2) 最終B木(箱・●ポインタ形式)
最终结构是:
- 根:
[18] - 左子(葉):
[7,10] - 右子(葉):
[25,30]
按你要的"箱・●ポインタ形式"画出来:
┌───┬────┬───┬────┬───┐
│ ● │ 18 │ ● │ │ ● │
└─┬─┴────┴─┬─┴────┴─┘
│ │
┌──────┘ └──────┐
│ │
┌───┬────┬───┬────┬───┐ ┌───┬────┬───┬────┬───┐
│ ● │ 7 │ ● │ 10 │ ● │ │ ● │ 25 │ ● │ 30 │ ● │
└───┴────┴───┴────┴───┘ └───┴────┴───┴────┴───┘
4-软件工程(ソフトウェア)
ソフトウェア工学(模擬問題・第2セット)
【問1】
ソフトウェア開発において、要求定義が不十分なまま設計・実装を進めた場合に生じうる問題について、1 つ述べよ。
【問2】
ウォーターフォールモデルと比較した場合の、アジャイル開発の特徴を 1 つ挙げ、その理由を簡潔に説明せよ。
【問3】
ソフトウェアの保守作業を「修正保守」「適応保守」「改善保守」に分類する目的について述べよ。
【問4】
ソフトウェアテストにおいて、テストケースを体系的に設計することが重要である理由を述べよ。
使用说明(给你的小提示,不是答案)
- 每题 3~5 行
- 用「〜である。なぜなら〜からである。」
- 不要写代码、不画图
- 偏重工程视角、概念清晰
5-软件工程(ソフトウェア)答案解析
問題1:要求者は自分の理解と専門の能力がありますが、開発者と理解と専門の能力が違いです、その時は要求が曖昧の時、開発者は本当に理解ができない、実装を進めた場合に発生します。
問題2:ウォーターフォールは開始から最後まで、要求は変動ができありません、アジャイルは変更ができます。大きな問題が見つけると、すぐに調整します。
問題3:
修正保守(ほしゅ)は問題点がある時、修正するために分類する目的です
適応保守は使用の過程を調整する時、適応するために分類する目的です
改善保守は将来がある時、改善するために分類目的です。
問題4:
開発者は開発の過程をする時、まず、色々な機能を作りました、でも、これは開発者の角度です、本当に問題があるかどうか、お客さんはよく意外の操作するがあります、そのため、テストケースを体系(たいけい)てきに設計することが重要である。
【問題1】(修改版)
修正版(推荐写法)
要求者と開発者では、それぞれ理解している内容や専門分野が異なる。そのため、要求が曖昧なままの場合、開発者が要求を正しく理解できず、誤った実装を進めてしまう可能性がある。
【点评】
- ❌「理解と専門の能力が違いです」→ 日语里不这么说
- ✅ 改成 「理解している内容や専門分野が異なる」(标准工程表达)
- ✅ 用「そのため」「可能性がある」=考试最安全句型
【問題2】(修改版)
修正版(推荐写法)
ウォーターフォールモデルでは、開発開始時に要求を確定し、その後の変更は原則として想定されていない。一方、アジャイル開発では、開発途中での要求変更に柔軟に対応できるという特徴がある。そのため、大きな問題が発見された場合でも、迅速に調整を行うことができる。
【点评】
- ❌「要求は変動ができありません」是中文直译
- ✅ 用 「変更は想定されていない」「柔軟に対応できる」
- ✅ 最后一行「そのため〜できる」=加分结构
【問題3】(修改版)
修正版(推荐写法)
修正保守は、ソフトウェアに存在する不具合や問題点を修正することを目的として分類されている。
適応保守は、利用環境や運用条件の変化に対応するために行われる保守である。
改善保守は、将来的な利用を見据え、性能や使いやすさを向上させることを目的として行われる。
【点评】
- ❌「将来がある時」不自然
- ✅ 用 「将来的な利用を見据え」(非常加分)
- ✅ 每句都用「〜を目的として」=标准教科书体
【問題4】(修改版)
修正版(推荐写法)
開発者は自身の視点で機能を実装するが、実際の利用者は想定外の操作を行うことがある。そのため、ソフトウェアに潜在する問題を効率的に発見するためには、テストケースを体系的に設計することが重要である。
【点评】
- ❌ 原句太口语、太长
- ✅ 分成 「开发者视角 vs 利用者视角」
总评(非常重要)
✅ 内容理解:合格以上
你完全答在点上,没有跑题。
⚠️ 当前扣分点:
- 助词
- 书面表达
- 考试常用结构没用满
6-总结
用日语的方式来直接训练,我认为是提示能力的好办法吧,希望从今天开始,每天坚持到考试那天,一直训练。