軟件設計基礎理論
丁二玉
- 出版商: 機械工業
- 出版日期: 2024-08-01
- 定價: $294
- 售價: 7.5 折 $221
- 語言: 簡體中文
- 頁數: 206
- ISBN: 7111760387
- ISBN-13: 9787111760382
-
相關分類:
Design Pattern
立即出貨 (庫存 < 3)
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
軟件設計是軟件開發的核心活動,軟件設計理論的發展推動著軟件工程的發展。本書梳理了基礎的軟件設計理論,可幫助讀者更好地理解各種軟件設計技術。全書共分為5章,第1章介紹軟件設計基礎原則;第2章介紹程序設計,幫助讀者深刻認識程序設計工作背後的機理,而不是僅僅停留在掌握一門或幾門程序設計語言上;第3章介紹覆雜軟件設計,重點包括模塊化設計、信息隱藏與設計原則;第4章介紹軟件設計方法學,指導讀者用系統化、規範化的方式開展軟件設計活動,解決軟件設計問題;第5章介紹大規模軟件系統設計,關註可靠性、效率、可移植性、市場特性、人員與分工等各種要素。<br />本書適合作為軟件工程相關專業本科生和研究生的教材,也可作為軟件領域相關技術人員的參考書。
作者簡介
丁二玉,曾任職南京大學軟件學院教師、院長助理,主講軟件需求工程和軟件設計課程。先後多次獲得國家級、省部級教學獎項,出版著作多部。近些年創立源圖品牌,從事軟件產業的人才數字化管理工作,包括崗位勝任力定義、能力測評、個性化培養、人才畫像與盤點等,成功服務於數十家國內頭部金融企業和數百家軟件企業。
目錄大綱
前言
第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 按功能設計與
