Cover image for Advanced systems design with Java, UML and MDA
Title:
Advanced systems design with Java, UML and MDA
Personal Author:
Publication Information:
Burlington, MA : Elsevier Butterworth-Heinemann, 2005
ISBN:
9780750664967

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010121413 QA76.76.D47 L36 2005 Open Access Book Book
Searching...

On Order

Summary

Summary

The Model Driven Architecture defines an approach where the specification of the functionality of a system can be separated from its implementation on a particular technology platform. The idea being that the architecture will be able to easily be adapted for different situations, whether they be legacy systems, different languages or yet to be invented platforms.

MDA is therefore, a significant evolution of the object-oriented approach to system development.
Advanced System Design with Java, UML and MDA describes the factors involved in designing and constructing large systems, illustrating the design process through a series of examples, including a Scrabble player, a jukebox using web streaming, a security system, and others. The book first considers the challenges of software design, before introducing the Unified Modelling Language and Object Constraint Language. The book then moves on to discuss systems design as a whole, covering internet systems design, web services, Flash, XML, XSLT, SOAP, Servlets, Javascript and JSP.

In the final section of the book, the concepts and terminology of the Model Driven Architecture are discussed. To get the most from this book, readers will need introductory knowledge of software engineering, programming in Java and basic knowledge of HTML.


Table of Contents

Prefacep. vii
1 The Challenges of Software Designp. 1
1.1 Software developmentp. 1
1.2 Software development methodsp. 3
1.3 Software development stepsp. 7
1.4 Summaryp. 13
2 The Unified Modelling Languagep. 14
2.1 Introductionp. 14
2.2 Use case diagramsp. 15
2.3 Class diagramsp. 18
2.4 Object diagramsp. 30
2.5 Creating a platform-independent modelp. 32
2.6 Exercisesp. 36
3 The Object Constraint Languagep. 40
3.1 Using OCL and LOCA Constraintsp. 40
3.2 OCL operationsp. 46
3.3 Navigation expressionsp. 48
3.4 Quantifiersp. 52
3.5 Association constraintsp. 53
3.6 Recursionp. 55
3.7 Identity attributesp. 58
3.8 Association classesp. 61
3.9 Implicit and explicit associationsp. 62
3.10 Interfaces and implementation inheritancep. 63
3.11 Packages, Subsystems and Modelsp. 66
3.12 Other class diagram elementsp. 68
3.13 Exercisesp. 69
4 UML Dynamic Modelling Notationsp. 72
4.1 Statechartsp. 72
4.2 Interaction diagramsp. 81
4.3 The Scrabble system revisitedp. 83
4.4 Consistency and completeness checking of UML modelsp. 90
4.5 UML toolsp. 94
4.6 Summaryp. 95
4.7 Exercisesp. 95
5 Platform-Independent Designp. 97
5.1 The design processp. 97
5.2 Model transformationsp. 98
5.3 Design patternsp. 100
5.4 System and subsystem designp. 113
5.5 Detailed designp. 115
5.6 Constructing a design architecturep. 117
5.7 User-interface designp. 118
5.8 Data repository designp. 121
5.9 Exception handlingp. 125
5.10 Transforming a PIM to a PSMp. 125
5.11 Exercisesp. 128
6 From Platform-Specific Models to Executable Codep. 132
6.1 Production of a Java implementationp. 132
6.2 Synthesis of Java codep. 135
6.3 Synthesis case study: railway signalling systemp. 138
6.4 Synthesis case study: inheritance examplep. 142
6.5 Synthesis case study: derived attributes examplep. 145
6.6 Data repository implementation: choosing a databasep. 148
6.7 Production of an XML data repositoryp. 148
6.8 Summaryp. 155
6.9 Exercisesp. 155
7 Internet System Designp. 158
7.1 Fundamentals of internet systemsp. 158
7.2 Design of internet systemsp. 162
7.3 Design process for internet systemsp. 209
7.4 Summaryp. 210
7.5 Exercisesp. 211
8 Web Servicesp. 215
8.1 Definitions of web servicesp. 215
8.2 J2EEp. 217
8.3 .Netp. 222
8.4 Communicating with web servicesp. 223
8.5 Examples of web servicesp. 225
8.6 Web service design guidelinesp. 234
8.7 Implementing web services using J2EEp. 234
8.8 Mailing and Push technologiesp. 239
8.9 The Semantic Webp. 243
8.10 Mobile computing and m-commercep. 244
8.11 Summaryp. 247
8.12 Exercisesp. 247
9 Implementing the Model-Driven Architecturep. 249
9.1 MDA terminologyp. 249
9.2 Model transformationsp. 252
9.3 UML profilesp. 260
9.4 Transformations for internet systemsp. 261
9.5 Implementing model transformationsp. 263
9.6 MDA toolsp. 266
9.7 Summaryp. 267
9.8 Exercisesp. 267
10 Case Studies of Web System Developmentp. 269
10.1 Property system specificationp. 269
10.2 Web system generationp. 271
10.3 Interface componentsp. 273
10.4 Servletsp. 281
10.5 Databasep. 287
10.6 JSP architecture example: Cat databasep. 291
10.7 Summaryp. 296
11 Catalogue of Model Transformationsp. 297
11.1 Quality improvement transformationsp. 297
11.2 Elaborationsp. 310
11.3 Refinementsp. 311
11.4 Design patternsp. 320
Bibliographyp. 323
Appendicesp. 325
A Scrabble History and Rulesp. 325
A.1 The history of Scrabblep. 325
A.2 Official Scrabble rulesp. 325
B Web Application Development Support Packagep. 329
C Using Standard OCLp. 331
C.1 Why use LOCA?p. 334
D Exercise Solutionsp. 335
D.1 Solutions: Chapter 2p. 335
D.2 Solutions: Chapter 3p. 340
D.3 Solutions: Chapter 4p. 343
D.4 Solutions: Chapter 5p. 346
D.5 Solutions: Chapter 6p. 353
D.6 Solutions: Chapter 7p. 356
D.7 Solutions: Chapter 8p. 367
D.8 Solutions: Chapter 9p. 372
Indexp. 373