Você está na página 1de 6

Software Architecture

2016716-2
Tue. 9-11: 454-401, Thu. 9-11: 454-401

Jeisson Andrs Vergara Vargas, M.Sc. (c)


Departamento de Ingeniera de Sistemas e Industrial
http://academic.javergarav.co
javergarav@unal.edu.co

2017-II
1. Learning Objectives
By the end of this course, the students will be able to:

Recognize the importance of software architecture in the field of software


engineering.
Classify the different approaches of software design.
Reflect on the role of the software architect.
Integrate architectural styles in order to design different types of software
architectures.
Analyze architectural design problems from architectural patterns.
Evaluate different types of architectural tactics to ensure the quality of the
software.
Create software systems based on good practices of software architecture.
Document software architectures though a set of architectural views.

2. Main Topics

Architecture Fundamentals
Architectural Styles
Architectural Patterns
Architectural Views
Quality Attributes

Software Architecture 2017-II 1


3. Requirements
(2016702) Software Engineering II

4. Content

Enduring outcomes
Important to know
Good to be familiar with

5. Class Schedule

Session Date Main Topic Topic Bibliography


1 Tue. Course Presentation
Aug. 1
2 Thu. Architecture Software Architecture Context [STEPHENS] Chapter 5,
Aug. 3 Fundamentals Software Engineering, Software Design [TAYLOR] Chapter 2
3 Tue. Architectural Design [TAYLOR] Chapter 3,
Aug. 8 Basic Concepts, Styles, Patterns, Views, Quality Attributes [ROZANSKI] Chapter 2,
[BROWN] Part I,
[CERVANTES] Chapter 2
4 Thu. Architecture Definition Process [ROZANSKI] Chapter 5,
Aug. 10 The Role of the Software Architect, Step by Step [ROZANSKI] Chapter 7,
[CERVANTES] Chapter 3,
[HENDRICKSEN]
5 Tue. Architectural Architectural Styles I [TAYLOR] Chapter 4,
Aug. 15 Styles Client-Server, Pipe-and-Filter, Peer-to-Peer, Event-Based, Publish- [OUSSALAH] Chapter 1,
Subscribe, [QIN] Chapter 2, [GOMAA]
6 Thu. Architectural Styles II Part III, [JOSUTTIS],
Aug. 17 Object-Oriented Architecture, Component-Based Architecture, Service- [RICHARDS-2], [NEWMAN],
Oriented Architecture (SOA), [WEBBER], [MASS]
7 Tue. Architectural Styles III
Aug. 22 REpresentational State Transfer (REST), Microservices Architecture
(MSA),

Software Architecture 2017-II 2


8 Thu. Architectural Tour of Architectural Patterns [TAYLOR] Chapter 4,


Aug. 24 Patters Model-View-Controller (MVC), 3-Tier Architecture, [RICHARDS-1], [JOSUTTIS],
[NEWMAN]
9 Tue. Laboratory #1
Aug. 29 Distributed Architectures, Part 1
Docker, Containers, Microservices, REST, Service Exposure
10 Thu. Architectural Architectural Views I [KRUCHTEN], [IEEE],
Aug. 31 Views 4+1 View Model, ISO/IEC/IEEE 42010, Viewpoint Catalog [ROZANSKI] Part 3

11 Tue. Laboratory #2
Sep. 5 Distributed Architectures, Part 2
API Gateway, Web Application, Service Consumption
12 Thu. Architectural Architectural Views II [CLEMENTS] Part I
Sep. 7 Views Views & Beyond (V&B) Catalog

13 Tue. NoSQL Databases


Sep. 12 Key-value, Document-Oriented, Wide Column, Graph

14 Thu. Workshop #1
Sep. 14 Designing Architectures I
Tue.
Sep. 19
Thu. University Week
Sep. 21
15 Tue. Delivery #1
Sep. 26 Back-End
16 Thu. Model-Driven Engineering (MDE)
Sep. 28 Model-Driven * Approach, Applications

17 Tue. Quality The Security Perspective [ROZANSKI] Chapter 25,


Oct. 3 Attributes Fundamental Concepts, Architectural Tactics [BASS] Chapter 9,
[CERVANTES] Appendix A4
18 Thu. Laboratory #3
Oct. 5 Security
Token-Based Authentication, Lightweight Directory Access Protocol
(LDAP)
19 Tue. Quality The Interoperability Perspective [BASS] Chapter 6,
Oct. 10 Attributes Fundamental Concepts, Architectural Tactics [CERVANTES] Appendix A4

20 Thu. Laboratory #4
Oct. 12 Interoperability
Simple Object Access Protocol (SOAP), Enterprise Service Bus (ESB)
21 Tue. Delivery #2
Oct. 17 Front-End
22 Thu. Workshop #2
Oct. 19 Designing Architectures II
23 Tue. Quality The Performance and Scalability Perspective [ROZANSKI] Chapter 26,
Oct. 24 Attributes Fundamental Concepts, Architectural Tactics [BASS] Chapter 8,
[CERVANTES] Appendix A4,
[ABBOTT]
24 Thu. Quality The Availability and Resilience Perspective [ROZANSKI] Chapter 27,
Oct. 26 Attributes Fundamental Concepts, Architectural Tactics [BASS] Chapter 5,
[CERVANTES] Appendix A4
25 Tue. Laboratory #5
Oct. 31 Scalability and High Availability
Horizontal Scaling, Database Replication
26 Thu. Delivery #3 Delivery #4
Nov. 2 Security Interoperability

Software Architecture 2017-II 3


27 Tue. Cloud Computing [ERL] Chapter 4


Nov. 7 Fundamental Concepts, Cloud Models

28 Thu. Laboratory #6
Nov. 9 Cloud Computing
Amazon Web Services (AWS)
29 Tue. Workshop #3
Nov. 14 Designing Architectures III
30 Thu. Delivery #5 Delivery #6
Nov. 16 Scalability High Availability
31 Tue. Final Presentation
Nov. 21
32 Thu.
Nov. 23
33 Tue. Final Class
Nov. 28

6. Grade Distribution

Item %
Project 40%
1st Delivery: Back-End
2nd Delivery: Front-End
3rd Delivery: Security
4th Delivery: Interoperability
5th Delivery: Scalability
6th Delivery: High Availability
Final Presentation
Laboratories 20%
Lab #1: Distributed Architectures I
Lab #2: Distributed Architectures II
Lab #3: Security
Lab #4: Interoperability
Lab #5: Scalability and High Availability
Lab #6: Cloud Computing
Workshops 20%
Workshop #1: Designing Architectures I
Workshop #2: Designing Architectures II
Workshop #3: Designing Architectures III
Class Activities 20%

TOTAL 100%

Software Architecture 2017-II 4


7. Game Rules

Class start time is at 9:10 am.


Class entry is not allowed after the class has begun.
The minimum grade to approve the course is three point zero (3.0).
Missing classes could leave students to get a grade of zero point zero (0.0),
according to the article 32 of academic regulations:
http://www.legal.unal.edu.co/sisjurun/normas/Norma1.jsp?i=34983.
To avoid interruptions, mobile devices must be turned off before going into the
classroom.
Laptops and tablets can be used only for academic purposes and activities related
to the course.
Plagiarism cases will be informed to the academic office according to the academic
regulations.

8. Web Page
http://academic.javergarav.co/sa2017ii/

9. Bibliography

[ABBOTT] M. L. Abbott and M. T. Fisher, The Art of Scalability: Scalable Web


Architecture, Processes, and Organizations for the Modern Enterprise. 2010.
[BASS] L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, 3rd
ed. 2013.
[BROWN] S. Brown, Software Architecture for Developers: A Practical and
Pragmatic Guide to 21st Century Software Architecture. 2012.
[CERVANTES] H. Cervantes and R. Kazman, Designing Software Architectures - A
Practical Approach. 2016.
[CLEMENTS] P. Clements, F. Bachmann, L. Bass, D. Garlan, J. Ivers, R. Little, P.
Merson, R. Nord, and J. Stafford, Documenting Software Architectures: Views and
Beyond. 2011.
[ERL] T. Erl, Cloud Computing - Concepts, Technology & Architecture. 2013.
[GOMAA] H. Gomaa, Software Modeling & Design: UML, Use Cases, Patterns &
Software Architectures. 2011.

Software Architecture 2017-II 5


[HENDRICKSEN] D. Hendricksen, 12 Essential Skills for Software Architects. 2012.


[IEEE] IEEE, ISO/IEC/IEEE: Systems and Software Engineering - Architecture
Description. 2011.
[JOSUTTIS] N. M. Josuttis, SOA in Practice: The Art of Distributed System Design.
2007.
[KRUCHTEN] P. Kruchten, Architectural Blueprints - The 4+1 View Model of
Software Architecture, IEEE Softw., vol. 12, no. November, pp. 4250, 1995.
[MASS] M. Mass, REST API - Design Rulebook. 2012.
[NEWMAN] S. Newman, Building Microservices: Designing Fine-Grained Systems.
2015.
[OUSSALAH] M. C. Oussalah, Software Architecture 1. 2014.
[QIN] Z. Qin, J. Xing, and X. Zheng, Software Architecture. 2008.
[RICHARDS-1] M. Richards, Software Architecture Patterns. 2014.
[RICHARDS-2] M. Richards, Microservices vs. Service-Oriented Architecture. 2015.
[ROZANSKI] N. Rozanski and E. Woods, Software Systems Architecture, 2nd ed.
2011.
[STEPHENS] R. Stephens, Beginning Software Engineering. 2015.
[TAYLOR] R. N. Taylor, N. Medvidovic, and E. M. Dashofy, Software Architecture -
Foundations, Theory, and Practice. 2010.
[WEBBER] J. Webber, S. Parastatidis, and I. Robinson, REST in Practice. 2010.

Software Architecture 2017-II 6

Você também pode gostar