Index

Note: Page numbers followed by “f”, “t” and “b” refers to figures, tables and boxes respectively.

A

Abstract data types, 133
Abstract superclasses, 139, 140f
Acceptance tests, 272, 282–283
Ad hoc techniques, e1–e3
Adapted use case points, e26
Adjusted use case points (UCP), e22
Aggregation, 129–130, 130f
Aggregation
composite, 129, 130f
shared, 129, 130f
Agile process, 5
Algorithms, 228
Analysis patterns, 165
Apparent functionality, e3
Association classes, 141–144
reservation modeled as, 143f
reservation modeled as intermediary concept, 143f
suitable representation of many records, 144f
suitable representation of roles, 142f
unsuitable representation of many records, 143f, 144f
unsuitable representation of roles, 141f
Associations, 115, 122–132
derived, 126–129, 127f, 128f
direction, 126
role multiplicity, 124–126, 125f
Associative information, 157
Attributes, 115, 115–120, 116f
derived, 117–118, 117f
enumerations, 118–119, 119f
initial values, 116–117, 117f
primitive types, 119–120, 120f
types, 116, 116f
Average team size, e24–e25

B

Backfire table, e9
Bag structure, 134, 134f
Basic queries, 258
Bidirectional associations, e39, e50–e60
implementation
with intermediary object, e59–e60
unidirectional, e57–e59
many-to-many associations, e52f
mutual friends, e51–e57
both roles optional, e51–e53
one mandatory role, e53–e55, e53f
two mandatory roles, e55–e57, e56f
Brokers, e90–e92
Business activity diagram, 18–22
control flow nodes, 20–22
decision control flow, 20, 20f
parallel control flow, 20, 21f
elements, 18–19, 19f
Business actors, 13, 15, 15f
See also System actors
Business cycle test, 282–283
general view of system, 9–13
deliverables, 10
example of, 12f
product acceptance criteria, 10–11
scope declaration, 7–8, 10
goals of, 8
need for, 8–9, 9
scenarios in
domain modeling, 8
generic business model, 9
new business, 9
one company, many systems, 9
organizational chart, 8
renewal, 9
Business Process Model and Notation (BPMN), 7–8
Business renewal, 9
Business use cases, 13–18, 13f
See also System use cases
automation, 15–18
candidates for automation, 17f
system boundary, 16, 17f
updated, 22f
use case names, 13–14
Business workers, 13, 15, 15f

C

Caches, e92–e94
commit and rollback operations, e93
control, e93–e94
Calendar time, e24–e25
Calling operation, 194
Cascade index, 309–311, 310f, 310f, 311f, 311f, 312f, 312f
Casual use cases, 37
COCOMO II, 10, e3
scale factors, 9–10
Code generation, e35
for attributes, e35–e38
automatic, e35
for classes, e35–e38, e36f
for delegated methods, e60–e62
for system operations, e60–e62
Command-Query Separation (CQS), 92
Communication diagrams, 228
Composition, 129–130, 130f
Composition model, 290
Concentration, 260, 263f
Conceptual model
organization of, 138–149
associative, 138
structural, 138
temporal, 138
refinement of, 152–162
associations, 157–158, 159f, 159f, 159f
concepts and attributes, 152–155, 154f
dependent concepts, 156–157
example of, 159–162
independent concepts, 156–157
static aspect, 113
Conceptual model patterns, 165
account/transaction, 178–181, 178f, 180f, 181f, 182f
composite, 173–174, 174f
high cohesion, 165–168, 166f, 167f, 167f, 167f, 168f, 168f
measure, 171, 171f
object joining, 175–178
copy and replace, 176
essence/appearance, 177, 177f
superseding, 176–177, 176f
undoing join, 177–178
organizational hierarchy, 174–175, 175f, 175f
quantity, 170–171, 170f, 171f
range, 182–183, 185f
specification classes, 168–170, 169f, 169f
strategy, 172, 173f
temporal, 183–189
bitemporal pattern, 187–189, 188f
effectivity, 185, 185f
history association, 185–186, 186f
temporal association, 186–187, 187f, 187f, 188f
Conceptual modeling, 113–115, 114f
See also Preliminary conceptual model
associations, 115, 122–132
attributes, 115, 115–120, 116f
collections, 132–138, 133f, 133f
concepts, 115, 120–122
Concrete data types, 133
Concrete use cases, 36
Contingency plan, e5, e7
Contracts
for CRUD, 216–222
create contract, 217–218
delete contract, 218–221, 221f, 221f
retrieve contract, 221–222, 221f, 221f
update contract, 218
for listing objects, 222–223
for use cases, 223–224
CRUD (Create, Retrieve, Update, and Delete), 32, 55
CRUD expanded use case, 86–89
with access restrictions, 90f
example of, 88f, 91f
template for, 87f
CRUD operations, IFML models for, 325–328, 326f, 326f, 327f, 327f, 328f, 328f

D

Data flow, 304
Data model, 113
Data persistence, e67–e68
Database management system (DBMS), 30–31
DCD building, 228
DCD (design class diagram), 227
Delegate methods, e60–e62
Delegation, 2, 259–262, 263f
Derivation model, 290
Derived associations, 117
Design class diagram (DCD), 113, 227, 262–265, 265f
Design patterns, 165
Disaster recovery plan, e5, e7
Domain modeling, 8
Domain tier design, 227–229
Dynamic model, 113
Dynamic modeling, 228, 245–256
attribute value modification, 250, 251f
conditional postconditions, 253–255, 254f
exceptions, 255, 256f
instance creation, 246–248, 248f, 249f
instance destruction, 250–251, 252f
link addition, 249–250, 249f, 250f
postconditions over collections, 255–256, 256f
removing link, 251–253, 253f

E

Effort, e23–e24
Effort estimation, e1, e7
Effort per use case point, e28
Effort value, e23
Electronic focus groups, 11
Equivalence partitioning, 272–273
Essential use cases, 36, 75–76
Estimation by analogy, e2
Exception handler
corrective actions, 72
example of, 73f
exception, 72
finalization, 72
identification code, 72
Exceptions, 69, 194, 214–216
in command contracts, 194
in query contracts, 194
transformed into precondition, 214
Expanded use cases, 61–62
alternate flows, 64–74
exception handling, 69–74, 70f, 73f
scenarios, 65–66
variants, 66–69, 67f, 68f
main flow of, 62–64
exception handling, 63–64, 65f
first draft, 63f, 64f
open issues, 92
preconditions, 91–92
stakeholders, 91
success post conditions, 92
as system sequence diagrams, 95–97, 96f, 96f
uses, 92
writing recommendations, 74–83
complementary steps, 81, 81f
essential vs real use case, 75–76
explicit information, 76–77
identification and selection, 77
mandatory steps, 77–81, 78f, 80f
unsuitable steps, 82–83, 82f, 83f
Expert judgment, e1
Exploratory surveys, 11

F

Filter object, e63, e63f
Filtered index, 312, 312f
Filtered queries, patterns for, e62–e64
Full use case size method, e26
Fully dressed use cases, 37
Function point analysis, e3
Function points, 10, e3
Functional modeling, 193–196
Functional requirements, 41, 45
Functional testing, 272–274
Functional tests, 272
FUSP (Fuzzy Use Case Size Points), e26

G

Generalization, 139–140, 139f, 140f
Generic business model, 9
Guided tour, 313, 313f, 314f

H

Hardware attributes, e4
High-level requirements, 29–30
Human actors, 30

I

If-then-else-endif, 147
IFML (Interaction Flow Modeling Language), 289, 289–290
Immutable attributes, e36
Included fragments, 83–84, 84f, 84f
Included use cases, 83–84
Indexed column, e71
Inheritance, 139–140
Instance variables, e38
Interaction Flow Modeling Language (IFML), 289, 289–290
areas, 308
default page, 309
flows, 302–305
homepage, 309
hypertext organization, 305–309
landmark page, 309
site view, 307–308, 309f
view components, 290–300
checkable list, 297, 297f
details, 291–293, 292f, 292f, 293f
forms, 297–298, 299f
hierarchies, 298–300, 299f, 300f, 300f
multiple details, 293–294, 293f, 294f, 294f
simple list, 294, 295f, 295f
Interface tier design, 227, 289
Intermediate queries, 258
Invariants, 149–152
constraint, 149f
example of, 150f
IsEmpty(), 147
Iteration planning, e30–e32
Iterative surveys, 11

K

Kilo source lines of code (KSLOC), e3
KO flow, 319

L

Lazy load, e88, e89f, e90
Limit value analysis, 274
Lines of code, e3
Logical design, 227, 227–228
See also Domain tier design
Low coupling, 259–262

M

Mark II counting, e7–e9
Materialization, e90–e92
Modal classes, 144–149
Modeling operations in interface, 317–325, 318f
connect, disconnect, and reconnect operations, 323–325, 324f, 324f, 325f
create operation, 319, 320f, 320f
delete operation, 319–320, 321f, 321f
update operation, 321–322, 322f, 322f, 323f
Monotonic increasing transition, 145, 145–147, 146f
effective way to model, 147f
unsuitable way to model, 146f, 147f
Multivalued parameter binding, 305, 307f, 308f, 308f

N

Navigation model, 290
New business, 9
Nonfunctional requirements, 45–46
Nonfunctional tests, 283–284
Nonmonotonic transition, 145, 147–149
modeled with state machine diagram, 148f
modeled with the state design pattern, 149f
Nonparametric estimation, e1–e2
Nonpattern use cases, e11
Normal navigation flow, 302–304, 303f, 303f, 303f, 304f
Number sequence generator, e71

O

Object equivalence, 177
Object-oriented CASE tools, 2
Object-oriented databases, e67
Object-oriented design, e67–e68
Object-oriented systems development, 2
Object-relational impedance mismatch, e68
Object-relational mapping (ORM), e67, e68–e87
associations, e71–e83
association class, e80–e82, e81f, e81t, e81t
bags, e78, e78f, e79t
façade controller, e83f
many-to-many associations, e72–e73, e72f, e73t
n-ary, e82, e82f, e82t
one-to-many associations, e74–e76, e74f, e74t, e75t
one-to-one associations, e76–e77, e76f, e76t
ordered associations, e77–e78, e77f, e77t
qualified associations, e79–e80, e79f, e80t
transient, e83
attributes, e68–e71
classes, e68–e71, e69f, e70t
inheritance, e83–e87, e84f
each class, e86–e87, e87t, e87t, e87t
each concrete class, e86, e86t, e86t
implementation of, e84–e86, e85t
Object responsibility distribution, 229–232, 231t
Object visibility, 232–245
by association, 232–239
with association class, 237–239, 238f, 238f, 238f, 239f, 239f
multiple objects, 233, 234f, 234f, 234f
with ordered roles, 233–235, 234f, 235f, 235f, 235f
preconditions, 239, 239f, 240f
with qualifiers, 235–237, 236f, 236f, 236f, 236f, 237f, 237f
single object, 233, 234f, 234f
global, 244–245, 245f
locally declared, 242–244, 244f, 244f
by parameter, 240–242, 240f, 240f, 241f, 241f, 242f, 243f
OCL (Object Constraint Language), 23, 116
OK flow, 319
One company, many systems, 9
Open-close principle, 44
Ordered set structure, 134, 134f
Organizational chart, 8
Overview plus detail pattern, 313, 316f, 316f

P

Parameter binding, 304–305, 305f, 306f, 306f, 307f, 307f
Parametric techniques, e3–e4
Parkinson’s Law, e2
Partition, 136–137, 137f
Pattern use cases, e10, 84–89
Persistence tier design, 227
Personnel attributes, e4
Phase planning, e29, e32t
Postconditions, 194, 203–214
changing attribute value, 205
collections of objects, 213–214
combinations of, 211–212
former values, 212–213
instance creation, 206–207
Instance destruction, 209
link addition, 207–208
and real-world events, 214
removing link, 209–210
well-formed, 210–211
Preconditions, 194, 196–200
assurance, 199–200
complementary constraints, 198–199
and exceptions versus invariants, 200
parameter guarantee, 197–198
Preliminary conceptual model, 52–56, 53f, 54f, 56f
Presentation model, 290
Pricing to win, e2
Primary actors, 31
Product attributes, e3
Project attributes, e4
Project planning, e26–e32
duration of iterations, e27
number of iterations, e27–e28

Q

Query return, 201–203

R

Real use cases, 75–76
Reference class, e69f
Reference conceptual model, 195f, e91f
Refined conceptual model, 193
Relation, 137–138, 137f
Relational databases, e67
Relational table, e68
Report expanded use case, 85–86
example of, 86f
template for, 86f
Reports, e10
Requirements, 41–51
challenges, 44–45
desired, 47
functional, 45
evident, 45
hidden, 45
mandatory, 47
nonfunctional, 45–46
logical issues, 45
permanent, 46
technological issues, 45
transient, 46
supplementary, 45, 47–51
classification, 48t
example of, 51t
Requirements elicitation, 41–42
Responsibility assignment, 2
Risk, e4–e5
cause of, e7
control, e5
effects of, e7
exposure, e6, e6t
identification, e4
impact, e6
planning, e5, e7, e8t
probability, e6
sources of, e5–e6
Risk analysis, 59–60, e4–e7
Risk mitigation plans, e5, e7

S

Scenario building, 11
Secondary actors, 31
Semantic verification, 198
Sequence diagrams, 93, 228
Sequence structure, 134–135, 135f
Smalltalk, 138, 139
Source lines of code (SLOC), e3
Spaghetti code, 2
Specialization, 139–140, 141f, 141f
Stable state transition, 145, 145, 145f
State machine diagram, 23–26, 25f, 26f, 26f
Stereotyped use cases, 84–89
Story points, e2
Structural model, 289–290
Structural tests, 272
Stubs and drivers, 274–275
Subclass, 139
Superclass, 139
Supplementary requirements, 45, 47–51
Surrogate key, e69
Syntactic verification, 198
System actors, 30–31
System command contract, 193
exceptions, 193
postconditions, 193
preconditions, 193
System commands, 92, 97–98, 99f
System control class, 121–122, 121f
System events, 79, 97, 98f
System operation contracts, 193
System operations testing, 272, 280–282, 282t
System queries, 92, 98, 99f, 257–259, 258f
System query contract, 194
exceptions, 194
preconditions, 194
results, 194
System returns, 79, 97, 98f
System sequence diagrams, 92–109
alternate flows in, 104–109, 105f, 106f, 107f
complete, 109f
connecting interface to façade-controller, 97–101, 100f, 101f, 101f, 104–109
construction of, 95
defined, 93
elements of, 93–95, 93f
inadequate, 94f
main flow, 94–95, 102f, 104f
stateful strategy, 103, 104f
stateless strategy, 101–103, 102f
user identification, 108f
System tests, 272, 282–283
System use cases, 29, 31–38, 32f
avoiding fragments, 33f
brief, 37
and business use cases, 31, 38–41, 40f
consistent result, 35–36, 35f, 36f
essential, 36
high-level, 29, 31
interactive, 35
single session, 33–34, 34f
system boundary, 37–38
uses, 29–30

T

TCF (technical complexity factor), e11–e17, e12t, e18t
Team load capacity (TLC), e29, e29
Team productivity index (TPI), e23
Technical adjustment factors, e3
Technical complexity factor (TCF), e11–e17
environmental factors, e17–e22, e19t
technical factors, e11–e17, e12t, e18t
Technological design, 227
Test-driven development, 275–276
Testing, 271–272
See also Functional testing
Top-level navigation, 314–316, 317f, 317f, 318f, 318f
Traditional focus groups, 11
Transient associations, 200–201, 201f

U

UAW (unadjusted actor weight), e9–e10
UML (Unified Modeling Language), 3
Unadjusted actor weight (UAW), e9–e10
Unadjusted use case points (UUCP), e9
Unadjusted use case weight (UUCW), e10–e11
Unidirectional associations, e38–e50, e39f, e41t
advantages, 126
with association class, e49–e50, e49f
to many, e44–e45, e44f
qualified association, e45–e49, e45f, e47f, e48f
Unified Modeling Language (UML), 3
diagrams
behavior diagrams, 3
interaction diagrams, 3
structure diagrams, 3
Unified Process (UP), 3–5
phases of, 4f
construction, 5
elaboration, 5
inception, 4–5, 7
transition, 5
vs waterfall phases, 4
principles of, 3–4
Unique attributes, 121, 121f
Unit testing, 276–280
Unit tests, 271, 276
UP (Unified Process), 3–5
Use case complexity, e29
Use case diagram, 56f
Use case interface modeling, 328–331, 329f, 330f, 330f, 331f
Use case point analysis, e7–e26
Use case points, 10, e7–e9, e3
Use case priority, e29–e30, e30t
Use case testing, 282–284, 285t
Use case tests, 272, 282
complex, e10
dependencies among, e29
detailed, counting methods, e26
expanded, See Expanded use cases
importance of, 61
medium, e10
simple, e10
User stories, 11, e2
UUCP (unadjusted use case points), e9, e11
UUCW (unadjusted use case weight), e10–e11

V

Viewpoints, 313, 314f, 315f, 315f
Virtual proxy, e88–e90
data structures, e89–e90

W

Web interface patterns, 309–316
WebRatio® tool, 290

X

XML databases, e67
..................Content has been hidden....................

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