321
Index
A
Abstraction and generalization,
150
Acceptance testing, 6, 204
Accreditations in software engineer-
ing, 46–47
Actor of UML, 111, 114–116
Actual cost of work performed
(ACWP), 286–288
Adjustment phase of project manage-
ment, 267, 275, 290
Aggregation and composition, 149
Agile Manifesto, 84
Agile processes, 84–85, 94, 99–101
advantages of, 100–101
versus traditional processes,
99–100
Alpha testing, 203
Analysis of project information, 271
Analytical hierarchy process (AHP) of
requirements, 118
Annual releases, 233, 237
Apache Ant, 242
Architectural design, 130–139
reference, 138–139
styles and patterns, 133–138
tactics, 138
views, 131–133
Arrival rate of user problems, 250–251
Artifact naming model, 236–238
Artifacts relationships, 230–232
Asynchronous customer support on
Web, 254
B
Basili, V. R., 175, 178, 289
Behavior-driven development (BDD),
299
Beta testing, 203–204
Black-box testing, 204–205
Boehm, Barry, 63, 276
Boundary value analysis for testing,
207–208, 213
Branch coverage of test cases, 209–
210, 212–213
Branching from a version, 234–235
Brooks, Fred, 61, 274
Budget at completion (BAC), 286–288
Budgeted cost of work (BCW), 286–
288
91998_INDX_Tsui.indd 321 1/10/13 7:00:02 AM
Budgeted cost of work performed (BCWP),
286–288
Budgeted cost of work scheduled (BCWS),
286–288
Build and integration, 240–241
Build file and audit, 241
Business flow, 110–114
Business goals and high-level requirements,
108–110
Business policy and configuration manage-
ment, 234
C
Call management, 252–254
Capability Maturity Model (CMM), 70–78
Capability Maturity Model Integrated
(CMMI), 72–75
continuous model, 72–73
staged model, 73
Card and Glass complexity metrics, 170–171
Cardinality of entities, 122, 143, 178
Categorization of requirements, 112–114
Change control, 259–261
Change request, 255, 259–261
Change request form, 259–262
Chaos Report, 42–43
Check-in and check-out, 238
Chidamber and Kemerer (C-K) OO metrics,
177
Chief programming team, 61
Class design of OO, 148
Class responsibility collaborator (CRC), 311
ClearCase, 242–243
Client-server design pattern, 134–136
Codd, E. F., 141
Code of Ethics, 47–49, 51
Cohesion, 171–183
Coincidental cohesion, 172
Combinations for test case coverage, 213
Commenting programs, 189
Common coupling, 175–177
Communicational cohesion, 173
Communications, 29–30
in open source development, 97
of project information, 272–273
Compile and link, 240–241
Complexity, 24–25, 29–33
depth and breadth, 24, 33
Component test, 204–206
Concurrent Versions System (CVS), 241
Configuration management, 35, 188, 204,
230
Configuration testing, 204
Conformance testing, 204
Construction phase of RUP, 65–67
Constructive cost model (COCOMO),
276–290
Content coupling, 175–177
Contention of artifact retrieval, 238
Continuous integration, 27, 88, 97
Control chart, 272–273
Control coupling, 175–177
Coordination, 44
Coordination efforts, 37
Corequisite releases, 256–259
Cost-drivers of COCOMO, 276
Cost variance (CV), 288
Country code, 236–239
Coupling, 32–33, 141
Coupling between objects (CBO), 177–178,
183
Criteria for stop testing, 202, 218–220
Crystal methodologies, 91–94
Cucumber tool, 300
Customer service and support organization,
252–254
Customer support, 250–261
Customer support representative, 252–254
Cyclomatic complexity, 168–169, 211
D
Data complexity measure, 170
Data coupling, 175–177
Data flow diagram (DFD), 121
Data modeling with ER, 141–142
Data requirements, 113, 121–123
Data slices, 173
Database-centric design pattern, 136–138
Davis’s Principles, 50–52
Debugging errors, 193–194
Decomposition. See design decomposition
Defect seeding, 218–220
Defect support, 250
Demeter, 179–180
Denormalization, 146
Depth of inheritance tree (DIT), 177–178, 183
Design
architectural, 131–139
322 Index
91998_INDX_Tsui.indd 322 1/10/13 7:00:02 AM
completeness, 166
consistency, 166
constraints, 2–4, 6, 125
decisions, 3, 6, 84, 139
decomposition, 139–140
detailed, 131–132
object-oriented, 307
of payroll system, 32–34
user interface, 5, 152, 156, 180–181
Detailed requirements, 109–110, 125
Development processes, 26–27, 52, 58–70
E
Earned value (EV) monitoring technique,
265, 275, 286–288, 290
Effort estimation, 8, 19, 29, 260–261, 275–
278, 281–282, 290
Elaboration phase of RUP, 67
Emergency fixes, 257–258
Encapsulation, 148
Entity relationship (ER) diagram, 121,
142–144
Entry criteria for process, 68–69
Equivalence class partitioning for testing,
205–207
Event-driven design pattern, 133
Exit criteria for process, 69–70
Extreme Programming. See XP
F
Failures
coordination and planning, 44
project, 20, 43–45
severity of, 201–202
software, 42–43, 201–202
Fault, 202
Feature Driven Development (FDD), 87–90,
307
Fix delivery and fix install, 256–258
Flow of interaction, 152, 155
Formal methods, 200, 222–224
Fowler, M., 64, 196–197
Frequently asked questions (FAQ) database,
252–255
Function point estimation, 276, 279–284,
290–293
Functional cohesion, 173–175
Functional requirements, 2–4, 109
Functional test, 205–206
of payroll system, 35–36
G
Gantt Chart, 284, 304
Generic goals of CMMI, 74–75
Generic practices of CMMI (none), 76–78
Glue tokens, 173
Goal-Question-Metric. See GQM
Goals and practices of CMMI, 74–76
GOMS user interface model, 156
GQM, 288–291
Graphical user interface, 157, 180
H
Halstead metrics, 167, 170
Heartbeat design tactic, 138
Henry-Kafura metrics, 169–171
High-fidelity prototype, 152
High-level requirements, 108–110
Histogram, 272
Horizontal design, 33
Human resource organizing and adjust-
ments, 117, 270, 274
Humphrey, W. S., 58
I
IEEE Guide to Software Configuration, 230
IEEE Software Requirements Specification
document, 125
Impact analysis of changes, 260
Impedance mismatch, 158
Implementation
good characteristics of, 188–189
of payroll system, 34–35
StringSorter program, 10–18
Inception phase of RUP, 66
Incremental design, 84
Incremental process model, 61–63
Information collection for management,
271–272
Inheritance, 149–150
Inspection, 37, 44, 51, 95, 124, 166,
193–194, 200, 205, 218, 220–221,
230–231
Integration and builds, 240–241
Integration and system testing, 35–36, 203,
213
Index 323
91998_INDX_Tsui.indd 323 1/10/13 7:00:03 AM
Multiple product fixes and releases, 256–
259
Myers, G. J., 171, 202
Mythical Man-Month, The, 274
N
Naming conventions within programs,
191–193
Naming of artifacts, 236–238
NATO meeting on software engineering, 45
Nondefect support, 250, 261
Normalization of database, 145–146
Number of children (NOC), 177–178, 183
O
Obfuscation, 298
Object-oriented, 114, 307
design, 131–132, 139, 146–151
design metrics, 177–180
use cases, 65–66, 111, 114–116
Object-relational impedance mismatch,
158
On-site customer, 88
OO effort estimation, 282, 290
Open source development, 97
Organizing phase of project management,
270–271, 275
P
Pair programming, 86, 88, 94
Pareto chart, 272
Path analysis for testing, 208–211
Payroll system, 30–39
Peer review, 71, 93
People, 38
Performance and other requirements,
125–126
Performance of code, 188–189, 195–196
Performance testing, 204
Personal software process, 58
Pfleeger, S., 46
Physical database design, 141
Ping/echo design tactic, 138
Pipes-and-filters design pattern, 133
Plan, organize, monitor, and adjust (POMA),
266–267, 275, 290
Planning in XP, 87, 89–91
Intellectual property, 47–49
International Function Point Users Group
(IFPUG), 281
ISO 9000, 70
J
Java Modeling Language (JML), 299–300
Jones, Capers, 43
jUnit test tool, 215, 299
K
Kiviat chart, 272–273
L
Lack of cohesion of methods (LCOM),
177–179
Law of Demeter, 179–180
Layered design pattern, 135–136
Levels in CMM, 71–72
Levels in CMMI, 74
Linearly independent paths, 169, 208–212
Logical cohesion, 172
Logical database design, 141, 143
Low-fidelity prototype, 152
M
Maintenance, 36–38, 44–47, 124, 141–142,
146, 178, 192, 250, 252, 258–261
Make file for builds, 241
Make utility, 241–242
McCabe, T. J., 168–169
Metaphors, 87, 157
Method size, 191
Methodology, 26–28
Metrics (design), 77, 158
Metrics (GQM), 288–291
Mitigation of risks, 269–270
Modality of entity relationship, 122–123,
143
Model-view-controller (MVC) design pat-
tern, 134–135, 158
Modifying artifacts and contention prob-
lem, 238
Monitoring phase of project management,
271, 275, 290
Multicultural issues and localization, 157
Multimedia interfaces, 157
324 Index
91998_INDX_Tsui.indd 324 1/10/13 7:00:03 AM
invest in, 49–50
software errors, 43–44
and testing, 203
Quality level adjustment for schedule,
274
R
Rational Unified Process (RUP), 64–66, 94,
307
Rayleigh curve, 250–251
Refactoring, 196–198, 214
Reference architecture, 138–139
Relational database design, 136, 141–145
Relational schema diagrams, 141, 144–145
Release, 233–236
country specific, 233
level and number, 236
of payroll system, 36
scope and dates in XP, 86–90
Reliability and availability requirements,
112–113, 126
Reliability model and support estimation,
251
Request for Proposal (RFP), 107, 303
Requirements, 104–126
analysis, 106, 112–117, 120–126
elicitation and gathering, 110–112
engineering process, 104–105
functional, 2–6, 125, 130, 305, 307
nonfunctional, 2–4, 112, 130, 305, 307
of payroll system, 30–32
prioritization, 117–120
prototyping and review, 120–124
specifications, 106, 124–125
traceability, 120
Responses for a class (RFC), 177–178, 183
Reverse engineering, 298
Reviews, 105–107, 124–126, 200–201,
220–221
Revision Control System (RCS), 241
Risk management and planning, 269
Royce’s modern principles, 52
S
Schedule estimate, 285
Schedule variance (SV), 288
Scrum, 94–96
Planning phase of project management,
267–270
Precondition and postcondition, 26, 58,
147, 194–195, 299–300
assertions, 194–195, 299
Preparation for requirements processing,
104–105
Principles of software engineering, 49–52
Davis’s early principles, 50–53
Royce’s more modern ones, 52
Wasserman’s fundamental concepts,
52–53
Prioritization list of requirements, 117–120
Problem priority levels, 254–255
Procedural cohesion, 173
Process
Agile models, 84–86, 94, 97
areas of CMMI, 73–74
assessment models, 70–78
definition and communication, 78–79
entry and exit, 68–70
goal of software processes, 58–59
metrics, 38, 53
for project management, 266–275
software development, 26–28
traditional models, 59–64
Process and Methodology, 26–28
Process influences on configuration man-
agement, 235–236
Process Specification (PSPEC), 313
Product backlog, 95–96
Professional behavior, 49
Professional engineer, 47–48
Program slice, 173
Programming style and guidelines, 189
Project failures, 29, 43–45
Project goals, 268, 270–271
Project management, 266–290
Project modes of COCOMO, 276
Project plan, 267–271
Project plan content, 267–271
Promotion of artifacts, 235–236
Q
Quality, 37–38, 45–46, 200
assurance, 200
code errors, 43–44
Index 325
91998_INDX_Tsui.indd 325 1/10/13 7:00:03 AM
Temporal cohesion, 173
Test case generation, 203–206
Test stopping criteria, 202, 218–220
Test-driven development, 213–218
Testing, 6–11, 34–35, 58–61, 181–183,
200–224
definition, 202
program testing, 6–11
purpose of, 202–203
Three-tier style, 136–138
Tools
consideration of, 26
for static analysis, 223–224
Tools for configuration management,
241–243
Total complexity factor for FP, 281
Transition phase of RUP, 68
U
Unadjusted function point (UFP), 280–281
Unified Modeling Language (UML), 64, 85,
114–116, 131–132, 146–148
Unified Modeling Language (UML) dia-
grams, 116, 147–151
Unit testing, 6–10, 35, 58–59, 203, 205,
213–214, 218, 299–300
of payroll system, 34–35
StringSorter program, 6–10
Units of project effort, 175–176
Usability evaluation and test, 181–182
Usage month, 251
Use cases, 65–66, 111, 114–116, 146–147
User Interface
design, 5, 10, 152
design consistency, 156, 180–181
issues with, 16, 111, 156–158
requirements, 106, 110–111, 113,
123–126
simple
StringSorter, 16–19
types of UI, 123–126, 180–181, 282
User involvement, 42–43, 84, 94, 99, 104
User problem arrival rate, 250–252
User review, 31–32, 60, 105–107, 111,
124–126
User-interface testing, 204
V
Validation, 201
Verification, 201
Security, 112–113, 125–126, 159, 224,
296–297
Security requirements, 112–113, 126
Sequence or collaboration diagram, 151
Sequential cohesion, 173
Short and small releases, 62, 97
Simplest process model, 58
Software Development Plan (SDP), 267–
271, 303
Software development process, 26–28
Software Engineering, 45
code of ethics, 47–49, 51
definitions, 45–47
principles, 49–52
profession, 47–48
Software Engineering Institute (SEI), 70
Software requirement specification (SRS),
125, 305–309
Software review, 10, 87, 200–201–223
Sommerville, Ian, 45, 117, 120
Source code control system (SCCS), 241
Specific practices of CMMI, 74–75
Spiral process model, 63–64
Sprint, 95–96
Sprint review, 95
Stabilization of code, 193–194
Stamp coupling, 175–176
State modeling, 150–151, 312
Static analysis, 223–224
Storage and access of artifacts, 238–240
Stress testing, 204
String sorter, 7, 10–18
Strong functional cohesion, 173–174
Structural complexity measure, 170
Subject matter experts (SME), 108, 124, 303
Sunset of product, 252
Superglue tokens, 173
Support, 250–261
of payroll system, 36–37
of product, 38
System complexity measure, 170
System interface requirements, 111, 113,
123–125
System regression test, 205–207
T
Task network, 284–286
Technical problem fix analyst, 254–256
Technology and tools, 26
326 Index
91998_INDX_Tsui.indd 326 1/10/13 7:00:03 AM
White-box testing, 6, 205, 208
Withdraw from the market, 252
Work breakdown structure (WBS), 283–286,
290
X
XP (Extreme Programming), 86–94, 98
Y
Yourdon, E., 171
Z
Zero defect, 201
Version control, 238, 241, 243, 245
Version number, 238–239
Vertical and horizontal design, 33
Viewpoint-oriented requirements defini-
tion, 116–118
Visual interface requirements, 123–124, 159
Visual SourceSafe, 242–243
W
Wasserman’s fundamental concepts, 52–53
Waterfall process model, 59–63
Weak functional cohesion, 173–174
Weighted methods per class (WMC), 177–
178, 183
Index 327
91998_INDX_Tsui.indd 327 1/10/13 7:00:03 AM
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.139.83.151