官术网_书友最值得收藏!

2.3.3 關注非功能方面的能力

對軟件系統在非功能方面的能力加以關注,是軟件架構的一項關鍵職責。我們通常都說:如果在進行系統架構工作時沒有對非功能型需求(nonfunctional requirement,NFR)給予足夠重視,那么系統通常就會出現故障或發生崩潰,事實也確實如此。

在系統的非功能型需求中,可擴充性(extensibility)、可伸縮性也稱可擴展性。在與extensibility并列時,為避免歧義,酌情譯為可伸縮性、可縮放性?!g者注(scalability)、可維護性,以及性能和安全程度,是其中比較重要的幾個需求。NFR的特殊之處在于,它們本身雖然未必是組件實體,但是卻需要架構中能夠有一個或多個功能組件對其進行特別的關照。就這一點來說,架構中的非功能型需求,可以對這種功能組件的屬性施加影響,并促使我們去增強其屬性??紤]這樣一個用例:系統需要把響應時間控制在1秒以內。系統架構師決定把C1、C2和C3這三個組件結合起來,以實現該用例。在這種情況下,組件的特性所具備的本質特點及復雜程度,就規定了每個組件必須要在多長時間內完成其職責,例如C1可能必須在300毫秒內完成,C2可能必須在500毫秒內完成,C3可能必須在200毫秒內完成。由此或許可以發現一些線索,使我們能夠看出為了展現、支持或遵照某些特性,還需要給ABB添加哪些屬性。

要想做出設計精良、考慮周到的架構,就應該對系統中那些非功能型需求給予適當的關注。在軟件開發的生命期中,這些需求應該放在架構定義階段來考慮,而不能等架構確定好之后再去考慮。

從技術角度來看,如果我們在進行系統架構時,能夠適當地關注并考慮非功能方面的需求,那么系統的故障風險就會大幅度降低。

主站蜘蛛池模板: 涞源县| 林芝县| 凌云县| 文登市| 邯郸市| 徐闻县| 和硕县| 三明市| 江陵县| 肥乡县| 漯河市| 雷波县| 卓资县| 临汾市| 松桃| 日喀则市| 台中县| 外汇| 深泽县| 紫云| 姚安县| 荆州市| 宾川县| 黑山县| 娱乐| 霍邱县| 翁源县| 长武县| 都江堰市| 通山县| 济源市| 济宁市| 龙州县| 金寨县| 仁布县| 长汀县| 安多县| 宁晋县| 南召县| 陆良县| 开化县|