名詞解釋(5*4)
-
耦合和內聚(模塊的內聚包含哪些)
模塊的內聚程度:偶然內聚→邏輯內聚→時間內聚→程序內聚→通信內聚→ 順序內聚→ 功能內聚,
模塊的耦合程度:無直接耦合→ 資料耦合→ 標記(特征)耦合→ 控制耦合→ 外部耦合→ 公共耦合→ 內容耦合, -
軟體危機,軟體危機包含那兩點,危機產生的原因
表現:成本高、軟體質量不能保證、進度難以控制、維護困難
軟體危機的主要原因是**軟體本身的特點及開發維護方法不正確**,
克服軟體危機:- 從管理的角度軟體開發程序的研究、檔案的標準化以及人們的交流方式等
- 軟體開發方法的研究:結構化軟體開發方法, 面向物件的開發
-
軟體生命周期
軟體生命周期包括:制定計劃、需求分析、軟體設計、程式編碼、軟體測驗、運行維護,- 軟體定義
問題定義、可行性研究、需求分析 - 軟體開發
總體設計、詳細設計、編碼、單元測驗、綜合測驗 - 運行維護
- 軟體定義
-
結構化程式設計包含哪些步驟
自頂向下、逐步求精、模塊化設計
-
瀑布模型
瀑布模型將軟體生命周期為制定計劃、需求分析、軟體設計、程式編碼、軟體測驗、運行維護**,并規定它們自上而下、相互銜接的固定次序,
瀑布模型是檔案驅動的模型特點:
- 提供了軟體程序模型的基本框架(模板),
- 強調了每一階段活動的嚴格順序,
- 質量保證觀點:以經過評審確認了的階段作業產品(檔案)驅動下一階段的作業,便于管理,
- 是一種整體開發模型,程式的物理實作集中在開發階段的后期,用戶在最后才能看到自己的產品,
優點:
- 為專案提供了按階段劃分的檢查點
- 當前一階段內容完成后,僅需關注后續的內容
- 可在迭代模型中應用瀑布模型
缺點:
- 不適合需求模糊或需求經常變動的系統
- 用戶等待時間較長
-
COCOMO
COCOMO,構造性成本模型,它是一種精確、易于使用的,基于模型的成本估算方法,
cocomo有三個不同層次模型來反映不同程度的復雜性,分別為- 基本模型 是一個靜態單變數模型,它用一個以已估算出來的源代碼行數 (LOC) 為自變數的函式來計算軟體開發作業量,
- 中間模型 則在用 LOC 為自變數的函式計算軟體開發作業量的基礎上,再用涉及產品、硬體、人員、專案等方面屬性的影響因素來調整作業量的估算,
- 詳細模型 包括中間 COCOMO 模型的所有特性,但用上述各種影響因素調整作業量估算時,還要考慮對軟體工程程序中分析、設計等各步驟的影響
根據不同應用軟體的不同應用領域,cocomo模型劃分三種軟體應用開發模式:
- **組織模式 ** 這種應用開發模式的主要特點是在一個熟悉穩定的環境種進行專案開發,該專案與最近開發的其他專案有很多相似點,專案相對較小,而且并不需要許多創新,
- 嵌入式應用開發模式 在這種應用開發模式種,專案受到介面要求的限制,介面對整個應用的開發要求非常高,而且要求專案有很大的創新,例如開發一種全新的游戲,
- 中間應用開發模式 這時介于組織模式和嵌入式應用開發模式之間的型別,
-
UML
UML的靜態建模機制包括**用例圖、類圖、物件圖和包圖**,
簡答題(5*5)
-
成本效益分析
從經濟角度分析開發一個特定的新系統是否劃算,從而幫助客戶組織的負責人正確地作出是否投資于這項開發工程的決定,
軟體開發成本主要表現為人力消耗,估算技術有 代碼行技術、任務分解技術、自動估計成本技術
成本/效益分析的方法
- 貨幣的時間價值
通常用利率表示貨幣的時間價值,設年利率為 i i i,現已存入 P P P元,則 n n n年后可得錢數為 F = P ( 1 + i ) n F=P(1+i)^n F=P(1+i)n,這就是P元錢在 n n n年后的價值,反之,若 n n n年后能收入 F F F元,那么這些錢現在的價值是 P = F / ( 1 + i ) n P=F/(1+i)^n P=F/(1+i)n - 投資回收期
投資回收期是衡量一個開發工程價值的經濟指標,投資回收期就是積累的經濟效益等于最初的投資所需要的時間,投資回收期越短,就能越快獲得利潤, - 純收入
工程的純收入是衡量工程價值的另一項經濟指標,純收入就是在整個生存周期之內系統的累計經濟效益(折合成現在值)與投資之差, - 投資回報率
投 資 回 報 率 = 收 入 / 投 資 投資回報率 = 收入/投資 投資回報率=收入/投資
Tips:
①投資是現在進行的,效益是將來獲得的,不能簡單地比較成本和效益,應該考慮貨幣的時間價值,
②總的效益和生命周期的長度有關,所以應該合理地估計軟體的壽命, - 貨幣的時間價值
-
敏捷開發
敏捷開發以用戶的需求進化為核心,采用迭代、循序漸進的方法進行軟體開發,
特點:- 個體和互動勝過程序和工具
- 客戶合作勝過合同談判
- 回應變化要勝過遵循計劃
優點:
- 敏捷開發的高適應性,以人為本的特性
- 更加靈活并更加充分的利用了每個開發者的優勢,調動了每個人的作業熱情
缺點:
- 由于其專案周期很長,所以很難保證開發的人員不更換,而沒有檔案就會造成在交接的程序中出現很大的困難,
敏捷開發三大角色:
產品負責人:確定產品功能及標準,指定軟體發布日期和交付內容,同時有權利接識訓拒絕開發團隊的作業成果,
流程管理員:負責整個Scrum在專案中的順利實施和進行,以及清除客戶與開發團隊見的共同障礙,使客戶可以直接驅動開發,
開發團隊:負責軟體產品在Scrum規定流程下進行開發作業, -
專案管理(專案進度化編制)
-
可行性研究
可行性研究也稱專案認證,度量一個特定技術資訊系統解決方案的實用性及技術資源的可用性,需要考慮開發風險分析、資源分析、相關技術的發展,
目的就是用最小的代價在盡可能短的時間內確定該軟體專案是否能夠開發,是否值得開發,
實質上是要進行一次大大壓縮簡化了的系統分析和設計的程序,也就是在較高層次上以比較抽象的方式進行的系統分析和設計的程序,
最根本任務——對軟體開發以后的行動方針提出建議 -
RUP的概念和核心思想
RUP(統一軟體開發程序)是一個面向物件且基于網路的程式開發方法論, RUP描述了如何有效地利用商業的可靠的方法開發和部署軟體,是一種重量級程序
RUP開發程序:
起始階段(為專案建立業務案例) → 細化階段(建立工程計劃和合理的體系) → 構建階段(構造系統) → 提交階段(將系統提交給用戶)RUP特征:
- 迭代式增量開發程序
- 用例驅動
- 以軟體體系結構為中心
RUP優點:
- 迭代式開發,降低風險、得到早期用戶反饋、適應變更、提高復用性
- 管理需求,解決正確的問題,建立正確的系統
- 使用構建架構,對體系進行自下而上的設計、實作和測驗,易于直觀上理解
- 可視化建模,直觀描述體系結構的特點和機構、保證設計和實作上的一致性
- 檢驗質量,保證軟體的可靠性
- 控制變更
UML是軟體計劃的畫圖工具,而RUP是為軟體計劃提供步驟,指導軟體計劃,
-
白盒法
白盒測驗包括**代碼檢查法、邏輯覆寫法、基本路徑測驗**,白盒測驗,又稱結構測驗,邏輯驅動測驗,是基于代碼的測驗,
白盒測驗,是針對**被測單元內部是如何進行作業的測驗,它根據程式內部結構設計測驗用例,主要用于軟體或程式驗證, 白盒測驗法檢查程式內部邏輯結構,對所有邏輯路徑**進行測驗,是一種窮舉路徑的測驗方法,
白盒測驗用例要求:
- 保證一個模塊中的所有獨立路徑至少被使用一次
- 對所有邏輯值均需測驗
- 在上下邊界及可操作范圍內運行所有回圈
- 檢查內部資料結構以確保其有效性
白盒測驗步驟:
- 測驗計劃階段:根據需求說明書,制定測驗進度,
- 測驗設計階段:依據程式設計說明書,按照一定規范化的方法進行軟體結構劃分和設計測驗用例,
- 測驗執行階段:輸入測驗用例,得到測驗結果,
- 測驗總結階段:對比測驗的結果和代碼的預期結果,分析錯誤原因,找到并解決錯誤,
白盒測驗主要是檢查**程式的內部結構、邏輯、回圈和路徑**,常用測驗用例設計方法有:
邏輯覆寫:以程式的內部邏輯結構為基礎,分為陳述句覆寫、判定覆寫、條件覆寫、判定-條件覆寫、條件組合覆寫等,
基本路徑測驗:在程式控制流程的基礎上,分析控制構造的環路復雜性,匯出基本可執行路徑集合,從而設計測驗用例,
優點:
- 使測驗人員仔細思考軟體的實作
- 檢測代碼中的每條分支和路徑
缺點:
- 貴
- 無法檢測代碼中遺漏的路徑和資料敏感性錯誤
Tips:
①窮舉路徑測驗決不能查出程式違反了設計規范,即程式本身是個錯誤的程式,
②窮舉路徑測驗不可能查出程式中因遺漏路徑而出錯,
③窮舉路徑測驗可能發現不了一些與資料相關的錯誤,
設計測驗用例(黑盒)(10)
時間合理性,等價類,設計測驗用例
測驗的兩種方法(對比概念)
黑盒法,不考慮程式內部邏輯結構,針對軟體界面和軟體功能進行測驗,
窮舉輸入測驗,將所有可能輸入都作為測驗用例,包括不合法輸入,
軟體的測驗用例主要由**輸入資料和預期輸出資料**兩部分組成,
黑盒測驗注重于測驗軟體的功能性需求,也即黑盒測驗使軟體工程師派生出執行程式所有功能需求的輸入條件,
等價類的劃分
等價類劃分法是一種系統性的確定要輸入的測驗條件的方法,
等價類劃分法是把程式的輸入域劃分成若干部分(子集),然后從每個部分中選取少數代表性資料作為測驗用例,每一類的代表性資料在測驗中的作用等價于這一類中的其他值, 測驗用例由有效等價類和無效等價類的代表組成,從而保證測驗用例具有完整性和代表性,
等價類劃分原則
- 依據常用的原則劃分等價類
- 為每一個等價類規定唯一的編號
- 設計一個新的測驗用例,使其**盡可能多的覆寫尚未被覆寫的有效等價類**,重復這一步,直到所有有效等價類都被覆寫為止,
- 設計一個新的測驗用例,使**其覆寫一個尚未被覆寫的無效等價類**,重復這一步,直到所有的無效等類都被覆寫為止,
等價類劃分實體
假設要輸入一個日期,日期限定在1990年1月~2049年12月,并規定日期由6位數字字符組成,前4位表示年,后2位表示月,現用等價類劃分法設計測驗用例,來測驗程式的"日期檢查功能",
-
劃分等價類并編號
輸入等價類 有效等價類 無效等價類 日期的型別及長度 ①6位數字字符 ②有非數字字符 ③少于6位數字字符 ④多于6位數字字符 年份范圍 ⑤在1990~2049之間 ⑥小于1990 ⑦大于2049 月份范圍 ⑧在01~12之間 ⑨等于00 ⑩大于12 -
設計測驗用例,來覆寫所有的有效等價類
測驗資料 期望結果 覆寫有效等價類 200211 輸入有效 ①、⑤、⑧ -
為每個無效等價類設計一個測驗用例
測驗資料 期望結果 覆寫無效等價類 95June 無效輸入 ② 20036 無效輸入 ③ 2001006 無效輸入 ④ 198912 無效輸入 ⑥ 200401 無效輸入 ⑦ 200100 無效輸入 ⑨ 200113 無效輸入 ⑩
建模題(3*15)
-
ATM(作業原理了解清楚)用例圖 類圖,順序圖
用例圖
主要元素:參與者(描述與系統互動的人或物,代表外部物體(如用戶、硬體或其他軟體系統)),👤用小人表示,小人下方附上參與者名稱
用例:是執行者與計算機一次典型互動,代表系統某一完整功能,用例是參與者想要系統做的事情, 橢圓表示,橢圓下方附上用例名稱
系統邊界:是用來表示正在建模系統的邊界,邊界內表示系統的組成部分,邊界外表示系統外部,系統邊界在畫圖中方框來表示,同時附上系統的名稱,參與者畫在邊界的外面,用例畫在邊界里面,
箭頭用來表示參與者和系統通過相互發送信號或訊息進行互動的關聯關系,箭頭尾部用來表示啟動互動的一方,箭頭頭部用來表示被啟動的一方,其中用例總是要由參與者來啟動,

類圖
類:
類名 Person
屬性:修飾符 類名:屬性型別 +name:String +age:int
方法:修飾符 方法名(引數名1:引數型別1…):方法回傳值型別 +eat(food:String):boolean若類圖描述為一個介面,則在介面名上方加 《 i n t e r f a c e 》 《interface》 《interface》的修飾符,該圖僅有兩個部分,介面名和介面方法,
關系
繼承關系 子類 ————? 父類
實作關系 實作類 - - - - - -? 介面
依賴關系 使用者 - - - - - -> 被使用者
即一個類臨時參考另外一個類的方法實作功能
關聯關系 擁有者 - - - - - ->被擁有者
關聯關系表達的是一種強依賴關系,需要長期知道對方,使用對方
聚合關系 整體 —————??部分
聚合關系表達的是一種弱擁有關系
組合關系 整體 —————??部分
合成關系表達的是一種強擁有關系,并且生命周期相同,不能單獨存在關系所表現的強弱程度依次為:組合>聚合>關聯>依賴

順序圖
順序圖是**強調訊息時間的互動圖,其描述了物件之間傳送訊息的時間順序**,用來表示用例中的行為順序,在該二維圖中,物件由左至右排列,訊息則沿著縱軸由時間順序排列,在構筑該圖時,應布局簡潔,組成要素:物件、生命線、訊息、激活
-
超市銷售管理系統(營業員干什么,收銀員干什么,經理干什么)分層的資料流圖,定義資料字典
資料字典:資料字典需要對資料流圖中所有的資料進行定義 ,所以為了方便定義,資料字典中把資料分為了4類,
- 資料流,
資料流名、說明(介紹產生原因和結果)、來源、去向、資料流組成 - 資料元素:資料流由哪些元素組成,
資料元素名、型別、長度、取值范圍…… - 系統中的資料存盤,
資料存盤名、簡述、輸入、輸出、資料檔案組成、存盤方式 - 系統的加工,
加工名、加工編號、加工邏輯(簡述加工程式、加工順序)及功能簡述、輸入輸出
符號 含義 舉例 解釋 = 等價于/定義為 x = a 資料x是由資料a組成的,通常我們把被定義的資料放在等號左邊,把定義的資料放在等號右邊 + 與/連接 x = a + 資料x是由a,b兩個元素按順序組成的 [] 或/選擇 x = [a | b] 資料x是由a資料元素或b資料元素組成的 m{}n 重復m…n次 x = 1{a}5 資料x是由 a資料元素最少重復1次,最多重復5此 組成的 () 可選 x = a + (b) 資料x是由a,b兩個元素按順序組成的,但b資料元素可有可無 “” 基本資料元素 x = “0” 資料x就是由“0”這個基本資料元素組成 … 范圍 x = “1”…“9” 資料x只能等于1~9之間的某個元素 資料字典案例
頂層圖

0層圖

- 資料流,
-
單位報銷系統(審批流程)面向物件分析,活動圖
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/237104.html
標籤:其他
下一篇:野指標,陣列指標,指標陣列
