1
4.10.2004 Software Engineering 2004 Jyrki Nummenmaa 1
OBJECT ARCHITECTURE DESIGN
- These slides continue with our example
application, based on the simplified OMT-based technique.
- I am not trying to cover all or not even most
aspects here.
- We will have other examples to show how things
can be done differently.
4.10.2004 Software Engineering 2004 Jyrki Nummenmaa 2
What Is Architectural Design?
Choices Made In Architectural Design:
- Components
- High-Level Design Patterns
- Architectural Styles
- A Possible Framework Architecture
- Processes and Hardware
- Processes and Communication
- Other Architecture-Related Decisions ☺
- -> Some of these issues depend on each other
strongly.
4.10.2004 Software Engineering 2004 Jyrki Nummenmaa 3
Why Architectural Design?
- Managing complexity
– It is easier to manage complexity, if we divide the application into reasonable parts.
- Maintainability
– Usually a reasonable architecture makes it much easier to maintain the software. – This may actually be the biggest reason for architectural design.
- Efficiency
– A good architecture enables us to isolate the potential causes for inefficiency and makes it possible to scale up performance when load increases.
4.10.2004 Software Engineering 2004 Jyrki Nummenmaa 4
Input Information For Architecture Design
- Analysis model of the application showing what the
system is about and what it should do.
- Hardware environment
- Software environment
- possible database management system
- communication technologies
- programming language – if known
- target operating system(s) – if known
4.10.2004 Software Engineering 2004 Jyrki Nummenmaa 5
Architectural Design For Example Game Application
- Clearly, it seems reasonable to separate the game
logic from the user interface.
- If done suitably, this will also enable multiple
client applications with a view to the same game.
- This kind of an approach is actually quite usual.
- In fact, so usual, that there is a well-known
architectural solution for this kind of setting, called Model-View-Controller architecture (MVC architecture).
- We will study a variant of MVC from a separate set
- f slides by Ari Jaaksi, Nokia.
4.10.2004 Software Engineering 2004 Jyrki Nummenmaa 6
Design Patterns
- Our design could follow the principles of MVC (or
MVC++) directly.
- Another possibility is to copy an existing design
idea and modify it to our needs.
- The idea of copying designs like this is the basic
idea behind design patterns.
- It has been difficult to reuse code. The idea of
design patterns is to reuse ideas.
- In a way, applying the MVC model is reusing the
- idea. However, there have been efforts to give a
fixed format for presenting design patterns.