This course addresses the knowledge that is needed in order to build applications based on blockchain technology, by offering an architectural view of software systems that make beneficial use of it. It provides guidance on assessing the suitability of blockchain, on the roles blockchain can play in an architecture, on designing blockchain applications, and on assessing different architecture designs and tradeoffs. It also serves as a reference on blockchain design patterns and design analysis and refers to practical examples of blockchain-based applications.
The course covers the following
a general introduction to the topic and to existing blockchain platforms including Bitcoin, Ethereum, and Hyperledger Fabric, and offers examples of blockchain-based applications.
the functional aspects of software architecture are covered, describing the main roles blockchain can play in an architecture, as well as its potential suitability and design process.
non-functional aspects of blockchain applications, which are often cross-cutting concerns including cost estimation, performance, security.
Real-world use cases will be covered, offering additional insights from a practical perspective.
Software Engineering 132 CRs
Xiwei Xu, Ingo Weber, Mark Staples, Architecture for Blockchain Applications, Springer, 2019.
content serial | Description |
---|
1 | Introduction + Blockchain Basics + Problem Definition |
2 | Blockchain Platforms + Smart Contract Basics |
3 | Software Architecture Basics + Blockchain in Software Architecture |
4 | Blockchain Taxonomy |
5 | blockchain Application Design Process |
6 | Blockchain Suitability Evaluation |
7 | 7th Week Assessment |
8 | Blockchain Application Patterns |
9 | Performance |
10 | Security + Reliability |
11 | Smart Contract Testing |
12 | Model-driven Engineering (MDE) |
13 | Privacy + Data Governance + Data Management |
14 | Real-world Projects |
15 | Projects Presentations |
Start your application