Software Architecture for the Internet of Things
Offered By: EIT Digital via Coursera
Course Description
Overview
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.
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
Related Courses
AWS SaaS Factory Architecture Track: SaaS Migration Strategies (Korean)Amazon Web Services via AWS Skill Builder The Caltech-JPL Summer School on Big Data Analytics
California Institute of Technology via Coursera Building Microservice Platforms with TARS
Linux Foundation via edX Teletrabajo: claves para trabajar desde casa
Domestika Engineering Practices for Building Quality Software
University of Minnesota via Coursera