軟件開發方法簡介

如何選擇一個合適的開發方法,以保證在多變的市場環境下,在既定的預算和時間要求範圍內,開發出讓用戶滿意的信息系統,是系統分析師必須要面對的問題。

面向對象方法使系統的描述及信息模型的表示與客觀實體相對應,符合人們的思維習慣,有利於系統開發過程中用戶與開發人員的交流與溝通,縮短開發週期,提供系統開發的正確性和效率。

模型驅動開發(MDD Model-Driven Development):一種新型軟件設計方法——面向模型的分析設計方法,系統一開始我們就首先確立實體模型Entity Model,以及它們之間的關係,進而可以交由程序員分別實現表現層、業務服務層和持久層,通過使用Jdon Framework(以下簡稱JF)等模型驅動框架,結合FDD等模型驅動的工程方法,從而正確無誤地、且快速高質量地完成一個軟件開發過程。

面向構件的開發是一種軟件開發手段,在開發週期的不同階段和不同方面——包括需求分析、結構、設計、建立、測試、上線、支撐性技術架構、項目管理等,都以構件爲基礎。
該定義把面向構件開發的外延,從運用面向構件的思路建立軟件,擴展到了整個軟件開發週期——它的所有階段和所有方面都以構件爲中心。如果希望構件可隨時用於組裝,這些構件必須作爲項目的零件來建造,此時面向構件顯得特別有優勢。確實,儘管這些構件尚未面世,用構件法來構思信息系統,仍是目前控制大型分佈式系統開發複雜度的最佳方法。

面向服務方法以粗粒度、鬆散耦合的系統功能爲核心,強調系統功能的標準化和構件化,加強了系統的靈活性、可複用性和可演化性。

面向服務的架構(SOA)是一個組件模型,它將應用程序的不同功能單元(稱爲服務)進行拆分,並通過這些服務之間定義良好的接口和協議聯繫起來。接口是採用中立的方式進行定義的,它應該獨立於實現服務的硬件平臺、操作系統和編程語言。這使得構件在各種各樣的系統中的服務可以以一種統一和通用的方式進行交互。

微服務是一個新興的軟件架構,就是把一個大型的單個應用程序和服務拆分爲數十個的支持微服務。一個微服務的策略可以讓工作變得更爲簡便,它可擴展單個組件而不是整個的應用程序堆棧,從而滿足服務等級協議。

微服務應用的一個最大的優點是,它們往往比傳統的應用程序更有效地利用計算資源。這是因爲它們通過擴展組件來處理功能瓶頸問題。這樣一來,開發人員只需要爲額外的組件部署計算資源,而不需要部署一個完整的應用程序的全新迭代。最終的結果是有更多的資源可以提供給其它任務。
微服務應用程序的另一個好處是,它們更快且更容易更新。當開發者對一個傳統的單體應用程序進行變更時,他們必須做詳細的QA測試,以確保變更不會影響其他特性或功能。但有了微服務,開發者可以更新應用程序的單個組件,而不會影響其他的部分。測試微服務應用程序仍然是必需的,但它更容易識別和隔離問題,從而加快開發速度並支持DevOps和持續應用程序開發。
第三個好處是,微服務架構有助於新興的雲服務,如事件驅動計算。類似AWS Lambda這樣的功能讓開發人員能夠編寫代碼處於休眠狀態,直到應用程序事件觸發。事件處理時才需要使用計算資源,而企業只需要爲每次事件,而不是固定數目的計算實例支付。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章