An architectural Style defines as a family of such systems in terms of a pattern、of structural organization.More specifically an architectural style defines a vocabulary of components and connector types, and a set of constraints on how they can be combined. For many styles there may also exist one or more semantic models that specify how to determine a system’s overall properties from the properties of its parts. Many of architectural styles have been developed over the years.The best-known examples of pipe-and-filter architectures are programs written in the Unix shell.
一種架構風格以一種結構化組織模式定義一組這樣的系統。具體來說,一種架構風格定義了一個構件及聯結器型別的詞彙表,以及一組關於它們如何能夠被關聯的約束。對於許多風格來說,可能也存在一個或多個語意模型,從系統部件的特性來確定系統的整體特性。許多架構風格已經發展了很多年,眾所周知的管道-過濾器架構的例子就是用UNIX shell編寫的程式。
The software architecture is a set of software components, subsystems, relationships, interactions, the properties of each of these elements, and the set of guiding principles that together constitute the fundamental properties and constraints of a software system or set of systems. Architectural pattern defines a general set of element types and their interactions. The examples include Pipes and Filters, Model-View-Controller, and Reflection.
A model in software architecture is a representation used to understand or document one or more aspects of a problem or solution. Architecture is usually used in conjunction with many adjunct terms.
The business architecture defines the key strategies, organization, goals and related processes of the enterprise.
At the enterprise level, the application architecture may be more of a set of guidelines on how the various software architectures should be constructed consistently across the enterprise.
The reference architecture, which describes the high-level set of elements involved in application from a particular domain along with their interactions, is often used to focus on subsystem definition rather than application process level definition.
軟體架構中的模型是一種表現形式,用於從一個或多個方面理解或記錄一個問題或解決方案。架構通常會與一些附屬詞結合起來使用。
業務架構定義了企業的關鍵策略、組織、目標和相關過程。
在企業層面,應用架構可能更多的是一組關於應該如何在整個企業一致地構建各種軟體架構的指導原則。
參考架構描述了源自特定領域的應用涉及的髙層元素集合及其互動關係,通常用於關注子系統的定義而不是應用過程級別定義。
Information systems design is defined as those tasks that focus on the specification of a detailed computer-based solution. Typically, there are four systems design tasks for in-house development.
The first task is to specify an application architecture,which defines the technologies to be used by one, more, or all information systems in terms of their data, processes, interfaces, and network components. This task is accomplished by analyzing the data models and process models that are initially created during requirements analysis.
The next systems design task is to develop the database design specifications. The purpose of this task is to prepare technical design specifications for a database that will be adaptable to future requirements and expansion.
Once the database prototype has been built, the systems designer can work closely with system users to develop input, output and dialogue specifications. The internal controls must be specified to ensure that the outputs are not lost, misrouted, misused, or incomplete.
The fourth design task involves packaging all the specifications from the previous design tasks into a set of specifications that will guide the computer programmer’s activities during the following phases of the systems development methodology.
Finally, we should reevaluate project feasibility and update the project plan accordingly. The key deliverable should include a detailed plan for the construction phase that should follow.
資訊系統設計被定義為一些任務,它們主要關注一個詳細的計算機解決方案的規格說明。通常來說,內部開發有四種系統設計任務。
第一項任務是確定一個應用程式架構,它以資料、過程、介面和網路元件的方式定義一個、多個或所有資訊系統要使用的技術。完成這項任務需要分析最初建立於需求分析期間的資料模型和過程模型。
下一項系統設計任務是開發資料庫設計的規格說明。該任務的目的是準備一個資料庫技術設計規格說明,以適應將來的需求和擴充套件。
—旦建成了資料庫原型,系統設計人員能夠和系統使用者密切合作開發輸入、輸出和對話方塊規格說明。必須指定內部控制元件來確保輸出不會丟失、誤傳、濫用或不完整。
第四項設計任務包括把之前所有設計任務的規格說明打包為一套規格說明,將在系統開發方法的後續階段中指導計算機程式設計師的活動。
最後,我們應該重新評估專案可行性並相應地更新專案計劃。主要交付成果將包括構建階段應該遵循的一個詳細計劃。
An application architecture specifies the technologies to be used to implement one or more information systems. It serves as an outline for detailed design, construction, and implementation. Given the models and details, include logical DFDs and ERD, we can distribute data and processes to create a general design of application architecture. The design will normally be constrained by architecture standards, project objectives, and the feasibility of techniques used. The first, physical DFD to be drawn is the network architecture DFD. The next step is to distribute data stores to different processors. Data partitioning and replication are two types of distributed data which most RDBMSs support. There are many distribution options used in data distribution. In the case of storing specific tables on different servers, we should record each tableas a data store on the physical DFD and connect each to the appropriate server.
應用架構說明了實現一個或多個資訊系統所使用的技術,它作為詳細設計、構造和實現的一個大綱。給定了包括邏輯資料流圖和實體聯絡圖在內的模型和詳細資料,我們可以分配資料和過程以建立應用架構的一個概要設計。概要設計通常會受到架構標準、專案目標和所使用技術的可行性的制約。需要繪製的第一個物理資料流圖是網路架構資料流圖。接下來是分配資料儲存到不同的處理器。資料分割區和複製是大多數關係型資料庫支援的兩種分散式資料形式。有許多分配方法用於資料分佈。在不同伺服器上儲存特定表的情況下,我們應該將每個表記為物理資料流圖中的一個資料儲存,並將每個表連線到相應的伺服器。
A system’s architecture is a representation of a system in which there is a mapping of functionality onto hardware and software components, a mapping of the software architecture onto the hardware architecture, and a concern for the human interaction with these components. That is,system architecture is concerned with a total system, including hardware, software, and humans. Software architectural structures can be divided into three major categories, depending on the broad nature of the elements they show.
1)Module structures embody decisions as a set of code or data units that have to be constructed or procured.
2)Component-and-connector structures embody decisions as to how the system is to be structured as set of elements that have runtime behavior and interactions.
3)Allocation structures embody decisions as to how the system will relate to non software structures in its environment (such as CPUs, file systems, networks, development teams, etc.).
系統架構是一個系統的一種表示,包含了功能到軟硬體構件的對映、軟體架構到硬體架構的對映以及對於這些元件人機互動的關注。也就是說,系統架構關注於整個系統, 包括硬體、軟體和使用者。軟體架構結構根據其所展示元素的廣義性質,可以被分為三個主要類別。
1)模組結構將決策體現為一組需要被構建或獲取的程式碼或資料單元。
2)構件-聯結器結構將決策體現為系統如何被結構化為一組具有執行時行為和互動的元素。
3)設定結構將決策體現為系統如何在其環境中關聯到非軟體結構,如CPU、檔案系統、 網路、開發團隊等。
Software architecture reconstruction is an interpretive, interactive, and iterative process including many activities. Information extraction involves analyzing a system’s existing design and implementation artifacts to construct a model of it. The result is used in the following activities to construct a view of the system. The database construction activity converts the elements and relations contained in the view into a standard format for storage in a database. The view fusion activity involves defining and manipulating the information stored in database to reconcile, augment, and establish connections between the elements. Reconstruction consists of two primary activities: visualization and interaction and pattern definition and recognition. The former provides a mechanism for the user to manipulate architectural elements, and the latter provides facilities for architecture reconstruction.
軟體架構重構是一個解釋性、互動式和反覆迭代的過程,包括了多項活動。資訊提取通過分析系統現有設計和實現構件來構造它的模型。其結果用於在後續活動中構造系統的檢視。資料庫構建活動把模型中包含的元素和關係轉換為資料庫中的標準儲存格式。檢視融合活動包括定義和運算元據庫中儲存的資訊,理順、加強並建立起元素之間的連線。重構由兩個主要活動組成:視覺化和互動記及模式定義和識別。前者提供了一種讓使用者操作架構元素的機制,後者則提供了用於架構重構的設施。
The objective of architecture design is to determine what parts of the application software will be assigned to what hardware.The major software components of the system being developed have to be identified and then allocated to the various hardware components on which the system will operate. All software systems can be divided into four basic functions. The first is data storage. Most information systems require data to be stored and retrieved,whether a small file,such as a memo produced by a word processor,or a large database,such as one that stores an organization’s accounting records. The second function is the data access logic,the processing required to access data,which often means database queries in Structured Query Language. The third function is the application logic,which is the logic documented in the DFDs,use cases,and functional requirements.The fourth function is the presentation logic,the display of information to the user and the acceptance of the user’s commands.The three primary hardware components of a system are clients,servers,and network.
架構設計的目標是確定應用軟體的哪些部分將被分配到何種硬體。識別出正在開發系統的主要軟體構件並分配到系統將要執行的硬體構件。所有軟體系統可分為四項基本功能。第一項是資料儲存。大多數資訊系統需要資料進行儲存並檢索,無論是一個小檔案,比如一個字處理器產生的一個備忘錄,還是一個大型資料庫,比如儲存一個企業會計記錄的資料庫。第二項功能是資料存取邏輯,處理過程需要存取資料,這通常是指用SQL進行資料庫查詢。第三項功能是應用程式邏輯,這些邏輯通過資料流圖,用例和功能需求記錄下來。第四項功能是表示邏輯,給使用者顯示資訊並接收使用者命令。一個系統的三類主要硬體構件是客戶機、伺服器和網路。
The objective of architecture design is to determine what parts of the application software will be assigned to what hardware. The major software components of the system being developed have to be identified and then allocated to the various hardware components on which the system will operate. All software systems can be divided into four basic functions. The first is data storage.Most information systems require data to be stored and retrieved, whether a small file,such as a memo produced by a word processor, or a large database, such as one that stores an organization’s accounting records.The second function is the data access logic,the processing required to access data, which often means database queries in Structured Query Language. The third function is the application logic,which is the logic documented in the DFDs, use cases,and functional requirements.The fourth function is the presentation logic,the display of information to the user and the acceptance of the user’s commands.The three primary hardware components of a system are clients,servers,and network.
架構設計的目標是確定應用軟體的哪些部分將被分配到何種硬體。識別出正在開發系統的主要軟體構件並分配到系統將要執行的硬體構件。所有軟體系統可分為四項基本功能。第一項是資料儲存。大多數資訊系統需要資料進行儲存並檢索,無論是一個小檔案,比如一個字處理器產生的一個備忘錄,還是一個大型資料庫,比如儲存一個企業會計記錄的資料庫。第二項功能是資料存取邏輯,處理過程需要存取資料,這通常是指用SQL進行資料庫查詢。第三項功能是應用程式邏輯,這些邏輯通過資料流圖,用例和功能需求記錄下來。第四項功能是表示邏輯,給使用者顯示資訊並接收使用者命令。一個系統的三類主要硬體構件是客戶機、伺服器和網路。
The architecture design specifies the overall architecture and the placement of software and hardware that will be used. Architecture design is a very complex process that is often left to experienced architecture designers and consultants.
The first step is to refine the nonfunctional requirements into more detailed requirements that are then employed to help select the architecture to be used and the software components to be placed on each device. In a client-server architecture, one also has to decide whether to use a two-tier, three-tier,or n-tier architecture.
Then the requirements and the architecture design are used to develop the hardware and software specification. There are four primary types of nonfunctional requirements that can be important in designing the architecture.Operational requirements specify the operating environment(s) in which the system must perform and how those may change over time. Performance requirements focus on the nonfunctional requirements issues such as response time,capacity,and reliability. Security requirements are the abilities to protect the information system from disruption and data loss, whether caused by an intentional act. Cultural and political requirements are specific to the countries in which the system will be used.
架構設計指定了將要使用的軟體和硬體的總體架構和佈局。 架構設計是一個非常複雜的過程,往往留給經驗豐富的架構設計師和顧問。
第一步是將非功能需求細化為更詳細的需求,然後用於幫助選擇要使用的體系結構以及要放置在每個裝置上的軟體元件。在使用者端-伺服器架構中,還必須決定是使用兩層,三層還是n層架構。
然後使用需求和體系結構設計來開發硬體和軟體規範。 有四種主要的非功能需求型別可能在設計架構時非常重要。操作需求指定系統必須執行的操作環境以及這些操作環境如何隨時間變化。 效能需求注重非功能性需求是特定於系統將被使用的國家。
Designing the data storage architecture is an important activity in system design.There are two main types of data storage formats: files and databases. Files are electronic of data that have been optimized to perform a particular transaction. There are several types of files that differ in the way they are used to support an application.Master files store core information that is important to the business and , more specifically , to the application , such as order information or customer mailing information . Audit files contain static values , such as a list of valid codes or the names of cities. Typically, the list is used for validation. A database is a collection of groupings of information that are related to each other in some way. There are many different types of databases that exist on the market today. Legacy database is given to those databases which are based on older, sometimes outdated technology that is seldom used to develop new applications . Hierarchical database are collections of records that are related to each other through pointers. In relational database, referential integrity can be used in ensuring that values linking the tables together through the primary and foreign keys are valid and correctly synchronized.
設計資料儲存架構是系統設計中的一項重要活動。主要有兩種型別的資料儲存格式:檔案和資料庫。檔案是經過優化的可以執行特定事務的電子資料。有幾種型別的檔案,它們支援應用程式的方式也不同。主檔案儲存對業務,尤其是應用程式的重要核心資訊,例如訂單資訊或客戶郵件資訊。稽核檔案包含靜態值,例如有效程式碼列表或城市名稱。通常,該列表用於驗證。資料庫是以某種方式相關聯的資訊分組的集合。當今市場上存在許多不同型別的資料庫。遺留資料庫被賦予那些基於舊的,或者過時技術的資料庫,這些技術很少用於開發新的應用。分層資料庫是通過指標相互關聯的記錄的集合。在關聯式資料庫中,參照完整性可用於確保通過主鍵和外來鍵將表連結在一起的值有效且正確同步。