幫助中心 | 我的帳號 | 關於我們

軟體設計基礎理論(高等院校軟體工程學科系列教材)

  • 作者:丁二玉|責編:姚蕾//陳佳媛
  • 出版社:機械工業
  • ISBN:9787111760382
  • 出版日期:2024/08/01
  • 裝幀:平裝
  • 頁數:206
人民幣:RMB 49 元      售價:
放入購物車
加入收藏夾

內容大鋼
    軟體設計是軟體開發的核心活動,軟體設計理論的發展推動著軟體工程的發展。本書梳理了基礎的軟體設計理論,可幫助讀者更好地理解各種軟體設計技術。全書共分為5章,第1章介紹軟體設計基礎原則;第2章介紹程序設計,幫助讀者深刻認識程序設計工作背後的機理,而不是僅僅停留在掌握一門或幾門程序設計語言上;第3章介紹複雜軟體設計,重點包括模塊化設計、信息隱藏與設計原則;第4章介紹軟體設計方法學,指導讀者用系統化、規範化的方式開展軟體設計活動,解決軟體設計問題;第5章介紹大規模軟體系統設計,關注可靠性、效率、可移植性、市場特性、人員與分工等各種要素。
    本書適合作為軟體工程相關專業本科生和研究生的教材,也可作為軟體領域相關技術人員的參考書。

作者介紹
丁二玉|責編:姚蕾//陳佳媛
    丁二玉,曾任職南京大學軟體學院教師、院長助理,主講軟體需求工程和軟體設計課程。先後多次獲得國家級、省部級教學獎項,出版著作多部。近些年創立源圖品牌,從事軟體產業的人才數字化管理工作,包括崗位勝任力定義、能力測評、個性化培養、人才畫像與盤點等,成功服務於數十家國內頭部金融企業和數百家軟體企業。

目錄
前言
第1章  軟體設計基礎原則
  1.1  什麼是軟體設計
    1.1.1  設計是一種「規劃」
    1.1.2  軟體的材料載體與廣義的軟體設計內涵
    1.1.3  狹義的軟體設計內涵
  1.2  為什麼要進行軟體設計
  1.3  複雜度控制的關鍵之一:設計分層
    1.3.1  分層抽象方法
    1.3.2  軟體設計的分層
    1.3.3  設計層次驗證
    1.3.4  軟體設計分層要點
    1.3.5  產品設計與工程設計
  1.4  複雜度控制的關鍵之二:關注點分離
    1.4.1  分離設計主題
    1.4.2  多視點方法
  1.5  軟體設計的目標與衡量標準
    1.5.1  根本標準:功能、質量、審美
    1.5.2  設計目標和衡量標準應用示例
    1.5.3  功能是設計方案的必備特徵
    1.5.4  質量是工程設計的重點
    1.5.5  審美是超越合格達到優秀的路徑
    1.5.6  軟體設計的結果是一種折中與妥協
  1.6  外部表現與內部結構
    1.6.1  軟體設計的重點是堅固、優雅的內部結構
    1.6.2  外部表現和內部結構的區分示例
    1.6.3  抽象、分解與層次結構
    1.6.4  常見的設計對象及其外部表現和內部結構
    1.6.5  設計整個系統時區分外部表現和內部結構
    1.6.6  設計模塊時區分外部表現和內部結構
    1.6.7  設計類時區分外部表現和內部結構
    1.6.8  設計數據結構時區分外部表現和內部結構
    1.6.9  設計代碼時區分外部表現和內部結構
  1.7  邏輯設計與物理設計
    1.7.1  載體介質及其匹配
    1.7.2  區分邏輯設計與物理設計
    1.7.3  設計數據類型時邏輯設計與物理設計的失配
    1.7.4  設計數據結構時邏輯設計與物理設計的失配
    1.7.5  設計面向對象機制時邏輯設計與物理設計的失配
    1.7.6  設計模塊時邏輯設計與物理設計的失配
    1.7.7  設計質量時邏輯設計與物理設計的失配
  1.8  軟體設計是持續決策的過程
    1.8.1  設計結果與設計過程
    1.8.2  決策的要素
    1.8.3  設計是一個跳躍性過程,驗證設計是一個推理過程
    1.8.4  選擇一個可行答案,沒有唯一正確答案
    1.8.5  設計決策有順序影響,而且影響不可逆
    1.8.6  設計約束:是友非敵
  1.9  工程與藝術
    1.9.1  工程設計與藝術設計

    1.9.2  理性主義與經驗主義
    1.9.3  設計兼具科學性與藝術性
  1.10  總結
第2章  程序設計
  2.1  如何保證程序正確性
    2.1.1  像設計硬體一樣設計軟體嗎
    2.1.2  測試不能保證正確性
    2.1.3  用程序設計方法實現正確性
  2.2  結構化編程與功能正確性
    2.2.1  使用簡單結構—三種控制結構
    2.2.2  使用塊結構組織複雜代碼
    2.2.3  兼顧正確性與複雜度控制:函數/方法
  2.3  數據抽象、類型與數據操作正確性
    2.3.1  類型
    2.3.2  結構化類型:強正確性保證
    2.3.3  非結構化類型:弱正確性保證
    2.3.4  複雜抽象數據類型(數據結構)及其質量
  2.4  程序契約與正確性
    2.4.1  前置條件與後置條件
    2.4.2  不變數
    2.4.3  程序契約的局限性
  2.5  面向對象編程與可復用性
    2.5.1  可復用性需要的出現
    2.5.2  面向對象編程與可復用性
    2.5.3  類和對象
    2.5.4  封裝
    2.5.5  繼承
    2.5.6  多態
  2.6  軟體構造與更多代碼質量
    2.6.1  什麼是軟體構造
    2.6.2  軟體構造技術與代碼質量
    2.6.3  軟體構造技術示例
  2.7  總結
第3章  複雜軟體設計
  3.1  控制更高的複雜度需要模塊
    3.1.1  模塊
    3.1.2  模塊分解質量與模塊化、信息隱藏
  3.2  模塊化
    3.2.1  模塊分割的質量考慮
    3.2.2  理想中的模塊分割—完全獨立
    3.2.3  現實中的模塊分割—低耦合、高內聚
    3.2.4  代碼組織及聯繫方式分析
  3.3  (結構化)函數/方法之間的耦合
    3.3.1  內容耦合
    3.3.2  公共耦合
    3.3.3  控制耦合
    3.3.4  印記耦合
    3.3.5  數據耦合
    3.3.6  隱式的耦合
    3.3.7  函數/方法之間的耦合小結

  3.4  (結構化)函數/方法的內聚
    3.4.1  偶然內聚
    3.4.2  邏輯內聚
    3.4.3  時間內聚
    3.4.4  過程內聚
    3.4.5  通信內聚
    3.4.6  順序內聚
    3.4.7  功能內聚
    3.4.8  函數/方法的內聚小結
  3.5  (面向對象)類/對象之間的耦合
    3.5.1  類/對象之間的耦合類型
    3.5.2  方法之間的耦合
    3.5.3  成員變數產生的耦合
    3.5.4  隱藏組件耦合
    3.5.5  分散組件耦合
    3.5.6  明確組件耦合
    3.5.7  修改型繼承耦合
    3.5.8  改進型繼承耦合
    3.5.9  擴展型繼承耦合
    3.5.10  繼承的降耦合作用
    3.5.11  繼承的弱點:靈活性
    3.5.12  類/對象之間的耦合小結
  3.6  (面向對象)類/對象的內聚
  3.7  複雜模塊的耦合與內聚
    3.7.1  複雜模塊之間的耦合
    3.7.2  複雜模塊的內聚
  3.8  按功能設計與按決策設計
    3.8.1  KWIC
    3.8.2  按功能進行設計
    3.8.3  按決策進行設計
    3.8.4  方案比較
    3.8.5  比較結果分析
  3.9  信息隱藏
    3.9.1  基本思路
    3.9.2  隱藏設計決策
    3.9.3  封裝變化
  3.10  (結構化)函數/方法的信息隱藏分析
  3.11  (面向對象)類/對象的信息隱藏分析
    3.11.1  耦合、內聚與信息隱藏
    3.11.2  單一職責原則
    3.11.3  介面分離原則
    3.11.4  依賴倒置原則
    3.11.5  開閉原則
  3.12  複雜模塊的信息隱藏分析
    3.12.1  重新審視耦合與內聚
    3.12.2  決策的層次結構
    3.12.3  模塊的層次結構
    3.12.4  模塊說明
  3.13  總結
    3.13.1  模塊化方法總結

    3.13.2  信息隱藏方法總結
    3.13.3  設計原則
第4章  軟體設計方法學
  4.1  概述
    4.1.1  什麼是軟體方法學
    4.1.2  軟體方法學流派
    4.1.3  軟體設計方法學
    4.1.4  使用軟體設計方法學的好處
  4.2  逐步精化程序設計
    4.2.1  基本思想
    4.2.2  示例一
    4.2.3  示例二
    4.2.4  示例三
    4.2.5  作用和效果
  4.3  結構化軟體設計
    4.3.1  基本思想
    4.3.2  示例一
    4.3.3  示例二
    4.3.4  作用和效果
  4.4  數據為中心的軟體設計
    4.4.1  基本思想
    4.4.2  示例一
    4.4.3  示例二
    4.4.4  作用和效果
  4.5  面向對象軟體設計
    4.5.1  基本思想
    4.5.2  示例一
    4.5.3  示例二
    4.5.4  作用和效果
  4.6  總結
第5章  大規模軟體系統設計
  5.1  大規模軟體系統設計的關注點
    5.1.1  質量
    5.1.2  項目環境與約束
  5.2  高層次軟體設計—軟體體系結構
    5.2.1  詳細設計的不足
    5.2.2  高層次軟體設計的出現
    5.2.3  高層設計與中層設計
    5.2.4  高層結構的關鍵:連接件
  5.3  軟體體系結構設計元素
    5.3.1  部件
    5.3.2  連接件
    5.3.3  配置
    5.3.4  高層抽象的作用
  5.4  軟體體系結構設計的「4+1」視圖
    5.4.1  「4+1」視圖概述
    5.4.2  場景視圖
    5.4.3  邏輯視圖
    5.4.4  開發視圖
    5.4.5  進程視圖

    5.4.6  物理視圖
  5.5  軟體體系結構設計與質量
    5.5.1  可靠性與體系結構設計
    5.5.2  可用性與體系結構設計
    5.5.3  安全性與體系結構設計
    5.5.4  性能與體系結構設計
    5.5.5  可修改性與體系結構設計
    5.5.6  可測試性與體系結構設計
  5.6  總結
附錄

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032