軟考總結(1)

1106

1.機器字長爲n位的二進制數可以用補碼來表示2^n個不同的有符號定點小數。
補碼錶示定點小數,範圍是:[-1,(1-2(-n+1))],這個範圍一共有2n個數。
8位原碼和反碼能夠表示數的範圍是-127~127
8位補碼能夠表示數的範圍是-128~127
補碼就是二進制表示負數的一種方法,引入了補碼概念,負數的補碼就是反碼加一,而正數不變,正數的原碼反碼補碼是一樣的。在補碼中,用(-128)代替(-0),所以補碼的表示範圍爲(-1280127)共256個。

2.Cache的地址映像方式中,發生塊衝突次數最小的是全相聯映像。
塊衝突:cache在映射內存塊時映射到相同內存塊。全相聯映像塊衝突最小,因爲他全局都可以映射,其次爲組相聯映像,直接映像塊衝突最大。

3.總線寬度爲32bit,時鐘頻率爲200MHz,若總線上每5個時鐘週期傳送一個32bit的字,則總線的帶寬爲160MB/S.
200M/5*32bit/8=160MB/S.

4.在概要設計階段選擇適當的解決方案,將系統分解爲若干個子系統,建立整個系統的體系結構。
軟件設計可以分爲概要設計和詳細設計兩個階段。

實際上軟件設計的主要任務就是將軟件分解成模塊是指能實現某個功能的數據和程序說明、可執行程序和程序單元。可以是一個函數、過程、子程序、一段帶有程序說明的獨立的程序和數據、也可以是可組合、可分解和可更換的功能單元。模塊,然後進行模塊設計。
概要設計就是結構設計,其主要目標就是給出軟件的模塊結構,用軟件結構圖表示。
詳細設計的首要任務就是設計模塊的程序流程、算法和數據結構,次要任務就是設計數據庫,常用方法還是結構化程序設計方法。

5.風險的優先級通常是根據風險暴露設定。
風險暴露又稱風險曝光度,測量的是資產的整個安全性風險,它將表示實際損失的可能性與表示大量可能損失的資訊結合到單一數字評估中。在形式最簡單的定量性風險分析中,風險曝光度可透過將風險可能性及影響相乘算出。
風險曝光度(RisjExposure)=錯誤出現率(風險出現率)*錯誤造成損失(風險損失)

6.C程序中全局變量的存儲空間在靜態數據區分配。
全局變量、靜態局部變量、靜態全局變量都存放在靜態數據存儲區。

7.某進程有4個頁面,頁號爲0~3,頁面變換表及狀態位、訪問位和修改位的含義如下圖所示。若系統給該進程分配了3個存儲塊,當訪問的頁面1不在內存時,應該淘汰表中頁號爲( )的頁面的系統代價最小。
在這裏插入圖片描述
內存在的三個頁面,都是剛剛被訪問過的。所以在此不能已訪問位座位判斷標準。只能看修改位,在修改位中,只有3號頁未被修改,如果淘汰三號頁可以直接淘汰即可。就不會有額外的開銷。

8.在敏捷過程的方法中水晶法認爲每一個不同的項目都需要一套不同的策略、約定和方法論。
水晶法Crystal,其目的是發展一種提倡“機動性的”方法,包含具有共性的核心元素,每個都含有獨特的角色、過程模式、工作產品和實踐。Crystal家族實際上是一組經過證明、對不同類型項目非常有效的敏捷過程,他的發明使得敏捷團隊可以根據其項目和環境選擇最合適的Crystal家族成員。
極限編程XP是一門針對業務和軟件開發的規則,他的作用在於將兩者的力量集中在共同的、可以達到的目標上。他是以符合客戶需要的軟件爲目標而產生的一種方法論,XP使開發者能夠更有效的響應客戶的需求變化,哪怕是在軟件生命週期的後期。它強調,軟件開發是人與人合作進行的過程,因此成功的軟件開發過程應該充分利用人的優勢,而弱化人的缺點,突出人在軟件開發過程中的作用。極限編程屬於輕量級的方法,認爲文檔、架構不如直接編程來的直接。

9.七種內聚
1)功能內聚(Functional Cohesion)
如果一個模塊內所有處理元素完成一個,而且僅完成一個功能,則稱爲功能內聚。
功能內聚是最高程度的內聚。但在軟件結構中,並不是每個模塊都能設計成一個功能內聚模塊。
2)順序內聚(Sequential Cohesion)
如果一個模塊內處理元素和同一個功能密切相關,而且這些處理元素必須順序執行,則稱爲順序內聚。
3)通信內聚(Communicational Cohesion)
如果一個模塊中所有處理元素都使用同一個輸入數據和(或)產生同一個輸出數據,稱爲通信內聚。
4)過程內聚(Procedural Cohesion)
如果一個模塊內的處理元素是相關的,而且必須以特定的次序執行,稱爲過程內聚。
過程內聚與順序內聚的區別是: 順序內聚中是數據流從一個處理單元流到另一個處理單元,而過程內聚是控制流從一個動作流向另一個動作。
5)時間內聚(Temporal Cohesion)
如果一個模塊包含的任務必須在同一段時間內執行,稱爲時間內聚。也稱爲瞬時內聚。
6)邏輯內聚(Logical Cohesion)
如果模塊完成的任務在邏輯上屬於相同或相似的一類,稱爲邏輯內聚。
7)偶然內聚(Coincidental Cohesion)
如果一個模塊由完成若干毫無關係的功能處理元素偶然組合在一起的,就叫偶然內聚。

9.集成測試
自頂向下集成:
優點: 較早地驗證了主要控制和判斷點;按深度優先可以首先實現和驗證一個完整的軟件功能;功能較早證實,帶來信心;只需一個驅動,減少驅動器開發的費用;支持故障隔離。
缺點: 樁的開發量大;底層驗證被推遲;底層組件測試不充分。
適應於產品控制結構比較清晰和穩定;高層接口變化較小;底層接口未定義或經常可能被修改;產口控制組件具有較大的技術風險,需要儘早被驗證;希望儘早能看到產品的系統功能行爲。

自底向上集成:
優點: 對底層組件行爲較早驗證;工作最初可以並行集成,比自頂向下效率高;減少了樁的工作量;支持故障隔離。
缺點: 驅動的開發工作量大;對高層的驗證被推遲,設計上的錯誤不能被及時發現。
適應於底層接口比較穩定;高層接口變化比較頻繁;底層組件較早被完成。

樁程序: 他是在保證被測程序原有邏輯完整性的基礎上在程序中插入一些探針(又稱爲“探測儀”),通過探針的執行並拋出程序運行的特徵數據,通過對這些數據的分析,可以獲得程序的控制流和數據流信息,進而得到邏輯覆蓋等動態信息,從而實現測試目的的方法。

10.簡單選擇排序
  簡單選擇排序是最簡單直觀的一種算法,基本思想爲每一趟從待排序的數據元素中選擇最小(或最大)的一個元素作爲首元素,直到所有元素排完爲止,簡單選擇排序是不穩定排序
  在算法實現時,每一趟確定最小元素的時候會通過不斷地比較交換來使得首位置爲當前最小,交換是個比較耗時的操作。其實我們很容易發現,在還未完全確定當前最小元素之前,這些交換都是無意義的。我們可以通過設置一個變量min,每一次比較僅存儲較小元素的數組下標,當輪循環結束之後,那這個變量存儲的就是當前最小元素的下標,此時再執行交換操作即可。代碼實現很簡單,一起來看下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章