Architecture Design - 1 What is Architecture

     "Software architecture is the structure or structures of a software program, which comprise software elements, and the visible external properties of these elemets and the relationship among them."

        --------by Bass, Clements, and Kazman (2003) as follows.

So, when we learn an architecture of a program, we can learn from the sides below:

   1  Structural perspective or static perspective or component based perspective

   2  dynamic perspective

   3 funtional and non functional.

   4 deployment perspective.

 1  Structural perspective or static perspectiven or component based

      In this perspective, software architecture consists of multiple components, which are self-contained and ecapsulated some information. A component is either a composite object composed of other objects or a simple object. A component provides an interface through which it communicates with other components. All information that is needed by one component to communicate with another component is contained in the interface, which is separate from the implementation. Thus, a component canbe considered a black box, because its implementation is hidden from other components.Components communicate with each other in different ways using predefined communication patterns.

     A sequential design is a program in which the components are classes and component instances are objects (instances of the classes); the components are passive classes without a thread of control.A component is self-contained; therefore, it can be compiled separately, stored in a library, and then subsequently instantiated and linked into an application.

   In a concurrent or distributed design, the components are active (concurrent) and capable of being deployed to different nodes in a distributed environment. In this design, concurrent components can communicate with each other using several different communication patterns (see Section 12.3), such as synchronous, asynchronous,brokered, or group communication. An underlying middleware framework is typically provided to allow components to communicate.

    In UML, this is class or object diagram.

2 Dynamic perspective:

    The dynamic view of a software architecture is a behavioral view, which is depicted on a communication diagram

 3 deployment view:

    The deployment view of the software architecture depicts the physical configuration of the software architecture, in particular how the subsystems of the architecture are allocated to physical nodes in a distributed configuration.

4  funtional and non functional

  funtional:  functionality provided by the architecture

  nonfunctional: quality of the functionality provided


Reference:

  <<software modeling and design>>  -Hassan Gomaa


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值