Software Engineering
TeachersMIZUTANI, Kozo
Grade, SemesterYear 3 2nd semest [Department of Information and Electronic Engineering, Faculty of Science and Engineering]
CategorySpecial Subjects
Elective, CreditsElective 2credit
 Syllabus Number3C331

Course Description

Software Engineering is defined as the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software(*). In the course of "Software Technologies for Information Systems Development", we learned overall outline of information system development. In "System Design", we learned design techniques for information systems. And also, in "Project Management", we learned methods to manage systematically for executing a project of information system development. We can say as this course is to treat the knowledge of learned contents of these courses with engineering approach. In this course, we learn the basis of engineering approach technique to software development.

(*)ISO/IEC/IEEE Systems and Software Engineering Vocabulary.

Students acquire skills related to the diplomatic policy, DP4C.

Course Objectives

The learners will be able to understand the technique of engineering approach for requirement definition, design, implementation, and testing on software development, and work on these tasks practically using tools and so on.

Grading Policy

The students will be evaluated at the following rate: reports (including self check tests on LMS) are 50% and a term-end examination is 50%. Learners who received evaluation over the total 60% will pass this course. If you add original ideas to reports or makes the its content enrich more, additional scores will be given.

Textbook and Reference

KindTitleAuthorPublisher
TextbookITテキスト ソフトウェア工学
平山雅之、鵜林尚靖オーム社、ISBN:978-4-274-21988-7
References

Requirements(Assignments)

The process of information system development relates to the contents of each course which you learned in this department. Especially, learners are required to review the contents of following courses : Programming, Foundations of Information Technology, Information Theory, Programming Language Theory, Data Structure and Algorithms, Database Systems, Software Technologies for Information Systems Development, Information System Design, and Project Management.

Note

This course is a required course, and relates to the mid term 5–2 of learning attainment targets for the JABEE program.

Schedule

1Overview of Software Engineering, SWEBOK
2Requirements, Test Plans
3Design Techniques 1 (Methodologies)
4Design Techniques 2 (Modularization)
5Design Techniques 3 (Logging Design and Implementation)
6Coding Techniques 1 (Coding Styles, Refactoring)
7Coding Techniques 2 (Design Patterns, Antipatterns)
8Practice for Refactoring
9Test Techniques 1 (Unit Test)
10Exercise for Software Testing 1 (Methods to improve coverage)
11Test Techniques 2 (Functional Test, System Test)
12Test Techniques 3 (Test Automation)
13Exercise for Software Testing 2 (Test automation using WebDriver)
14Deployment, System Operation, DevOps
15Term End Examination, Summary