Software Design Methodology

As discussed in the previous chapter, software architecture plays a significant role in the communication between stakeholders of software development. Therefore, how to describe software architecture is of particular importance. This chapter presents a visual language for the description of software architectures. This chapter s objectives are:
To understand the basic requirements of a visual notation for the representation of software architecture;
To learn a specific visual notation.
The chapter is organised as follows. Section 5.1 introduces the visual notation in detail. Section 5.2 to section 5.4 present some examples of the uses of the notation.
A description of software architecture must enable us to answer questions such as:
What are the components in the architecture? What are the main features of a component? In particular, is it a process, or a file, a database or just a variable whose value is stored in the memory? What does a component do? How does it behave? What other components does it rely on?
What are the relationships between the components? Do they mean send data to , sends control to , calls , is a part of , some combination of these, or something else? What are the mechanisms used to fulfil these relations?
Although a number of software architecture description languages have been proposed in the literature, to date, architectures have largely been represented by box-and-line drawings in which the nature of the components, their properties, and the semantics of the connections and the behaviour of the...