Dive into the world of IoT system architecture with a course that doesn't just teach you the "how," but also the "why." Learn the art and science of building robust, scalable, and interoperable IoT systems. This five-week course takes you on a comprehensive journey from understanding the imperative of well-planned architecture to mastering the nuances of quality attributes and scenarios.
Why should you care? Because the business impact of your technical decisions can make or break your IoT project. The course kicks off by exploring the significance of a well-conceived architecture and the challenges that can thwart even the best-laid plans. By the end of week two, you won't just be a passive learner; you'll be writing your own requirements! And as you delve into weeks three and four, you'll gain invaluable skills in defining quality attributes tailored to specific cases. Wrap it all up in week five, where you'll translate theory into practice by applying your newfound knowledge to an Android framework.
Ready to architect the future? Click here to enroll and become the IoT architect every company needs.
Overview
Syllabus
- Getting to know Software Architecture
- This module will introduce you to the world of software architecture. We'll define what SA actually is, why it is important and talk about some of the challenges faced in modern Software Engineering. This course is also part of a Blended Master Programme in Internet of Things through Embedded Systems.
- Design process and software requirements
- Creating good software starts with a solid understanding of the requirements that will have an influence on the software. In this module, we will discuss both functional and non-functional requirements, such as quality attributes, business requirements and constraints.
- Quality Attributes
- Up till now, we have been talking about quality in an informal way. However, if you want to build systems that support the required qualities you will need a way to express those quality attributes and understand how you can achieve them. After this module you should be able to formulate your own quality requirements. We will also study 2 qualities that are especially relevant for Internet of Things: interoperability and modifiability.
- Tactics
- In the fourth week, we will explain how architectural tactics can help you create a software architecture that achieves the predefined requirements. This is what needs to be done in step three of the ADD - remember? We'll start of by learning about the difference between tactics and patterns. We will give some examples of tactics to achieve interoperability and modifiability. We will discuss the MVC pattern and its relation to the modifiability tactics. Lastly, we'll discuss how MVC is being used in Android.
- Patterns
- In this last week, we will explain how architectural patterns can help you create a software architecture that achieves the predefined requirements. Patterns are closely related to tactics, as we saw last week. First, we'll look at different types of patterns. Then, we'll learn how to combine tactics and patterns. We'll conclude this last week with a case study: DYAMAND's requirements and their architecture.
Taught by
Frank Gielen
Tags
Reviews
4.0 rating, based on 1 Class Central review
4.4 rating at Coursera based on 249 ratings
Showing Class Central Sort
-
Teaches the fundamentals of disciplined software architecture should be a key part of IoT developments. Wish the techniques taught here had been applied on projects I have worked on - would have saved millions.
I have been involved in software architecture informally for many years - wish I had these tools at my disposal, but ready for the the next time.
Some of the delivery a bit dry, but material strong enough to be worth staying the course.