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
Preface | p. vii |
1 The Challenges of Software Design | p. 1 |
1.1 Software development | p. 1 |
1.2 Software development methods | p. 3 |
1.3 Software development steps | p. 7 |
1.4 Summary | p. 13 |
2 The Unified Modelling Language | p. 14 |
2.1 Introduction | p. 14 |
2.2 Use case diagrams | p. 15 |
2.3 Class diagrams | p. 18 |
2.4 Object diagrams | p. 30 |
2.5 Creating a platform-independent model | p. 32 |
2.6 Exercises | p. 36 |
3 The Object Constraint Language | p. 40 |
3.1 Using OCL and LOCA Constraints | p. 40 |
3.2 OCL operations | p. 46 |
3.3 Navigation expressions | p. 48 |
3.4 Quantifiers | p. 52 |
3.5 Association constraints | p. 53 |
3.6 Recursion | p. 55 |
3.7 Identity attributes | p. 58 |
3.8 Association classes | p. 61 |
3.9 Implicit and explicit associations | p. 62 |
3.10 Interfaces and implementation inheritance | p. 63 |
3.11 Packages, Subsystems and Models | p. 66 |
3.12 Other class diagram elements | p. 68 |
3.13 Exercises | p. 69 |
4 UML Dynamic Modelling Notations | p. 72 |
4.1 Statecharts | p. 72 |
4.2 Interaction diagrams | p. 81 |
4.3 The Scrabble system revisited | p. 83 |
4.4 Consistency and completeness checking of UML models | p. 90 |
4.5 UML tools | p. 94 |
4.6 Summary | p. 95 |
4.7 Exercises | p. 95 |
5 Platform-Independent Design | p. 97 |
5.1 The design process | p. 97 |
5.2 Model transformations | p. 98 |
5.3 Design patterns | p. 100 |
5.4 System and subsystem design | p. 113 |
5.5 Detailed design | p. 115 |
5.6 Constructing a design architecture | p. 117 |
5.7 User-interface design | p. 118 |
5.8 Data repository design | p. 121 |
5.9 Exception handling | p. 125 |
5.10 Transforming a PIM to a PSM | p. 125 |
5.11 Exercises | p. 128 |
6 From Platform-Specific Models to Executable Code | p. 132 |
6.1 Production of a Java implementation | p. 132 |
6.2 Synthesis of Java code | p. 135 |
6.3 Synthesis case study: railway signalling system | p. 138 |
6.4 Synthesis case study: inheritance example | p. 142 |
6.5 Synthesis case study: derived attributes example | p. 145 |
6.6 Data repository implementation: choosing a database | p. 148 |
6.7 Production of an XML data repository | p. 148 |
6.8 Summary | p. 155 |
6.9 Exercises | p. 155 |
7 Internet System Design | p. 158 |
7.1 Fundamentals of internet systems | p. 158 |
7.2 Design of internet systems | p. 162 |
7.3 Design process for internet systems | p. 209 |
7.4 Summary | p. 210 |
7.5 Exercises | p. 211 |
8 Web Services | p. 215 |
8.1 Definitions of web services | p. 215 |
8.2 J2EE | p. 217 |
8.3 .Net | p. 222 |
8.4 Communicating with web services | p. 223 |
8.5 Examples of web services | p. 225 |
8.6 Web service design guidelines | p. 234 |
8.7 Implementing web services using J2EE | p. 234 |
8.8 Mailing and Push technologies | p. 239 |
8.9 The Semantic Web | p. 243 |
8.10 Mobile computing and m-commerce | p. 244 |
8.11 Summary | p. 247 |
8.12 Exercises | p. 247 |
9 Implementing the Model-Driven Architecture | p. 249 |
9.1 MDA terminology | p. 249 |
9.2 Model transformations | p. 252 |
9.3 UML profiles | p. 260 |
9.4 Transformations for internet systems | p. 261 |
9.5 Implementing model transformations | p. 263 |
9.6 MDA tools | p. 266 |
9.7 Summary | p. 267 |
9.8 Exercises | p. 267 |
10 Case Studies of Web System Development | p. 269 |
10.1 Property system specification | p. 269 |
10.2 Web system generation | p. 271 |
10.3 Interface components | p. 273 |
10.4 Servlets | p. 281 |
10.5 Database | p. 287 |
10.6 JSP architecture example: Cat database | p. 291 |
10.7 Summary | p. 296 |
11 Catalogue of Model Transformations | p. 297 |
11.1 Quality improvement transformations | p. 297 |
11.2 Elaborations | p. 310 |
11.3 Refinements | p. 311 |
11.4 Design patterns | p. 320 |
Bibliography | p. 323 |
Appendices | p. 325 |
A Scrabble History and Rules | p. 325 |
A.1 The history of Scrabble | p. 325 |
A.2 Official Scrabble rules | p. 325 |
B Web Application Development Support Package | p. 329 |
C Using Standard OCL | p. 331 |
C.1 Why use LOCA? | p. 334 |
D Exercise Solutions | p. 335 |
D.1 Solutions: Chapter 2 | p. 335 |
D.2 Solutions: Chapter 3 | p. 340 |
D.3 Solutions: Chapter 4 | p. 343 |
D.4 Solutions: Chapter 5 | p. 346 |
D.5 Solutions: Chapter 6 | p. 353 |
D.6 Solutions: Chapter 7 | p. 356 |
D.7 Solutions: Chapter 8 | p. 367 |
D.8 Solutions: Chapter 9 | p. 372 |
Index | p. 373 |