Course title
L00310003
Software Engineering

NAKAMARU Tomoki
Middle-level Diploma Policy (mDP)
Program / Major mDP Goals Courses
Fundamental Mechanical Engineering F 産業界や社会の要請を把握して解決するべき課題を設定し、さまざまな工学分野の知識を関連付けながら設計生産技術を活用することで、立案した構想に従って研究を進め課題を解決することができる。 Sub
Advanced Mechanical Engineering F 産業界や社会の要請を把握して解決するべき課題を設定し、機械工学の学理を応用して異分野を含む融合分野で革新的な機能を創成することができる。 Sub
Environment and Materials Engineering B 地球環境や地域社会との調和を見据えて、さまざまな工学分野に関わる問題を解決することができる。 Sub
Chemistry and Biotechnology B 地球環境や地域社会との調和を見据えて、さまざまな工学分野に関わる問題を解決することができる。 Sub
Electrical Engineering and Robotics D 電気工学や関連する工学の技術分野を課題に適用し、社会の要求を解決するために応用することができる。 Sub
Advanced Electronic Engineering E 専門的デザイン課題について解決する能力を身に付けることができる。 Sub
Information and Communications Engineering F 社会のニーズに対して技術課題を主体的に発見し、工学分野における分野横断的な知識も活用しつつ、計画的・継続的に取り組んで課題を達成することができる。 Sub
Computer Science and Engineering B-2 コンピュータサイエンスの各分野の基礎知識とその応用能力を身に付けることができる。 Main
Urban Infrastructure and Environment G ⼟⽊⼯学における現実の問題について、⼯学・専⾨基礎知識を⽤いて理解・解決することができる。 Sub
Purpose of class
1. Understand the fundamental knowledge and techniques essential for software development.
2. Understand the fundamental knowledge and techniques required to conduct software engineering research at an international standard.
3. Acquire the knowledge necessary to appropriately discuss the claim that software developers may become obsolete.
Course description
With advances in AI technology, it is sometimes argued that software developers may disappear in the near future. But is this really the case? To examine this question, it is first necessary to accurately understand what is currently done in software development and how software development has progressed over time. This course covers the fundamental knowledge and techniques of software engineering from five perspectives: definition, design, implementation, verification, and planning. It also introduces students to the frontiers of software engineering research.
Goals and objectives
  1. Understand the processes and methods involved in requirements definition, and understand what makes a good specification.
  2. Understand the processes and methods involved in software design, and understand what makes a good design.
  3. Understand the processes and methods involved in software implementation, and understand what makes a good implementation.
  4. Gain a systematic understanding of the basic terminology and techniques used in software verification.
  5. Gain a systematic understanding of the basic terminology and techniques used in development planning.
Relationship between 'Goals and Objectives' and 'Course Outcomes'

Assignments Final Examination Total.
1. 10% 10% 20%
2. 10% 10% 20%
3. 10% 10% 20%
4. 10% 10% 20%
5. 10% 10% 20%
Total. 50% 50% -
Evaluation method and criteria
Students will be evaluated based on assignments (50 points) and a final examination (50 points). A minimum score of 60 points is required to pass. Students who can correctly select appropriate explanations of the knowledge and techniques covered in the lectures will be able to earn a total of 60 points.
Language
Japanese
Class schedule

Class schedule HW assignments (Including preparation and review of the class.) Amount of Time Required
1. Course overview (software engineering fundamentals, an overview of software development, course administration, etc.) Review the lecture content. 120minutes
2. Requirements Engineering — What is involved and how is it carried out? (requirements analysis, specification description, modeling, etc.) Review the lecture content. 120minutes
3. Requirements Engineering — What makes a good specification? (quality attributes, validation, formal methods, etc.) Review the lecture content. 120minutes
Complete the assignments. 120minutes
4. Software Design — What does it involve and how is it carried out? (design levels, abstraction, etc.) Review the lecture content. 120minutes
5. Software Design — What makes a good design? (design principles, design patterns, etc.) Review the lecture content. 120minutes
Complete the assignments. 120minutes
6. Software Implementation — What does it involve and how is it carried out? (integrated development environments, AI agents, licensing, etc.) Review the lecture content. 120minutes
7. Software Implementation — What makes a good implementation? (code clones, readability, coding conventions, etc.) Review the lecture content. 120minutes
Complete the assignments. 120minutes
8. Software Verification — Dynamic Verification (unit/integration testing, test strategies, fuzzing, etc.) Review the lecture content. 120minutes
9. Software Verification — Static Verification (model checking, SPIN, VDM, etc.) Review the lecture content. 120minutes
Complete the assignments. 120minutes
10. Software Development Planning — How should it be carried out? (process models, progress management, etc.) Review the lecture content. 120minutes
11. Software Development Planning — Coping with Change (maintenance and operation, change management, etc.) Review the lecture content. 120minutes
Complete the assignments. 120minutes
12. Frontiers of Software Engineering Research Review the lecture content. 120minutes
13. Course Review Review the lecture content. 120minutes
14. Final Examination and Review Review the entire course content and prepare for the examination. 600minutes
Total. - - 2760minutes
Feedback on exams, assignments, etc.
ways of feedback specific contents about "Other"
Feedback in the class
Textbooks and reference materials
Classes and assessment will be conducted on the basis of the handouts distributed in class. Students are not required to purchase the reference books listed below.

1. 『ソフトウェア工学の基礎 改訂新版』玉井哲雄(岩波書店)
2. 『Software Engineering, 10th Edition』Ian Sommerville(Pearson 社)
3. 『Software Engineering: A Practitioner’s Approach, 9th Edition』Roger S. Pressman & Bruce R. Maxim(McGraw Hill 社)
4. 『IT Text ソフトウェア開発(改訂第2版)』小泉他(オーム社)
Prerequisites
Students are desired to be taking Advanced Exercise on Computer and Information Science1B.
Office hours and How to contact professors for questions
  • Will be provided as needed.
Regionally-oriented
Non-regionally-oriented course
Development of social and professional independence
  • Course that cultivates an ability for utilizing knowledge
  • Course that cultivates a basic self-management skills
Active-learning course
More than one class is interactive
Course by professor with work experience
Work experience Work experience and relevance to the course content if applicable
Applicable Drawing on the instructor’s experience in a wide range of software development projects in industry, from requirements specification through implementation and verification, this course covers software development as broadly as possible.
Education related SDGs:the Sustainable Development Goals
  • 4.QUALITY EDUCATION
  • 9.INDUSTRY, INNOVATION AND INFRASTRUCTURE
  • 12.RESPONSIBLE CONSUMPTION & PRODUCTION
Last modified : Thu Apr 02 04:04:01 JST 2026