Session Outline
IT Systems Application Domain The Architecture Business Cycle What is Software Architecture Design Definitions Why is architecture important What does an architect do? Further reading
2
Large, complex, heterogeneous, distributed applications Use commercial-of-the-shelf middleware, databases, web servers, application packages Major problems are architecture design, technology selection, application and business integration
3
visualises
prescribes
appearance, behaviour
architectural design
construction, co-operation
10
stakeholders (few)
requirements
quality
agreement
development
11
12
requirements
quality
architecture
agreement
development
13
All architecture is software design, but not all design is software architecture Part of the design process
Simply, architecture focuses on issues that will be difficult/impossible to change once the system is built
Quality attributes like security, performance Non-functional requirements like cost, deployment hardware More on these later in this session
15
16
The system has of four elements? Three of elements have something in common? All the elements apparently have some sort of relationship since the diagram is fully connected. Beside this we know nothing else!
17
Calls? Invokes? Signals? Uses? Data flow? Subclass? Run with? Excludes? Co - located with
18
Module Use Logical Functional What do the boxes represent? What do the arrows mean?
19
What kind of component? What kind of connector? What structure? What do the boxes and arrows mean?
What is the significance of the layout? Why is control process on a higher level?
Boxes and arrows drawings alone are not architectures; rather, they are a starting point
20
Box and line drawing alone are not architectures but a starting point. Architecture includes behavior of components
21
22
23
24
25
Being known for developing particular kinds of systems becomes a marketing device. Architecture becomes a leveraging point for additional market opportunities and networking.
26
Customers will alter their requirements on the basis of the availability of existing systems.
27
Occasionally, a system or an architecture will affect the technical environment. the WWW for information systems the three-tier architecture for database systems
28
1992: Perry & Wolf 1987: J.A. Zachman; 1989: M. Shaw 1978/79: David parnas, program families 1972 (1969): Edsger Dijkstra, program families 1969: I.P. Sharp @ NATO Software Engineering conference: I think we have something in addition to software engineering [..] This is the subject of software architecture. Architecture is different from engineering.
29
30