Architecture What is an architecture n n Architecture

  • Slides: 26
Download presentation
Architecture

Architecture

What is an architecture n n Architecture is a design. But a design for

What is an architecture n n Architecture is a design. But a design for designs. Architecture is a very large design Architecture specifies the major required specifications for consistency of components and sub-systems; and leaves other decisions to the designers and developers of those components and sub-systems Architecture includes high level decisions, where should be applied on several systems to make them consistent with each other along the time w w w. s a d i g h i m. i r

What is an architecture (Cont. ) n n Architecture: common and general issues of

What is an architecture (Cont. ) n n Architecture: common and general issues of all designs are designed Architecture may include development decisions too. n Examples of development architectural decisions: n n n How unexpected errors should be handled in all products Using database systems of a specific data base developer A special programming language as the major tool for developing all products w w w. s a d i g h i m. i r

What is an architecture (Cont. ) n IEEE-Std-1471 -2000 (ISO / IEC DIS 25961

What is an architecture (Cont. ) n IEEE-Std-1471 -2000 (ISO / IEC DIS 25961 2006) n n Architecture: the fundamental organization of a system embodied in its components, their relationships to each other and to the environment and the principles guiding its design and evolution. where: n n n – fundamental organization means essential, unifying concepts and principles – system includes application, system, platform, system ofsystems, enterprise, product line, . . . – environment is developmental, operational, programmatic, … context of the system w w w. s a d i g h i m. i r

Why architecture n Big projects are faced with: n n n Big volume (million

Why architecture n Big projects are faced with: n n n Big volume (million lines) of code, Many (hundreds) of developers in a set of companies Complexity of interaction between different parts Deferent programming languages Deferent development environments Persistent mechanisms such as files and data bases Deferent platforms Distribution of components on different hardware platforms High concurrency between activities Geographical distribution Remote access Acceptable security

Why architecture (Cont. ) n n n Considering complexity of big systems is a

Why architecture (Cont. ) n n n Considering complexity of big systems is a serious challenge even for experienced designers and developers Millions of small or big issues should be considered These items, parts , methods and products may change along the time, or be added or removed Cooperating people, companies and responsible people may change Architecture provides uniformity and consistency among related designs, products, distinctions and changes along the time w w w. s a d i g h i m. i r

w w w. s a d i g h i m. i r

w w w. s a d i g h i m. i r

Design against architecture n n n Design is for a special time, but architecture

Design against architecture n n n Design is for a special time, but architecture should work along the time Designing is a limited understanding of special audience; while architecture is a more complete understanding that should cover all stakeholders along the time Architecture is the common language of all stakeholders Architecture considers structure and behavior, both together In architecture effectiveness is more important than efficiency w w w. s a d i g h i m. i r

w w w. s a d i g h i m. i r

w w w. s a d i g h i m. i r

Usual architectures n n n Data driven Data-flow Object oriented Layered Product-line Pipe line

Usual architectures n n n Data driven Data-flow Object oriented Layered Product-line Pipe line and filter Client-server Distributed computing Black board Three-tiered Service-oriented Call and return architecture w w w. s a d i g h i m. i r

w w w. s a d i g h i m. i r

w w w. s a d i g h i m. i r

Architecture documenting n n n Long term cooperation and coordination of different groups which

Architecture documenting n n n Long term cooperation and coordination of different groups which are working on a given architecture, without documents of the architecture is not possible Here we use HP template for its simplicity, clarity and completeness Note to different parts of this template (Why? ) w w w. s a d i g h i m. i r

Major parts of the HP template n Representing interaction of the system with its

Major parts of the HP template n Representing interaction of the system with its stakeholders n n n Representing functional requirements (see chapter 10) n n n By using context diagram; Such as figure 10 -3 By using a set of use-case diagrams of UML and use case tables for each type of the stakeholders; Such as figure 10 -3 and table 10 -2 Representing non-functional requirements (see chapter 10); specifications that affects the development and behavior of the system n By using text; Such as figure 10 -5 w w w. s a d i g h i m. i r

Major parts of the HP template (Cont. ): n Represents general structure of the

Major parts of the HP template (Cont. ): n Represents general structure of the system; to show basic modules and their relations n n n By using block structure diagram Such as figure 12 -5 Represents dynamic behavior of the system n n By using sequence and cooperation diagrams of UML (see chapter) Such as figures 20 -6 and 20 -12 w w w. s a d i g h i m. i r

Major parts of the HP template (Cont. ): n Representing other views: n Process

Major parts of the HP template (Cont. ): n Representing other views: n Process view: to show processes of the system and their relations n n n Physical view: to show different parts geographically are deployed, and how they are related to each other n n n By using class diagram of UML Such as figure 21 -4 By using deployment diagram of UML Such as figure 21 -5 Conceptual view: to show used concepts and their relations n n By using class diagram of UML and dictionary of concepts Such as figure 21 -6 and table 12 -2 w w w. s a d i g h i m. i r

Example for interaction of the system with its stakeholders using context diagram

Example for interaction of the system with its stakeholders using context diagram

Example of functional requirements; using use cases w w w. s a d i

Example of functional requirements; using use cases w w w. s a d i g h i m. i r

Example of non-functional requirements

Example of non-functional requirements

Example of general structure; using block diagram w w w. s a d i

Example of general structure; using block diagram w w w. s a d i g h i m. i r

Example of dynamic behavior; using sequential diagram w w w. s a d i

Example of dynamic behavior; using sequential diagram w w w. s a d i g h i m. i r

Example of dynamic behavior; using cooperation diagram w w w. s a d i

Example of dynamic behavior; using cooperation diagram w w w. s a d i g h i m. i r

Example for process view w w w. s a d i g h i

Example for process view w w w. s a d i g h i m. i r 23

Example for physical view w w w. s a d i g h i

Example for physical view w w w. s a d i g h i m. i r

Example for conceptual view w w w. s a d i g h i

Example for conceptual view w w w. s a d i g h i m. i r