Software Design and Architecture 专项课程
Mindful Strategies for Quality Software. Think like an expert architect and create quality software using design patterns and principles.
提供方
您将获得的技能
关于此 专项课程
应用的学习项目
The Capstone Project involves a Java-based Android application that you will evaluate and develop throughout the four courses of the Specialization. This application will evolve from a single user app that stores data locally to a multi-user app that stores data remotely. In each course you will be given a Java codebase as a starting point and will have to document and implement new features using your knowledge gained in the course.
Tutorials are provided to help you understand the starter codebase and learn the basics of Android development.
Prerequisites
You are expected to have basic Java programming knowledge. The capstone application will require you to use Android Studio, an integrated development environment. To learn more about Android Studio, please review the tutorials for Windows or Mac.
Basic Java programming knowledge (ability to read and write Java code and use object-oriented constructs in Java).
Basic Java programming knowledge (ability to read and write Java code and use object-oriented constructs in Java).
此专项课程包含 4 门课程
面向对象设计
This course takes Java beginners to the next level by covering object-oriented analysis and design. You will discover how to create modular, flexible, and reusable software, by applying object-oriented design principles and guidelines. And, you will be able to communicate these designs in a visual notation known as Unified Modelling Language (UML).
Design Patterns
This course extends object-oriented analysis and design by incorporating design patterns to create interactive applications. Through a survey of established design patterns, you will gain a foundation for more complex software applications. Finally, you will identify problematic software designs by referencing a catalog of code smells.
软件架构
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.
面向服务的体系结构
Based on an understanding of architectural styles, you will review architectures for web applications, then explore the basics of Service-Oriented Architecture (SOA) in two approaches: Web Services (WS*) and Representational State Transfer (REST) architecture.
提供方

阿尔伯塔大学
UAlberta is considered among the world’s leading public research- and teaching-intensive universities. As one of Canada’s top universities, we’re known for excellence across the humanities, sciences, creative arts, business, engineering and health sciences.
常见问题
完成专项课程后我会获得大学学分吗?
Can I just enroll in a single course?
我可以只注册一门课程吗?
Can I take the course for free?
我可以免费学习课程吗?
此课程是 100% 在线学习吗?是否需要现场参加课程?
完成专项课程需要多长时间?
Do I need to take the courses in a specific order?
Will I earn university credit for completing the Specialization?
完成专项课程后我会获得大学学分吗?
还有其他问题吗?请访问 学生帮助中心。