Course Name: Agile Software Development
Program: Computer science
Course Module: Optional
Responsible: Jianrong Wang
Department: Tianjin International Engineering Institute
Time Allocation(1 credit hour = 45 minutes)
The course is optional designed for Engineering Mater of Computer Science in TIEI. This course mainly introduces how to use agile methods and why to choose them. By means of explaining object-oriented design principles and design pattern in detail, it makes students have a deep understanding of object-oriented design principles and design patterns. Combining with specific examples, this course also helps students understand more thorough how to select the most appropriate design patterns in the process of agile software development, and trains students how to use UML to show the train of design thought. This course is beneficial to the improvement of the students' ability of software development and train students the flexibility of thinking in the process of software development.
To grasp the procedure of software development and the basis of software development technology.
To be familiar with the database system, operating system, computer network programming and other knowledge.
To learn of UML technology and related knowledge.
This course discusses basic concepts of Agile Software Development to help students understand the Agile Software Development Technology better and enhance their professional skills. After this course, students should be able to:
Cultivate students' ability of agile development and keep the flexibility of software development,
Through a variety of practice activity about design principle and mode to regulate the software development behaviour and improve the ability of software design,
Cultivate students’ ability of selecting the most appropriate Design Pattern in the software development, and to
Through the practice to let students understand the object-oriented design principles and design patterns, and can display the train of design thought through UML.
The first part is agile software development, which mainly explains how to use and why use agile methods for software design.
The second part introduces the object-oriented design principles, covering the design of the package and the class.
The third part introduces the design patter through specific examples and focuses on how to use in the actual application and choose the most suitable design patterns.
The fourth part represents how to use UML to show the train of design thinking.
Textbooks & References
Kent J. McDonald.Beyond Requirements: Analysis with an Agile Mindset. 2015.
Robert C .Martin.Agile Software Development Principles, Patterns and Practices. 2003.
Ken Schwaber and Mike Beedle.Agile Software Development with SCRUM. 2001.
CT1: To have a deep and systematic understanding of agile software development.
CT3: To choose the most appropriate design patterns and principle to apply in the software development process.
CS2: To combine development ideas like the object-oriented and design patterns, and can display the train of design thought through UML.
To know about Agile Software Development and Extreme programming. - Level: N
To understand the plan, testing and refactoring in software development. - Level: A
To have a deep understanding of Single responsibility principle, Interface segregation principle and other Design Patterns, also can apply to practice. - Level: M
To be able to apply the ETS framework and other patterns to practice of software programming. - Level: M
To be able to show design ideas through UML. - Level: M
Students: Computer science,Year 3