Index
80/20 rule 63, 106 class 116, 367 class diagram 19, 185–7, 192, 204, 215, 221, 367–36 club cultures 71 collaboration diagram 18, 201–4, 214, 240–1, 374–5 commercial off the shelf packages 183 component 245–7, 306, 375 component-based development 248–9, 290 component diagram 20, 245–7, 375–6 construction 301–8 constructor 231 control object 198, 368 cost-benefit 83–94 cost-benefit analysis 386 cost reductions, identifying 86 costs, identifying 85 criticality 142 database 263–82, 305 database architect 74 database querying 271–3 database table 264–5 data migration 332 debugging 319–20 decision (activity diagram, statechart diagram) 113, 365, 371 demonstrator project 166 dependency 376 deployment 329–34 deployment strategies 332–3 design 9, 54, 57, 225–62, 396–9 designer 76
410
activity 110, 363 activity diagram 17, 109–14, 145, 243–4, 362–5 actor 124, 125, 129, 137, 366, 372, 374 aggregation 184, 191, 368 alternative path 107 architect 75 architecture 9, 283–96 association 232–3, 375 atomicity 277 attributes 228–9 beta testing 319, 326 boundary object 197, 368 BPR see Business process reengineering brownfield analysis 208 business analyst 75 business modelling 97–134, 381–6 business object 115 business object model 133 business process 99, 112 business process map 100–4, 120, 127, 128, 130, 384–5 business process reengineering 115 capital 84 capital impact, identifying 87 CASE tools 340–2 cash-flow model 87–9, 92, 94 change control 334–5 charter 64, 66
Index
411
design pattern 238–40, 250 destructor 231 do action 363 document management 342 documentation 330–1 domain object 195 DSDM see Dynamic System Development Method Dynamic System Development Method (DSDM) 347–8 encapsulation 175 end state 112, 363, 370 entity object 197, 368 entity–relationship diagram 267–8 entry action 363, 370 event 110 event action 363, 370 event send 364, 370 exception 109 exception handling 306–7 existential cultures 71 exit action 363, 370 expenditure 84 extend relationship (use case diagram) 138–9, 367 extreme Programming 346–7 first normal form 273 focus of control (sequence diagram) 234–5, 372 force field analysis 40 fork 364 framework 249–50 framework-based development 290 frequency of use 142 gap analysis 166 goal 38, 44, 47, 50, 124, 125, 129, 378 help desk 75
infrastructure 39, 44, 48, 40, 378 inheritance 180–4, 190, 368 integration 307 interface class 376 iteration managing 78 sequence diagram 237, 373 iterative development 61 iterative methods controlling 62 use cases 62 join (activity diagram) 364 join of database tables 265 maintenance 54, 59 many-to-many relationship 180, 369 implementing in database 269–70 message 375 message flow notation (sequence diagram) 237 methodology 342–8 middle management 75 middleware 288–90 model–view–controller 295–6 Moscow prioritisation 64, 65, 67 multiplicity 177–80, 369 on relationships 116 nested workflow 365 nested states 371 non-functional requirement 141–3 non-functional testing 316–18, 325–7 normalisation 268–71, 273–5 notation 10, 13–21 object 115, 116, 174–5, 227–33, 364 object concepts 172–93 object creation (sequence diagram) 235, 373 object destruction (sequence diagram) 236, 373 object flow 117, 364
implementation 54, 57 include relationship (use case diagram) 138–9, 366
412
Software Development With UML
object identification 116, 187–90 object interaction 372, 374 object lifeline(sequence diagram) 234–5, 372 object model 185 object modelling 116 object-orientation 14–16 objects on activity diagrams 117 one-to-many relationship 179 implementing in database 269 one-to-one relationship 177 implementing in database 271 operations 230–1 operation specification 241–3 organization 4, 302–4 organization types 70–3 package 183, 209 planning 78 polymorphism 176 post-condition 124, 125, 129, 242 pre-condition 124, 125, 129, 241 primary path 106 process catalogue 114 procurement 161–71 procurement rules 163–4 programmer 74 programming language 305 project failures 76–7 project management 64, 74 project plan 80, 81 prototyping 145 pseudo-code 242, 257, 259 purchasing – see procurement RAD see Rapid Application Development Rapid Application Development 347–8 re-use 183, 247–50 relational database 263–82 relationship class diagram 177, 369 use case diagram 137, 138, 366 relationships between objects 116
reliability 143 request for information 165, 167–9 request for tender 165, 169–71 requirement, non-functional 141–3 requirements analysis 54, 55, 135–60, 387–94 response 142 return on capital employed 84 revenue 84 revenue impact, identifying 86 RFI see request for information RFT see request for tender risk management 333 risk register 41, 46, 49, 51 risks 39, 46, 49, 78 role-based cultures 70 scalability 141, 325 scenario 105–9, 121, 128, 130, 387–9 scoping, package 166 screen organization 206 second normal form 274 security 142325 sequence diagram 18, 198–201, 211–14, 216–20, 234–40, 253, 371–4 serializability 277 software development life cycle 53–68 software development process 5 SQL 271–3 stakeholder analysis 379 stakeholder overview 40, 50 stakeholders 36, 42, 47, 49, 114 start state 112, 363, 370 state 110, 363, 370 statechart diagram 17, 118, 206–8, 369–71 steering groups 73 stereotype 368 structured walkthrough 311, 312, 313 support and enhancement 331–5 swimlane 113, 365 SWOT analysis 40, 45, 379
Index
413
system engineer 74 system testing 315–16, 322 systems analysis 54, 56, 194–221, 394–6 systems analyst 75 task cultures 71 technical architecture 284–90, 292, 384 tester 75 testing 54, 58, 309–28, 399–400 test plan 323, 324 test report 324 third normal form 275 time boxing 64 training 331–2 transaction (database) 275–9 transition 110, 364, 370 UML notation 362–76 Unified Modeling Language (UML) 10, 13–21 Unified Software Development Process 119, 343–6
unit testing 314–15, 322 usability 143 use case 137, 138, 366 finding see use case identification use case description 143–5, 146, 150, 152, 154, 155, 158, 159, 391–2, 402 use case diagram 16, 139–40, 148, 153, 157, 390, 366–7 use case identification 140, 147, 152–3, 156, 389 use case initiation 138–9 use case realization 210–21 user acceptance testing 318–19, 326 user interface 205–6, 243–5, 251, 255, 304 visibility 229, 230
waterfall approach 60 workflow 112, 123, 129