A. 學電腦編程有前途嗎
1.要入對門,先問問自己是否喜歡目前的工作,如果不喜歡趕緊該行,趁現在還年輕。
2.興趣是很重要的,興趣是成功的動力,如果你覺得喜歡編程,打心裡喜歡寫程序,覺得寫出程序心裡新有成就感那麼就繼續幹下去。
3.提早規劃,趁現在年輕,早點給自己規劃一下,比別人早做准備自然就早達到成功。
以上是個人幾點總結,不是上面大道理,覺得有幫助就頂下吧!
B. 計算機程序設計將來有什麼發展
首先說一說進入計算機專業的目的,我個人是因為十分喜歡IT業,很喜歡折騰電腦,所以在填報志願是毫不猶豫的在報了的所有的學校都填寫的計算機專業,夢想著進入計算機專業後能遇見很多高手,能交到幾個知己,誰之進來後卻大失所望。計算機專業的學生有很多以前對計算機不怎麼了解,而且還有部分人進大學前連計算機摸都沒摸過,對計算機很熟悉的很少,高手更是鳳毛麟角,大多數人是服從了父母之命,顯而易見,目前社會最熱的行業是IT業,工資最高的也是IT業,抱著這個因素,大多數考生的父母都讓自己的孩子進入了計算機專業,而大多數學生也天真的認為從計算機專業畢業後就能夠像電視里演的大多數白領一樣每天只用坐在辦公室里和同事們聊聊天,和老闆吃吃飯,每天簽幾個字然後就有高工資等著你去拿。 進校後他們發現其實他們在專業課方面什麼都聽不懂,自己也一點興趣都沒有,沒有興趣那就沒有學習的動力,而且這個專業是要靠悟性的,而興趣是培養悟性的第一步,然後他們會發現越往後學專業課越難,也越聽不懂,好一點的就會狠下心來,硬著頭皮苦學一通,有可能也就能走出一片路來,而不好的就會就此放棄,只需要混著考試通過,混畢業,找個單位安心上班。有些人上了幾年學連自己上哪些課都不知道;拿個程序他分不清是用C語言寫的還是用PASCAL寫的;不小心進了DOS不知道怎麼再回到WINDOWS。但說起游戲來頭頭是道,好像每個都是職業玩家一樣,有的每天只知道泡在網吧。這就是中國計算機人才下一代的悲哀! 再說現在計算機專業大學生的學習和生活。大多數計算機專業的學生對本專業的發展及前景一無所知,每天都是看小說、玩游戲、看電影、打牌、喝酒、睡覺等等很有"前途"的事情。偶爾看見一兩個同學看看與計算機專業有關的書,跑去拿來一看,全是什麼"游戲攻略"、"黑客秘技"等此類書籍。還有的人連C語言和C++誰是誰都還沒搞清楚,就拿本VC的書"刻苦鑽研",真不知他們看懂了沒有。好多學生都買了電腦,但用處都是游戲機+碟機+音響,每天都在用電腦玩著各種流行的游戲、看著最新的大片、聽著時尚的音樂,就是不用電腦學習。有的學生甚至問我電腦除了玩游戲還能幹什麼,我問他你為什麼這么問,他告訴我他覺得電腦只能用來玩游戲,不知道還能不能乾乾別的什麼。據我了解,近幾年在國內好幾所高校的計算機專業的畢業生的畢業設計竟然是做網頁,在大學了四年,學完了《數據結構》、《軟體工程》、《C語言》等專業課後,竟然交了一個沒有學過計算機的人自學一兩天就能做好的東西! 這就是大多數計算機專業的學生,在我在大學玩了兩年之後,我突然明白該為自己的未來打算打算了,但還有許多人仍然還什麼都不明白,所以就有了這篇文章。 如果你是以上我說的那種受父母之命來學計算機的學生,如果你看了《計算機應用文摘》第15期《寫給想當程序員的朋友》一文後,發現自己沒有當程序員的慾望,那麼我這里有幾條路給你選擇: 1、**頁製作,將來去網站工作! 2、學習3D MAX等軟體,去作動畫! 3、學習美術設計! 4、網路,將來考個CCNA,去專業組網! 5、在保證能順利畢業的前提下,去瘋狂玩游戲,做個職業玩家或做一個或幾個網路游戲的GM。(我身邊就有這樣的人) 6、以上五條都與計算機有關,要有一定的專業知識,但比起你的專業課簡單多了。如果你看到這里還不覺得有適合你乾的,那這條最適合你:在你們學校去修雙學位,修一個自己感興趣的專業,計算機真的不適合你! 如果以上幾條有適合你的,那麼你就努力去做適合你的那一片天地,去看雜志的下一篇文章,下面的文字你看了只會浪費你的時間。 如果你是計算機專業的在校大學生,而且想當軟體設計師,那麼請往下看: 1、大學生活豐富多彩,會令你一生都難忘,但難忘有很多種,你可以學了很多東西而難忘,也會因為什麼都沒學到而難忘! 2、計算機專業是一個很枯燥的專業,但即來之、則安之,只要你努力學,也會發現其中的樂趣的。 3、記住:萬丈高樓平地起!基礎很重要,尤其是專業基礎課,只有打好基礎才能學得更深。 4、C語言是基礎,很重要,如果你不學好C語言,那麼什麼高級語言你都學不好。 5、C語言與C++語言是兩回事。就象大熊貓和小熊貓一樣,只是名字很像! 6、請先學習專業課《數據結構》、《計算機組成原理》,不要剛開始就拿著一本VC在看,你連面向對象都搞不清楚,看VC沒有任何用處。 7、對編程有一定的認識後,就可以學習C++了。(是C++而不是VC,這兩個也是兩碼事!C++是一門語言,而VC教程則是講解如何使用MFC類庫,學習VC應建立在充分了解C++的基礎之上。看VC的書,是學不了C++語言的。) 8、學習編程的秘訣是:編程,編程,再編程; 9、認真學習每一門專業課,那是你的吃飯碗。 10、在學校的實驗室就算你做錯一萬次程序都不會有人罵你,如果你在公司你試試看!所以多去實驗室上機,現在錯的多了,畢業後就錯的少了。 11、從現在開始,在寫程序時就要養成良好的習慣。 12、不要漏掉書中任何一個練習題--請全部做完並記錄下解題思路。 13、你會買好多參考書,那麼請把書上的程序例子親手輸入到電腦上實踐,即使配套光碟中有源代碼。 14、VC、C#、.NET這些東西都會過時,不會過時的是數據結構和優秀的演算法! 15、記住:書到用時方恨少。不要讓這種事發生在你身上,在學校你有充足的時間和條件讀書,多讀書,如果有條件多讀原版書,你要知道,當一個翻譯者翻譯一本書時,他會不知不覺把他的理念寫進書中,那本書就會變得像雞肋! 16、我還是強調認真聽專業課,因為有些課像《數據結構》、《編譯原理》、《操作系統》等等,這種課老師講一分鍾能讓你明白的內容,你自己看要看好幾個月,有的甚至看了好幾年都看不明白。 17、抓住在學校里的各種實踐的機會,要為自己積累經驗,就業時經驗比什麼都有用。 18、多去圖書館,每個學校的圖書館都有很多好書等你去看! 19、編程不是技術活,而是體力活。 20、如果你決定了要當一個好的軟體設計師,那麼請你放棄游戲,除非你是那種每天只要玩游戲就能寫出好程序的天才! 21、你要有足夠的韌性和毅力!有個高手出了一道題測試你的韌性和毅力:找個10000以內的素數表,把它們全都抄下來,然後再檢查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。 22、找到只屬於你自己的學習方法!不要盲目的追隨別人的方法,適合自己的才是最好的! 23、請熱愛軟體設計這項工作! 以上的話有些是我的經驗,有些是我從高手那裡直接COPY來的,但他們都很有用,記住他們,並遵守他們,那你們一定會成功! 對於大多數初學者來說,好多人有這種問題存在:我到底先學什麼?學C/C++?還是學VC?還是學Borland C++ Builder呢?還是 Delphi?哪一個更好呢?學習程序設計和學習程序設計語言究竟是怎麼一個關系?初學者究竟應該如何取捨呢?就這些問題,我從一個高手那裡看了一下的這段話,可以幫助在這方面有問題的人:學習程序設計就好比學習射擊,而程序設計語言就對應射擊中的氣槍、手槍、步槍等各種槍械。學習射擊必須要選擇一種槍械,不可能沒有槍還能學好射擊的,也不可能同時學會使用所有的槍械。但是,如果掌握一種槍械的射擊,再學別的也就觸類旁通了。因為在熟悉一種槍械的同時,也學習了射擊技術本身。再學其他的,自然事半功倍。學習程序設計也是一樣,必然要從學習一門程序設計語言開始入手。在學會系統的編程理念之後,用什麼工具都一樣! 之所以寫這篇文章呢是因為自己眼看身邊那麼多的同學一個個都"不務正業",荒廢了學業,心急如焚,自己也荒廢了好幾年,眼看微軟的Windows從3.X到現在的2003 Server,而中國的軟體業還是在原地踏步,難道我們真要每年等微軟給他的操作系統換一次名字,我們給他交一次錢嗎?這么大的利潤為什麼不留給我們自己,為什麼不讓別的國家給我們交錢呢?這是廣大中國軟體工程師的一個共同的夢,要實現這個夢的人是現在還在大學里的"軟體設計師"們,他們是中國軟體明天的希望!希望廣大計算機業的大學生看到這篇文章後,睡覺的能醒來,玩游戲的能停下來,在網吧的能出來,一起拿起課本,坐在電腦前,用程序寫出中國軟體業明天的輝煌。
C. 計算機編程的領域有哪些
進入這個行業,學習和使用技術是必須首先要做的。怎麼學?一是自學,但是我覺得會有很多困難要面對,甚至彎路要走,常常可能苦思冥想幾天的知識點,明白人一句話就說明白了。而且這和大學的課程不一樣,不是把書看懂了背會了就可以了,最後是要落實到「用」。二是針對個人需要通過培訓,系統學習。這里需要說明我不是打廣告!現在的培訓確實魚龍混雜,但好的培訓學習確實快速使「准軟體開發人」通過系統規范的學習很快度過「入門階段」,也就是老話說的「師傅領進門」,具體機構的師資,技術課程體系,具體考察後,選擇最適合你的。總之我覺得,在無法直接進入軟體行業之前,培訓學習還是可以考慮的方案。
計算機專業主要方向:
1 軟體開發(主要專業:計算機科學與技術(傳統計算機專業),軟體工程等),就是編寫代碼,開發程序。有多種開發語言C/C++,JAVA,C#等。
註:系統開發,網路編程和大型游戲還是需要學好C/C++(個人認為較難點),手機游戲需要學會JAVA。工程項目的系統軟體開發,常用的是JAVA/JavaEE和C#/.NET,還有些中小型開發常用的技術Delphi,PB,PHP,ASP等等。
很多人都是從C語言開始接觸編程的,它是經典,也很強大,具有承上啟下的地位,可以為今後打下良好的基礎。
2 計算機網路技術(主要專業:通信,網路安全與管理等),界定很寬泛,網路領域和計算機一樣,發展方向細化的很詳細了,完全可以獨立劃出計算機專業行列,主要涉及領域有通信協議,網路信息安全等等。
3 電子專業 傾向於硬體,單片機,嵌入式等
硬體方面,感覺比軟體難學的多,難就難在學習實踐的環境比較難找,比如嵌入式,大型機,絕不像軟體學習,有個電腦連個網就齊活了,呵呵。也正因此它的含金量絕不低於軟體,更主要它還比軟體技術相對來說發展「穩定」,也就是俗話說的「越老越吃香」的現象更明顯,更多的是個積累。
4 計算機應用技術,傾向於「應用」,本科這個專業很少見,多見於專科。研究生好像也有這個專業吧,但「此應用非彼應用」了!計算機應用就是大雜燴,什麼都學,軟體、硬體、網路、資料庫,但都是皮毛,目標是結合其他行業領域的特點使用計算機。比如:工業設計/制圖,動漫/flash,多媒體處理等等。
5 信息管理專業,文科轉過來可能有幫助,因為也有管理方面課程,計算機方面學的多,但都不深入,理論多一些。
D. 第一次討論+黨的十八大以來,中國在通信領域取得了哪些重大的成就
咨詢記錄 · 回答於2021-09-28
E. 軟體開發所取得的成就有哪些
面向對象(Object Oriented,OO)是當前計算機界關心的重點,它是90年代軟體開發方法的主流。面向對象的概念和應用已超越了程序設計和軟體開發,擴展到很寬的范圍。如資料庫系統、互動式界面、應用結構、應用平台、分布式系統、網路管理結構、CAD技術、人工智慧等領域。
談到面向對象,這方面的文章非常多。但是,明確地給出對象的定義或說明對象的定義的非常少——至少我現在還沒有發現。其初,「面向對象」是專指在程序設計中採用封裝、繼承、抽象等設計方法。可是,這個定義顯然不能再適合現在情況。面向對象的思想已經涉及到軟體開發的各個方面。如,面向對象的分析(OOA,Object Oriented Analysis),面向對象的設計(OOD,Object Oriented Design)、以及我們經常說的面向對象的編程實現(OOP,Object Oriented Programming)。許多有關面向對象的文章都只是講述在面向對象的開發中所需要注意的問題或所採用的比較好的設計方法。看這些文章只有真正懂得什麼是對象,什麼是面向對象,才能最大程度地對自己有所裨益。這一點,恐怕對初學者甚至是從事相關工作多年的人員也會對它們的概念模糊不清。
面向對象是當前計算機界關心的重點,它是90年代軟體開發方法的主流。面向對象的概念和應用已超越了程序設計和軟體開發,擴展到很寬的范圍。如資料庫系統、互動式界面、應用結構、應用平台、分布式系統、網路管理結構、CAD技術、人工智慧等領域。
一、傳統開發方法存在問題
1.軟體重用性差
重用性是指同一事物不經修改或稍加修改就可多次重復使用的性質。軟體重用性是軟體工程追求的目標之一。
2.軟體可維護性差
軟體工程強調軟體的可維護性,強調文檔資料的重要性,規定最終的軟體產品應該由完整、一致的配置成分組成。在軟體開發過程中,始終強調軟體的可讀性、可修改性和可測試性是軟體的重要的質量指標。實踐證明,用傳統方法開發出來的軟體,維護時其費用和成本仍然很高,其原因是可修改性差,維護困難,導致可維護性差。
3.開發出的軟體不能滿足用戶需要
用傳統的結構化方法開發大型軟體系統涉及各種不同領域的知識,在開發需求模糊或需求動態變化的系統時,所開發出的軟體系統往往不能真正滿足用戶的需要。
用結構化方法開發的軟體,其穩定性、可修改性和可重用性都比較差,這是因為結構化方法的本質是功能分解,從代表目標系統整體功能的單個處理著手,自頂向下不斷把復雜的處理分解為子處理,這樣一層一層的分解下去,直到僅剩下若干個容易實現的子處理功能為止,然後用相應的工具來描述各個最低層的處理。因此,結構化方法是圍繞實現處理功能的「過程」來構造系統的。然而,用戶需求的變化大部分是針對功能的,因此,這種變化對於基於過程的設計來說是災難性的。用這種方法設計出來的系統結構常常是不穩定的 ,用戶需求的變化往往造成系統結構的較大變化,從而需要花費很大代價才能實現這種變化。
二、面向對象的基本概念
(1)對象。
對象是人們要進行研究的任何事物,從最簡單的整數到復雜的飛機等均可看作對象,它不僅能表示具體的事物,還能表示抽象的規則、計劃或事件。
(2)對象的狀態和行為。
對象具有狀態,一個對象用數據值來描述它的狀態。
對象還有操作,用於改變對象的狀態,對象及其操作就是對象的行為。
對象實現了數據和操作的結合,使數據和操作封裝於對象的統一體中
(3)類。
具有相同或相似性質的對象的抽象就是類。因此,對象的抽象是類,類的具體化就是對象,也可以說類的實例是對象。
類具有屬性,它是對象的狀態的抽象,用數據結構來描述類的屬性。
類具有操作,它是對象的行為的抽象,用操作名和實現該操作的方法來描述。
(4)類的結構。
在客觀世界中有若干類,這些類之間有一定的結構關系。通常有兩種主要的結構關系,即一般--具體結構關系,整體--部分結構關系。
①一般——具體結構稱為分類結構,也可以說是「或」關系,或者是「is a」關系。
②整體——部分結構稱為組裝結構,它們之間的關系是一種「與」關系,或者是「has a」關系。
(5)消息和方法。
對象之間進行通信的結構叫做消息。在對象的操作中,當一個消息發送給某個對象時,消息包含接收對象去執行某種操作的信息。發送一條消息至少要包括說明接受消息的對象名、發送給該對象的消息名(即對象名、方法名)。一般還要對參數加以說明,參數可以是認識該消息的對象所知道的變數名,或者是所有對象都知道的全局變數名。
類中操作的實現過程叫做方法,一個方法有方法名、參數、方法體。消息傳遞如圖10-1所示。
二、面向對象的特徵
(1)對象唯一性。
每個對象都有自身唯一的標識,通過這種標識,可找到相應的對象。在對象的整個生命期中,它的標識都不改變,不同的對象不能有相同的標識。
(2)分類性。
分類性是指將具有一致的數據結構(屬性)和行為(操作)的對象抽象成類。一個類就是這樣一種抽象,它反映了與應用有關的重要性質,而忽略其他一些無關內容。任何類的劃分都是主觀的,但必須與具體的應用有關。
(3)繼承性。
繼承性是子類自動共享父類數據結構和方法的機制,這是類之間的一種關系。在定義和實現一個類的時候,可以在一個已經存在的類的基礎之上來進行,把這個已經存在的類所定義的內容作為自己的內容,並加入若干新的內容。
繼承性是面向對象程序設計語言不同於其它語言的最重要的特點,是其他語言所沒有的。
在類層次中,子類只繼承一個父類的數據結構和方法,則稱為單重繼承。
在類層次中,子類繼承了多個父類的數據結構和方法,則稱為多重繼承。
在軟體開發中,類的繼承性使所建立的軟體具有開放性、可擴充性,這是信息組織與分類的行之有效的方法,它簡化了對象、類的創建工作量,增加了代碼的可重性。
採用繼承性,提供了類的規范的等級結構。通過類的繼承關系,使公共的特性能夠共享,提高了軟體的重用性。
(4)多態性(多形性)
多態性使指相同的操作或函數、過程可作用於多種類型的對象上並獲得不同的結果。不同的對象,收到同一消息可以產生不同的結果,這種現象稱為多態性。
多態性允許每個對象以適合自身的方式去響應共同的消息。
多態性增強了軟體的靈活性和重用性。
三、面向對象的要素
(1)抽象。
抽象是指強調實體的本質、內在的屬性。在系統開發中,抽象指的是在決定如何實現對象之前的對象的意義和行為。使用抽象可以盡可能避免過早考慮一些細節。
類實現了對象的數據(即狀態)和行為的抽象。
(2)封裝性(信息隱藏)。
封裝性是保證軟體部件具有優良的模塊性的基礎。
面向對象的類是封裝良好的模塊,類定義將其說明(用戶可見的外部介面)與實現(用戶不可見的內部實現)顯式地分開,其內部實現按其具體定義的作用域提供保護。
對象是封裝的最基本單位。封裝防止了程序相互依賴性而帶來的變動影響。面向對象的封裝比傳統語言的封裝更為清晰、更為有力。
(3)共享性
面向對象技術在不同級別上促進了共享
同一類中的共享。同一類中的對象有著相同數據結構。這些對象之間是結構、行為特徵的共享關系。
在同一應用中共享。在同一應用的類層次結構中,存在繼承關系的各相似子類中,存在數據結構和行為的繼承,使各相似子類共享共同的結構和行為。使用繼承來實現代碼的共享,這也是面向對象的主要優點之一。
在不同應用中共享。面向對象不僅允許在同一應用中共享信息,而且為未來目標的可重用設計准備了條件。通過類庫這種機制和結構來實現不同應用中的信息共享。
4.強調對象結構而不是程序結構
四、面向對象的開發方法
目前,面向對象開發方法的研究已日趨成熟,國際上已有不少面向對象產品出現。面向對象開發方法有Coad方法、Booch方法和OMT方法等。
1.Booch方法
Booch最先描述了面向對象的軟體開發方法的基礎問題,指出面向對象開發是一種根本不同於傳統的功能分解的設計方法。面向對象的軟體分解更接近人對客觀事務的理解,而功能分解只通過問題空間的轉換來獲得。
2.Coad方法
Coad方法是1989年Coad和Yourdon提出的面向對象開發方法。該方法的主要優點是通過多年來大系統開發的經驗與面向對象概念的有機結合,在對象、結構、屬性和操作的認定方面,提出了一套系統的原則。該方法完成了從需求角度進一步進行類和類層次結構的認定。盡管Coad方法沒有引入類和類層次結構的術語,但事實上已經在分類結構、屬性、操作、消息關聯等概念中體現了類和類層次結構的特徵。
3.OMT方法
OMT方法是1991年由James Rumbaugh等5人提出來的,其經典著作為「面向對象的建模與設計」。
該方法是一種新興的面向對象的開發方法,開發工作的基礎是對真實世界的對象建模,然後圍繞這些對象使用分析模型來進行獨立於語言的設計,面向對象的建模和設計促進了對需求的理解,有利於開發得更清晰、更容易維護的軟體系統。該方法為大多數應用領域的軟體開發提供了一種實際的、高效的保證,努力尋求一種問題求解的實際方法。
4.UML(Unified Modeling Language)語言
軟體工程領域在1995年~1997年取得了前所未有的進展,其成果超過軟體工程領域過去15年的成就總和,其中最重要的成果之一就是統一建模語言(UML)的出現。UML將是面向對象技術領域內佔主導地位的標准建模語言。
UML不僅統一了Booch方法、OMT方法、OOSE方法的表示方法,而且對其作了進一步的發展,最終統一為大眾接受的標准建模語言。UML是一種定義良好、易於表達、功能強大且普遍適用的建模語言。它融入了軟體工程領域的新思想、新方法和新技術。它的作用域不限於支持面向對象的分析與設計,還支持從需求分析開始的軟體開發全過程。
五、面向對象的模型
·對象模型
對象模型表示了靜態的、結構化的系統數據性質,描述了系統的靜態結構,它是從客觀世界實體的對象關系角度來描述,表現了對象的相互關系。該模型主要關心系統中對象的結構、屬性和操作,它是分析階段三個模型的核心,是其他兩個模型的框架。
1.對象和類
(1) 對象。
對象建模的目的就是描述對象。
(2) 類。
通過將對象抽象成類,我們可以使問題抽象化,抽象增強了模型的歸納能力。
(3) 屬性。
屬性指的是類中對象所具有的性質(數據值)。
(4) 操作和方法。
操作是類中對象所使用的一種功能或變換。類中的各對象可以共享操作,每個操作都有一個目標對象作為其隱含參數。
方法是類的操作的實現步驟。
2.關聯和鏈
關聯是建立類之間關系的一種手段,而鏈則是建立對象之間關系的一種手段。
(1) 關聯和鏈的含義。
鏈表示對象間的物理與概念聯結,關聯表示類之間的一種關系,鏈是關聯的實例,關聯是鏈的抽象。
(2) 角色。
角色說明類在關聯中的作用,它位於關聯的端點。
(3) 受限關聯。
受限關聯由兩個類及一個限定片語成,限定詞是一種特定的屬性,用來有效的減少關聯的重數,限定詞在關聯的終端對象集中說明。
限定提高了語義的精確性,增強了查詢能力,在現實世界中,常常出現限定詞。
(4) 關聯的多重性。
關聯的多重性是指類中有多少個對象與關聯的類的一個對象相關。重數常描述為「一」或「多」。
圖10-8表示了各種關聯的重數。小實心圓表示「多個」,從零到多。小空心圓表示零或一。沒有符號表示的是一對一關聯。
3.類的層次結構
(1) 聚集關系。
聚集是一種「整體-部分」關系。在這種關系中,有整體類和部分類之分。聚集最重要的性質是傳遞性,也具有逆對稱性。
聚集可以有不同層次,可以把不同分類聚集起來得到一顆簡單的聚集樹,聚集樹是一種簡單表示,比畫很多線來將部分類聯系起來簡單得多,對象模型應該容易地反映各級層次,圖10-10表示一個關於微機的多極聚集。
(2)一般化關系。
一般化關系是在保留對象差異的同時共享對象相似性的一種高度抽象方式。它是「一般---具體」的關系。一般化類稱為你類,具體類又能稱為子類,各子類繼承了交類的性質,而各子類的一些共同性質和操作又歸納到你類中。因此,一般化關系和繼承是同時存在的。一般化關系的符號表示是在類關聯的連線上加一個小三角形,如圖10-11
4.對象模型
(1)模板。模板是類、關聯、一般化結構的邏輯組成。
(2)對象模型。
對象模型是由一個或若干個模板組成。模板將模型分為若干個便於管理的子塊,在整個對象模型和類及關聯的構造塊之間,模板提供了一種集成的中間單元,模板中的類名及關聯名是唯一的。
·動態模型
動態模型是與時間和變化有關的系統性質。該模型描述了系統的控制結構,它表示了瞬間的、行為化的系統控制
性質,它關心的是系統的控制,操作的執行順序,它表示從對象的事件和狀態的角度出發,表現了對象的相互行為。
該模型描述的系統屬性是觸發事件、事件序列、狀態、事件與狀態的組織。使用狀態圖作為描述工具。它涉及到事件、狀態、操作等重要概念。
1.事件
事件是指定時刻發生的某件事。
2.狀態
狀態是對象屬性值的抽象。對象的屬性值按照影響對象顯著行為的性質將其歸並到一個狀態中去。狀態指明了對象
對輸入事件的響應。
3.狀態圖
狀態圖是一個標準的計算機概念,他是有限自動機的圖形表示,這里把狀態圖作為建立動態模型的圖形工具。
狀態圖反映了狀態與事件的關系。當接收一事件時,下一狀態就取決於當前狀態和所接收的該事件,由該事件引起的狀態變化稱為轉換。
狀態圖是一種圖,用結點表示狀態,結點用圓圈表示;圓圈內有狀態名,用箭頭連線表示狀態的轉換,上面標記事件名,箭頭方向表示轉換的方向。
·功能模型
功能模型描述了系統的所有計算。功能模型指出發生了什麼,動態模型確定什麼時候發生,而對象模型確定發生的客體。功能模型表明一個計算如何從輸入值得到輸出值,它不考慮計算的次序。功能模型由多張數據流圖組成。數據流圖用來表示從源對象到目標對象的數據值的流向,它不包含控制信息,控制信息在動態模型中表示,同時數據流圖也不表示對象中值的組織,值的組織在對象模型中表示。圖10-15給出了一個窗口系統的圖標顯示的數據流圖。
數據流圖中包含有處理、數據流、動作對象和數據存儲對象。
1.處理
數據流圖中的處理用來改變數據值。最低層處理是純粹的函數,一張完整的數據流圖是一個高層處理。
2.數據流
數據流圖中的數據流將對象的輸出與處理、處理與對象的輸入、處理與處理聯系起來。在一個計算機中,用數據流來表示一中間數據值,數據流不能改變數據值。
3.動作對象
動作對象是一種主動對象,它通過生成或者使用數據值來驅動數據流圖。
4.數據存儲對象
數據流圖中的數據存儲是被動對象,它用來存儲數據。它與動作對象不一樣,數據存儲本身不產生任何操作,它只響應存儲和訪問的要求。
六、面向對象的分析
面向對象分析的目的是對客觀世界的系統進行建模。本節以上面介紹的模型概念為基礎,結合「銀行網路系統」的具體實例來構造客觀世界問題的准確、嚴密的分析模型。
分析模型有三種用途:用來明確問題需求;為用戶和開發人員提供明確需求;為用戶和開發人員提供一個協商的基礎,作為後繼的設計和實現的框架。
(一) 面向對象的分析
系統分析的第一步是:陳述需求。分析者必須同用戶一塊工作來提煉需求,因為這樣才表示了用戶的真實意圖,其中涉及對需求的分析及查找丟失的信息。下面以「銀行網路系統」為例,用面向對象方法進行開發。
銀行網路系統問題陳述: 設計支持銀行網路的軟體,銀行網路包括人工出納站和分行共享的自動出納機。每個分理處用分理處計算機來保存各自的帳戶,處理各自的事務;各自分理處的出納站與分理處計算機通信,出納站錄入帳戶和事務數據;自動出納機與分行計算機通信,分行計算機與撥款分理處結帳,自動出納機與用戶介面接受現金卡,與分行計算機通信完成事務,發放現金,列印收據;系統需要記錄保管和安全措施;系統必須正確處理同一帳戶的並發訪問;每個分處理為自己的計算機准備軟體,銀行網路費用根據顧客和現金卡的數目分攤給各分理處。
圖10-18給出銀行網路系統的示意圖。
(二)建立對象模型
首先標識和關聯,因為它們影響了整體結構和解決問題的方法,其次是增加屬性,進一步描述類和關聯的基本網路,使用繼承合並和組織類,最後操作增加到類中去作為構造動態模型和功能模型的副產品。
1.確定類
構造對象模型的第一步是標出來自問題域的相關的對象類,對象包括物理實體和概念。所有類在應用中都必須有意義,在問題陳述中,並非所有類都是明顯給出的。有些是隱含在問題域或一般知識中的。
按圖10-19所示的過程確定類
查找問題陳述中的所有名詞,產生如下的暫定類。
軟體 銀行網路 出納員 自動出納機 分行
分處理 分處理計算機 帳戶 事務 出納站
事務數據 分行計算機 現金卡 用戶 現金
收據 系統 顧客 費用 帳戶數據
訪問 安全措施 記錄保管
根據下列標准,去掉不必要的類和不正確的類。
(1) 冗餘類:若兩個類表述了同一個信息 ,保留最富有描述能力的類。如"用戶"和"顧客"就是重復的描述,因為"顧客"最富有描述性,因此保留它。
(2) 不相乾的類:除掉與問題沒有關系或根本無關的類。例如,攤派費用超出了銀行網路的范圍。
(3) 模糊類:類必須是確定的,有些暫定類邊界定義模糊或范圍太廣,如"記錄保管"就模糊類,它是"事務"中的一部分。
(4) 屬性:某些名詞描述的是其他對象的屬性,則從暫定類中刪除。如果某一性質的獨立性很重要,就應該把他歸屬到類,而不把它作為屬性。
(5) 操作:如果問題陳述中的名詞有動作含義,則描述的操作就不是類。但是具有自身性質而且需要獨立存在的操作應該描述成類。如我們只構造電話模型,"撥號"就是動態模型的一部分而不是類,但在電話撥號系統中,"撥號"是一個重要的類,它日期、時間、受話地點等屬性。
在銀行網路系統中,模糊類是"系統"、"安全措施"、"記錄保管"、"銀行網路"等。屬於屬性的有:"帳戶數據"、"收據"、"現金"、"事務數據"。屬於實現的如:"訪問"、"軟體"等。這些均應除去。
2.准備數據字典
為所有建模實體准備一個數據字典。准確描述各個類的精確含義,描述當前問題中的類的范圍,包括對類的成員、用法方面的假設或限制。
3.確定關聯
兩個或多個類之間的相互依賴就是關聯。一種依賴表示一種關聯,可用各種方式來實現關聯,但在分析模型中應刪除實現的考慮,以便設計時更為靈活。關聯常用描述性動詞或動詞片語來表示,其中有物理位置的表示、傳導的動作、通信、所有者關系、條件的滿足等。從問題陳述中抽取所有可能的關聯表述,把它們記下來,但不要過早去細化這些表述。
下面是銀行網路系統中所有可能的關聯,大多數是直接抽取問題中的動詞片語而得到的。在陳述中,有些動詞片語表述的關聯是不明顯的。最後,還有一些關聯與客觀世界或人的假設有關,必須同用戶一起核實這種關聯,因為這種關聯在問題陳述中找不到。
銀行網路問題陳述中的關聯:
·銀行網路包括出納站和自動出納機;
·分行共享自動出納機;
·分理處提供分理處計算機;
·分理處計算機保存帳戶;
·分理處計算機處理帳戶支付事務;
·分理處擁有出納站;
·出納站與分理處計算機通信;
·出納員為帳戶錄入事務;
·自動出納機接受現金卡;
·自動出納機與用戶介面;
·自動出納機發放現金;
·自動出納機列印收據;
·系統處理並發訪問;
·分理處提供軟體;
·費用分攤給分理處。
隱含的動詞片語:
·分行由分理處組成;
·分理處擁有帳戶;
·分行擁有分行計算機;
·系統提供記錄保管;
·系統提供安全;
·顧客有現金卡。
基於問題域知識的關聯:
·分理處僱傭出納員;
·現金卡訪問帳戶。
使用下列標准去掉不必要和不正確的關聯:
(1) 若某個類已被刪除,那麼與它有關的關聯也必須刪除或者用其它類來重新表述。在例中,我們刪除了"銀行網路",相關的關聯也要刪除。
(2) 不相乾的關聯或實現階段的關聯:刪除所有問題域之外的關聯或涉及實現結構中的關聯。如"系統處理並發訪問"就是一種實現的概念。
(3) 動作:關聯應該描述應用域的結構性質而不是瞬時事件,因此應刪除"自動出納機接受現金卡","自動出納機與用戶介面"等。
(4) 派生關聯:省略那些可以用其他關聯來定義的關聯。因為這種關聯是冗餘的。銀行網路系統的初步對象圖如圖10-20所示。其中含有關聯。
4.確定屬性
屬性是個體對象的性質,屬性通常用修飾性的名詞片語來表示.形容詞常常表示具體的可枚舉的屬性值,屬性不可能在問題陳述中完全表述出來,必須藉助於應用域的知識及對客觀世界的知識才可以找到它們。只考慮與具體應用直接相關的屬性,不要考慮那些超出問題范圍的屬性。首先找出重要屬性,避免那些只用於實現的屬性,要為各個屬性取有意義的名字。按下列標准刪除不必要的和不正確的屬性:
(1) 對象:若實體的獨立存在比它的值重要,那麼這個實體不是屬性而是對象。如在郵政目錄中,"城市"是一個屬性,然而在人口普查中,"城市"則被看作是對象。在具體應用中,具有自身性質的實體一定是對象。
(2) 定詞:若屬性值取決於某種具體上下文,則可考慮把該屬性重新表述為一個限定詞。
(3) 名稱:名稱常常作為限定詞而不是對象的屬性,當名稱不依賴於上下文關系時,名稱即為一個對象屬性,尤其是它不惟一時。
(4) 標識符:在考慮對象模糊性時,引入對象標識符表示,在對象模型中不列出這些對象標識符,它是隱含在對象模型中,只列出存在於應用域的屬性。
(5) 內部值:若屬性描述了對外不透明的對象的內部狀態,則應從對象模型中刪除該屬性。
(6) 細化:忽略那些不可能對大多數操作有影響的屬性。
5.使用繼承來細化類
使用繼承來共享公共機構,以次來組織類,可以用兩種方式來進行。
(1) 自底向上通過把現有類的共同性質一般化為父類,尋找具有相似的屬性,關系或操作的類來發現繼承。例如"遠程事務"和"出納事務"是類似的,可以一般化為"事務"。有些一般化結構常常是基於客觀世界邊界的現有分類,只要可能,盡量使用現有概念。對稱性常有助於發現某些丟失的類。
(2) 自頂向下將現有的類細化為更具體的子類。具體化常常可以從應用域中明顯看出來。應用域中各枚舉字情況是最常見的具體化的來源。例如:菜單,可以有固定菜單,頂部菜單,彈出菜單,下拉菜單等,這就可以把菜單類具體細化為各種具體菜單的子類。當同一關聯名出現多次且意義也相同時,應盡量具體化為相關聯的類,例如"事務"從"出納站"和"自動出納機"進入,則"錄入站"就是"出納站"和"自動出納站"的一般化。在類層次中,可以為具體的類分配屬性和關聯。各屬性和都應分配給最一般的適合的類,有時也加上一些修正。
應用域中各枚舉情況是最常見的具體化的來源。
6.完善對象模型
對象建模不可能一次就能保證模型是完全正確的,軟體開發的整個過程就是一個不斷完善的過程。模型的不同組成部分多半是在不同的階段完成的,如果發現模型的缺陷,就必須返回到前期階段去修改,有些細化工作是在動態模型和功能模型完成之後才開始進行的。
(1) 幾種可能丟失對象的情況及解決辦法:
·同一類中存在毫無關系的屬性和操作,則分解這個類,使各部分相互關聯;
·一般化體系不清楚,則可能分離扮演兩種角色的類
·存在無目標類的操作,則找出並加上失去目標的類;
·存在名稱及目的相同的冗餘關聯,則通過一般化創建丟失的父類,把關聯組織在一起。
(2) 查找多餘的類。
類中缺少屬性,操作和關聯,則可刪
F. 世界上在計算機網路領域成就最高的人
我知道一個人,不一定成就最高,不過說是中國IT領域第一牛人不為過,網路——宋展
G. 計算機網路領域的領軍人物有哪些
路易斯·普贊
在20世紀70年代早期,路易斯·普贊在分別位於法國、義大利和英國的地點之間建立起了一個創新性的連接數據網路。盡管這個網路只能連接幾十台電腦,但其簡單高效性為日後建立一個可以連接數百萬台電腦的網路指明了方向。普贊對於當今互聯網的建立功不可沒。如今他依然在為互聯網的進一步演變與提高振臂高呼。
英國女王伊麗莎白二世嘉獎了五位計算機網路先驅者。他們將分享剛設立的伊麗莎白女王工程獎(Queen Elizabeth Prize for Engineering)共計100萬英鎊(合160萬美元)的獎金。其中四位獲獎者都聞名於世,他們是:互聯網協議的創始人溫特•瑟夫(Vint Cerf)和鮑勃•康恩(Bob Kahn),萬維網之父蒂姆•伯納斯•李(Tim Berners Lee),成功發明首款網頁瀏覽器的馬克•安德森(Marc Andreessen)。然而,獲獎的第五人就相對少為人知。他就是路易斯•普贊(Louis Pouzin),一個喋喋不休的法國人,他對這個領域做出的貢獻完全稱得上舉足輕重。
在20世紀70年代早期,普贊在分別位於法國、義大利和英國的地點之間建立起了一個創新性的連接數據網路。盡管這個網路只能連接幾十台電腦,但其簡單高效性為日後建立一個可以連接數百萬台電腦的網路指明了方向。普贊的發明激發了瑟夫和康恩的想像力,他們兩位將普贊設計的許多方面都融入了他們的互聯網協議設計,而互聯網協議如今正驅動著整個互聯網的運行。然而,在20世紀70年代晚期,法國政府撤走了對普贊項目的資金支持。他眼看著互聯網席捲全球,最終自己的工作得到了證明。「對於路易斯來說,這份認可實在來得太遲,太遲了,」瑟夫說道,「這不公平。」
1931年出生在法國中部一個小村莊的普贊是在父親開的鋸木廠長大的。他被廠里那些危險的機器——除了電鋸,還有發動電鋸的蒸汽機——深深地吸引了,但父親不許他碰,只給了他一個麥卡諾(Meccano,商標名,主要是鋼鐵組合的模型玩具)的建築工具箱用以修木。普贊的父母鼓勵他去法國最知名的理工大學——巴黎綜合理工大學(École Polytechnique)求學。畢業後,他為法國國營的郵政、電報和電信供應商(PTT)設計出了一套機械工具。
然而,在20世紀50年代,普贊在《世界報》(Le Monde,法國第二大全國性日報,是法國在海外銷售量最大的日報。)上讀到了從辦公用品供應商的年度展覽會上發來的一篇報道,在其中美國技術公司IBM承諾不久後就會推出能夠處理各種官僚文書苦差的電腦產品。沉醉於電腦化的潛力,普贊跳槽去了IBM在法國的競爭對手布爾集團(Bull)。在那兒他手下有十幾位工程師,齊力為那台「在雙層兩室的空間中才能擺得下」而且時而抽風的計算機Gamma 60(譯者註:布爾公司於1960年開發的超級計算機,技術水平與歐美不相上下)打造應用軟體。然而這項工作的嚴密與苛刻——以及布爾與美國無線電公司(RCA)的合作——暴露了普贊能力的局限。「我意識到,如果我不能學會編程或英語,就無法在計算機行業立足,」他回憶說。
隨後普贊利用兩年公休假前往美國麻省理工學院(Massachusetts Institute of Technology)進修,成功地完成了給自己定下的這兩大任務。20世紀60年代早期,普贊舉家移民美國,並加入了一個致力於分時系統研發的先鋒小組,分時系統旨在通過允許多個用戶同時在一台計算機上運行多個程序,以期使昂貴的大型主機達到更高的利用率。普贊設計出了一款叫作RUNCOM的程序,可以幫助用戶自動設定一些單調重復的指令。他本人將那款程序描述為包裹在電腦呼吸內臟外的一個「殼」,這既為一整類軟體工具「命令行介面」(command-line shells)的產生貢獻了靈感,也是其名稱的來源。如今,命令行介面仍在現代操作系統中發揮作用。
這個法國人的異議
在20世紀60年代晚期法國政客就啟動了一項意在振興國家計算機產業的宏偉計劃。1971年,政府叫板國資計算機科學研究機構——法國信息與自動化研究所(IRIA:Institut de Recherche d'Informatique et d'Automatique),開始了建立一個全國性計算機網路的研究。普贊被聘為項目負責人,這個項目也就是著名的CYCLADES。
在這期間,普贊訪問了美國多所大學去學習更多有關阿帕網(ARPANET:Advanced Research Projects Agency Network)的知識。阿帕網由法國軍方注資,於兩年前接通,依靠一項前景廣闊的新技術「包交換」(packet switching)在電腦間傳輸數據。將所有的通信切分成固定大小的數據包並且允許電腦間可以相互傳遞數據包,這就意味著沒有必要在網路上的一對電腦間建立一個直接的連接。即使兩台電腦關聯甚少,也能夠完成連接,這就減少了成本,並且加強了網路的彈性。即使一個網路的連接失敗了,數據包也可以通過其它網路傳輸。
但在普贊看來,阿帕網的設計仍很保守低效。每台計算機都要依賴復雜的硬體才能連接上網路,因為阿帕網的設計包含了一個連接建立階段,在這段時間一對電腦間可以建立起一條通信網路連接路徑。連接建立後,數據包就會在這條路徑中有序地進行傳輸。
普贊的團隊想出了一個更高效的辦法。他們提出每個數據包都該被標記並作為一個單獨信息「數據報」(datagram)進行傳輸,而不是為一串數據包預設好一條傳輸的路徑。在阿帕網中,成串的數據包都嚴格按照一定的順序傳輸,就像火車的車廂一樣。而在CYCLADES網路中,每個數據包就像一輛單獨的汽車,可以依據目的地獨立地進行傳輸。就像拋接雜耍一樣將數據包還原排序的應該是接收數據的電腦而並非網路,如果某個數據包在傳輸過程中丟失了,接收電腦還可以發出重新傳輸的指令。
這種包交換的「無連接」傳輸模式降低了網路中對那種復雜昂貴的為數據包預設路徑的設備
需求。同時,這種簡易的傳輸系統也使不同網路間的銜接更為容易。第一條CYCLADES網路連接在1973年首次面世,架構於巴黎和格勒諾布爾(法國東南部城市)之間,得到了瑟夫和康恩的密切關注,這兩位科學家那時正在為如何趕超阿帕網絞盡腦汁。基於普贊CYCLADES系統中的無連接式數據報傳輸模式,瑟夫和康恩設計的TCP/IP協議棧如今仍在現代互聯網中運行著。
連接中斷
盡管CYCLADES系統的創新性折服了瑟夫和康恩,但這一發明卻激起了法國PTT公司及縱貫歐洲的其它國營電信供應商的敵意。這些公司的工程師們認為普贊的設計根本不值得信賴,也不滿CYCLADES解決網路智能這一問題的方式。普贊心知他的網路設計威脅到了PTT等國營公司的傳統商業模式,卻無意平息對方的憤怒。美國計算機科學家約翰•迪(John Day)回憶起1976年普贊做了一場尤其熱血沸騰的講座。「路易斯展示了一幅城堡的畫像,上面標著『PTT』,」他說,「從城堡的壁壘上垂下一條繩子,上面掛著PTT的用戶;其他人則一直在對城堡的高牆發動猛攻。」
在20世紀70年代,歐洲的國營電信運營商都在紛紛打造自己的數據網路,這些網路基於過去用在電話上的電路交換技術。「構造復雜,造價高昂,」普贊說道,「而這正是吸引他們的主要因素。」當時的法國總統喬治•蓬皮杜(Georges Pompidou)是支持IRIA的,但在蓬皮杜1974年去世後,法國政府轉而開始反對這一項目。1978年,政府將CYCLADES項目的預算大幅精簡。「他們說,『你此前的工作非常出色,現在是時候休息一下了,有空可以去逛逛公園放放風箏什麼的』,」普贊如是說道。
同年,PTT公司接通了TRANSPAC網路(法國遠程分組交換公用數據通信網),這是該公司自己設計的連接導向數據傳輸網路。「這簡直是大錯特錯,」普贊評價說,「就是一條死胡同。」但起初看來並非如此——TRANSPAC系統鞏固了Minitel的應用,Minitel是法國一家電話公司於1982年啟用的消費者-信息服務,其應用非常廣泛及成功。早在萬維網面世10年前,Minitel就能夠為法國市民提供網上銀行、旅遊預訂及色情聊天室服務。在20世紀90年代晚期,它的用戶就達到了2500萬。然而,事實卻證明,Minitel無法與互聯網媲美,最終被停用。
即使是在法國政府丟棄了CYCLADES項目20年後,普贊的原上級以及盟友莫里斯•阿列格雷(Maurice Allègre)依然對此痛惜不已。「我們本可以成為互聯網的先驅,」他在1999年寫道,「如今我們卻也只是用戶之一而已,遠遠比不上那些可以決定互聯網未來的大人物。」在這一打擊後,普贊開始轉向其它項目研究,最終步入了學術界。「我們浪費了這個偉人的眾多心血,」約翰•迪說,「法國走向互聯網技術的步伐比較滯緩,而這部分正是因為這一段歷史。但如今,網路既成事實,普贊就成了法國人的英雄。」
最終,在2003年,法國政府授予了普贊「榮譽軍團騎士級勛章」(Chevalier de la Légion d』Honneur),這是法國最高的獎勵之一。普贊現年82歲,名義上已經退休了。但是,隨著設計高雅的互聯網遭受到越來越多來自商業和政治的壓力,如同許多互聯網的先驅人物一樣,普贊仍在利用自己的名望推動著互聯網向更開放和更透明的程度發展。他直言不諱地批評互聯網管理的隨意性,在這個管理體系中一些關鍵性決定居然是由公司、慈善機構和出身名門的笨蛋拼起來的一群雜燴來敲定。他們中的大多數都紮根於美國,在很大程度上對世界其他國家的用戶不用擔負任何責任。普贊尤其擔心某五、六個互聯網大公司的聲勢逐漸壯大,而這會造成用戶會止步於「圍起來的花園」這種封閉的體驗,固定使用與這幾個公司相關的站點和應用程序。在普贊看來,這已經觸犯了互聯網開放的傳統。「在某種形式上,他們又在重造Minitel,」他這樣評價道。
「在過去的30年,互聯網本身並沒有任何變化,在100年後,它理應有所不同。」
普贊提到,近年來有80%被採用的新技術標準是美國工程師或美國企業設計的。他嘗試過游說議員對互聯網體製做一些改變,以使其更易被非英語用戶所理解。這場互聯網改革運動在2009年獲得了重要的一次勝利,當時ICANN(The Internet Corporation for Assigned Names and Numbers:互聯網名稱與數字地址分配機構),這個管理著互聯網地址系統的慈善機構,破例地批准了一項發給用中文、阿拉伯語及其它非西方語言腳本編寫的域名(包括網址)。
盡管有了這項決議,ICANN卻是普贊最大的顧慮之一。ICANN駐於加利福利亞,對美國商務部也不怎麼負責,近年來一直致力於提高其在國際互聯網領域的影響力。然而,某些政府卻覬覦ICANN手中的管理權——以及由網路專家組成的一個鬆散聯盟IETF(The Internet Engineering Task Force:互聯網工程任務組)的權利——政府希望把這些管理權轉給一個更傳統的國際組織如ITU(The International Telecommunication Union:國際電信聯盟),一個落滿灰塵的聯合國組織,長期以來主要負責管理電話事務。一旦移權給ITU這樣的官僚機構,就可能阻礙新標準的發展與採用。因此,許多國家就會得出這樣的結論:美國引領的互聯網現狀才是最好的選擇。普贊在考慮,將現有的國際機構分解重組生成一個新的組織是否會是一個更好的選擇。
雖然普贊本是一個工程師而並非活動者,他關注的焦點卻是互聯網的運作支撐體系不該食古不化,而應繼續演變與提高。「互聯網只是作為一個實驗性網路被創建了出來,」他說,「現在也仍然是。」他對美國、愛爾蘭、西班牙以及世界各地在努力讓互聯網變得更加高效安全的研究者們給予了很大支持。「在過去的30年,互聯網本身並沒有任何變化,」他評價說,「在100年後,它理應有所不同。」普贊對於當今互聯網的建立功不可沒,但這並不意味著,他想互聯網的發展止步不前。
H. 世界上在計算機網路領域成就最高的人
計算機領域包括的很廣。有成就的人就太多太多了。
隨便說個:
馮·諾依曼:美藉匈牙利人,提出丟十進制改用二進制依然沿用至今。。
I. 請問學習計算機技術除了編程還有什麼可以有好的發展前途
首先計算機是個工具,網路也是個工具。
計算機和計算機網路都是用來處理信息的工具,當然計算機出現的目的是為了計算。
不知道你目前是怎麼個情況,如果你還是學生或者還很年輕:
1,學習計算機,如果是學習計算機本身那就要學習離散數學,電子學這兩基礎課程,然後是操作系統。這些是計算機本身。如果用計算機,那就是計算機編程,當然你也可以使用計算機來繪圖,媒體編輯,等等只要是能數字化的工作都可以用計算機輔助來完成。
2,網路其實內容比較少,就是通信,通信同樣學習通信本身也就是離散數學,電子學這兩基礎課程,和最為重要的內容通信協議。
上面都是現在IT民工的工作,計算機網路就像現實生活一樣的大的信息化生存的生態圈,上面有很過事情可以做,如果你喜歡做破壞性工作,可以學習網路安全,走黑客的線路。自己網上找找吧。
J. 微軟在網路方面有哪些成就
惡意軟體代碼已經存在了數十年,但是只在最近幾年,由於互聯網、高速網路連接和數以百萬台新式計算機設備的出現,組成了真正意義上的全球網路,病毒和「蠕蟲」才有條件在短短幾分鍾內肆虐全球。
與此同時,黑客犯罪分子的手法也越來越猖獗,他們製造並散布了諸如Slammer、Blaster(沖擊波), Sobig(巨無霸、大無極)和 Mydoom(諾維格)等數字病毒,這些病毒像瘟疫一樣可以在瞬間大規模擴散,威脅著高科技驅動生產、商務和交流的潛在能量。
病毒攻擊的種類也在進化。例如Blaster(沖擊波),這種病毒攻擊個人電腦,將無辜的用戶在不知不覺的情況下變成了「蠕蟲」的傳播者。這些攻擊方式的特點是:「密集」的攻擊互相配合,產生成倍的、排山倒海式的效果,對安全構成了更大的威脅。這就要求IT專業人員和消費者提前採取預防性措施,同時也要求技術領域不斷革新和開發新的解決方案。
盡管未來充滿了各種挑戰,但微軟乃至整個業界都正在安全方面不斷取得重要的進展。本郵件將向您闡述微軟在安全的四個領域中所作的重大投入:
·隔離與恢復
·更新
·質量
·驗證與訪問控制
此外,我們還承諾在客戶教育和合作關系方面加大投入,因為這些將有助於加強計算環境的安全性和可靠性。
因為人的天性,不斷演進的威脅模式、越來越多的互聯計算機、以及安全惡意利用的數量永遠都不會有消失的一天,但是,我們仍然可以顯著地防範並減弱網路犯罪所帶來的影響。目前,我們正在把研發投入中相當大的一部分用在安全方面。
隔離與恢復
我們安全工作的中心任務是通過將惡意代碼隔離來防止惡意代碼探索到缺陷,並且提供對計算機程序對話方或協同工作的對象的更加有效的控制,使系統更加容易恢復,這樣系統就能夠識別並阻止可疑或者惡意的探索行為。
Windows XP Service Pack 2
我們正在隔離和恢復措施方面取得很多進展,這些進展將可以幫助我們的重點客戶對付操作系統所面臨的四種攻擊模式。Windows XP Service Pack 2 將在今年春夏之交面世。
網路保護
Windows 防火牆將在默認狀態下啟動,全局防火牆設置以及防火牆中心管理配置也將默認狀態下啟動。這些措施將減少病毒對個人電腦和網路的「攻擊面」。
安全網頁瀏覽
為了減弱惡意代碼以及那些會破壞計算機或欺騙用戶的網路站點帶來的沖擊,IE將自動屏蔽非請求的網站下載以及用戶不想要的自動彈出窗口,除非用戶點擊下載鏈接。 IT 管理員也可以對此功能進行管理,以便在機構內部保證策略的一致性。此外,無線設置也將得到改進,以加強家庭無線網路瀏覽的安全性。