• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件架構淺談:問題域及其解決方法

    發布: 2008-10-08 10:16 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 45次 | 進入軟件測試論壇討論

    領測軟件測試網
    關鍵字:架構設計

    軟件構架是一個容易理解的概念,但多數工程師(尤其是經驗不多的工程師)會從直覺上來認識它,但要給出精確的定義很困難,在設計中更容易忽視軟件架構的巨大作用,所以我將在以下的內容中解釋什么是軟件架構以及如何提高架構的性能等軟件設計中的容易被忽視的問題。

    一、什么是架構

    1. 和架構相關的幾個問題域

    架構需要解決的非業務問題域包括如下:

    A 系統目標:系統性能,穩定性.

    B.項目目標:開發成本,質量

    C.項目過程:需求的不確定性和開發過程的團隊協作性

    不同的問題域,解決之道也不相同!而同一問題域的不同層次的要求,解決之道也不盡相同。

    2. 什么是架構

    架構到底是啥,愚以為下面的這段英文描述的很清楚。

    That's like asking, what is culture? Culture is the way you do things in a group of people. Architecture is the way you do things in a software product. You could argue by analogy, then, that architecture is to a software product as culture is to a team. It is how that team has established and chosen its conventions,

    Which leads us inevitably to the question of “goodness”? How do you know if an architecture is good? Consider an architecture that isn't built using a strong domain model, and instead relies heavily on stored procedures. That might be OK, or it might not be OK. You could have decided that part of your architecture is to use a really strong domain model and not use stored procedures, right? So an architecture is some reasonable regularity about the structure of the system, the way the team goes about building its software, and how the software responds and adapts to its own environment. How well the architecture responds and adapts, and how well it goes through that construction process, is a measure of whether that architecture is any good.

    The system architecture determines how hard or easy it is to implement a given feature. Good architectures are those in which it is considered easy to create the features desired. In that the way to judge whether an architecture is good is whether the architecture is good for the purposes to which it is applied.

    The definition of goodness has to be related to fitness for purpose. Is this glove good? I don't know. What are you doing with the glove? Are you throwing snowballs, cooking barbeques, or playing golf? There's a set of changes that are going to occur to a software system over time. Probably the utilitarian or most useful definition of goodness is the answer to this question: are the changes that will keep this system successful in this domain in this product line relatively easy? If they are, then it's probably a good architecture.

    3. 架構的背后

    為了實現架構的目標涉及到以下三個方面:技術,組織和過程。這里舉例說明。

    1) 技術對開發效率和運行性能,以及組織和過程的影響。

    案例A.映射的問題。公司產品的一個重要需求是根據客戶輸入,映射到PDF文件上。技術上整體實現需要四個步驟:在PDF文件上畫好所有的數據域,通過讀入一個XML映射文件,獲得運行數據并生成FDF,合并FDF和PDF生成目標文件。后兩步工作都由代碼自動化了,因而實現的主要工作在于前兩步。

    在第一個實現版本里,XML映射文件的DTD太簡單,致使一個xml文件至少在4000行左右,同時xml文件太verbose了。這樣的結果直接導致運行系統在峰值時,由于XML消耗了大量內存,1G的內存根本吃不消;同時對XML解析執行使用了CPU的大量時間;導致開發人員需要做大量的工作,開發效率降低了,通常需要盡一周才能完成一個xml文件,員工都不愿意做;也導致開發過程的漫長, 開發部門對于BA部門和ST部門的要求反應變的緩慢。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 架構 解決 軟件

    71/71234567>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>