【正文】
A An Introduction to Software Engineering Practice, Practice, and Practice 。Copyright Xinjun Mao 面向數(shù)據(jù)流的軟件設計方法 41 思考題 ? 你覺得在進行軟件設計時,除了上述啟發(fā)式設計策略和優(yōu)化原則之外,還應考慮那些問題? 169。Copyright Xinjun Mao 面向數(shù)據(jù)流的軟件設計方法 39 設計優(yōu)化原則 ? 在先不考慮時間復雜度的情況下設計并精化軟件結構 ? 借用 CASE工具模擬分析運行性能,定位低效率的部分 ? 詳細設計時對耗時的模塊進行仔細的推敲,以減少模塊的運行開銷 ? 用高級語言編寫 ? 對大量占用 CPU資源的模塊必要時用低級語言重新進行編碼,以提高效率 169。 Number) ?Sort(Data) ? 模塊功能可預測,避免對模塊施加過多限制 – 模塊的功能可預測是指輸入恒定,則輸出恒定 ? 追求單入口、單出口的模塊 ? 為滿足設計和可移植性要求,把某些軟件用包 封裝起來 169。Copyright Xinjun Mao 面向數(shù)據(jù)流的軟件設計方法 36 AA B C D E F AA C D F E B 受 E 中判定影響 使任一模塊的作用域在其控制域內 ? 作用域是指受模塊內部判定影響的所有模塊 ? 控制域是指其所有的下屬模塊 169。Copyright Xinjun Mao 面向數(shù)據(jù)流的軟件設計方法 34 啟發(fā)式設計策略 ? 改造軟件結構,降低耦合度,提高內聚度 – 如果在幾個模塊中發(fā)現(xiàn)共有的子功能,一般應該將該子功能獨立出來作為一個模塊,以提高模塊的獨立性 – 合并那些具有較多的控制信息傳遞的模塊以降低模塊之間的耦合度 169。Copyright Xinjun Mao 面向數(shù)據(jù)流的軟件設計方法 32 A B C D E Q R P 總控模塊 B Q C C1 P A R 一條動作路徑 事務處理中心 169。Copyright Xinjun Mao 面向數(shù)據(jù)流的軟件設計方法 30 A B C D E Q R P 總控模塊 B Q C C1 P A R 一條動作路徑 事務處理中心 輸入控制 步驟 作路徑 169。Copyright Xinjun Mao 面向數(shù)據(jù)流的軟件設計方法 28 A B C D E Q R S P 事務處理中心 接受路徑部分 動作路徑部分 事務型 DFD劃分例子 169。Copyright Xinjun