Unit 1 Introduction to Software Engineering
軟件工程介紹
Learning Objectives
學(xué)習(xí)目標(biāo)
1.1 A Brief Introduction to Software Engineering
軟件工程簡(jiǎn)介
1.1.1 The Pioneering Era
開創(chuàng)時(shí)期
1.1.2 1945 to 1965: The Origins
1945到1965: 發(fā)起
1.1.3 1965 to 1985: The Software Crisis
1965到1985:軟件危機(jī)
1.1.4 1985 to 1989: No Silver Bullet
1985到1989:沒(méi)有銀彈
1.1.5 1990 to 1999: Prominence of the Internet
1990到1999:Internet盛行
1.1.6 2000 to Present: Lightweight Methodologies
2000年至今:輕量級(jí)方法
1.1.7 Current Trends in Software Engineering
軟件工程的發(fā)展趨勢(shì)
1.1.8 Software Engineering Today
今天的軟件工程
1.2 Software
軟件
1.2.1 A Formal Definition of Software
軟件的正式定義
1.2.2 Characteristics of Software
軟件的特征
1.2.3 The Dual Roles of Software
軟件的雙重角色
1.2.4 Classification of Software
軟件分類
1.2.5 Why does Software Change Very Fast?
為什么軟件變化快?
1.3 Why Do We Need Software Engineering?
為什么需要軟件工程?
1.3.1 Software Crisis
軟件危機(jī)
1.3.2 An Economist's View of Software and SoftwareEngineering
一個(gè)經(jīng)濟(jì)學(xué)家對(duì)軟件和軟件工程的看法
1.3.3 The Formal Definition of Software Engineering
軟件工程的正式定義
1.4 Major Concerns and Objectives of Software Engineering
軟件工程的目標(biāo)和擔(dān)憂
1.5 Seven Principles for Software Engineering
軟件工程的七個(gè)原則
1.5.1 Manage Using a Phased Lifecycle Plan
使用階段性的生命周期管理計(jì)劃
1.5.2 Perform Continuous Validation
進(jìn)行持續(xù)驗(yàn)證
1.5.3 Maintain Disciplined Product Control
維持有效的產(chǎn)品控制
1.5.4 Use Modern Programming/Engineering Practices
運(yùn)用現(xiàn)代編程/工程實(shí)踐
1.5.5 Maintain Clear Accountability for Results
維護(hù)清晰的問(wèn)責(zé)機(jī)制
1.5.6 Use Better and Fewer People
用更好更少的人
1.5.7 Maintain a Commitment to Improve the Process
保持過(guò)程改進(jìn)
1.6 Major Topics in Software Engineering
軟件工程中的主要課題
1.7 Relationship to Other Disciplines
其他相關(guān)學(xué)科
1.8 Some Misunderstandings about Software Engineering
一些對(duì)軟件工程的錯(cuò)誤認(rèn)識(shí)
1.9 Software Engineering Code of Professional and EthicalResponsibility
軟件工程的專業(yè)和道德責(zé)任
Summary
總結(jié)
Notes
重點(diǎn)注釋
Glossary of this unit
術(shù)語(yǔ)
Quiz
習(xí)題
References
參考文獻(xiàn)
Further Reading
擴(kuò)展閱讀
Unit 2 Process Models
過(guò)程模型
Learning Objectives
學(xué)習(xí)目標(biāo)
2.1 Introduction
簡(jiǎn)介
2.2 What is Software Process?
什么是軟件過(guò)程?
2.3 Maturity Models
成熟度模型
2.4 Software Process Models
軟件過(guò)程模型
2.4.1 The Waterfall Model
瀑布模型
2.4.2 The Evolutionary Model
演化模型
2.4.3 Component-based Model
基于組件的模型
2.4.4 Incremental Process Models
增量模型
2.4.5 Some New Process
一些新模型
2.5 How to Choose Process Models?
如何選擇過(guò)程模型?
2.6 The Relationship between Process and Product
過(guò)程和產(chǎn)品的關(guān)系
Summary
總結(jié)
Notes
重點(diǎn)注釋
Glossary of this unit
術(shù)語(yǔ)
Quiz
習(xí)題
References
參考文獻(xiàn)
Further Reading
擴(kuò)展閱讀
Unit 3 Software Requirements
軟件需求
Learning Objectives
學(xué)習(xí)目標(biāo)
3.1 Software Requirements Fundamentals
軟件需求基礎(chǔ)
3.1.1 Definition of a Software Requirement
軟件需求定義
3.1.2 Product and Process Requirements
產(chǎn)品和過(guò)程需求
3.1.3 Functional and Non-functional Requirements
功能和非功能需求
3.1.4 Quantifiable Requirements
可量化的需求
3.1.5 System and Software Requirements
系統(tǒng)需求和軟件需求
3.2 Requirements Process
需求過(guò)程
3.2.1 Process Models
過(guò)程模型
3.2.2 Process Actors
過(guò)程角色
3.3 Requirements Elicitation
需求獲取
3.3.1 Requirements Sources
需求來(lái)源
3.3.2 Elicitation Techniques
需求獲取方法
3.4 Requirements Analysis
需求分析
3.4.1 Requirements Classification
需求分類
3.4.2 Conceptual Modeling
概念建模
3.4.3 Architectural Design and Requirements Allocation
結(jié)構(gòu)設(shè)計(jì)和需求配置
3.4.4 Requirements Negotiation
需求談判
3.5 Requirements Specification
需求規(guī)格
3.5.1 The System Definition Document
系統(tǒng)定義文檔
3.5.2 The Software Requirements Specification
需求規(guī)格說(shuō)明書
3.6 Requirements Validation
需求驗(yàn)證
3.6.1 Requirements Reviews
需求審查
3.6.2 Prototyping
原型
3.6.3 Model Validation
模型驗(yàn)證
3.6.4 Acceptance Tests
驗(yàn)收測(cè)試
3.7 Practical Considerations
實(shí)際考慮因素
3.7.1 Iterative Nature of the Requirements Process
需求過(guò)程的迭代
3.7.2 Change Management
變更管理
3.8 Example: Online Recruiting System RequirementSpecification
例:網(wǎng)上招聘系統(tǒng)的需求規(guī)格說(shuō)明書
3.8.1 Introduction
導(dǎo)言
3.8.2 System Definitions
系統(tǒng)定義
3.8.3 Running Environment
應(yīng)用環(huán)境
3.8.4 Function Specifications
功能規(guī)格
3.8.5 Performance Requirements
性能需求
3.8.6 Products Submitting
產(chǎn)品提交
3.8.7 Implementation Constrains
實(shí)現(xiàn)約束
Summary
總結(jié)
Notes
重點(diǎn)注釋
Glossary of this unit
術(shù)語(yǔ)
Quiz
習(xí)題
References
參考文獻(xiàn)
Further Reading
擴(kuò)展閱讀
Unit 4 Software Design Engineering
軟件設(shè)計(jì)工程
Learning Objectives
學(xué)習(xí)目標(biāo)
4.1 Introduction to Design Engineering
設(shè)計(jì)工程簡(jiǎn)介
4.2 Design Process and Quality
設(shè)計(jì)過(guò)程和質(zhì)量
4.3 Design Technologies
設(shè)計(jì)技術(shù)
4.3.1 Abstraction
抽象
4.3.2 Design Patterns
設(shè)計(jì)模式
4.3.3 Modularization
模塊化
4.3.4 Information Hiding
信息隱藏
4.3.5 Function Independence
功能獨(dú)立
4.3.6 Refinement
改進(jìn)
4.3.7 Refactoring
重構(gòu)
4.4 Design Models
設(shè)計(jì)模型
4.4.1 Data Design
數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
4.4.2 Architecture Design
架構(gòu)設(shè)計(jì)
4.4.3 Interface Design
接口設(shè)計(jì)
4.4.4 Component Design
組件設(shè)計(jì)
4.4.5 Deploy Design
部署設(shè)計(jì)
4.5 Design Case Study
設(shè)計(jì)實(shí)例
Summary
總結(jié)
Notes
重點(diǎn)注釋
Glossary of this unit
術(shù)語(yǔ)
Quiz
習(xí)題
References
參考文獻(xiàn)
Further Reading
擴(kuò)展閱讀
Unit 5 Software Productivity and Effort Metrics
軟件生產(chǎn)率和工作量度量
Learning Objectives
學(xué)習(xí)目標(biāo)
5.1 Introduction to Software Productivity and Project EffortEstimation
簡(jiǎn)介
5.2 Software Productivity Estimation
軟件生產(chǎn)率估計(jì)
5.2.1 Size-based Metrics-Direct Measurement
基于規(guī)模的度量——直接度量
5.2.2 Function-points Metrics-Indirect Measurement
功能點(diǎn)度量——間接度量
5.2.3 The Relationship Between LOC and FP Based Metrics
LOC和FP度量的關(guān)系
5.2.4 How to Use These Metrics for Productivity Estimation?
如何運(yùn)用這些度量進(jìn)行生產(chǎn)率估計(jì)?
5.3 Estimation for Project Effort
項(xiàng)目工作量估計(jì)
5.3.1 Algorithmic Cost Modeling -Empirical Measurement
算法成本模型——基于經(jīng)驗(yàn)的度量
5.3.2 The COCOMO Model
COCOMO模型
5.3.3 Estimation of Effort in Project Planning
項(xiàng)目計(jì)劃中的工作量度量
5.3.4 Estimation of Effort by Tasks Breakdown
通過(guò)任務(wù)分解來(lái)估算工作量
5.3.5 Estimation of Effort by Current Available Resources
通過(guò)目前可用的資源來(lái)估算工作量
Summary
總結(jié)
Notes
重點(diǎn)注釋
Glossary of this unit
術(shù)語(yǔ)
Quiz
習(xí)題
References
參考文獻(xiàn)
Further Reading
擴(kuò)展閱讀
Unit 6 Software Quality Management
軟件質(zhì)量管理
Learning Objectives
學(xué)習(xí)目標(biāo)
6.1 An Introduction to Software Quality Management
簡(jiǎn)介
6.2 Software Quality
軟件質(zhì)量
6.2.1 Definition of Software Quality
軟件質(zhì)量定義
6.2.2 Quality Control
質(zhì)量控制
6.2.3 Quality Assurance
質(zhì)量保證
6.2.4 Quality Costs
質(zhì)量成本
6.3 Software Quality Assurance
軟件質(zhì)量保證
6.3.1 Background Introduction
背景介紹
6.3.2 SQA Activities
SQA活動(dòng)
6.4 Software Review
軟件審查
6.4.1 Impact of Software Bug Costs
軟件錯(cuò)誤的代價(jià)
6.4.2 Software Defect Indicator and Removal
軟件缺陷的發(fā)現(xiàn)和消除
6.5 Formal Technique Review
正式技術(shù)審查
6.5.1 Review Report
審查報(bào)告
6.5.2 Review Tutorial
審查指南
6.6 Software Reliability
軟件可靠性
6.6.1 Measurement of Reliability and Availability
可靠性和可用性度量
6.6.2 Software Security
軟件安全
6.7 ISO 9000 Family of Standards
ISO 9000標(biāo)準(zhǔn)
Summary
總結(jié)
Notes
重點(diǎn)注釋
Glossary of this unit
術(shù)語(yǔ)
Quiz
習(xí)題
References
參考文獻(xiàn)
Further Reading
擴(kuò)展閱讀
Unit 7 Testing Techniques
測(cè)試方法
Learning Objectives
學(xué)習(xí)目標(biāo)
7.1 Testing Introduction
測(cè)試簡(jiǎn)介
7.2 Testing Objective
測(cè)試目標(biāo)
7.3 Testing Evaluation
測(cè)試評(píng)估
7.3.1 Coverage/Thoroughness Measures
覆蓋性/徹底性度量
7.3.2 Fault Seeding
故障植入
7.4 Testing Techniques
測(cè)試方法
7.4.1 White-box Testing
白盒測(cè)試
7.4.2 Black-box Testing
黑盒測(cè)試
7.5 Example: Testing Design of Online Recruiting System
例:網(wǎng)上招聘系統(tǒng)的測(cè)試設(shè)計(jì)
7.5.1 Introduction
簡(jiǎn)介
7.5.2 Testing Design
測(cè)試設(shè)計(jì)
7.5.3 Testing Cases
測(cè)試用例
Summary
總結(jié)
Notes
重點(diǎn)注釋
Glossary of this unit
術(shù)語(yǔ)
Quiz
習(xí)題
References
參考文獻(xiàn)
Further Reading
擴(kuò)展閱讀
Unit 8 Testing Strategies
測(cè)試策略
Learning Objectives
學(xué)習(xí)目標(biāo)
8.1 Testing Strategies Introduction
測(cè)試策略簡(jiǎn)介
8.2 Unit Testing
單元測(cè)試
8.2.1 Unit Testing Considerations
單元測(cè)試考慮因素
8.2.2 Unit Testing Procedures
單元測(cè)試過(guò)程
8.3 Integration Testing
集成測(cè)試
8.3.1 Top-down Integration
自頂向下集成
8.3.2 Bottom-up Integration
自底向上集成
8.3.3 Regression Testing
回歸測(cè)試
8.3.4 Smoke Testing
冒煙測(cè)試
8.4 Validation Testing
驗(yàn)證測(cè)試
8.4.1 Validation Testing Criteria
驗(yàn)證測(cè)試標(biāo)準(zhǔn)
8.4.2 Configuration Review
配置評(píng)審
8.4.3 Alpha and Beta Testing
Alpha和Beta測(cè)試
8.5 System Testing
系統(tǒng)測(cè)試
8.5.1 Recovery Testing
恢復(fù)測(cè)試
8.5.2 Security Testing
安全性測(cè)試
8.5.3 Stress Testing
壓力測(cè)試
8.5.4 Performance Testing
性能測(cè)試
8.6 Example: Testing Report of Online Recruiting System
例:網(wǎng)上招聘系統(tǒng)測(cè)試報(bào)告
8.6.1 Introduction
簡(jiǎn)介
8.6.2 Testing Time, Place, and People
測(cè)試時(shí)間、地點(diǎn)和人員
8.6.3 Testing Environment
測(cè)試環(huán)境
8.6.4 Testing Execution
測(cè)試執(zhí)行
8.6.5 Testing Result Analysis
測(cè)試結(jié)果分析
8.6.6 Testing Evaluation
測(cè)試評(píng)估
Summary
總結(jié)
Notes
重點(diǎn)注釋
Glossary of this unit
術(shù)語(yǔ)
Quiz
習(xí)題
References
參考文獻(xiàn)
Further Reading
擴(kuò)展閱讀
Unit 9 Software Maintenance
軟件維護(hù)
Learning Objectives
學(xué)習(xí)目標(biāo)
9.1 Software Maintenance Fundamentals
軟件維護(hù)基礎(chǔ)
9.1.1 Definitions and Terminology
定義和術(shù)語(yǔ)
9.1.2 Need for Maintenance
維護(hù)的必要性
9.1.3 Majority of Maintenance Costs
維護(hù)成本
9.2 Key Issues in Software Maintenance
軟件維護(hù)的關(guān)鍵問(wèn)題
9.2.1 Technical Issues
技術(shù)問(wèn)題
9.2.2 Management Issues
管理問(wèn)題
9.2.3 Maintenance Cost Estimation
維護(hù)成本估計(jì)
9.3 Maintenance Process
維護(hù)過(guò)程
9.3.1 Maintenance Processes
維護(hù)過(guò)程
9.3.2 Maintenance Activities
維護(hù)活動(dòng)
9.4 Techniques for Maintenance
維護(hù)技術(shù)
9.4.1 Program Comprehension
程序理解
9.4.2 Reengineering
再工程
9.4.3 Reverse Engineering
逆向工程
Summary
總結(jié)
Notes
重點(diǎn)注釋
Glossary of this unit
術(shù)語(yǔ)
Quiz
習(xí)題
References
參考文獻(xiàn)
Further Reading
擴(kuò)展閱讀
Unit 10 Software Project Management
軟件項(xiàng)目管理
Learning Objectives
學(xué)習(xí)目標(biāo)
10.1 Introduction to Project Management
項(xiàng)目管理簡(jiǎn)介
10.2 Four Elements of Project Management
項(xiàng)目管理四要素
10.3 The People
人員
10.3.1 People Management Capability Maturity Model
人員管理能力成熟度模型
10.3.2 Team Building
團(tuán)隊(duì)建設(shè)
10.3.3 Team Organization
團(tuán)隊(duì)組織
10.3.4 Virtual Teams
虛擬團(tuán)隊(duì)
10.4 The Product
產(chǎn)品
10.4.1 Software Scope
軟件范圍
10.4.2 Problem Decomposition
問(wèn)題分解
10.5 The Process
過(guò)程
10.6 The Project
項(xiàng)目
10.6.1 Project Estimation
項(xiàng)目估算
10.6.2 Project Planning
項(xiàng)目規(guī)劃
Summary
總結(jié)
Notes
重點(diǎn)注釋
Glossary of this unit
術(shù)語(yǔ)
Quiz
習(xí)題
References
參考文獻(xiàn)
Further Reading
擴(kuò)展閱讀
Unit 11 Software Risk Analysis and Management
軟件風(fēng)險(xiǎn)分析和管理
Learning Objectives
學(xué)習(xí)目標(biāo)
11.1 An Introduction to Software Risk Management
軟件風(fēng)險(xiǎn)管理簡(jiǎn)介
11.2 Software Risk Management Strategy
軟件風(fēng)險(xiǎn)管理策略
11.3 Software Risk Identification
軟件風(fēng)險(xiǎn)識(shí)別
11.3.1 Evaluate the Whole Project
評(píng)價(jià)整個(gè)項(xiàng)目
11.3.2 Risk Classification
風(fēng)險(xiǎn)分類
11.4 Software Risk Assessment
軟件風(fēng)險(xiǎn)評(píng)估
11.4.1 Building Risk List
制定風(fēng)險(xiǎn)清單
11.4.2 Assessing Risk Influence Factors
評(píng)估風(fēng)險(xiǎn)影響因素
11.4.3 Dynamic Ranking
動(dòng)態(tài)排名
11.5 Software Risk Refinement
軟件風(fēng)險(xiǎn)改進(jìn)
11.6 Software Risk Aversion, Monitoring and Management
軟件風(fēng)險(xiǎn)規(guī)避、監(jiān)控和管理
Summary
總結(jié)
Notes
重點(diǎn)注釋
Glossary of this unit
術(shù)語(yǔ)
Quiz
習(xí)題
References
參考文獻(xiàn)
Further Reading
擴(kuò)展閱讀
Unit 12 Software Engineering Development Tools
軟件工程開發(fā)工具
Learning Objectives
學(xué)習(xí)目標(biāo)
12.1 Software Requirements Tools
軟件需求工具
12.2 Software Design Tools
軟件設(shè)計(jì)工具
12.2.1 IBM Rational Software Architect
IBM 軟件開發(fā)
12.2.2 PowerDesigner
PowerDesigner工具
12.3 Software Architecture Tools
軟件架構(gòu)工具
12.3.1 Visual Studio.NET
Visual Studio .NET工具
12.3.2 Visual Borland JBuilder
Visual Borland JBuilder工具
12.3.3 Eclipse
Eclipse工具
12.4 Software Maintenance Tools
軟件維護(hù)工具
12.4.1 CASE Tool
CASE工具
12.4.2 Information Repository of CASE Environment
CASE環(huán)境的信息庫(kù)
12.4.3 CASE Environment Structure
CASE環(huán)境結(jié)構(gòu)
12.5 Software Testing Tools
軟件測(cè)試工具
12.5.1 WinRunner
WinRunner工具
12.5.2 LoadRunner
LoadRunner工具
12.6 Software Configuration Management Tools
軟件配置管理工具
12.6.1 Software Configuration Manager
軟件配置管理
12.6.2 Source Code Management
軟件代碼管理
12.6.3 Version Management
版本管理
12.6.4 Operation Command
操作命令
12.7 Software Engineering Tools
軟件工程工具
Appendix A General Style and Coding Standards for SoftwareProjects
軟件項(xiàng)目的一般風(fēng)格和編碼標(biāo)準(zhǔn)
A.1 Introduction
簡(jiǎn)介
A.1.1 Purpose
目的
A.1.2 Scope
范圍
A.1.3 Coding Standard Documents
編碼標(biāo)準(zhǔn)文檔
A.1.4 Other Related Project Documents
其他相關(guān)文檔
A.1.5 Terms Used in This Document
文檔中的術(shù)語(yǔ)
A.1.6 References
參考文獻(xiàn)
A.1.7 Our Limited Lifetime Warranty
有限的使用期限保證
A.1.8 The Emotional Topic of Coding Standards
編碼標(biāo)準(zhǔn)的情緒問(wèn)題
A.2 Project Dependent Standards
項(xiàng)目依賴標(biāo)準(zhǔn)
A.3 File And Module Guidelines
文件和模塊指南
A.3.1 Module Design Guidelines
模塊設(shè)計(jì)指南
A.3.2 Header (Include) Files
Header (Include) 文件
A.3.3 Source File Layout Guideline
源文件布局指南
A.3.4 File Naming Guideline
文件命名指南
A.3.5 File Informational Headers
文件頭
A.3.6 Subroutine Header
子程序頭
A.4 Constants and Macros
常量和宏
A.4.1 Use Constants and Macros Instead of Hard Coded LiteralValues
用常量和宏代替硬編碼
A.4.2 Only Define Constants and Macros Once
常量和宏只定義一次
A.4.3 Place Parenthesis around Each Macro Parameters
為每個(gè)宏參數(shù)加小括號(hào)
A.4.4 Notes about Style
記錄風(fēng)格
A.5 Global Data Guidelines
全局?jǐn)?shù)據(jù)指南
A.6 Subroutines
子程序
A.6.1 Subroutine Scope Guidelines
子程序范圍指南
A.6.2 Subroutine Declaration Guidelines
子程序聲明指南
A.6.3 Subroutine Layout Guidelines
子程序布局指南
A.6.4 Subroutine Size Guidelines
子程序規(guī)模指南
A.6.5 Parameter List Guidelines
參數(shù)列表指南
A.6.6 Variable Declaration Guidelines
變量聲明指南
A.7 Comments
注釋
A.7.1 Distributed Code Description
分布式代碼描述
A.7.2 Comment Block Standard
注釋標(biāo)準(zhǔn)
A.7.3 In line Comments
行內(nèi)注釋
A.7.4 Commenting Control Constructs
注釋控制結(jié)構(gòu)
A.8 Code Layout
代碼布局
A.8.1 One Statement per Line
每行一個(gè)語(yǔ)句
A.8.2 Indentation Guidelines
縮進(jìn)指南
A.8.3 Brackets, Begin...End, and Delimiting Control Blocks
括號(hào)、Begin...End和邊界控制塊
A.8.4 Error Handling
錯(cuò)誤處理
A.9 Naming Convention for Identifiers (Variables, Constants, andSubroutines)
標(biāo)識(shí)符(變量、常量和子程序)的命名約定
A.9.1 Select Clear and Meaningful Names
選擇清晰和有意義的名字
A.9.2 Naming Subroutines (verb and object)
命名子程序(動(dòng)詞和對(duì)象)
A.9.3 Naming Constants, Variables (noun)
命名常量和變量(名詞)
A.9.4 Naming Boolean Identifiers
命名Boolean標(biāo)志符(動(dòng)詞、對(duì)象或形容詞)
A.9.5 Naming Types
命名類型
A.9.6 Use of Upper/lower Case and Underscores to DifferentiateSubroutines, Variables,
and Constants
用大小寫來(lái)區(qū)別子程序、變量和常量
A.9.7 Subroutines and Program Units
子程序和程序單元
A.9.8 Variables
變量
A.9.9 Macros and Constants
宏和常量
A.9.10 Use of Prefix (Hungarian) Notations to Differentiate theScope and Type of a Data Variable
用前綴來(lái)區(qū)別變量的范圍和類型
A.9.11 Abbreviations
縮寫
A.9.12 Summary Table for Naming Convention:
命名約定的總結(jié)
A.10 Misc. Rules for Coding
編碼規(guī)范
A.10.1 Conditionals and Comparisons
條件和比較
A.10.2 Program Flow
程序流
A.10.3 Binding Time of Variables and Values
變量和值的綁定時(shí)間
A.10.4 Go-tos, Pointers, and Issues of Clarity
Go-to語(yǔ)句、指針和二義性問(wèn)題
A.10.5 Strive to Develop Clear Code
開發(fā)清晰的代碼
A.10.6 Use Libraries When Available
使用庫(kù)
A.10.7 Type Casting Integer and Float Variables Makes Code MorePortable
整型變量和浮點(diǎn)型變量的轉(zhuǎn)換使編碼更容易
A.10.8 Compiler Dependent Code Should Include Tests
依賴編譯器的代碼應(yīng)該包含測(cè)試
A.10.9 Use ASCII Files for Runtime or Machine Dependent Constantsand Macros
使用執(zhí)行時(shí)ASCII文件或依賴機(jī)器的常量和宏
A.10.10 Error Handling
錯(cuò)誤處理
A.10.11 Debugging
調(diào)試
A.10.12 Using Structures and Enumerators is Recommended
推薦使用結(jié)構(gòu)和枚舉
A.11 Modularization and Information Hiding
模塊化和信息隱藏
A.11.1 Information Hiding, Domain, and Scope of Variables
信息隱藏、域、變量的范圍
A.11.2 Low Coupling, High Cohesion, and Clean Interfaces
低耦合,高內(nèi)聚,清晰的接口
A.11.3 Cohesion
內(nèi)聚
A.11.4 Coupling
耦合
A.11.5 Clean Interface
清晰的接口
A.11.6 Minimize Scope of Variables
最小化變量范圍