• <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:24 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 576次 | 進入軟件測試論壇討論

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

    “人人都知道這些事情很重要,卻因尚未迫在眉睫,反而避重就輕!

    --摘自《高效能人士的七個習慣》

    上次有幸給大家介紹了軟件架構設計的“七種武器”,對于這“七種武器”的修煉是一個漫長的過程,除了需要不斷的學習理論、原理之外,還要不斷的在軟件架構設計的工作中去實踐,而且這樣的實踐機會有限,因為畢竟公司的項目就那么多,失去一次這樣的機會就只有等下一個項目了,所以我想在這里就具體怎樣進行軟件架構設計提供一些思路和方法給大家,希望能對大家在軟件架構設計的工作中有所幫助。

    軟件架構設計的目的

    對于外包業務類型的項目,軟件架構設計的目的與產品類型的項目有所不同,在這里主要討論外包類型項目的軟件架構設計目的。

    1、為大規模開發提供基礎和規范,并提供可重用的資產,軟件系統的大規模開發,必須要有一定的基礎和遵循一定的規范,這既是軟件工程本身的要求,也是客戶的要求。架構設計的過程中可以將一些公共部分抽象提取出來,形成公共類和工具類,以達到重用的目的。

    2、一定程度上縮短項目的周期,利用軟件架構提供的框架或重用組件,縮短項目開發的周期。

    3、降低開發和維護的成本,大量的重用和抽象,可以提取出一些開發人員不用關心的公共部分,這樣便可以使開發人員僅僅關注于業務邏輯的實現,從而減少了很多工作量,提高了開發效率。

    4、提高產品的質量,好的軟件架構設計是產品質量的保證,特別是對于客戶常常提出的非功能性需求的滿足。

    軟件架構設計的原則

    軟件架構設計必須遵循以下原則:

    1、滿足功能性需求和非功能需求。這是一個軟件系統最基本的要求,也是架構設計時應該遵循的最基本的原則。

    2、實用性原則,就像每一個軟件系統交付給用戶使用時必須實用,能解決用戶的問題一樣,架構設計也必須實用,否則就會“高來高去”或“過度設計”。

    3、滿足復用的要求,最大程度的提高開發人員的工作效率。

    軟件架構設計的幾種視圖

    我們常常在討論架構設計該做些什么的時候,或是在架構設計評審的會議上,會提出各種各樣的問題,例如開發人員該如何記錄Log,事務如何控制?怎樣才能提高我們的開發人員的工作效率,即在單位時間內更有品質的完成更多的功能?怎樣滿足客戶的非功能性需求?怎樣讓生產環境的平臺管理人員更好的維護系統?

    上面這些問題,實際上是軟件系統的不同的干系人站在不同的角度上提出的問題,要回答上面這些問題,我們就得從不同的視角來看待軟件架構設計這項工作。

    延伸閱讀

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

    TAG: 架構 軟件 設計

    61/6123456>

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