IN4MATX 43 Lecture Notes - Lecture 10: Unix Shell, Google Hangouts, Stock Market
IN4MATX – 36900 – Intro to Software Engineering
Week 5 – Lecture 9 – Architectural Styles
Defining Software Architecture
• Set of principle design decisions about a system
Architectural Erosion
• A system’s prescriptive architecture is modified first when it evolves
o Have a system that is already built, and have a prescriptive architecture
ahead of time to have it be built
o But there is a mismatch between what’s planned and what is to be built
• In practice, the system – and thus its descriptive architecture – is often directly
modified
• Why?
o Developer sloppiness
o Short deadlines
o Lack of (documented) prescriptive architecture
o Code optimizations
o Inadequate techniques or tool support
• This is unavoidable, but it is still useful to know the original design decisions at a
high level
o The system will more or less conform to the prescriptive architecture
• iRODS – prescriptive architecture
Architectural styles
• Classical
• Rock and Roll
• Contemporary
• Arts and crafts
• Comparing contemporary and arts and crafts – very different styles
o They have built-in different styles
o What makes a style though?
▪ In the arts and crafts style, there are many elements of windows to
support cross-ventilation
▪ Contemporary has the benefits of windows, as well as varying, non-
symmetrical designs
o In architectural styles, there are elements that constrain what you can do
while abusing those elements for your benefits
Software architectural style
• A named collection of architectural design decisions that
▪ This is a bit similar to the music and buildings architecture above
find more resources at oneclass.com
find more resources at oneclass.com