- Level Professional
- المدة 10 ساعات hours
- الطبع بواسطة University of Alberta
-
Offered by
عن
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.الوحدات
Architecture Overview and Process
1
Videos
- 3.1.1 – Architecture Overview and Process
5
Readings
- Meet Your Presenter – Sam Jeffery
- Meet Your Facilitators
- Software Architecture – Course Notes
- Software Architecture Glossary
- Discussion: Introduce Yourself
Communicating Architecture
5
Videos
- 3.1.2 – Kruchten's 4 + 1 Model View
- 3.1.3 – UML Component Diagram
- 3.1.4 – UML Package Diagram
- 3.1.5 – UML Deployment Diagram
- 3.1.6 – UML Activity Diagram
Assignments
2
Peer Review
- Capstone Assignment 3.1 – Draw a Component Diagram
- Capstone Assignment 3.2 – Draw a Deployment Diagram
3
Readings
- Peer Review Request Forum
- Capstone Assignment 3.1 - Draw a Component Diagram (Solution)
- Capstone Assignment 3.2 - Draw a Deployment Diagram (Solution)
Review
1
Assignment
- Module 1 Review
Language-based Systems
2
Videos
- 3.2.1 – Abstract Data Types and Object-Oriented
- 3.2.2 – Main Program and Subroutine
Repository-based Systems
1
Videos
- 3.2.3 – Databases
Layered Systems
2
Videos
- 3.2.4 – Layered Systems
- 3.2.5 – Client Server n-Tier
Interpreter-based Systems
1
Videos
- 3.2.6 – Interpreters
1
Readings
- State Transition Systems
Dataflow Systems
1
Videos
- 3.2.7 – Pipes and Filters
Implicit Invocation Systems
1
Videos
- 3.2.8 – Event Based
1
Readings
- Publish–Subscribe
Process Control Systems
1
Videos
- 3.2.9 – Process Control
Review
1
Assignment
- Module 2 Review
1
Readings
- Discussions: Architectural Styles
Architectural Trade-offs
2
Videos
- 3.3.1 – Quality Attributes
- 3.3.2 – Analyzing and Evaluating an Architecture
Product Architecture
2
Videos
- 3.3.3 – Relationship to Organizational Structure
- 3.3.4 – Product Lines and Product Families
Review
1
Assignment
- Module 3 Review
Assignment
1
Peer Review
- Capstone Assignment 3.3 – Analyze and Evaluate an Architecture
1
Readings
- Capstone Assignment 3.3 - Analyze and Evaluate an Architecture (Solution)
Course Review
1
Assignment
- Final Exam
3
Readings
- Discussion: Last Word – Software Architecture
- Acknowledgements
- Credits
Auto Summary
Discover the intricacies of software architecture with this comprehensive course by Coursera, led by expert instructors. Delve into architectural styles, UML representation, and the evaluation of software structures. Spanning 600 minutes, this professional-level course includes a Capstone Project focused on Java-based Android applications. Ideal for IT and Computer Science professionals, the course offers a starter subscription option.

Kenny Wong