Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

Software Architecture Modeling

Prof. Cesare Pautasso
http://www.pautasso.info
cesare.pautasso@usi.ch
@pautasso

Canonical Models

George Fairbanks

Domain Model

Example Domain Model

Design Model

Example Boundary Model

Design Model

Example Internal Model

System Context

Scope of the Model

  1. Parts of the system for different use cases
  2. The architecture of the entire system
  3. The style of the system (constrain the actual architecture without describing it)

What is a view?

Multiple Views

View Consistency

How many views?

4+1

Philippe Kruchten

Use Case Scenarios

Philippe Kruchten

Music Player Scenarios

  1. Browse for new songs
  2. Search for interesting songs
  3. Play the song sample
  4. Pay to hear the entire song
  5. Download the purchased song on the device
  6. Play the song
  7. Play multiple songs on a predefined playlist
  8. Play multiple songs in random order
  9. Share songs with friends
  10. Make a backup of the device's content
  11. Suggest related songs
  12. Generate a tasteful playlist
  13. Display album cover image
  14. Show the device's battery status
  15. Record sounds with a microphone

Music Player Scenarios

  1. Browse for new songs
  2. Play the song sample
  3. Pay to hear the entire song
  4. Download the purchased song on the device
  5. Play the song
  6. Play multiple songs on a predefined playlist
  7. Suggest related songs

Logical View

Philippe Kruchten

Example Logical View

Process View

Philippe Kruchten

Example Process View

Use Cases: Browse, Pay and Play For Songs

Development View

Philippe Kruchten

Example Development View

Physical View

Philippe Kruchten

Example Physical View

References

Use a spacebar or arrow keys to navigate