Home - Students - My Studies - Courses - A - Content

Agile Software Development


Computer science

Jianrong Wang



Course Name: Agile Software Development

Course Code:S2293232

Semester: 5

Credit: 2

Program: Computer science

Course Module: Optional

Responsible: Jianrong Wang

E-mail: wjr@tju.edu.cn

Department: Tianjin International Engineering Institute

Time Allocation(1 credit hour = 45 minutes)













Course Description

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.

Course Objectives

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.

Course Syllabus

  • 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.

Capability Tasks

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