所屬科目:研究所、轉學考(插大)、學士後-計算機概論
1. 請依據上述敘述,描繪這個系統的實體關聯圖(Entity-relationship model) (註:請註明屬性、鍵值屬性、關聯的基數關係)。(5分)
2. 請將上述實體關聯圖轉換為關連式資料庫綱要(Relational database schema) (註:請註明實體完整性限制及參考完整性限制)。(5分)
3. 請問何謂Domain constraint?Key constraint?Referential integrity constraint?Entity integrity constraint?(5分)
4. 請問要刪除某個學生的紀錄時,引發其他關連式資料表格的參考完整性限制時,在設計學生的資料表格時有哪些方式可以處理這個問題?(5分)
5. 請寫出查詢學生修課成績的SQL指令,顯示欄位包括學號、姓名、課程名稱、開課年度、開課學期、成績。(5分)
2. 申論題 1. 請選擇一項物聯網(Internet of Things, IoTs)技術,說明它在企業資源規劃(Enterprise Resource Planning, ERP)系統方面的應用方式為何?(5分)
2. 請說明SCRUM和傳統瀑布式資訊系統開發方式的差異為何?(5分)
3. 請解釋何謂搜尋引擎最佳化(Search Engine Optimization, SEO)?(5分)
4. 請解釋何謂監督式學習(Supervised Learning)?(5分)
5. 請解釋第三方支付提供哪些顧客價值?(5分)
1. 負責制定TCP/IP相關標準的國際組織是?
2. 關於IP Address的長度,IPv4的是32 Bits,那麼IPv6的是多少?
3. 平常LAN所使用的網路線(UTP雙絞線)會有長度限制,例如單條不可超過100米,其主要原因是因為?
4. 在TCP/IP之下最常被用於網管的協定除了ICMP之外,還有____?
5. 微軟有提供現成的Windows Server系統的雲端服務,以方便用戶安裝所需的企業級應用服務(如IIS、或是SQL Server)。請問這是屬於那一種雲端服務?
6. 當你瀏覽網頁時,你的瀏覽器會發出HTTP的訊息,該訊息會被第四層的TCP封裝起來,然後TCP的Message又必須交由第三層的IP封裝成封包,此時,需要知道Destination IP Address。請問,除了使用者自己提供以外,通常電腦會用哪一種方法得知遠端網頁伺服器的IP Address?
6. 當你瀏覽網頁時,你的瀏覽器會發出HTTP的訊息,該訊息會被第四層的TCP封裝起來,然後TCP的Message又必須交由第三層的IP封裝成封包,此時,需要知道Destination IP Address。請問,除了使用者自己提供以外,通常電腦會用哪一種方法得知遠端網頁伺服器的IP Address?7. 承上小題,該封包還會在第二層封裝成Ethernet Frame,最後才轉成訊號送出。倘若接收端發現錯誤,請問前述的Ethernet、IP、TCP、以及HTTP裡,哪一個會負責修正錯誤(Error Correction)?
8. 「在路上利用高鐵App線上購票、到站後直接出示手機上的條碼即可進站」,請問前面所描述的是Internet上的哪一種商務應用模式?
9. 很多公司的內部網路都是採用Private IP,這有很多好處,例如可以解決Public IP不夠用的問題,也可以提供部分的安全性;但缺點是使用Private IP位址的電腦無法直接連線上Internet。請問我們需要什麼設備來解決這個問題?
10. 如果有一顆Router的Routing Table共有100筆Routing資料,且該Router的運算能力可以達到每秒完成一百萬筆Routing資料的比對工作。假設每個封包的大小是100 Bytes,請問該Router的最大Throughput是多少bps?
1. 在開始寫程式之前,應該先了解所要解決的問題情境,並適當規劃出解決方案的步驟或流程。其中,流程圖是一種既容易理解、又方便與使用者溝通程序對錯的方式,例如底下例子:「如果天氣好,就去爬山;否則上健身房。不管爬山或上健身房,都要帶毛巾出門,而且最後都要回家吃晚餐」,透過流程圖即可清楚知道一天的活動順序。請為上述情境畫出適切的流程圖。(注意:「執行動作」請用矩形。「條件判斷」請用菱形,且其結果只能是True/False。流程的開始與結束狀態請用圓形。)
2. 但是一些常見的問題,其實已經存在現成的演算法可供參考,程式開發者也無須自行發想規劃。而且在解決某一些特定難題時,通常有許多不同演算法可以選用,而這些方法中有些是所謂的「貪婪演算法(Greedy-method algorithm)」類型,它們會將問題分解成很多獨立的小步驟、並在每個步驟都採用最佳解,如此就可以為該難題找出最好的解答。例如在尋找Minimum-cost Spanning Tree的問題上,Kruskal’s algorithm、Prim’s algorithm、或是Sollin’s algorithm等,都是屬於這類演算法。但是,貪婪演算法在某些問題上並不保證可以得到最佳解,請舉一個實例說明之。(實際的演算法、或是一般生活實例皆可)
3. 在系統架構設計的過程中,除了演算法,選用適合的資料結構也是重點之一。例如,你的資訊系統需要一個Priority Queue(也就是每次要移除(Pop、Deletion)資料時,一定是選取權值最大的那一筆資料,但新增(Push、Insertion)時資料的權值大小則可能是任意大小),而且,根據使用情境的觀察與分析,這個應用系統很常做Push、但很少Pop。如果實作的資料結構有兩種選擇:Unordered Array與Sorted Array,亦即都是以陣列直接儲存資料,但後者會按資料的權值大小排序,而前者則完全不排序,僅依照Push的順序新增到陣列的後面。就這個實例而言,若從整體效能來考量,你會採用前述哪種資料結構?請仔細說明你的觀點。
4. 一般人們所習慣的書寫方式是所謂的中置式表示法(Infix Expression),例如 a*((b-3)/c) ,因此電腦程式語法也是如此設計。但是電腦本身卻適合使用後置式表示法(Postfix Expression),所以Compiler的工作之一就是將Infix的程式碼轉成Postfix表示式。請把前述底線所寫的Infix表示式轉成正確的Postfix表示式,並說明Postfix Expression對電腦的執行有何好處?