The way that software components — subroutines, classes, functions, etc. — are arranged, and the interactions between them, is called architecture. In this course you will study the ways these architectures are represented, both in UML and other visual tools. We will introduce the most common architectures, their qualities, and tradeoffs. We will talk about how architectures are evaluated, what makes a good architecture, and an architecture can be improved. We'll also talk about how the architecture touches on the process of software development.
In the Capstone Project you will document a Java-based Android application with UML diagrams and analyze evaluate the application’s architecture using the Architecture Tradeoff Analysis Method (ATAM).
After completing this course, you will be able to:
• Compare and contrast the components, connections, protocols, topologies, constraints, tradeoffs, and variations of different types of architectural styles used in the design of applications and systems (e.g., main program and subroutine, object-oriented, interpreters, pipes and filters, database centric, event-based).
• Describe the properties of layered and n-tier architectures.
• Create UML ipackage, component, and deployment diagrams to express the architectural structure of a system.
• Explain the behaviour of a system using UML activity diagrams.
• Document a multi-application system with a layered architecture.
WEEK 1
6 hours to complete
UML Architecture Diagrams
In this module you will learn about software architecture. You will learn why architecture is important what perspectives need to be considered and how to communicate architecture using UML.
6 videos (Total 42 min) 8 readings 3 quizzes
WEEK 2
2 hours to complete
Architectural Styles
Software comes in all shapes and sizes. The architecture you choose will affect every part of your software from its security and efficiency to its modularity and maintainability. In this module we will examine the different architectures that you have to choose from to shape your software.
9 videos (Total 64 min) 3 readings 1 quiz
WEEK 3
1 hour to complete
Architecture in Practice
The architecture is the most fundamental aspect of software. You will learn how development teams describe architectures plan successful architectures based on quality attributes and evaluate the resulting architecture. You will also learn how architecture relates to organization structure and even product planning!
4 videos (Total 43 min)
WEEK 4
4 hours to complete
Capstone Challenge
Now in the final module of the course you will evaluate the proposed architecture to extend the functionality of the example Android code base.
4 readings
Tham gia đánh giá khóa học
Nếu bạn đã học qua khóa học này thì mời bạn tham gia đóng góp ý kiến và đánh giá để cộng đồng bạn học có thêm thông tin tham khảo.
Cung cấp bởi: Coursera / University of Alberta
Thời lượng: 13 giờ
Ngôn ngữ giảng dạy: Tiếng Anh
Chi phí: Miễn phí / 0
Đối tượng: Intermediate
Thông tin về nhà cung cấp
Coursera (/ kərˈsɛrə /) là một nền tảng học tập trực tuyến toàn cầu được thành lập vào năm 2012 bởi 2 giáo sư khoa học máy tính của đại học Stanford là Andrew Ng và Daphne Koller, nền tảng này cung cấp các khóa học trực tuyến (MOOC) cho cộng đồng người học online.
Coursera hợp tác với các trường đại học danh tiếng tại Bắc Mỹ và trên khắp thế giới, cùng với nhiều tổ chức khác để cung cấp các khóa học trực tuyến chất lượng, theo chuyên ngành và được cấp chứng chỉ trong nhiều lĩnh vực như kỹ thuật, khoa học dữ liệu, học máy, toán học, kinh doanh, khoa học máy tính, tiếp thị kỹ thuật số, nhân văn, y học, sinh học, khoa học xã hội , và nhiều ngành khác.