Software Engineering

MIZUTANI, Kozo
  Elective  2 credits
【Information and Electronic Engineering・2nd semester】
19-1-1754-2567

1.
Outline
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.
2.
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.
3.
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.

4.
Textbook and Reference
平山雅之、鵜林尚靖、ITテキスト ソフトウェア工学、オーム社、ISBN:978-4-274-21988-7
5.
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.
6.
Note
This course is a required course, and relates to the mid term 5–2 of learning attainment targets for the JABEE program.
7.
Schedule
1. Overview of Software Engineering, SWEBOK
2. Requirements, Test Plans
3. Design Techniques 1 (Methodologies)
4. Design Techniques 2 (Modularization)
5. Design Techniques 3 (Logging Design and Implementation)
6. Coding Techniques 1 (Coding Styles, Refactoring)
7. Coding Techniques 2 (Design Patterns, Antipatterns)
8. Practice for Refactoring
9. Test Techniques 1 (Unit Test)
10. Exercise for Software Testing 1 (Methods to improve coverage)
11. Test Techniques 2 (Functional Test, System Test)
12. Test Techniques 3 (Test Automation)
13. Exercise for Software Testing 2 (Test automation using WebDriver)
14. Deployment, System Operation, DevOps
15. Term End Examination, Summary
1.
Outline
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.
2.
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.
3.
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.

4.
Textbook and Reference
平山雅之、鵜林尚靖、ITテキスト ソフトウェア工学、オーム社、ISBN:978-4-274-21988-7
5.
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.
6.
Note
This course is a required course, and relates to the mid term 5–2 of learning attainment targets for the JABEE program.
7.
Schedule
1. Overview of Software Engineering, SWEBOK
2. Requirements, Test Plans
3. Design Techniques 1 (Methodologies)
4. Design Techniques 2 (Modularization)
5. Design Techniques 3 (Logging Design and Implementation)
6. Coding Techniques 1 (Coding Styles, Refactoring)
7. Coding Techniques 2 (Design Patterns, Antipatterns)
8. Practice for Refactoring
9. Test Techniques 1 (Unit Test)
10. Exercise for Software Testing 1 (Methods to improve coverage)
11. Test Techniques 2 (Functional Test, System Test)
12. Test Techniques 3 (Test Automation)
13. Exercise for Software Testing 2 (Test automation using WebDriver)
14. Deployment, System Operation, DevOps
15. Term End Examination, Summary