選擇第四題:ios
1.Dijkstra曾經提到:「Software engineering, of course,presents itself as another worthy cause,but that is eyewash: if you carefully read its literature and analyse what its devotees actually do,you will discover that software engineering has accepted as its charter ‘How to program if you cannot.’」[i]數據庫
軟件工程是否是教那些不怎麼會寫程序的人開發軟件? 你怎麼看?設計模式
答:我認爲不對,軟件工程不只僅能夠教會不會寫程序的人對軟件進行構架,它一樣也能夠教會不會編寫程序的人對軟件進行總體的分析與研究,是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟件的學科。它涉及到程序設計語言,數據庫,軟件開發工具,系統平臺,標準,設計模式等方面。在現代社會中,軟件應用於多個方面。典型的軟件好比有電子郵件,嵌入式系統,人機界面,辦公套件,操做系統,編譯器,數據庫,遊戲等。同時,各個行業幾乎都有計算機軟件的應用,好比工業,農業,銀行,航空,政府部門等。這些應用促進了經濟和社會的發展,使得人們的工做更加高效,同時提升了生活質量。所以,軟件工程呢個是幫助人們學習,開發更高級的軟件的。安全
課堂練習題:網絡
2.選一種你比較熟悉的軟件,點評它的優缺點,並描述此類軟件的發展歷史。併發
答:我選擇操做系統,操做系統有許多種,下面列舉常見的操做系統的優缺點。app
DOS:優勢:工具
1快捷,熟練的用戶能夠經過建立BAT或CMD批處理文件完成一些煩瑣的任務。性能
2速度快,安全,價格便宜。
缺點:
1平常應用功能不豐富,(沒有圖形界面)命令行操做不直觀,對設備的支持比較少
2不少設備的大部分程序都不能在DOS環境下執行。
Windows:優勢:
1圖形界面良好,擁有良好的集成開發環境,操做簡單。提供了一個可伸縮的高性能平臺。
2整合常見應用軟件,簡單,快捷,方便。適合電腦城銷售人員及維修商快速裝機。
缺點:
1.系統更新落後,漏洞較多,不穩定,易受病毒和木馬的攻擊;
2.自帶軟件版本較低,須要自行卸載升級;
3.全部軟件和程序預裝在C盤,加劇系統負擔,即便卸載,仍有殘餘大量垃圾碎片文件,容易拖慢系統。
UNIX:優勢:
1因爲附帶源代碼,用戶能夠分析它,更改它。文件系統小巧,簡單。
2將全部的設備用文件表示,可以使用與處理文件相同的命令和系統調用集訪問設備。
3 具備可移植性。
缺點:
1 UNIX 系統的標準1/O 庫相對其底層的系統調用接口已變得愈來愈複雜了。
2 傳統的UNIX 內核不夠靈活,不具有很好的可擴充性,也不多代碼複用的設施。
Linux:優勢:
1安全、易維護、穩定。
2軟件自由/開源
3低成本- 大多數
4透明公開- 絕大多數GNU/Linux 是開放開發的。
缺點:
1缺失的應用軟件和遊戲- 您會失去一些熟知的應用程序。
2缺乏硬件支持- 絕大多數硬件是支持的,但不是所有
3尋求幫助更難- 一般朋友、家人、同事不能幫您解決GNU/Linux 相關問題,因此您須要在線獲取幫助。
發展歷程:
我認爲操做系統到目前爲止經歷了三代,並即將進入第四代。第一代是以dos爲表明的磁盤操做系統時代,以磁盤管理的方式來管理內容。其管理的內容,是本地化的內容。因此也是本地操做系統時代。
第二代是以Windows爲表明的文件操做系統時代,以文件管理的方式來管理內容。這一代操做系統的特色是,由操做系統直接管理內容,讓用戶與內容直接接觸,而其內容呈現方式也是文件自己。其管理的內容,仍然主要是本地化的內容。因此仍然也是本地操做系統時代。
第三代是以安卓和ios爲表明的應用操做系統時代,應用成爲主要的管理內容的工具。在內容和操做系統之間,隔了一層,應用替代了操做系統去實現更方便、更有效的管理內容的功能。而其內容呈現方式也是以應用的方式呈現,用戶再也不直接接觸內容自己。因此雖然安卓也有文件管理器這樣的應用,但已經被極大的弱化了。而ios則根本就沒用文件管理器這一說法。這個時代的操做系統,其管理的內容,本地化屬性也已經極大的下降了,更多的則強調了在線。因此也是線上操做系統時代。試問如今買個智能手機,若是沒有了網絡,還能玩個啥。
第四代,則是即未來臨的時代,超級app凌駕於操做系統之上的時代。在第三代的應用操做系統時代,app已經開始越過操做系統來管理內容了。但由於不一樣類型的數據存在各自的邊界,這致使app太分散,入口太多。而到了第四階段,內容承載無邊界的超級app,則將接管全部的內容。而在文件操做系統時代,超級app是不可能存在的。就是說,用戶再也不經過各類應用來管理內容,而會經過超級app來管理內容。服務與應用,都以輕應用的方式裝載到超級app之上。而其管理的內容,恰好遇到互聯網雲時代的來臨,將全面的雲端化。
3.選取三種軟件,請分析他們各自的特色
操做系統特色:
一、併發性併發性:是指兩個或兩個以上的事件或活動在同一時間間隔內發生。操做系統是一個併發系統,併發性是它的重要特徵,操做系統的併發性指它應該具備處理和調度多個程序同時執行的能力。多個 I/O設備同時在輸入輸出;設備 I/O和 CPU計算同時進行;內存中同時有多個系統和用戶程序被啓動交替、穿插地執行,這些都是併發性的例子。發揮併發性可以消除計算機系統中部件和部件之間的相互等待,有效地改善系統資源的利用率,改進系統的吞吐率,提升系統效率。例如,一個程序等待I/O時,就出讓 CPU CPU,而調度另外一個程序佔有 CPU執行運行。這樣,在程序等待I/O時,CPU便不會空閒,這就是併發技術。
二、共享性:共享性是操做系統的另外一個重要特性。共享指操做系統中的資源,第一種是互斥訪問。系統中的某些資源如打印機、磁帶機、卡片機,雖然它們可第二種是同時訪問。系統中還有許多資源,容許同一時間內多個進程對它們進行。
手機APP特色:
1.龐大的潛在用戶羣全球在使用的移動電話已經超過10億部,並且這個數字天天都在不斷增長。在除美國以外的各個發達國家,手機用戶都比計算機用戶多。手機遊戲潛在的市場比其餘任何平臺,好比PiayStation和GameBoy都要大。
2.便攜性在控制檯遊戲時代,GameBoy熱銷的一個緣由就是便攜性——人們能夠隨時隨地沉浸在本身喜歡的遊戲中。和遊戲控制檯或者PC相比,手機雖然可能不是一個理想的遊戲設備,但畢竟人們老是隨時隨身攜帶,這樣手機遊戲極可能成爲人們消遣時間的首選。
遊戲軟件特色:娛樂性最強,可用於娛樂消遣,圖形界面豐富,交互友好,由於娛樂性強。