這篇文章只提供題號為 奇數 的答案,因為是我們的NT老師要求的
1.名詞解釋:分解,模塊化,逐步求精,軟體測驗,測驗需求,測驗設計,測驗覆寫,軟體除錯,缺陷,軟體質量,編程風格,
分解:把一個大的、錯綜復雜的問題劃分成一個一個相對簡單、獨立的問題,運用合適的方法分別解決,
模塊化:通過把一個程式分解成簡單獨立、互相作用的模塊,對不同的模塊設定不同的功能,來實作大型、復雜的程式,
逐步求精:將現實問題經過幾次抽象(細化)處理,最后到求解域中只是一些簡單的演算法描述和演算法實作問題,
軟體測驗:在規定的條件下對程式進行操作,以發現錯誤,對軟體質量進行評估,
測驗需求:組件/系統中能被測驗用例驗證的條目或事件,
測驗設計:包含設計測驗用例,實施哪些層次的測驗、采用哪些測驗工具或框架、如何組織人員測驗等,
測驗覆寫:指測驗所包含的軟體的特征、元素、成分等方面的程度或范圍,
軟體除錯:指根據程式的出錯情況,分析、猜測可能出現錯誤的程式區域,讓程式運行,觀察程式的變化來發現錯誤的根源,
缺陷:程式中存在的某種破壞正常運行能力的問題、錯誤,或者隱藏的功能缺陷,
軟體質量:軟體與明確地和隱含地定義的需求相一致的程度,
編程風格:撰寫代碼的樣式規則,
3. 針對演算法的資料結構的4種關系,除了本書給出的例子,你還能分別為4種情形舉出若干個例子嗎?
不能,因為沒搜到,
5. 模塊化的基本原則是什么?如何評價程式的模塊化?
單一職責原則,里氏替換原則,依賴倒置原則,介面隔離原則,迪米特原則,開閉原則
(1)有利于程式復用,
把功能模塊化之后有利于程式后續開發的復用,這樣可把公共的功能進行深入的抽象、優化,
(2)利于系統開發集成
模塊化的功能,明確了本模塊的職責,已定的模塊只負責該模塊的特定功能,這樣以系統以后做集成、重構神馬的時候將會有很大的便利之處,
(3)利于除錯、后續功能拓展
程式模塊化后,單個模塊既是系統的組成部分,也是個單獨的個體,對于系統開發而言,針對單個模塊進行除錯往往會比整個系統的除錯要方便得多,并且在系統要進行后續開發的時候,把要拓展的功能拆分到具體的模塊當中這樣把大大減輕了開發難度及成本等,
(4)代碼結構清晰易讀
在撰寫代碼的時候把程式模塊化,這樣將使得代碼的可讀性更強,把方法的職責明確且單一化(即一個方法只做一件固定的事情),在以后維護的時候大大減少維護人員在閱讀理解代碼上時間,
7. 解釋模塊耦合性的含義,對不同的耦合舉例說明
耦合性,也叫耦合度,是對模塊間關聯程度的度量,耦合的強弱取決與模塊間介面的復雜性、呼叫模塊的方式以及通過界面傳送資料的多少,模塊間的耦合度是指模塊之間的依賴關系,包括控制關系、呼叫關系、資料傳遞關系,模塊間聯系越多,其耦合性越強,同時表明其獨立性越差,軟體設計中通常用耦合度和內聚度作為衡量模塊獨立程度的標準,劃分模塊的一個準則就是高內聚低耦合,
資料耦合
sum(int a, int b) {
int c;
c = a + b;
return c;
}
main() {
int x, y;
printf("x+y=%d", sum(x, y));
}
主函式與sum函式之間即為資料耦合關系
控制耦合
void output(int flag) {
if(flag) printf("OK!");
else printf("NO!");
}
main() {
int flag;
output(flag);
}
主函式與output函式之間即為控制耦合關系.
內容耦合
public class Product {
public float unitPrice;
......
}
public class Order {
private Product p = new Product();
public void setItem() {
p.unitPrice = 100;
}
}
Product 類與 Order 類構成內容耦合
非直接耦合
void PrintDog() {
System.out.println("汪汪汪");
}
void PrintCat() {
System.out.println("喵喵喵");
}
public static void main(String[] args) {
printDog();
printCat();
}
標記耦合
typedef equation {
int a;
}Equation;
void generateExercise(){
Equation e;
return e;
}
void printExercise(Equation e) {
...
}
main() {
generateExercise();
printExercise(e)
}
兩個函式為傳遞了資料結構Equation的函式,視為標記耦合
外部耦合
import com.la.pojo.Dog;
public static void main(String[] args) {
private Dog dog;
}
使用import引入另一個軟體包就產生了外部耦合
公共耦合
int temp;
void student() {
temp = 1;
......
}
void teacher() {
......
temp = 3;
......
}
一組函式都訪問同一個公共資料環境就構成公共耦合
9. 按照任務1的設計和輸出,完成程式撰寫,并輸出加法練習和減法練習各兩套
老子不打算寫這個,誰愿意寫這個寫去吧,后面也別看了,我也沒寫出來
11. 針對2.2.2節的設計1,撰寫完整的程式,并給出一套題的輸出
我也不想寫
13. 如果要求習題中不允許有相同的算式,(1)請修改代碼2.2、2.2.2節設計1的代碼,以及2.2.2節設計2的代碼,并分別輸出;(2)思考:如何確定寫出程式滿足這個要求呢?
我也不想寫
15. 用C/JAVA/Python等語言采用結構化編程,…
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/302768.html
標籤:其他
