• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Software Architecture for the Internet of Things

2019/2020
Учебный год
ENG
Обучение ведется на английском языке
4
Кредиты
Статус:
Курс по выбору
Когда читается:
1-й курс, 3 модуль

Преподаватель

Course Syllabus

Abstract

You'll learn all about software architecture in the next 5 weeks! In the first week, you'll discover why having a well-designed architecture is important and which challenges you might come across while developing your architecture. By the end of the second week, you'll already be able to write your own requirements! In the third and fourth week, you will learn how to cor-rectly write quality attributes and quality attribute scenarios for a specific case. In the last week, you'll learn to describe your own patterns and tactics and see how they're used in an Android framework. https://www.coursera.org/learn/iot-software-architecture
Learning Objectives

Learning Objectives

  • This course will teach you how to design futureproof systems that meet the requirements of IoT systems: systems that are secure, interoperable, modifiable and scalable. Moreover, you'll learn to apply best-in-class software architecture methods to help you design complex IoT and other applications. Lastly, you'll come to understand the business impact of the technical deci-sions that you make as an IoT system architect.
Expected Learning Outcomes

Expected Learning Outcomes

  • • Welcome to Software Architecture for IoT • Challenges in Modern Software Engineering • What is Software Architecture? • Why is software architecture important? • The role of the software architect • Recap: UML • How to navigate through this course • Learning objectives per week • Want more software architecture? • Software Architecture in practice. • How business goals drive architectural design
  • • EV charging at a private charging pole • The Software Architecture Design Process • Software requirements • Documenting Requirements • What is the ADD process? • Software Architecture in the Development Process8мин • Introduction Share & Charge • Automatic Recharging of Electric Vehicles (EV) • ADD paper • Enabling agility through architecture • Optional: ADD applied example • Software architecture in practice. • Basics of Blockchain • Value Delivery Architecture Modeling
  • • What are quality attributes? • The nature of quality attributes • What are QAS? • QA - Interoperability • QA - Modifiability
  • • What are tactics? How do they differ from patterns? • Tactic: Interoperability • Tactic - Modifiability • Introduction to DYAMAND • Problems and solutions • Introduction to Tactics and Patterns • Modifiability - tactics and patterns pt.
Course Contents

Course Contents

  • Module 1: 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 Soft-ware Engineering. This course is also part of a Blended Master Programme in Internet of Things through Embedded Systems.
  • Module 2: 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.
  • Module 3: 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 rele-vant for Internet of Things: interoperability and modifiability.
  • Module 4: 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.
Assessment Elements

Assessment Elements

  • non-blocking Курс онлайн
  • non-blocking Экзамен
    Экзамен проводится в устной форме (опрос по материалам курса). Экзамен проводится на платформе Jitsi (http://meet.miem.hse.ru/). К экзамену необходимо подключиться согласно расписанию ответов, высланному преподавателем на корпоративные почты студентов накануне экзамена. Компьютер студента должен удовлетворять требованиям: наличие рабочей камеры и микрофона, поддержка Jitsi. Для участия в экзамене студент обязан: поставить на аватар свою фотографию, явиться на экзамен согласно точному расписанию, при ответе включить камеру и микрофон. Во время экзамена студентам запрещено: выключать камеру, пользоваться конспектами и подсказками. Кратковременным нарушением связи во время экзамена считается нарушение связи менее минуты. Долговременным нарушением связи во время экзамена считается нарушение минута и более. При долговременном нарушении связи студент не может продолжить участие в экзамене. Процедура пересдачи подразумевает использование усложненных заданий. В ходе освоения дисциплины формируются следующие компетенции: УК-1, УК-6, УК-7, УК-8, ОПК-3, ПК-21
Interim Assessment

Interim Assessment

  • Interim assessment (3 module)
    0.5 * Курс онлайн + 0.5 * Экзамен
Bibliography

Bibliography

Recommended Core Bibliography

  • Arduino и Raspberry Pi в проектах Internet of Things, Петин, В. А., 2017
  • Mendez, D. M., Papapanagiotou, I., & Yang, B. (2017). Internet of Things: Survey on Security and Privacy. https://doi.org/10.1080/19393555.2018.1458258
  • Основы инженерии программного обеспечения, Гецци, К., 2005

Recommended Additional Bibliography

  • Javed, A. (2016). Building Arduino Projects for the Internet of Things : Experiments with Real-World Applications. [United State]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1228798
  • Архитектура программного обеспечения на практике, Басс, Л., 2006
  • Интернет вещей. Исследования и область применения : монография / Е.П. Зараменских, И.Е. Артемьев. — М. : ИНФРА-М, 2017. — 188 с. — (Научная мысль). — www.dx.doi.org/10.12737/13342. - Режим доступа: http://znanium.com/catalog/product/792679
  • С.Грингард - Интернет вещей: Будущее уже здесь - Альпина Паблишер - 2016 - ISBN: 9785961443066 - Текст электронный - URL: https://hse.alpinadigital.ru/book/8927