Books

Books : reviews

Kevin C. Lano, Jose Luiz Fiadeiro, Luis Andrade.
Software Design Using Java 2.
Palgrave. 2002

Software Design Using Java 2 is a Software Engineering text aimed at intermediate and advanced students on undergraduate programmes. The book offers a comprehensive treatment of the essential techniques needed to design software systems using object technology: design patterns, architectural, subsystem and module design, user interface design, web-based system design and database design. The extensive use of case studies from the domains of finance, internet systems and reactive systems allows the design process to be demonstrated in full.

In addition, the authors describe an extension of object-oriented concepts, called coordination contracts, which addresses the problem of increasing flexibility by separating the program logic from the software components this logic applies to.

Key features:
• Covers the use of Java Swing, JDBC, JavaScript, JSP and Servlets
• Focuses on the essential aspects of the design process in a practical and directed manner, using UML and Java 2
• Provides a guide to the management of student projects
• Gives a complete case study of a student project

This textbook is ideal for students and professionals in object-oriented software development, and in the object-oriented software engineering field.

[disclaimer: this is an inspection copy sent to me by the publisher]

Jose Luiz Fiadeiro.
Categories for Software Engineering.
Springer. 2005

This book provides a gentle, software engineering oriented introduction to category theory. Assuming only a minimum of mathematical preparation, this book explores the use of categorical constructions from the point of view of the methods and techniques that have been proposed for the engineering of complex software systems: object-oriented development, software architectures, logical and algebraic specification techniques, models of concurrence inter alia. After two parts in which basic and more advanced categorical concepts and techniques are introduced, the book illustrates their application to the semantics of CommUnity – a language for the architectural design of interactive systems.