Atnaujinkite slapukų nuostatas

High-Quality Software Engineering [Minkštas viršelis]

  • Formatas: Paperback / softback, 128 pages, aukštis x plotis x storis: 229x152x7 mm, weight: 199 g, black & white illustrations
  • Išleidimo metai: 04-Apr-2007
  • Leidėjas: Lulu.com
  • ISBN-10: 1847533000
  • ISBN-13: 9781847533005
Kitos knygos pagal šią temą:
  • Formatas: Paperback / softback, 128 pages, aukštis x plotis x storis: 229x152x7 mm, weight: 199 g, black & white illustrations
  • Išleidimo metai: 04-Apr-2007
  • Leidėjas: Lulu.com
  • ISBN-10: 1847533000
  • ISBN-13: 9781847533005
Kitos knygos pagal šią temą:
1 INTRODUCTION 1
1.1 Intended Audience
3
1.1.1 New Software Engineers
3
1.1.2 Software Team Leaders
4
1.2 Common Themes
6
1.2.1 Maintainability
6
1.2.2 Knowing Reasons Why
7
1.2.3 Developing the Developers
8
1.3 Book Structure
8
2 REQUIREMENTS 11
2.1 Waterfall versus Agile
12
2.2 Use Cases
13
2.3 Implicit Requirements
14
3 DESIGN 17
3.1 Interfaces and Implementations
18
3.1.1 Good Interface Design
19
3.1.2 Black Box Principle
21
3.1.3 Physical Architecture
21
3.2 Designing for the Future
22
3.2.1 Component Responsibility
22
3.2.2 Minimizing Special Cases
23
3.2.3 Scalability
24
3.2.4 Diagnostics
26
3.2.5 Avoiding the Cutting Edge
27
3.3 Scaling Up
28
3.3.1 Good Design
28
3.3.2 Asynchronicity
29
3.3.3 Fault Tolerance
31
3.3.4 Distribution
34
3.3.5 Dynamic Software Upgrade
36
3.4 Communicating the Design
39
3.4.1 Why and Who
39
3.4.2 Diagrams
40
3.4.3 Documentation
40
4 CODE 43
4.1 Portability
43
4.2 Internationalization
45
4.3 Multithreading
46
4.4 Coding Standards
47
4.5 Tracing
49
4.6 Managing the Codebase
53
4.6.1 Revision Control
53
4.6.2 Other Tracking Systems
55
4.6.3 Enforcing Standards
57
4.6.4 Building the Code
57
4.6.5 Delivering the Code
58
5 CODE REVIEW 61
5.1 Rationale: Why do code reviews?
61
5.1.1 Correctness
61
5.1.2 Maintainability
62
5.1.3 Education
63
5.2 Searching for Bugs
63
5.2.1 Local Analysis
63
5.2.2 Data Structures
64
5.2.3 Scenario Walkthroughs
65
5.3 Maintainability
65
5.3.1 Modularity
65
5.3.2 Communication
66
5.4 The Code Review Process
67
5.4.1 Logistics
67
5.4.2 Dialogue
69
5.5 Common Mistakes
70
6 TEST 73
6.1 How
73
6.2 Who and When
75
6.3 Psychology of Testing
76
6.4 Regressibility
78
6.5 Design for Testability
79
6.6 Debugging
81
7 SUPPORT 83
7.1 Customers
84
7.2 Learning a Codebase
84
7.3 Imperfect Code
85
7.4 Support Metrics
86
8 PLANNING A PROJECT 89
8.1 Estimation
89
8.1.1 Task Estimation
90
8.1.2 Project Estimation
91
8.2 Task Division
96
8.3 Dependencies
99
8.4 Replanning
101
9 RUNNING A PROJECT 103
9.1 Tracking
103
9.1.1 Metrics
103
9.1.2 Feedback
107
9.2 Time Management
108
9.3 Running a Team
109
9.3.1 Explaining Decisions
110
9.3.2 Make Everything Into Code
110
9.3.3 Tuning Development Processes
111
9.4 Personnel Development
112
9.4.1 Technical Fundamentals
112
9.4.2 Pragmatism
114
INDEX 117
COLOPHON 121