關於部落格
  • 18103

    累積人氣

  • 0

    今日人氣

    0

    訂閱人氣

2000.10.30 管四

2000.10.30 管四 【上卷A面】 …帶講義來啊,有沒有?來,第五章,…有的沒的…,來,有沒有16頁?16頁 是不是有第5個主題,軟體工程?軟體工程啊,是一門極年青的學問,發展迄今 不過10年,這要注意哦,這是民國72年,72年那時候,∴算十年,這民國82 年,82年,那現在已經89年,89年了,∴應該算快20年了,快20年,他主要 的目的啊,這裡要開始畫,…聽不清楚…,他主要的目的是使軟體系統的發展能 如同工程設計般,是不是上禮拜有交過?這個,今天要把這個結束掉哦,我們下 禮拜要上第3章la,有一定的法則可循,在發展全程中可以予以生產管制和品質 管制,”生產管制”畫線,”品質管制”畫線,他也幫你框了la,∴只要畫”生產管 制”和”品質管制”就好,那我上禮拜是不是有跟你講過,生產管制是不是要使軟體 盡早完成?然後品質管制是不是要發展一個好程式?記不記得?有沒有?有沒 有講過?有嘛。好。 唯有如此,軟體發展才能擺脫藝術的方式而邁入科學方式,換言之,軟體系統發 展需如同工程般的發展成好幾個階段,”好幾個階段”畫線,好幾個階段,你要參 考,這裡是不是幫你寫好?page 22。是不是參考22頁?有沒有?22頁,22頁 看一下,22頁,前面他幫你改了,改了頁數了,頁數是21頁,有沒有?等一下, 是21頁,有沒有?有沒有?有沒有改?…有的沒的…,參考21頁,21頁是不 是有5個步驟?有沒有?你看21頁,21頁是不是有5個,5個,6個步驟?6 個步驟。調查規畫、系統分析、系統設計、程式發展、系統測試、系統建置與維 護,有沒有找到?這裡有6個步驟。好,翻回來17頁,我們待會再講那6個步 驟,∴分成好幾個階段,好幾個階段啊,那邊reference page 21,底下是不是寫 21?還是22?22。改一下21。全程予以複審,好,全程予以複審,那個walk through 啊,walk through,什麼叫複審?我們看那個,來,什麼叫複審?在19頁。把那 個名詞看一看,19頁,19頁,請看19頁,第7個,第7個名詞,全程實施結構 化複查,有沒有找到”複查”?複查就是複審,walk through,有找到啊,這個要 注意,這個要再抄啊,就抄到下課都抄不完啊,∴我們用看的,這樣比較快,比 較省時間啊,我們是用時間換取金錢啊,∴我們用看的比較快,我們看那個複, 複查,要注意哦,一開始他沒有畫啊,就不要畫他,系統中任何一部分的設計, 均應由第三者貫穿複查,這個包括你設計程式喔,一般人設計程式,設計完之後, 一run有錯,不會去怪自己寫錯了,都會怪電腦有問題,系統有問題,os有問題, 對不對?這都不對啊,要找別人幫你看啊,∴要由第三者貫穿複查,包括系統分 析、系統設計、程式設計等,由於第三者的介入,這是重點哦,∴他幫尔畫線哦, 由於第三者的介入,你用紅筆再畫la,用紅筆畫,由於第三者介入,可使錯誤盡 早發現,第3者比較客觀,他可以幫你找出錯誤,以收集思廣益之效,進一步可 防止程式之私產化,這一句話滿毒的,這一句話滿毒,什麼意思啊?這是為老闆 設計的,∵你寫完程式之後,萬一你想加薪水、跳槽,你會跟老闆講說我要跳槽, 你要不要加我薪水?那假設說你自己寫的程式,別人看不太懂,我想一樣嘛,任何 ----------------------------------p.1 人都看不太懂,除非加什麼?註解。應該聽得懂嘛,除非寫什麼?註解。…聽不 清楚…,所以啊,這老闆會安排一個人在你旁邊看你程式,∴你要求加薪啊,或 者要跳槽,老闆會說那你走啊,∴這要注意,他會安排第三者在你旁邊,∵你要 寫一個程式,拜託,不是你在學校寫那種50行啊、60行啊,在公司寫程式,一 般來講都是2、3仟行,都是很多模組,模組模組之間的關係,會定得很清楚,才 寫得出來,∴這個要防止程式私產化,並可防止弊端發生,什麼叫弊端發生?防 止你要求加薪la、你要跳槽,這是為老闆,老闆寫的,∴讀書啊,讀書的時候要 少用goto啊,但是寫程式偶爾要用什麼?goto。聽懂嗎?goto、goto…聽不清 楚…,甚至寫之後,要把他殺掉啊,點什麼?點exe檔。這不是,這不是說我們 狠啊,這要保護我們自己啊,∵現在不景氣啊,動不動就裁員,還有現在公司啊,… 有的沒的…,…cut…,…有的沒的…,…cut…,…有的沒的…,我們看那個16 頁,16頁,…有的沒的…,…cut…,16頁這裡,16頁,16頁這裡,全程予以 複審,好,walk through,並採用標準的方法,要注意哦,寫程式有標準方法, 怎樣標準方法?就像我們講的,程式設計哪幾個步驟?記不記得?有沒有?程式 設計幾個步驟?第一個叫需求分析,第2個叫什麼?畫流程圖,或寫演算法。第 3個步驟叫程式撰寫,第4個步驟叫什麼?測試。第5個步驟叫什麼?寫註解。 要寫註解,並採用標準方法,那所有的標準方法,在後面我們是不是有講到6 個步驟?那6個步驟的標準方法。始能發展一個正確,這個正確就是good的程 式,什麼叫good的程式?好的程式。正碓、成本低、結構好、易維護、極可靠 之軟體系統,好,極可靠之軟體系統,好,我們看底下啊,底下為軟體工程一些 重要的結果,第一個結果叫模組化程式設計法,這個上禮拜是不是有抄過?結構 化程式設計,第一個重點叫由上而下,第2個重點是模組化程式設計,記不記得? 第3個一定要能夠變成一個什麼?模組。模組要變成一個什麼?程式。記不記 得?那藉由模組之間的耦合力,要越弱越好,內聚力,要越強強好,這個都會考 哦,這個都必考哦,不管你考二技、插大、研究所,這些都必考,一定要知道,… cut…,模組化程式設計法,一開始要注意聽哦,常常我們看到一個程式,更綿 長達數頁報表紙,程式不是比長的,要注意,程式不是比長的,雖然整個綿綿不 絕十分壯觀,事實上絕非好的程式法,不但看起來十分吃力,維護起來更屬不易 ∵程式,好,這邊開始畫,這邊是重點,程式必須模組化,這在上禮拜就講過, 程式一定要模組化,模組化就是副程式,就是寫一個副程式,即一個程式應分解 成若干功能獨立的模組,這一直畫哦,你要把程式分成模組,每一個模組應盡可 能與其他模組無依賴關係。他已經幫你註解了,這叫內聚,耦合力比較什麼?比 較弱。兩個之間的耦合力要很弱,模組是任一具獨立的功能的程式片斷,好,後面 不要畫,例如fortran中可為主程式、副程式、函數等,最常用的標準,好,這 邊再畫,最常用的準是以不超過二頁報表紙為限,要注意,一頁是66行,好, 你回去算,一頁是66行,∴二頁應是132行,那這本晝這邊寫約120行,好, 那後面再畫,常一個模組太長時,應切成二個模組,這我在上禮拜是不是都講過? 好,模組跟模組久間的連繫,應透過參數的傳遞。好,這要畫起來,好,這第一 ----------------------------------p.2 個叫模組化設計,第2個是由上而下,這我上禮拜有講過,這標題畫起來,Top-Down ,但是注意聽哦,那個最近的物件導向是什麼?butter up。Butter up。他是由 下而上,他是由下而上。但是結構化程式就是由上而下,他從上面畫到下面的, 那注意哦,由上而下程式設計法,一開始就要畫,由於人類有限的心智無法克制 重重複雜,∴這裡告訴你說人類的腦袋是有限的,∴你讀書,讀一讀,可能會忘 掉,只有忍耐,要常常讀,這是正常的,假設你今天不忘的話,那你就是天才, 你就是天才,過目不忘就是天才,∴這邊啊,我們人都一樣la,包括我們也是一 樣la,一定會忘,找是也會忘la,∴常常要看,除了這個東西不用看,∵這個東 西我教了20幾次,∴不會忘,…有的沒的…,好,這邊要注意哦,這邊啊,解 決辦法是,之一是由上而下程式設計法,要注意哦,他說啊,人類的心智無法克 服重重複雜,因此造成軟體不可靠性,常常會有錯誤,…聽不清楚…,解決的辦 法之一是由上而下程式設計法,亦常稱為逐步細化法,這畫起來,∴由上而下, 又稱為逐步細化法,或逐層抽象法,一層一層抽出來,∴我在上禮拜好像有講過 這一個東西,記不記得?成績處理系統要分成什麼?I、P、O。這叫input、process、output,記不記得?然後我說這個再分,∴這種就由上而下,好,這不要忘掉了, 也叫做逐步細化法,也叫逐層抽象法,好,一直畫,重點在先考慮最高層的總功 能,欲實現此總功能,需先實現次高層功能,即將總功能分為若干次功能,依此 類推,直到最底層為基本功能而後,而後止,就是我上次講過的,你是不是到這 邊是最基本功能?那這個最基本功能就是我們講的,叫仵麼?模組。記不記得? 模組。好,第3個,結構化程式法,這畫起來,然後這一行的最後,一句話,任 何的程式均可藉下列3種基本結構表現出來,有沒有找到?3種基本結構,第一 個叫什麼?循序結構。畫起來,循序結構,畫起來,然後再看那個17頁,17頁 是不是第2個?第2個叫什麼?選擇結構。把他畫起來,選擇結構,把他畫起來。 然後第3個是不是循環結構?17頁的下面是不是有循環結構?有沒有?把他畫 起來。…有的沒的…,循環結構啊,循環結構,畫起來,循環結構後面是不是有 測,前測前測式迴圈,有沒有找到?畫起來,這我講過哦,前測叫while loop, 記不記得?然後是不是有個後測?後測叫repeat loop,記不記得?還有一個,自 己補一下,還有一個固定次數,這都教過了 哦,有3種哦,一種叫前測,一種叫 後測,一種叫固定次數,這個不要忘掉哦,3種,那我記得我那時候講過,這個 至少做,至少做一次,至少做一次,至少做一次,這個不要忘掉啊,至少做一次, 好,請翻過來,看那個18頁,18頁啊,18頁這邊啊,這邊有一個例題9,這我 上課是不是抄筆記給你了?有沒有?你看一下,是不是抄筆記給你?這就上禮拜 抄的嘛,抄,是不是抄的很長?然後例題10,這是不是講過了?這個流程圖是 非結構化,記不乩得?我那個 時候是不是有跟你講說可以改成什麼?結構化。 好,例題11,注意了哦,the advantages,advantages是優點,他都幫你註解了, 好,of structured programming,要注意,structured programming是結構化桯式, are,要注意,他跟你講結構化程式的優點是什麼?A,easy to read。我上禮拜是 不是有寫4點給你?容易閱讀,容易除錯,對不對?程式,程式嘛,模組較小, ----------------------------------p.3 不容易寫錯,對不對?容易造成什麼錯?界面傳遞錯誤。記不記得?記不記得? 第3個什麼?第3個分工合作。有沒有?發揮團隊精神。有沒有?使軟體盡早完 成。記不記得?應該都有聽過嘛,有沒有?那要注意哦,是不是有4個優點,但 是有兩個缺點?第1個缺點叫程式較長。記不記得?第2個呢?執行時間較長。 記不記得?∴注意哦,他跟你講優點是什麼?A,easy to read。這沒有錯。B呢? May save the cpu time。錯,會不會節省時間?不會。程式比較長,不會節省時間。 C呢?easy to maintain。好,這沒有錯。D呢?program may be small。這D錯掉, 程式不會比較小,反而比較什麼?比較長。∴這一題答案是A、C。這是不是講 過了?有沒有講過?有沒有?上禮拜講過嘛。好,我們再看那個,第4個叫少用 goto的程式法,少用goto程式法,這待會看,黑板待會要抄,這邊就是少用goto 法,我們看那個,先看第5點啊,第5點,在18頁第5點,第5點是不是有一 個叫可讀性程式型態?大沒有找到?可讀性程式型態。凡是能夠增加可讀性者, 均應採用,要注意,這邊這要畫起來,凡是能夠增加可讀性者,均應採用,例如 變數的命名應有意義,好,底下他是不是幫你寫好了?那是我叫他們要註解,是 不是有一個叫sum,s-u-m,s-u-m叫什麼?總和。有沒有找到?總和。還有,增 加註解,寫程式一定要有註解,寫程式一定要有註解,以前我在學校,規定學生 一定要寫註解,不寫註解,程式就完蛋,程式就完蛋,一定要寫註解,像那個大 學生更奇怪,我叫他寫一個程式,…聽不清楚…,好,一定要,寫程式一定要寫 什麼?註解。一定要寫註解,那老師才會看得懂,增加註解,或do迴圈用下列 凹入撰寫程式方法表示,凹入撰寫程式,他已經幫你畫了,再畫一下,我是不是 講過?像C語言、passcal,是不是有凹入結構?記不記得?凹入結構提高程式什 麼?可讀性。∴在19頁,這要注意聽哦,我教的東西都很正統,我教的都是很 正統,∴這要注意聽,以後你讀…讀,都很輕鬆,…有的沒的…,…cut…,看 19頁19頁上面是不是有個do 30?30,continue,有沒有找到?do 30,30, continue,有沒有?do 20,20,continue;do 10,是不是10,continue?有沒有? 是不是凹入結構?好,再看第6個,主程式師隊,有沒有找到主程式師隊?你寫 程式,要寫程式,一定要組個team,∴一般…聽不清楚…team,但是台灣的公 司,軟體公司都是一個啊,好,從寫程式,寫程式、設計程式、debug,到寫 document、跑程式,包括掃…聽不清楚…,那這是不對的,這是不對的,∴在這 邊跟你講啊,在進行大程式設計時,應組織一個主程式師隊,包括第一個是主程 式師,好,這個畫起,要注意哦,你要,你要知道這種觀念啊,∴畢業以後啊, 讀完畢業以後,你第一個志願,進入資策會,資策會,他有一個叫軟體工程開發 處,專門在做這種case,他裡面就是一群人在做,不是一個人在做,他是一群人 做一個大case,什麼公家機關的電腦啊,接下來做…有的沒的…,好,那第一個, 主程式師隊,在進行大程式設計時,應組織一個主程式師隊,包括第一個主程 式師,這個主程式師,就是所謂的project leader,project leader應該聽過吧,project leader,在那個公司叫project manager,manager,這個叫做,這個叫做專案什麼? 經理。專案經理。應該知道嘛,專案經理,但是一般來講,都是講什麼?leader。 ----------------------------------p.4 leader。這個就是負責這個project的,這叫主程式師啊,那注意,第2個啊,第 2個叫程式庫員,程式庫員這個層次就很低啊,其實啊,這個是外國的東西,其 實在台灣啊,這邊啊,一個軟體啊,除了這以外,底下啊,會有3種人,一個叫 SA,一個叫SE,一個叫P,program,PR,這個叫做系統分析師,這叫系統工 程師,這叫什麼?程式設計師。會有這3種人,會有這3種人,會有這3種人, 這專門是搞什麼?這專門搞那個os方面的,∵你要寫程式要,要架上去的時候 要怎麼架?要這個人負責。那整個程式是由這個來規畫的,系統分析師規畫出 來,規畫出來之後,由這個來codeing,應該聽得懂嘛,由這個來寫程式,然後包 括什麼?測試。包括註解,這不要抄,這不要抄,…聽不清楚…,∴以前啊,以 前資策會,資策會不是有軟體檢定嗎?他的軟體檢定,這叫甲級,這種叫乙級, 這種叫丙級。他分成3等,甲、乙、丙。但是我現在不曉得說有沒有分啊,…聽不 清楚…,…cut…,18頁啊,…有的沒的…。…cut…,18頁啊,我們現在講到 19頁,對不起,19頁,19頁是不是程式庫員?程式庫員負責什麼?文書、跑程 式、記錄,要注意哦,文書就是做什麼?document。文件。做文件,跑程式、記 錄等工作,那你看這個寫的實在是,以使主程式師不分心於雜務,你看這個多誇 張啊,這個程式,他程式庫員,就是程式這個哦,程式設計師哦,他要做雜務, 做什麼?掃地、泡茶。有沒有?你看這個寫的實在太誇張了。第3個叫支援程式 師,要注意,這個就很可惡了,這叫backup programmer,backup programmer, 這叫什麼意思?這個backup programmer是什麼?備用。備 用嘛。是不是備用? 意思是說假設程式師要求加薪的時候,就可以把他幹掉弓,有沒有?∴你看,一 旦主程式師出缺,看到沒有?這個很壞哦,可隨時什麼?接捧。這都是寫給老闆, 老闆的,這都是為了老闆在設計的,好,∴注意哦,現在不太會考這種東西,∵以 前啊,二技有考什麼?解釋名詞。現在不可能考解釋名詞,∴就看一看算了,好, 我們看第7個,第7個是不是叫全程實施結構化查詢?這個複查,這是不是剛才 講過了?walk through,這講過了,好,第8個是不是良好文件說明?要注意哦, documentation,好,這一開始他有畫,當一個軟體系統發展完成後,應將所有之 細節具文字,即將工作名稱,好,後面就不要畫了,他沒畫你就不要畫,目標描 述、系統流程圖、檔案設計表、輸出輸入媒體設計表、程式流程圖、程式描述表、 測試、點…點,按一定,好,這要畫起來,按一定標準格式以具體文字、圖表表 示之,好,後面呢,IBM推出HIPO,這HIPO把他框起來,重點HIP 是hierarchical,hierarchical要注意哦,hierarchical啊,input process output charts, 要注意,hierarchical是什麼?層次。Hierarchical是層次,層次,層次系統,層 次系統啊,其實這個層次系統是指誰?指這個圖。這個圖就是誰?這個啊,這個 啊這個,這個就是什麼?結構圖。這個圖就是結構圖,∴這邊有一個 hierarchical input process output charts,input跟process output加起來就IPO,IPO 圖,以電腦來協助文件的製作,以電腦來協助文件製作,什麼叫HIPO?要注意, HIPO是一種協助描述軟體系統,有沒有找到?描述軟體系統不同層次,”不同 層次”他是不是幫你框起來?就是結構圖。就是這個。不同層次啊,其目的是在 ----------------------------------p.5 top down設計,由上而下設計,担供一種結構化的方湗,讓人可以很快的了解某 一個軟體系統的功能,並利用圖解法,” 圖解法”,這框起來,圖解法就是,底下, 底下會看到了,”圖解法”框起來,表示出每一功能的輸出、處理,輸出的,輸入、 輸出,輸入、處理、輸出的關係,I-P-O關係,∴這種圖要注意,在底下是不 是有3個?第一個叫目視目錄表,目視目錄表,又稱為hierarchical chart,這畫 起來,hierarchical chart,就是這個東西,hierarchical chart就是這個東西,第2 個要注意,描述圖,或細部圖,他是下一頁,描述圖或細部圖,是在20頁,20 頁是不是,這裡有一個圖,這裡有一個圖,描述圖,要注意哦,上面那個是結構 圖la,第2個圖叫描述圖,描述圖,大概看一看就好,這個考出來的機率滿低的, 這是描述圖,那什麼叫細部圖?這個圖沒有寫得很詳細,什麼意思呢?他輸入, 注意看哦,他輸入是不是寫一個異動記錄,跟主檔記錄?有沒有講說異動記錄什 麼東西?主檔記錄有什麼東西?沒有講,對不對?假設你講得很詳細,這叫細部 圖,有沒有?∵調薪對不對?像我舉個例子講喔,假設你畫這樣,這邊是輸入, 那這邊假設異動記錄,異動記錄一般來講,異動記錄一般來講一定會有什麼?一 定會有一個叫,像說員工代號,員工代號,然後第2個一定什麼?這個調薪。調薪。 到底要加還是減,調薪。那這個主檔,主檔記錄,就很多了,主檔記錄,第一個 一定是什麼?員工代號。然後,到底是啊,性別啊,性別,然後薪水,很多la 然後再來是住址,很多很多,這個叫主檔記錄,這個假設都寫出來,叫做細部,聽 懂嗎?細部圖。一定要寫很細細的,∴在這邊有一個概略圖跟什麼?細部圖。好, ∴20頁這個圖啊,20頁這個圖叫做概略圖,那我現在寫在黑板上這個叫細部圖, 假設輸入再描述的話,那第9個,程式驗證,那個不要看,打叉,那個不要看, 那個已經不合了,那我們講那個第4個,第4個叫少用goto,∴這邊這個要抄一段東西 ,這要抄一段東西,先抄我再來解釋啊,注意,這個地方很重要,這個必考,…cut… 假想,假想記憶體,有兩種方式,一種叫需求分頁,demand page,在程式要執 行前,必須先載入主記憶體,要注意哦,程式要執行,這沒有錯,執行前一定要 放到什麼?主記憶體。記不記得我們講過?我記得那時候講過,link之後,link 之後,要注意,link,會產生什麼?AAA點什麼?EXE。∴你要RUN的話,要 注意,你要RUN,你要RUN一定要有一個東西,這個東西是什麼?LOADER。 記不記得?LOADER是把程式放到什麼?主記憶體。…以便執行,聽不清楚…,好,當程 式位址空間大於,要注意,什麼叫程式位址空間?注意,這是考古題,這是考古 題,程式位址空間大於主記憶體,什麼叫程式位址空間?這個指的,要注意,指 是指這個檔。AAA點什麼?EXE。這個指這個檔,就是指這個啊,∴我這邊註 解啊,程式,要注意,假設這種程式,程式指的是AAA點什麼?AAA點C。要 注意,程式指的是這樣,那這個東西叫什麼?叫source file。叫原始程式檔。或 叫來源檔,來源,來源,source file,來源檔,來源程式檔。這個不太一樣哦,這 個沒有Link,這是經過link以後產生,∴假設你的程式位址空間大於主記憶體空 間,程式即無法執行,∵程式,程式,你的這個程式太大了,沒辦法放進來,假 設你程式100k,這邊只有50k,放不進來,此時可將程式分成許多PAGE,很多 ----------------------------------p.6 PAGE,∴把程式分很多PAGE,並將主記憶體分成與PAGE相等大小之BLOCK, 或者叫frame,區塊,區塊,注意哦,這個page,注意,注意,這一個page,一 般來講都是一個frame,那考試的時候,都是跟你講說他是1K byte,1K byte, 程式要執行時,只需載入要用的page即可,要注意哦,要用的page即可,好, 你趕快註解,我左邊擦掉了,再寫一段,…聽不清楚…cut…,若參考的page不 在memory內,要注意,假設你要,你要用的那個page,不在主憶體裡面,必須 先移出某頁,先移出某頁,注意,先移出某頁,再將此頁移入啊,再將此頁移入 啊,如此重覆的page in、page out,最後也可以得到執行結果,這邊我要擦掉了 哦,快點哦,…cut…我這邊寫個例子啊,這邊舉個例子,我待會就要解考古題, 這個例子滿重要,∵這東西在OS還會看到,作業系統,好,看這邊,從這 邊開始看啊,等一下,從這邊開始看,從這邊哦,處理過程,第一個步驟,loder 僅載入部份page,這什麼意思?現在這邊啊,有4個,這邊記憶體才4k,這 是我的假設啊,這邊啊,這邊的程式總共有8k,∴他放進來只放一部份,他放 進來放一部份而已,∴這邊放進來,這裡,這4個page,放進來,∴這邊放了 一部份的page,就是4k,這邊4k而已,好,這邊執行程式,注意聽 哦,執行程式,1到1000,goto 1000,假設主程式,這個執行下來,這邊第一個 動作哦,注意,放進來,這第一個動作,執行到這裡,這第2個動作叫goto 1000, 今天1000假設在這邊,注意,1000假設在這邊,跳過來就可以,是不是跳過來 就可以?這叫擊中。聽懂嗎?擊中。今天假設1000不在這裡面,慘了,1000假 設在這裡面,慘了,叫未擊中,聽得懂嗎?沒有擊中。就是沒有在裡面,叫沒有 擊中,∴你看這邊呢,若遇到goto 1000,敘述,行號1000不在memory仴,” 不在memory內”這叫未擊中,沒有擊中,hit叫擊中,沒有擊中將產生page fault interrupt,這叫頁誤中斷,頁誤中斷,這屬於呢,屬於軟體中斷的一種,中斷有 三種,要注意,中斷有三種,一種叫硬體中斷,一種叫軟體中斷,一種叫I/O中 斷,像這種是屬於軟體中斷,硬體中斷像記憶體死掉了,那叫硬體中斷,好,記 憶體死掉了,那個,那個中斷,好,這邊要注意哦,什麼叫記憶體死掉?知道嗎? 記憶體壞一個bit,壞一個bit,用command也可以檢查出來,已經壞掉了, 某一個bit壞掉了。 ∴產生中斷,那產生中斷以後,一定要執行什麼?要執行中斷服務常式。叫ISR, Interrupt service routine,ISR。處理page in跟page out的問題,那注意聽哦,什 麼叫page in跟page out?∴這邊呢?第3個步驟,他會產生中斷,生中斷做什 麼事?注意聽哦,他處理ISR,處理ISR做什麼?你要先決定,要把這4個page, 哪一個page移出去,注意,這4個page,哪一個page移出去?∴假設好,這個 page移出去。先page out,先page out,把這,這一頁移出去,再把這一頁怎樣? 移進來。再page in。但是你想一想,為什麼要把這頁移出去?就像說今天,這 教室假設坐完了,突然有一個新生進來了,怎麼辦?要怎麼辦?你不能叫他坐地 上嘛,那不可能嘛,那這時候怎麼辦?聽兩次的,已經兩次的,專科跟專五的 聽得差不多了嘛,好,那個專科生聽過的就請他出去,可以了,∴先補的先出去, ----------------------------------p.7 聽得懂嗎?第2種叫什麼?要注意,∴這邊有一個策略,先進先出,第2個策略 就是久未使用者先移出,這個程式很久都沒用到,要叫他出去,什麼程式很久都 沒用到?一開始放進來的時候,連debug都會放進來,debug知道嗎?除錯程式。 除錯程式你不一定會用到啊,∴電腦會去挑,第一個把除錯程式怎樣?放回去。 把他請回去。這叫久未使用者先移出。第3個,最佳取代策略,什麼意思?永遠 都用不到la,就像說教室裡面有一個永遠在打瞌睡,那已經沒有什麼前途了,對 不對?請他出去。這叫最佳取代策略。∴3個策略,∴用哪個策略?要看啊。電腦 一般來講是用這個策略,電腦,電腦一般來講是用這個策略,∵這種策略很難做, 很難做。這種策略會有異常現象,abnormality,我們到時候會講,OS會講,這 種策略是沒有異常現象,∴電腦採用,無異常現象,以後我會講,沒有異常現象, 以後再講,現在先不要講,∴電腦採用,電腦採用此方法,∴他要處理page in 跟page out,∴先page out,再page in,但是注意聽哦,你,你,你就畫這樣, 移進移出,移進移出,是不是可以解決掉?∵你程式是不是比較大?你抄一進一 出,一進一出,∴你常常看你程式run得很慢,這個最常看到是不是電動玩具? 電動玩具快的人去玩,被你打死了,對不對?他會跟你講請等一下,對不對?然 後他又,那個燈又亮了,開始在抓東西,是不是又抓一個快的出來跟你對打?聽 懂嗎?然後你又把他打死了,他是不是又找一個快的進來跟你對打?跟你對打, 對不對?∴這種就是一進一出,∴page in之後,繼續執行,好,我們看這個優 點,來,優點就是可解決程式位址空間,注意哦,可解決程式位址空間大於主記 憶體的問題,這是考古題,可解決程式位址空間大於主記憶體的問題。好,第2 個呢,程式不需要連續儲存,要注意哦,這個以後會講,不需要連續儲存,殘餘 空間比較小,要注意,這種page,page啊,他比較啊,畫在這裡,畫在這裡, 畫在這裡,他不要連續儲存,好,∴他的殘存空間比較小,這個等待,這個change 啊,好,OS會講,OS我們會講,OS會講。好,那缺點要注意哦,常常page in、 page out,這剛剛講的,常常要做這個動作,這個動作做什麼?∵這個記憶體是 在我們的主記憶體裡面,那這個在哪裡?硬碟裡面。∴常常要做什麼?I/O嘛。 速度怎樣?慢下來。為什麼會慢?主記憶體的速度以這個為單位,這個磁碟是 以這個為單位,這個應該知道吧,這個ms是10的什麼?負3次方。這10的什 麼?負9次方。這應該記得吧,∴哪個速度快?這個快。是不是這個快?這個是不是 太慢了?∴一進一出,速度會怎樣?慢下來。∴你看,常常page in、page out, 使得程式執行效率降低。好,你抄一抄,我全部都擦掉了哦,我全部都擦掉了哦,… cut…,喂!…喂!注意聽哦,你現在這個啊,有一個page system,這個分頁,這 個分頁系統,要注意,那邊…聽不清楚…主記憶體只有3個page,主記憶體只 有3個page,程式Q執行時,需要…聽不清楚…5個不同的page,∴上面這個 是在記憶體,在那個磁碟裡面,注意,這個號碼是在磁碟裡面,這個是,東西是 在記憶體,他說啊,需要5個不同的page,當Q執行,會產下列各個page address, ∴你要參考這些東西,注意聽哦,你要參考這些東西,好,一開始是空的,聽好 哦,一開始主記憶體空的,主記憶體空的,沒有東西,∴你要參考第2頁,第2頁是 ----------------------------------p.8 不是不在裡面?沒有擊中。沒有擊中。你要參考第3頁,第3頁有沒有在裡面? 沒有在裡面。∴沒有擊中。你要參考第2頁,第2頁是不是在裡面?∴這叫擊中 了,這叫擊中了。在裡面了哦,是不是在…聽不清楚…這裡面?擊中了。我要參 考第1頁,第1頁有沒有在裡面?沒有在裡面。∴2、3、1。這個不在這裡面, 請問要移走誰?2號。現在誰先進來?∴這個要注意,在電腦裡面會有一個東 西,這個東西叫Queue,Queue叫什麼?佇列。Input什麼?input什麼?佇列。 誰先進來?2號先進來。誰再進來?3號再進來。誰再進來?1號進來。∴先移 的為?2號。這聽得懂嗎?先移走2號,把這移走,∴移走了之後變什麼?變成 這裡5、3、1。∴注意,這個queue變了,這個queue變成什麼?3、1、5。5進 來了。好,2號有沒有在裡面?被移走了。是不是被移走了?∴沒有擊中。∴把 誰移出去?把3號移出去。3號移出去,∴這邊1、5、2、3號移出去,∴2取代 這個3號,好,這個不在裡面,那誰移走了?1號移走了。∴1號移走了。∴1號 移走了。這裡5、2、4,好,這個在裡面,這個叫什麼?擊中。∴5、2、4,那3 號不在裡面,∴移走誰?5號。5號移走了。∴5號移走了,2、4、3。這邊呢 這邊呢?5號移走了,好,這個呢?在裡面。這叫擊中。∵這個是3、2、4。好, 這個不在裡面,移走誰?移走2號。∴移走2號,4、3、5,移走2號。移走2 號。好,這個不在裡面,走誰?移走4號。∴移走4號,變3、5、2,∴移走 4號,好,那這擊中幾次?3次。∴我們算failure,好,考試的時候考failure,failure 叫什麼?失敗。擊中3次,失敗呢?9次。好,那Hit ratio多少?Hit ratio是算 成功的啊,∴擊中3次,總共12次,∴比率多少?12分之3等於多少?4分之 1,4分之1,這個多少?25 percentage。∴25 percentage。這個效率滿差的。 來,我再講第2個,…有的沒的…,一開始就空的,沒有擊中,這放進來,這個 不在裡面,放進來,這裡要注意哦,這個火在裡面,這個寫過來,好,這邊呢? 不在裡面。2、3、1。好,這不在裡面怎麼辦?看,看前面3個。要注意,看前 面3個。誰最久沒使用?1、2、3,是不是這個最久沒使用?把3怎樣?移走。3 移走,∴這個進來,這個是不是在裡面?這叫什麼?擊中。好,這有沒有在裡面? 沒有。對不對?看前面3個,把誰移走?把誰移走?1號移走,∴把1號移走, 好,這在裡面,這叫擊中,2、5、4,這個沒在裡面,怎麼辦?你看前3個。前 3個把誰移走?2號移走。∴2號移走。這個不在裡面,把誰移走?看前3個。4 號移走。4號移走。好,這個在裡面,這個就叫擊中,好,這個在裡面,這叫什 麼?擊中。好,注意,他擊中幾次?1、2、3、4、5。∴失敗幾次?failure幾次? 12扣5,∴失敗幾次?7次。好,那他的hit ratio,擊中率是多少?擊中率等於 12分之7,再乘以佰分之100,∴這個相當於42 percentage。這個有問題嗎?這 樣做一做有沒有問題?你抄一抄,我們動一下。…cut…,這個要注意,不在裡 面,∴這邊要放進來,好,這個在裡面,∴擊中,這不在裡面,放進來,好,注意 哦,這不在裡面,怎麼辦?看未來。看未來。未來有誰?未來有誰?有2號、有 3號。有沒有1號?沒有1號。沒有1號。∴1號沒有未來,把他請出去了,這 個聽懂嗎?這個能不能聽得懂?這聽不懂麻煩了哦,你要去找書哦,2號在裡 ----------------------------------p.9 面,這叫擊,2、3、,這個不在裡面,看未來,未來有誰?5號、3號、2號。 2號是不是最遙遠?∴2號,把他移走。最遙遠的,把他移出去。這當然會擊中, 在裡面,這當然會擊中,∴4、3、5。好,那這個不在裡面,你看未來,未來有 誰?未來有誰?未來有5、2。對不對?有5,有2。2沒有用。沒有未來之後, 再看什麼?以前。再看以前。∴5、2,5、2,然後再看以前,以前有誰?3,4。 3、4.4是不是最遙遠?把4移走。∴把4移走。好,這個在裡面,這叫做擊中 好,這在裡面,這叫擊中,那這個擊中幾次?好,我們剛才是算失敗la,失敗 幾次?失敗等於1、2、3、4、5、6,6次。那hit ratio多少?hit ratio等於12分 之6,一半啊,∴等於少percentage?50 percentage。∴這50 percentage。…change b…假設你有,在disk上12個page,你主記憶體12個page,是不是就將近100分之100 ?∵通通放在裡面嘛,對不對?∴主記憶體page愈多,他的擊中率越高,這 個要注意哦,這個策略一定比這個策略好,∵看這個百分比就知道了,那要注意, 這邊剛才講過了,好,那這邊有一個考古題,考1啊,虛擬記憶體頁取代演算法以 頁,尋頁的缺失叫page fult,較低的為佳,好,這個可能沒有講,我們剛才都 講過了嘛,這個page fault的愈低,當然是擊中率怎樣?越高。下列法則,何者 有最低的什麼?尋頁缺失率。哪個page fault最小?這個,要注意,這個擊中率最差, 對不對?那再來這個呢?這個最好,這個不要去理他,這個不要去理他,這個考 比較深的os才會考…聽不清楚…,那注意,我們講這一個跟這一個,和這一個, 這一個什麼東西?替代一個長期不欲使用的,就是我們講的叫什麼?OPT。是不 是OPT?這個最好,∴答案是D。 那注意哦,現在講page,page demand paging,他有3個頁框,3個就是這裡,3 個,這裡有3個,你要參考的page在這裡,7、1,7、1、2、1、3、5,1,你要 參考的page在這裡,我們要用什麼?先進先出。∴用這個策略,I的策略,∴一 開始,這個不在裡面,好,這也不在裡面,∴7、1,好,這也不在裡面,7、1、 2,這在裡面,叫什麼?擊中。就7、1、2,這個不在裡面,∴移走誰?誰最早 進來?7。7是不是最早進來?你只要看這個queue的時候,7、1、3,∴7最早 進來,∴這裡3、1、2,這個呢?注意哦,這邊1、2、3,∴要把誰移走?1號 移走。∴把1號移走。好,這個呢?要注意,1號移走,是不是變2、3?那現在把誰移走?2號移走。∴2號移走。∴他跟你講說page fault有幾次?幾次page fault?失誤哦。失誤哦。∴這是我們剛才講叫failure幾次?這邊是1、2、3、4、 5、6,∴6次。∴答案是選D,答案選D。…cut…這叫demand segment。這叫 demand segment,這要注意,這是一段一段的,這一段、這一段、這一段,注意,這一段的大小不一樣,注意聽哦,段的大小不一樣,∴這邊假設,這是他的disk, 這個叫disk,∴假設這邊是memory,memory,假設說這裡有,這裡有,總共有 90K,然後這邊啊,這邊是main,這100K,假設這裡,這100K,那這是main, 然後這裡是,這個是叫sub 1,這邊,這邊有free,這邊幾K?這邊10K。這應 該聽懂嘛,等一下哦,等一下,這應該聽懂嘛,∵這兩個加起來多少K?90K。 對不對?∴注意,假設這個啊,你的程式是這樣,這個MAIN,要呼叫,這個 ----------------------------------p.10 SUB,然後這邊呼叫SIN,那這邊呼叫COS,假設這樣,假設這樣,∴你這邊啊, 你執行到這裡的時候,這裡要呼叫什麼?這個也執行完了,執行完了,注意哦, 從這邊執行,這邊假設執行完了,執行到一半,執行到一半,執行完了,執行完 了,這個執行完是不是要呼叫這裡?他放得進去嗎?注意,放得進去嗎?這個不 要放在這邊,假設這個放在這,你這個執行完了,注意,這個執行完了,這個執 行完了,這個不加尾巴,執行到一半,執行到一半,執行到一半的時候,你呼叫 自己,那執行完之後,回到這一點,回到這一點,那回到這一點,這邊呼叫自己, 那注意哦,你執行到這一點的時候,要呼叫這裡,那表示說你這邊要放進來,對 不對?放進來夠放嗎?不夠放。∴你要把誰移出去?要把這些移出去。一樣la, 是不是一樣道理?先移出,先移出,再什麼?再移入。∴這種是一樣的,但是要 注意哦,這個重點就在這裡,大小不同的什麼?程式片段。∴要注意,大小不同 的片段,大小不同的片段,這個,這一段比較大,再來這個,這個最大,再來這 個,這個是複數,一樣,觀念是一樣。 這一章的最後一個主題,叫軟體系統發展生命週期,要注意,發展生命週期,∴ 這個主要有一個名字叫life cycle,life cycle,生命週期,就是你要做一個大程式 要怎麼做?你要幫別人做大程式,怎麼做?就像說你要幫學校做一個選課,選 課,選課加退選的系統圖案,那個很大,他有包括成績處理系統,怎麼辦?你要 先去跟誰做溝通啊?你要先跟教務處。教務處裡面的什麼?課務組。跟什麼?註 冊組。對不對?好,你要去跟他們溝通,∴你要去收集資,但是,注意聽,電 腦不是萬能的,什麼東西可以做?什麼東西不能做?不能做,用,用人工配合,∴要 收集資料,你跟對方談的時候,一定要知道對方要產生幾個表格,要出來是什麼 振格,進來資料是什麼?∴你收集完之後,你要回來討論,∴這就我剛才講的, 這由誰來做啊?project manager來做。好,那個專案經理來做。他去跟對方談, 談之後,回來做個報告,到底可不可行,可行性研究報告,到底可不可行,能 不能做,電腦不是萬能的,萬一他半年就要做完了,那個東西你做要做一年,那 就不能接,不然你要罰款,會罰款,真的到時候做一做,虧了,最後接 得一團亂,結果虧了,時間一直delay,到最後要200萬才能做完, 那昏倒了,我們倒貼100萬,∴這個要注意,這個可行性研究報告,哪一段不能做,要由人工配合,然後把那個資料帶回來,他們人工怎麼做,人工怎麼做,哪 一站,然後哪一站,哪一站,帶回來之後,你開始要畫他的整個系統,這是對方 做的,人工處理,整體系統架規畫書,好,怎麼做,怎麼做,這個步驟做完換 哪裡,好,或者這個步驟做完換,這樣一直做下去,怎麼做,這是人家跟你講啊, 那講完之後,你要帶的資料,∴這要談的非常得詳細,不然你的後面會出問題 然後這邊要注意,這邊有系統分析,這第一個步驟就是調規畫,第2個步驟叫 系統分析,這丟給什麼?高級系統分析師。高級系統分析師。他幫你畫這個圖, DFD,叫data flow diagram,data flow diagram,叫資料流程圖,什麼叫資料流程 圖?就是我剛才講的,這是一個系統,這叫成績處理系統,他需要什麼東西?需 要科目名稱。好,什麼科目?像說國文有哪幾個學分啊?幾個學分?大概幾個小 ----------------------------------p.11 時,學分是算你們的成績,那個時數算老師的薪水,各科成績像說國文多少分, 英文多少分,數學多少分,經過一個成績處理之後,這一個程序,這個process, 這要注意,這個程序,說穿了,就是一個什麼?即為模組,就是模組,或者叫這 叫什麼?副程式。有時候我們叫他是模組,有時候叫他是什麼?副程式。模組, 或者是procedure,那這邊要產生什麼?產生這個成績單,跟什麼?補考,退學、 獎學金名單。喂!這是一個很粗糙的一個結構啊,這個結構還要再細分出來,一 直分,一直分,一直分,∴我待會講這個細分之後怎麼變成程式,∴這邊畫 完之後,注意,畫完之後,這邊就是一個新系統,功能規格書,這個是別人做的, 這是我們做的,我們畫出來的,喂!這是我畫的簡單的例子啊,這裡有兩個東 西,新系功能規格書有兩個東西,一個叫迷你規格,你要描述這個東西,叫什 麼名稱,然後這個怎麼做,這個怎麼做,這要怎麼做,∴這要說明這個程序名稱, 跟他的程式倒底做什麼,∴要用什麼?要用什麼?虛擬碼。用虛擬來說明,這個 程式做什麼?那虛擬碼就是English like,好,English like,很像英文嘛,虛擬碼, 那注意,第二個是資料字典,這叫Data Dictionary,假設你有寫過data base,應 該知道什麼叫Data Dictionary,就要描述這些東西,∴你要儲存資料流程,好, 流程,等一下,流程的,這個逗點拿掉,流程的輸入,輸入,輸出資料的名稱, 要注意,輸入、輸出資料的名稱,好,資料的名稱,∴你要描述這個東西,還有說明, 這什麼意思?就是我才講的,像說這個科目名稱,科目裡面呢?有名字。名字倒底 要幾個character呢?像說這個是english,要幾個character呢?∴char,這邊要8 個字母,我們留8個字母,像說他這裡呢?這個時數,hour呢?時數。時數呢? 我們用integer來表示。Integer,3個小時,時數,那學分呢?到底多少學分呢? 也是用什麼?integer表示。∴像這個科目,就要描述這個3個欄位,要把他描述 得很清楚,∴這個說明是這樣講,他裡面到底什麼型態,什麼結構,∴這個東 西放在哪裡?放在這裡。資料字典。∴這個地方就放在迷你規格,這個,左、右這 些東西放在什麼?資料字典。這叫新系統功能規格書。好,你先抄,我等你,… cut…,現在要注意哦,這系統設計,你要把這個dfd啊,這個圖形啊,這個剛 才,我們剛才舉個例子要幫他畫畫出來,然後也要轉成這個圖形,那這個怎麼辦? 好,這要注意聽哦,你要轉的時候啊,你要找一點啊,注意,某一點切下去, 某一點把他切下去,這邊都是進來,那這邊是出來,某一點切下去,∴這一點叫 做轉換中心,這一點叫轉換中心,∴我剛才講了,交接蒙特樓,蒙特樓要有成熟感, ∵要怎麼切?你看這個像不像?這可以吧?是不是可以?從這一點,左邊進來 的,這邊右邊出去,那你會說這樣可以,這樣可不可以?這樣可示可以?也可以 啊。對不對?在以前我去那個資策會受訓的時候,…有的沒的…cut…,地方, 我們就稱為呢?轉換中心。轉換中心。然後這邊呢?這邊叫做輸入,afferent。然後 這個叫什麼?efferent,輸出。∴這要注意哦,這就是所謂的,這,假設講的話, 這是我們講的,叫I、P、O,∴這裡就是I、P、O,這種東西,讀了老半天啊, 其實都差不多la,就是名詞改了la,這叫做主程式嘛,這叫做輸入、輸出,對不 起,輸入、處理、輸出,那注意,我們 再來切分這一部份,這一部份怎看?這 ----------------------------------p.12 要注意聽哦,我現在要講一個觀念給你聽,A,注意聽哦,這個什麼意思?A呼 叫D對不對?A呼叫D對不對?也就是說,應該這樣講la,不要這樣講,不 是,應該這樣講才對,A做完之後給D,對不對?A做完東西是不是給D?A做 完東西給D。那注意聽哦,誰呼叫誰?誰呼叫誰?我們剛才講A呼叫D不對, 誰呼叫誰?A做完之後,A做完之後給D對不對?聽懂嗎?A做完之後給D, ∴誰呼叫誰?D呼叫A。D做到一半的時候,做不下去了,沒有值,我做不下去, ∴說A你幫我算一算,你幫我算一算,就我給你角度,你幫我算什麼?sin出來。 一般在電腦裡面,不是給角度,都給什麼?進度。應該聽懂嘛,進度,你要是聽 不懂算了,聽不懂算了,角度跟進度還要互換la,還要從,聽不懂算了,除非搞 懂角度,好,要給值,好,事實上不是給角度哦,是給進度,像說我們給sin 30, 30度,他給我0.5,對不對?sin 30應該聽懂嘛,聽懂嗎?這邊喔,沒關係,聽 不懂算了,當做都沒說,沒關係,現在數學很差la,不要說三角函數la,…有的 沒的…,這邊要注意啊,你要那個考插大,拜託,去補一下微積分啊,不然到時 候你會槓龜哦,∵插大微積分很重要,這邊要注意哦,這個要注意,這個要呼叫 他,執行完之後,回到這裡,∴現在誰呼叫誰?D呼叫A。∴D呼叫A,我們把 箭頭打回來,就在呼叫,∴打回來,像要寫的時候,這個呼叫這個,∴ 這個呼叫這個,好,這個打回來,這個呼叫這個,∴這怎麼畫圖?這畫圖的話, 變成這樣,C呼叫D,然後D呼叫誰?呼叫A。這個是呼叫啊,呼叫,那這邊呢? B。B呼叫誰?呼叫A。∴我畫這樣,你看這是不是結構圖出來了?這是一個什 麼圖?結構圖。那再看這個好了,Z呼叫Y,那Y呼叫什麼?X。這邊註明Z、 Y、X,好,這邊點點點,那這種分析方法,喂!這個點點點表示不畫了啊,那 注意哦,這種分析方法叫transform analysis,轉換分析,那其實喔,你在看電動 玩具的時候,電動玩具,應該有玩過電動玩具吧,不是現在什麼三國演義那一種 哦,不是那一種哦,什麼模擬程式啊,蓋房子那個沒有,那個不是,早期的電動 玩具很多個,就像說第一個,什麼小蜜蜂la,第2個小精靈la,第3個,什麼, 什麼那個樸克牌啊,好,第4個,什麼什麼一堆,有沒有?然後他問你,你要哪 一個。那這種就是menu,出來就是在這裡,menu在這裡,那根據你的call,他 會跳到哪個rutting,這應該聽懂嘛,跳到哪個rutting,∴一般是看到這種東西, 對不對?好,∴這種叫transaction analysis,叫做什麼?異動分析。這要注意哦, 這是一個交易中心,這是一個主程式,顯示那個螢光幕那個,你要有幾種遊戲, 你要選哪一個,你給他一個值,他就往哪裡走,∴K等於1,往這裡走;K等於 2,往這裡走;K等於3,往這裡走,∴像這種,這裡有一個程式,根據你條件 的判斷,他到哪個rutting去,∴從這個流程,這個程式流程,資料流程圖,對 不起,資料流程圖轉成什麼?結構圖。那這種轉換叫做transaction analysis,那 在你的書本上有,來,我看書本上啊,∵這裡我們要寫那個名詞,∴直接看書本 上,這個書本上在哪裡?在那個23頁,∴這邊參考23頁,好,這邊也要參考 23頁,這裡我沒有寫名詞,這 裡我想說這個不用抄,用看的比較快啊,你看23 頁一開始啊,有沒有找到23頁?…cut…有的沒的…cut…聽不清楚…,23頁, ----------------------------------p.13 23頁一般而言啊,一般而言,根據以上所述的方法,在設計階段,還須再細分 幾層,而後我們便須根據DFD,有沒有找到?DFD轉換成什麼?結構圖。這畫 起來,DFD轉換成結構圖。這結構圖有著層次的結構,好,這不要畫哦,有了 結構圖就可以很容易把程式給寫了出來,可是從,好,開始畫,”從”開始畫,從DFD要變 成結構圖則需要相當的技術,最重要的是找出主要的變換流程,”變換流程”把他 框起來,transform flow,根據這個變換流程,一直畫,左邊的稱之為輸入流程, afferent flow左邊則稱為輸出流程,efferent flow,好,這畫起來,這是我黑板上講的 這叫afferent flow,這叫efferent flow,然後在底下,底下是不是 有個圖?圖就是我寫的黑板,是不是這個圖?對不對?是不是這個圖?對不對?然後這個 轉成這個圖,在那個講義上還沒有轉得很漂亮,沒有全部轉完,他這裡有沒有轉? 沒轉。他不是沒轉嗎?我全部把他轉過來。這裡我不轉了,好,那再注意看, 23頁,23頁的底下那一段,另外一個方法,這畫起來,另外一個方法稱為交易 分析,這叫transaction analysis,他的形式通常是一個資料流入一個程序之後, 產生好幾個選擇性的路徑,分別傳送資料出去,這個負責傳送的程序,我們稱之 為交易中心,transaction center,就是這個,喂!就是這個,transaction center, 然後分出的路徑,意,這一條路徑,這一條路徑,這一條路徑,這有3條路 徑,這叫做動作路徑,叫action path,action path,好,這個畫起來,畫到底了。 好,等一下,22頁啊,22頁倒數第5行,是不是1,內聚力?在上面那一行, 一般我們用下列兩種方式來評估模組的好壞,有沒有找到?第一個叫內聚力,用 以衡量模組內部不同事物聚集力量大小的標準,愈強愈好,這把他畫起來,然後 耦合力,剛才那個cohesion,下面是coupling,用以衡量模組之間彼此獨立的程 度,好,然後在底下那一行,共享情況很少者稱為低耦合力,耦合力越弱當然是 越好,好,這畫起來,好,那這個應該沒問題了,蓋掉了,我們看下一個步驟,… cut…,第4個,程式設計,程式設計就是程式發展,程式發展就是程式撰寫, 把這個圖,注意哦,把這個圖,好,剛才還有一個東西忘了講,好,這圖出來之 後,什麼會出來?你的程式的架構是不是會出來?倒底有幾個模組?1、2、3、4。 是不是都互相出來?∴你的程式規格出來了,還有什麼會出來?這個,這個地方 負責什麼?INPUT。這個地方負責什麼?output。你的i/o檔案會出來,檔案,你 的檔案規格會出來,∴這邊檔案規格會出來,好,那再看下一個步驟,這個結構 出來之後,我們要變成程式,這是一個一個模組,是不是要寫個程式?∴把那個 模組,將結構圖的模組轉成什麼?程式。利用三種基本結構。這是不是講過了? 3種是什麼?循序、選擇、迴圈。這是不是講過了?我前一陣子是不是有設計程 式給你看過嘛?循序、選擇、迴圈。好,∴程式,要注意哦,程式寫出來之後, 他的產品剛好是程式碼,跟什麼?說明書。說明書是什麼東西?就是註解。就是 註解。就是你們的專題的報告有沒有?專題報告。…cut…系統測試,要注意哦, 你做完程式,我好像上禮拜講過,記不記得?我說這個做完之後,注意聽哦,這 個做完之後,是不是這個要測?假設這土程式做完是不是要測?這要測。然後這 邊呢?你做完這input的時候,這要測。對不對?做完之後,測完之後呢?這要 ----------------------------------p.14 整個測。∴怎麼測?∴一開始要怎麼測?單元測試。測這個叫單元測試,整個測 叫什麼?整體測試。∴模組測試就是單元測試,整個測叫整體測試。測試完之後 呢,在學校是拿給老師測,老師是不是亂帶?對不對?那外面是拿給客戶測,這 叫接收測試,都沒有問題的時候,注意,都沒有問題了,要做系統轉換,什麼叫 系統轉換?你平常做的是人工處理,對不對?那人工處理是不是要用寫的?但是你要 用電腦處理是不是要把他儲存起來,寫的東西要儲存起來,儲存到檔案,∴叫系 統轉換,好,把原杁的資料,要放到什麼?電腦杁儲存。那平行作業什麼意思? 就是說你新的系統,這個是舊系統,這個新系統,你要run run看,check看看有 沒有錯,run一半,看看有沒有錯,再run下去,有沒有錯,這要run很久,看 看有沒有錯,假設都沒有錯,整個程式都沒錯,那表示正常,這要run很久,∵ 我畫的是只有一個程式,其實你那個系統是很多副程式,每個都要run,∴要試 範的,兩個一起RUN,那個設都沒有問題,把舊的系統拿下來,那新系統把他 掛上去,就可以用了,∴這叫平行處理,∴記得哦,這有考哦,單元、整體、接 收、系統轉換、平行作業,這個都做完之後,都沒問題了,都可以RUN了,最後 這邊就要寫出什麼?使用手冊。在台灣最差的就是這個步驟,使用手冊寫到最後 只有自己看得懂,別人都看不懂,好,∴這個很糟糕,這個使用手冊,這要把他 建上去,然後建完之後,你要做什麼?維護。好,要做維護。 好,結構圖是哪個的產品?等一下,等一下,講完了,結構圖是哪個產品?哪個 產品?系統什麼?設計。這聽得懂嗎?喂!來…來,講完了,這個什麼產品?可 行性研究報告。還有什麼?整體系統功能規格書。對不對?這個呢?這個呢? 喂!同學,這個呢?資料流程圖。這個什麼?迷你規格。還有什麼?資料字典。 一定要背起來啊,∵我是讀這個,∴我知道啊,我專長就在這裡LA,但是讀到最 後後悔LA,…有的沒的…,這個,就是剛才講的,這是結構圖,結構圖就是,程 式規格是什麼?I/O檔案規格。那這個呢?設計出來就是什麼?程式。∴要寫什麼? 說明書。對不對?程式說明書。這個呢?使用說明書。 我們再講一個,有一個叫corautine(corporative),這個co是合作,股份有限公司也是這個, 有沒有?合作。那這個是routine,是什麼?副程式。∴他是屬於什麼?互動程式。注意 哦,副程式在未執行完成,注意,一般來講主程式呼叫副程式,副程式要執行完, 就傳回來,這要注意,這還沒有執行完,將控制權回轉至呼叫他們的副程式,要 注意哦,控制權回轉至呼叫他們的副程式,這什麼意思?像這個啊,這個在unix 才能看到,unix,做…做,做到一半,喂!wake up,換你la,做到一半,喂! Wake up,換你la,有沒有?呼叫他。∴做到一半,喂!wake up,換你了,把他 叫醒,那這個做到一半,喂!換你了,這做到一半,換你了,這做到一半,換別人 ,有沒有?有沒有這種程式?你玩到現在有沒有這種程式?有沒有?沒有嗎?windows裡面沒有嗎?windows裡面不是就兩個程式起run,有沒有?這個run 一下,這個run一下,有沒有?有沒有?你上網的時候不是開了好多視窗,在亂 看啊,有沒有?先看這裡,那邊又可以看,對不對?或者這個在下,這邊在看, 有沒有?這就是類似這種,這種類似什麼?multi tasking。∴用在什麼?concurrent ----------------------------------p.15 program。這個用在multi tasking。這叫什麼?多工。多工。微電腦的工作就是time shell,分時系統,一人分一段時間,好,你趕快抄,這個是補充1哦。…cut…, 要注意哦,這個配合什麼?這要配合top down design。這叫由上而下程式設計, 由上而下程式設計。∴注意哦,上面寫完了,上面寫完了,上面寫完了,一定要 建立一個這東西,注意,建立這個東西,這是重點,建立一個虛擬子程式,這叫 stub module,又叫做傀儡模組,這什麼意思啊,上面我寫完了,然後call底下,是 不是要call底下?沒有底下這個,能run嗎?同學,沒有這個能run嗎?∴不能 run。∴我剛剛有這個程式,要注意,剛剛有這個程式,不能run,一定要再加一 個程式,這個叫做虛擬子程式,這個,∴假設你只有這一個,一run,電腦就會罵 你,罵這個,注意哦,你只有這一段程式的話,電腦就會罵你,罵這個東西,你 call他,沒有這個東西哦,你怎麼call?∴我們要寫一段假的程式,這種叫什麼? 虛擬子程式。虛擬子程式啊。那要注意聽哦,這種寫法就是演算法的寫法,要注 意,這種是演算法的寫法,不是這個程式哦,這個程式不能run哦,這是演算法, 我們待會看講義,講義有那個名詞,演算法的名詞,要注意哦,這個演算法,∴ input name、hours、rate,輸入3個東西,這3個,當這個name不等於end of data, 你輸進來的東西不是end of data,像說我們舉個例子講,我輸入是john,他工作了 10個小時,每個小時是100塊,我們要算他的錢,∴name,name是john,不等於這 個東西,∴要do,do這個東西,∴call,call這個,∴他會把這3個東西傳過去, hours,hours,10個小時,一個小時是100塊,假設這樣,要算出什麼?wages。 薪水。薪水。∴你看這個強迫印,hours等於呢?10個小時。Rate等於呢?100 塊。表示我是不是有收到東西?注意聽哦,我是不是強迫印?是不是我收到東 西?這就是怕參數傳遞錯誤。薪水呢?這個東西,你看,連算都沒算哦,連算都沒算,就是多少?999。 點什麼?99。不管他多少小時,多少個錢,反正就是這個數字嘛,這個數字是假 資料,∴注意聽哦,看這個圖,我call他,他傳一個假資料給我,這個假資料就 是999點什麼?99。∴傳回來給我,傳回來給我,∴傳回來999點什麼?99。參 數傳過去兩個,傳回來是不是一個?好,∴印出來,名字,名字就叫什麼?john。 然後wages多少?999點什麼?99。然後再輸入下一個,下一個是不是從頭回來 做?是不是在那邊一直轉?一直轉。∴沒有這個程式集不能run,有這個程式才能 run,這個叫虛擬子程式,由上而下,記得,由上而下,要進入什麼?虛擬子程 式。好,先看那個書本啊,來,先看講義,來,講義這個邊有一個東西一定要看一下, 27頁,27頁是不是有一個精選練習?精選練習第1題回去自己看,第2題是不 是請簡述下列名詞的意義?有沒有找到?第1個名詞叫proper program,這個要 打勾,畫一顆星,這要看。第2個,hipo,hipo我講過了,這個不再解釋。Pseudo code,這個畫一顆星。Vtoc,剛才講過了,不講了。第5個,walkthrough,這個 也講過了,不講了。Chief programmer tean,那個”tean”打錯了,team,這個也講 過了,不講了。第7個,data coupling,這個也講過了,不講了。第8個,data cohesion,講過,不講了。第9個,coroutine,是不是講過?不講了。第10個, preprocessor,這個欠著,打一顆星,打一顆星,這以後會講。會在C語言會講, ----------------------------------p.16 第11個是stub module,好,打一顆星。好,請看28頁,28頁,注意,什麼叫 真程式?這是定義,凡一個程式只有一個入口,畫起來,”一個入口”,我們寫程 式當然只能一個入 口,就是結構化程式,一個出口,這畫起來,沒有無窮迴路, 這畫起來,不能為無窮迴路,沒有無法執行到指令的稱之,沒有無法執行到,什 麼無法執行到?寫程式寫到這樣的,莫名其妙,跳過來,這邊,這邊都不會執 行到,這個叫無法執行到。你用什麼指令才會用這個?go to 100。是不是100跳 到這裡來?對不對?∴” 沒有無法執行到”畫線,然後畫一個箭頭出來,即無go to 指令,沒有go to指令,沒有go to的指令,就是沒有go to指令,這叫真程式, ∴注意,他定義什麼叫真程式?程式一入口、一出口,沒有無窮迴路,沒有什麼? 無法執行到的指令。 好,第3個是不是叫pseudo code?虛擬碼。虛擬碼,注意聽哦,主要是運用結構 化程戈設計的基本邏輯結構,” 基本邏輯結構”畫線,然後畫一個箭頭出來,3種。” 基本邏輯結構”畫線,畫出來,3種。表示他有3種基本結構,循序、選擇、迴 圈。”內縮
相簿設定
標籤設定
相簿狀態