1 of 6

1dv607 OOA/D

using UML

Software Architecture &

the Model View Separation Principle

2 of 6

Software Architecture

The High Level Structure of a Software System

  • Good Low Level Design/Imp. Is NOT Enough
  • Early Decisions Have A large Impact
  • Capture and Balance System Qualities
  • Goal of the Elaboration Phase
  • Facilitates
    • Communication
    • Evolution
    • Reuse
    • Risk Management

3 of 6

4+1 View

Logical View

Development View

Process View

Physical View

Scenario View

4 of 6

Logical Architecture

Large Scale organization of classes into packages

  • Find logical groupings of classes that collaborate closely
  • Encapsulate further
  • Define Valid Dependencies
  • How?
    • Experience
      • Guidelines/Principles
      • Patterns

5 of 6

Software Pattern

A Named Abstract Problem & Solution

  • Motivation
  • Structure
  • Consequences
  • Examples

6 of 6

Model-View Separation Principle

A Fundamental Structuring of Interactive Software

View: UI/Presentation

Model: Domain/Business Rules: the parts that fulfills the requirements

  1. No Dependencies from the model to the view
  2. No business rules in the view.