About this 전문분야
16,773

100% 온라인 강좌

지금 바로 시작해 나만의 일정에 따라 학습을 진행하세요.

탄력적인 일정

유연한 마감을 설정하고 유지 관리합니다.

초급 단계

Basic Java programming knowledge (ability to read and write Java code and use object-oriented constructs in Java).

완료하는 데 약 4개월 필요

매주 5시간 권장

영어

자막: 영어

귀하가 습득할 기술

Software ArchitectureJavaSoftware Design PatternObject-Oriented Programming (OOP)

100% 온라인 강좌

지금 바로 시작해 나만의 일정에 따라 학습을 진행하세요.

탄력적인 일정

유연한 마감을 설정하고 유지 관리합니다.

초급 단계

Basic Java programming knowledge (ability to read and write Java code and use object-oriented constructs in Java).

완료하는 데 약 4개월 필요

매주 5시간 권장

영어

자막: 영어

How the 전문분야 Works

강좌 수강

Coursera 전문 분야는 기술을 완벽하게 습득하는 데 도움이 되는 일련의 강좌입니다. 시작하려면 전문 분야에 직접 등록하거나 강좌를 둘러보고 원하는 강좌를 선택하세요. 하나의 전문 분야에 속하는 강좌에 등록하면 해당 전문 분야 전체에 자동으로 등록됩니다. 단 하나의 강좌만 수료해도 됩니다. — 학습을 일시 중지하거나 언제든 구독을 종료할 수 있습니다. 학습자 대시보드를 방문하여 강좌 등록 상태와 진도를 추적해 보세요.

실습 프로젝트

모든 전문 분야에는 실습 프로젝트가 포함되어 있습니다. 전문 분야를 완료하고 수료증을 받으려면 프로젝트를 성공적으로 마쳐야 합니다. 전문 분야에 별도의 실습 프로젝트 강좌가 포함되어 있는 경우 각 강좌를 완료해야 프로젝트를 시작할 수 있습니다.

수료증 취득

모든 강좌를 마치고 실습 프로젝트를 완료하면 취업할 때나 전문가 네트워크에 진입할 때 제시할 수 있는 수료증을 취득할 수 있습니다.

how it works

이 전문분야에는 4개의 강좌가 있습니다.

강좌1

객체 지향 설계

4.7
(529개의 평가)
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). You will be challenged in the Capstone Project to apply your knowledge of object-oriented design by evolving and documenting the Java codebase for an Android application with corresponding UML documentation. After completing this course, you will be able to: • Apply the Class Responsibility Collaborator (CRC) technique to analyze and design the object-oriented model for a problem. • Explain and apply object-oriented modeling principles and their purpose (e.g., abstraction, encapsulation, decomposition, generalization). • Explain and apply different types of inheritance • Explain the difference between association, aggregation, and composition dependencies. • Express object-oriented models as Unified Modeling Language (UML) class diagrams. • Translate between UML class diagrams and equivalent Java code. • Apply design guidelines for modularity, separation of concerns, information hiding, and conceptual integrity to create a flexible, reusable, maintainable design. • Explain the tradeoff between cohesion and coupling....
강좌2

Design Patterns

4.7
(333개의 평가)
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. You will be challenged in the Capstone Project to redesign an existing Java-based Android application to implement a combination of design patterns. You will also critique a given Java codebase for code smells. After completing this course, you will be able to: • Demonstrate how to use design patterns to address user interface design issues. • Identify the most suitable design pattern to address a given application design problem. • Apply design principles (e.g., open-closed, dependency inversion, least knowledge). • Critique code by identifying and refactoring anti-patterns. • Apply the model-view-controller architectural pattern....
강좌3

소프트웨어 아키텍처

4.5
(173개의 평가)
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....
강좌4

서비스 지향 아키텍처

4.4
(135개의 평가)
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. In the Capstone Project you will connect a Java-based Android application with Elasticsearch, a web service with a REST application programmer interface (API). After completing this course, you will be able to: • Describe SOA (Service-Oriented Architecture) to structure web-based systems. • Explain WS* services (i.e., SOAP over HTTP, WSDL, UDDI, BPEL). • Apply REST architecture (i.e., JSON over HTTP, URI). • Identify REST design principles. • Create a system using REST interfaces. • Apply microservice architecture....

강사

Avatar

Kenny Wong

Associate Professor
Computing Science, Faculty of Science

앨버타 대학교 정보

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

자주 묻는 질문

  • 네! 시작하려면 관심 있는 강좌 카드를 클릭하여 등록합니다. 강좌를 등록하고 완료하면 공유할 수 있는 인증서를 얻거나 강좌를 청강하여 강좌 자료를 무료로 볼 수 있습니다. 전문 분야 과정에 있는 강좌에 등록하면, 전체 전문 분야에 등록하게 됩니다. 학습자 대시보드에서 진행 사항을 추적할 수 있습니다.

  • 이 강좌는 100% 온라인으로 진행되므로 강의실에 직접 참석할 필요가 없습니다. 웹 또는 모바일 장치를 통해 언제 어디서든 강의, 읽기 자료, 과제에 접근할 수 있습니다.

  • Each of the four courses in the Specialization are designed to be completed in 4 weeks; the entire Specialization can be completed in 16 weeks. On average there is one assignment per week for the first 8 weeks (occasionally a week without an assignment will be followed by a week with two assignments). The last 8 weeks average fewer than one assignment per week.

    Depending on capacity to complete assignments, we expect learners to finish any of the courses in 3 – 5 weeks.

  • Familiarity with object-oriented programming structures is essential. Basic Java programming knowledge is expected. Assignments and quizzes will require coding in Java. The capstone application will require you to use Android Studio, an integrated development environment.

  • If you are intending to complete the entire specialization, it is highly recommended to take the courses in order as material presented in early courses will be referred to in later courses. If you are interested in specific courses, each course can be taken as a standalone course, provided that you are familiar with the content of previous courses.

  • Software Design Architecture courses are not eligible for university credit.

  • You will be able to create better software applications and systems that are reusable, flexible, and maintainable, because your software will follow established design principles, patterns, and architectures. You will also be able to communicate to others your software designs and architectures through industry standard visual notations.

궁금한 점이 더 있으신가요? 학습자 도움말 센터를 방문해 보세요.