Ⅰ 軟體設計中的框架和架構的區別
框架,即framework。其實就是某種應用的半成品,就是一組組件,供你選用完成你自己的系統。簡單說就是使用別人搭好的舞台,你來做表演。而且,框架一般是成熟的,不斷升級的軟體。
構架和架構也就是通常所說的軟體體系結構(software architecture).體系結構一般包括三個部分:構件,用於描述計算;連接器,用於描述構件的連接部分;配置,將構件和連接器組成一個有機整體.對體系結構比較嚴謹比較認可的定義可參見<軟體工程技術概論>(科學出版社).體系結構與框架(Framework)的區別與聯系如下:
1.呈現形式不同.體系結構的呈現形式是一個設計規約,而框架則是程序代碼.
2.目的不同.體系結構的首要目的大多是指導一個軟體系統的實施與開發;而框架的首要目的是為復用.因此,一個框架可有其體系結構,用於指導該框架的開發,反之不然.
3.有種特殊的體系結構,DSSA(領域特定體系結構)其首要目的也是為了復用.
4.有個叫體系結構風格的東西,將它用程序代碼實現後就成了Corba,COM之類的東西,它們倆叫體系結構框架,也叫中間件集成框架,又有人願意叫它對象中間件
Ⅱ 程序員,架構師,軟體工程師的區別
1、程序員,架構師,軟體工程師的能力要求不同,程序員是從事程序開發、程序維護人員,但是不擅長寫文檔。軟體工程師的技術要求比較全面,會熟練的寫語言代碼,也會寫一些項目的文檔。架構師是軟體開發過程中的重要人物,主要負責大系統項目的架構設計。
2、程序員,架構師,軟體工程師級別不同,程序員分為初級程序員、中級程序員,軟體工程師是從事軟體職業的人員的一種職業能力的認證,架構師是團隊領導型人物,是需要從資深軟體工程師裡面提升為架構師。
3、程序員,架構師,軟體工程師平均年薪不同,美國谷歌程序員的工資最低年薪平均水平為12.8336萬,軟體工程師平均工資較高,谷歌軟體工程師年薪平均水平為25-30萬美元,架構師的工資水平是最高的,谷歌大數據架構師年薪為50-60萬美元。
Ⅲ 請問軟體架構與軟體體系結構有什麼關系
軟體架構:整個軟體系統的各個模塊之間的結構設計,是軟體工程范疇的概念,就象設計一棟房子由幾個什麼樣的板塊組成一樣。
軟體體系結構:是軟體編程風格範疇的一個通俗概念,比如說用C++、PoworBuild、Delphi等來進行軟體設計是面向對象的編程語言體系結構,而Basic、C、Foxbase的軟體體系結構特點是面向任務流程的(不是面向對象的編程語言)。
Ⅳ 如何理解軟體管理和軟體工程、軟體架構的關系
這是我自己的理解!!
總的來說軟體工程包括管理和架構。軟體工程是採用工程的概念,原理,技術和方法萊卡法和維護軟體,以工程的原理和方法來解決軟體問題。軟體架構籠統的說就是設計出程序的「藍圖」,也就是好似蓋房子的骨架。是在軟體的詳細設計階段的工作。軟體管理則是從項目啟動就開始知道軟體退役後才終止的一組跟蹤和控制活動(因為客戶的需求在不斷變化,為了控制和管理變化)。
轉載請註明~~~原創!
Ⅳ 軟體構架師與軟體工程師的區別
軟體架構師是軟體行業中一種新興職業,工作職責是在一個軟體項目開發過程中,將客戶的需求轉換為規范的開發計劃及文本,並制定這個項目的總體架構,指導整個開發團隊完成這個計劃。主導系統全局分析設計和實施、負責軟體構架和關鍵技術決策的人員
軟體工程師是從事軟體開發相關工作的人員的統稱。它是一個廣義的概念,包括軟體設計人員、軟體架構人員、軟體工程管理人員、程序員等一系列崗位,工作內容都與軟體開發生產相關。
Ⅵ 有什麼比較好的軟體架構和軟體工程的書
1.軟體架構設計
作者: 溫昱
內容簡介:本書緊緊圍繞「軟體架構設計」這一主題,立足實踐解析了軟體架構的概念、闡述了切實可行的軟體架構設計方法、提供了可操作性極強的完整的架構設計過程。另外,本書從思維方式的突破、面向對象設計、UML建模、過程與管理等關鍵過渡環節,為廣大程序員的成長提供了切中肯綮的指導。本書可作為計算機軟體專業本科生、研究生和軟體工程碩士的軟體架構設計教材,也可作為軟體開發高級培訓、軟體開發管理培訓的培訓教材,更是第一線高級開發人員和開發管理人員的必備參考書。
作譯者介紹
溫昱,資深咨詢顧問,CSAI特聘高級顧問,軟體架構專家,軟體架構思想的傳播者和積極推動者。十年系統規劃、架構設計和研發管理經驗,在金融、航空、多媒體、網路管理、中間件平台等領域負責和參與多個大型系統的規劃、設計、開發與管理。在《程序員》雜志、IBM DeveloperWorks等媒體發表了《圖論思想與UML應用》、《敏捷設計從理論到實踐》、《隨需而變的RUP》等文章數十篇。譯著有《應用框架的設計與實現——NET平台》等。
作者: 溫昱
溫昱 資深咨詢顧問,CSAI特聘高級顧問,軟體架構專家。軟體架構思想的傳播者和積極推動者,中國軟體技術大會傑出貢獻專家。千年系統規劃、架構設計和研發管理經驗,在金融、航空、多媒體、電信、中間件平台等領域負責和參與多個大型系統的規劃、設計、開發與管理。作為資深咨詢顧問,已為眾多知名企業提供了卓有成效的架構培訓與咨詢服務。
同作者作品
軟體架構設計(09年度暢銷榜TOP50)
SQL語言藝術 (china-pub首發) (08年度暢銷榜TOP50)
一線架構師實踐指南(中大型系統架構設計指南)
2. 架構實戰—軟體架構設計的過程
原書名: The Process of Software Architecting
作者: (英)Peter EelesPeter Peter Cripps
譯者: 蔡黃輝 馬文濤
內容簡介:本書從基本原理入手,介紹軟體架構設計過程中涉及的一些概念、流程、方法、用到的工作產品及可重用的資源,從第6章開始,通過介紹一個具體的案例來闡述如何定義需求、創建邏輯架構、創建物理架構。在第10章「進階」中,作者補充說明了架構師和軟體開發項目其他方面的關系,後面又說明了各種軟體開發項目可能存在的困難及相應的處理方法。
本書理論結合實踐,介紹了一些可以應用到整個或部分的架構設計流程中的最佳方法。不管你是一位資深的架構師還是一位有志於成為架構師的初級使用者,通過閱讀本書都能從中獲益。
作譯者介紹
Peter Eeles 是IBM的高級IT架構師,他就職於IBM的Rational品牌軟體組。在這個職位上,他幫助組織提高軟體開發能力,尤其關注和致力於改進架構流程。Peter從1985年開始從事軟體行業,其主要工作是進行架構設計和實現大規模、分布式的系統。Peter是《Building J2EE Applications with the Rational Unified Process》(Addison?Wesley,2002)和《Building business Objects》(John Wiley & Sons,1998)的合著者。他還是英國計算機協會高級會員(FBCS)、工程技術協會(FIET)會員、IBM技術人員、Open Group
3. 面向模式的軟體架構.第4卷,分布式計算的模式語言(經典POSA系列的第4卷)
原書名: Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing
作者: (德)Frank Buschmann (英) Kevlin Henney (美)Douglas C. Schmidt
譯者: 肖鵬 陳立
內容簡介:本書關注分布式計算系統軟體的設計和實現。書中首先介紹理解本書內容所需的核心的模式概念,分布式計算的好處和挑戰;然後描述如何使用分布式計算模式語言,設計真實世界中倉庫管理流程式控制制系統;最後重點講述分布式計算模式語言,該語言陳述了創建分布式系統相關的技術主題。
作譯者介紹
Fralk Buschmann是德國慕尼黑西門子技術公司的高級總工程師。他的研究領域包括對象技術、軟體架構、產品線、模型驅動軟體開發和模式。他在該領域著作甚多,其中最引人注目的便是POSA系列的前兩卷[POSA1][POSA2]和最近的兩卷:本書和[POSA5]。Frank在1992年至1996年曾是ANSIC++標准化委員會X3J16的成員,於1996年發起了首屆EuroPLoP會議,與人合作匯編了數本模式方面的書籍[PLoPD3][SFHBS06],現任Wiley軟體設計模式叢書的主編。
譯者: 肖鵬
肖鵬,ThoughtWorks高級咨詢師,敏捷過程教練,面向對象分析和面向對象設計專家。擁有6年以上軟體開發實踐經驗,多次擔任國內大中型企業敏捷流程改進、面向對象分析和面向對象設計咨詢和培訓。他長期關注於設計模式、架構模式、敏捷軟體開發等領域,並致力於軟體開發最佳實踐的推廣和應用。
同作者作品
Visual Studio 2005技術大全(使.NET程序員事半功倍的利器)
Visual Studio 技術大全(微軟技術大師力作)
面向模式的軟體架構.第4卷,分布式計算的模式語言(經典POSA系列的第4卷)
Ⅶ 什麼是軟體工程的框架!
不是這樣的,框架一般都是固定的就那麼幾種,就如你理解的房地產,是不是套間是不是感覺所以房地產差不多就哪個樣,這個樣就如框架
Ⅷ 軟體工程流程、結構圖
50分買不到的,花錢或者找朋友做吧
Ⅸ 軟體工程中軟體結構圖和層次圖的異同
兩者之間沒有區別。兩者指的均是軟體構架,為軟體系統的草圖。
軟體工程中軟體結構圖和層次圖均是為了反映軟體系統中組件之間相互關系和約束的體系結構設計圖,屬於一系列相關的抽象模式,用於指導大型軟體系統各個方面的設計。
軟體結構圖(又被叫做軟體構架)一般通過分層次或分時間段等方式說明體系結構的各個組成部分的組合關系。描述的對象是直接構成系統的抽象組件,各個組件之間的連接則明確和相對細致地描述組件之間的通訊關系。
(9)軟體工程架構擴展閱讀:
其他介紹:
軟體結構圖包括架構元件、聯結器、任務流。所謂架構元素,也就是組成系統的核心磚瓦,而聯結器則描述這些元件之間通訊的路徑、通訊的機制、通訊的預期結果,任務流則描述系統如何使用這些元件和聯結器完成某一項需求。
通過一個軟體結構圖建造一個系統所作出的最高層次的、以後難以更改的,商業的和技術的決定。在建造一個系統之前會有很多的重要決定需要事先作出,而一旦系統開始進行詳細設計甚至建造,這些決定就很難更改甚至無法更改。顯然,這樣的決定必定是有關系統設計成敗的最重要決定,必須經過非常慎重的研究和考察。
Ⅹ 軟體工程中的主要體系結構有哪些,並說明區別
20世紀60年代的軟體危機使得人們開始重視軟體工程的研究。起初,人們把軟體設計的重點放在數據結構和演算法的選擇上,然而隨著軟體系統規模越來越大,對總體的系統結構設計和規格說明變得異常重要。隨著軟體危機程度的加劇,軟體體系結構(software architecture)這一概念應運而生。軟體體系結構著眼於軟體系統的全局組織形式,在較高層次上把握系統各部分之間的內在聯系,將軟體開發的焦點從成百上千的代碼上轉移到粒度較大的體系結構元素及其交互的設計上。與傳統軟體技術相比,軟體體系結構理論的提出不僅有利於解決軟體系統日益增加的規模和復雜度的問題,有利於構件的重用,也有利於軟體生產率的提高。面向方面軟體開發(AOSD)認為系統是由核心關注點(corn concern)和橫切關注點(cross-cutting concern)有機地交織在一起而形成的。核心關注點是軟體要實現的主要功能和目標,橫切關注點是那些與核心關注點之間有橫切作用的關注點,如系統日誌、事務處理和許可權驗證等。AOSD通過分離系統的橫切關注點和核心關注點,使得系統的設計和維護變得容易很多。
Extremara大學的Navasa等人[1]在2002年提出了將面向方面軟體開發技術引入到軟體體系結構的設計中,稱之為面向方面軟體體系結構(aspect oriented software architecture,AO-SA),這樣能夠結合兩者的優點,但是並沒有給出構建面向方面軟體體系結構的詳細方法。
盡管目前對於面向方面軟體體系結構這個概念尚未形成統一的認識,但是一般認為面向方面軟體體系結構在傳統軟體體系結構基礎上增加了方面構件(aspect component)這一新的構成單元,通過方面構件來封裝系統的橫切關注點。目前國內外對於面向方面軟體體系模型的研究還相對較少,對它的構成單元模型的研究更少,通常只關注方面構件這一構成單元。方面構件最早是由Lieberherr等人[2]提出的,它是在自適應可插拔構件(adaptive plug and play component,APPC)基礎之上通過引入面向方面編程(AOP)思想擴展一個可更改的介面而形成的,但它關於請求介面和服務介面的定義很模糊,未能給出一個清晰的方面構件模型。Pawlak等人[3]提出了一個面向方面的框架,該框架主要包含了一個方面構件模型———Java方面構件(Java aspect component,JAC),但該方面構件模型僅包含了切點(pointcut),並把AOP中裝備(advice)集成到了切點的表達式中,它主要從實現的角度進行了闡述,並沒有給出詳細的方面構件模型。本文沒有隻關注面向方面軟體體系結構中方面構件這一構成單元模型,還詳細分析了它的另外兩個構成單元,即構件和連接件,因為面向方面軟體體系結構各部分之間是相互關聯的。
1面向方面軟體體系結構相關概念
面向方面軟體體系結構涉及諸多概念,以下將分別介紹。軟體體系結構在軟體工程領域有著廣泛的影響,但當前仍未形成一個統一的、標準的定義。目前國內外普遍認可的看法是軟體體系結構包含構件、連接件和約束[4]。其中約束描述了體系結構配置和拓撲的要求,確定了體系結構的構件與連接件的連接關系。這樣就可以把軟體體系結構寫成
軟體體系結構(software architecture)=構件(components)+
連接件(connectors)+約束(constraints)
構件是軟體體系結構的基本元素之一。一般認為,構件是指具有一定功能、可明確辨識的軟體單位,並且具備語義完整、語法正確、有可重用價值的特點,然而目前對於構件的具體結構及構成並沒有一個統一的標准[5],而且一些主要的構件技術也沒有使用相同的構件類型。另外,當前被廣泛接受的構件定義並不包含具體的軟體構件模型(software component model)。例如,Szyperski等人[6]給出了軟體構件一個很有名的定義:軟體構件是一個僅帶特定契約介面和顯式語境依賴的結構單位,它可以獨立部署,易於第三方整合。但是關於軟體構件模型有一個被普遍接受的觀點是:軟體構件是一個具有服務提供和服務請求功能的軟體單元[7]。
連接件是軟體體系結構另一個基本的構成元素,是用來建立構件間交互以及支配這些交互規則的構造模塊。連接件最先是由Shaw[8]提出來的,她建議把連接件作為軟體體系結構中第一類實體,用來表示普通構件之間的交互關系。目前對於連接件尚未形成統一的認識,盡管在軟體體系結構中強調了連接件存在的必要性,但是關於連接件模型的研究還很少,連接件的實際應用還不成熟。
面向方面軟體體系結構在傳統軟體體系結構的基礎上增加了方面構件單元。通常認為,方面構件是封裝了系統橫切關注點的一類特殊的構件。目前關於方面構件模型的研究還處於起步階段。
2面向方面軟體體系結構模型
由於傳統軟體體系結構模型包含構件、連接件和約束,而面向方面軟體體系結構是在傳統軟體體系結構的基礎之上擴展了方面構件,所以面向方面軟體體系模型結構包含構件、連接件、方面構件和約束。其中約束描述了面向方面體系結構配置和拓撲的要求,確定了體系結構的構件、連接件和方面構件之間的連接關系,而構件、連接件、方面構件是它的三個基本的構成單元。以下對這三個構成單元的模型進行詳細的設計。