Cambridge Computer Science  
  • View basket
  • Help
Home > Computer Science > Computer Science 2006 > Software Engineering and Application Development

Your next step

Cambridge Alerts

Customer services

Computer Science 2006 - Software Engineering and Application Development

Specifying Software Add to basket

Specifying Software
A Hands-On Introduction

R. D. Tennent

This innovative volume provides a hands-on introduction to techniques for specifying the behavior of software components. A text for a second-year undergraduate course in Computer Science and Computer Engineering programs, it is also suitable for self-study. This book will help students to improve their programming skills and gain a sound foundation and motivation for subsequent courses in advanced algorithms and data structures, software design, formal methods, compilers, programming languages, and theory. The main topics covered are techniques for using programmer-friendly assertional notations to specify, develop, and verify small but non-trivial algorithms and data representations, and the use of state diagrams, grammars, and regular expressions to specify and develop recognizers for formal languages. The presentation is based on numerous examples and case studies appropriate to the level of programming expertise of the intended readership.

Learn more...
UML by Example Add to basket

UML by Example

Ghinwa Jalloul

Ghinwa Jalloul's step-by-step introduction to object-oriented software development is suitable for teacher training as well as for practicing software engineers. Jalloul presents seven complete case studies and several smaller examples documented in UML, derived from small software projects developed for, and delivered to, real users. They are preceded by an overview of the object-oriented modeling artifacts in UML, on which the remainder of the book relies. The case studies provide a medium for experimental use and act as templates that can be tailored by readers to fit specific needs and circumstances.

Learn more...
Java Outside In Add to basket

Java Outside In

Ethan D. Bolker, Bill Campbell

This book and CD set treats learning a programming language much like learning a spoken language: programming is best learned by immersion. Through building interesting programs and addressing real design issues much earlier than other texts, this book moves beyond the placement of semicolons and other syntactic details and is able to discuss the architecture of serious programs: how delegation and inheritance allow objects to cooperate to do useful work. Throughout the text, the authors deal with programs that implement applications realistic enough to be convincing.

Learn more...
Memory as a Programming Concept in C and C++ Add to basket

Memory as a Programming Concept in C and C++

Frantisek Franek

Assuming readers have a basic familiarity with C or C++, Frantisek Franek describes the techniques, methods and tools available to develop effective memory usage. The overwhelming majority of "bugs" and crashes in computer programming stem from problems of memory access, allocation, or deallocation. Such memory related errors are notoriously difficult to resolve. Moreover, the role that memory plays in C and C++ programming is a subject often overlooked in courses and in books. Most professional programmers learn about it entirely through actual experience of the problems it causes.

Learn more...
Java Frameworks and Components Add to basket

Java Frameworks and Components
Accelerate Your Web Application Development

Michael Nash

This book is a practical tool for Java^TM® programmers. It provides the necessary information for finding, evaluating and selecting an application framework for programming needs. It explains in plain language the benefits of frameworks and component technologies, specifically in relation to web application development. The book is unique: it does not focus on any specific technology, and uses examples from several different frameworks to explain the underlying principles. As the market for web applications begins its second wave, this volume provides the critical information for developers to make the transition into componentized framework-based development, keeping them ahead in an increasingly competitive market.

Learn more...
Object-Oriented Programming via Fortran 90/95 Add to basket

Object-Oriented Programming via Fortran 90/95

Ed Akin

Writing technical applications in a modern object-oriented approach, using Fortran 90 or 95, can be problematic. This book teaches how to employ the principles of object-oriented programming to produce clear, highly efficient executable codes (rather than focusing on the traditional procedural abilities of Fortran). This text is an excellent harbinger to all the features of the finalized, fully object-oriented Fortran 200X. In addition to covering the OOP methodologies, the basic foundation of the language and solid programming skills are reviewed, making the book valuable also as a good migration tool for experienced Fortran programmers that want to smoothly pick up the OOP paradigm. The author highlights common themes by using comparisons with Matlab® and C++ and uses numerous cross-referenced examples to convey all concepts quickly and clearly. Complete code for the examples is included on the accompanying CD.

Learn more...
Integration-Ready Architecture and Design Add to basket

Integration-Ready Architecture and Design
Software Engineering with XML, Java, .NET, Wireless, Speech, and Knowledge Technologies

Jeff Zhuk

Written by a software architect and experienced trainer, the book brilliantly integrates theory and practice, going from foundations and concepts to architecture, design, and code examples. Through deep insights into almost all areas of modern CIS and IT, Zhuk provides an entry into the new world of integrated knowledge and software engineering. Readers will learn the "what's, why's, and how's" on: J2EE, J2ME, .NET, JSAPI, JMS, JMF, SALT, VoiceXML, WAP, 802.11, CDNA, GPRS, CycL, XML, and multiple XML-based technologies including RDF, DAML, SOAP, UDDI, and WDSL. The book turns these abbreviations into understandable concepts and examples. Students, architects, designers, and management benefit from innovative ideas and detailed examples for building multi-dimensional worlds of enterprise applications and creating distributed knowledge marketplace.

Learn more...
Model Driven Architecture with Executable UML Add to basket

Model Driven Architecture with Executable UML

Chris Raistrick, Paul Francis, John Wright, Colin Carter, Ian Wilkie

This book offers insight into a revolution in software development that will ultimately lead to automatic executable code generation directly from model specifications. Using the most widely adopted software modelling language, UML, it demonstrates the way to build robust specifications based on OMG's Model Driven Architecture (MDA). Chapters then describe the steps needed to move directly to executable code using Executable UML (XUML). The volume will be a useful reference for professionals concerned with the future of software development for medium- and large-scale projects.

Learn more...
Object-Oriented Programming with Visual Basic.NET Add to basket

Object-Oriented Programming with Visual Basic.NET

Michael McMillan

After an introduction to abstract data types and their initial implementation using structures, Michael McMillan analyzes standard OOP topics, including class design, inheritance, access modifiers and scoping issues, abstract classes, design and implementation of interfaces and design patterns, and refactoring in VB.NET. More advanced OOP topics are covered as well (reflection, object persistence, and serialization.) Finally, he demonstrates OOP techniques for standard Windows applications; for database applications using ADO.NET; for Web-based applications using ASP.NET; and for Windows service applications.

Learn more...
The Object Primer Add to basket

The Object Primer
Agile Model-Driven Development with UML 2.0

Scott W. Ambler

Scott Ambler, award-winning author of Building Object Applications that Work, Process Patterns, and More Process Patterns, has revised his acclaimed first book, The Object Primer. Long prized by both students and professionals as the best introduction to object-oriented technology, this book is now completely up-to-date, with all modeling notation rewritten in the just-released UML 2.0. All chapters have been revised to take advantage of Agile Modeling (AM), which is presented in the new chapter 2 along with other important new modeling techniques. Review questions at the end of each chapter allow readers to test their newly acquired knowledge. In addition, Ambler takes time to reflect on the lessons learned over the past few years by discussing the proven benefits and drawbacks of the technology. This is the perfect book for any software development professional or student seeking an introduction to the concepts and terminology of object technology.

Learn more...
COBOL Programmers Swing with Java Add to basket

COBOL Programmers Swing with Java

E. Reed Doke, Bill C. Hardgrave, Richard A. Johnson

Featuring the development of graphical user interfaces (GUI's) using the latest in Java swing components, this new edition of Java for the COBOL Programmer (Cambridge, 1999) provides COBOL programmers a clear, easy transition to Java programming by drawing on the numerous similarities between COBOL and Java. The authors introduce the COBOL programmer to the history of Java and object-oriented programming and then delve into the details of the Java syntax, always contrasting them with their parallels in COBOL. A running case study permits the reader to have an overall view of application development with Java.

Learn more...
Data Structures and Algorithms Using Visual Basic.NET Add to basket

Data Structures and Algorithms Using Visual Basic.NET

Michael McMillan

Including a tutorial on how to use data structures and algorithms and a reference for implementation using VB.NET and the .NET Framework Class Library, this is the first Visual Basic.NET book to provide a comprehensive discussion of the major data structures and algorithms. Michael McMillan presents arrays and arraylists, linked lists, hash tables, dictionaries, trees, graphs, sorting and searching as well as more advanced algorithms, such as probabilistic algorithms and dynamic programming in an object-oriented fashion. Finally, the professional or student VB.NET programmer has a dedicated reference instead of having to translate material on C++ or Java.

Learn more...
The Elements of UML™ 2.0 Style Add to basket

The Elements of UML™ 2.0 Style

Scott W. Ambler

For all developers who create models using the Unified Modeling Language (UML) 2.x The Elements of UML™ 2.0 Style sets the rules for style that will improve your productivity - especially in teams, where understandability and consistency are critical. Coming from renowned UML expert Scott Ambler, the book furnishes a set of rules for modelling in the UML and describes a collection of standards and guidelines for creating effective UML diagrams that will be concise and easy to understand. It provides conventions for: Class diagrams; Timing Diagrams; Use case diagrams; Composite Structure Diagrams; Sequence diagrams; Interaction Overview Diagrams; Activity diagrams; Object diagrams; State machine diagrams; Package diagrams; Communication diagrams; Deployment diagrams and Component diagrams. The Elements of UML™ 2.0 Style sets the rules for style that will improve your productivity.

Learn more...
Fundamentals of OOP and Data Structures in Java Add to basket

Fundamentals of OOP and Data Structures in Java

Richard Wiener, Lewis J. Pinson

Fundamentals of OOP and Data Structures in Java presents the fundamentals of Object-Oriented Programming (OOP) and Graphical User Interface (GUI) programming with Java as the example language. Wiener and Pinson introduce each of the major data structures with supporting, GUI-based laboratory programs designed to reinforce the basic concepts and principles. These laboratories allow the reader to explore and experiment with the properties of each data structure. All source code for the laboratories is available on the Web. By integrating the principles of OOP and GUI programming, this unique book presents the fundamental issues of data structures within the context of paradigms that are essential to today's professional software developer. The text assumes only an elementary understanding of Java and no experience with OOP.

Learn more...
Calendrical Calculations Millennium edition Add to basket

Calendrical Calculations Millennium edition

Edward M. Reingold, Nachum Dershowitz

This new edition of the successful calendars book expands the treatment of the previous edition to new calendar variants. It frames the calendars of the world in a completely algorithmic form. The authors describe fourteen calendars and how they relate to one another: the present civil calendar (Gregorian), the recent ISO commercial calendar, the old civil calendar (Julian), the Coptic and (virtually identical) Ethiopic calendars, the Islamic (Moslem) calendar; the Baha'i, the Hebrew (Jewish) calendar, the Mayan calendars, the French Revolutionary calendar, the Chinese calendar, and both the old (mean) and new (true) Hindu (Indian) calendars. Easy conversion among these calendars is a by-product of the approach, as is the determination of secular and religious holidays. Calendrical Calculations makes accurate calendrical algorithms readily available for computer use with LISP and Java code for all the algorithms included on CD, and updates available on the Web.

Learn more...
Add to basket

The Elements of Java™ Style

Allan Vermeulen, Scott W. Ambler, Greg Bumgardner, Eldon Metz, Trevor Misfeldt, Jim Shur

The Elements of Java Style, written by renowned author Scott Ambler, Alan Vermeulen, and a team of programmers from Rogue Wave Software, is directed at anyone who writes Java code. Many books explain the syntax and basic use of Java; however, this essential guide explains not only what you can do with the syntax, but what you ought to do. Just as Strunk and White's The Elements of Style provides rules of usage for the English language, this text furnishes a set of rules for Java practitioners. While illustrating these rules with parallel examples of correct and incorrect usage, the authors offer a collection of standards, conventions, and guidelines for writing solid Java code that will be easy to understand, maintain, and enhance. Java developers and programmers who read this book will write better Java code, and become more productive as well. Indeed, anyone who writes Java code or plans to learn how to write Java code should have this book next to his/her computer.

Learn more...
Testing IT Add to basket

Testing IT
An Off-the-Shelf Software Testing Process

John Watkins

This pragmatic guide provides a testing framework for software professionals looking to improve product quality and to reduce timescales, effort, and cost. It covers all aspects of testing for software developed or modified in-house, modified or extended legacy systems, and software developed by a third party. The reader can customize the framework to match the particular testing requirements of any particular organization. Packed with a series of real-world case studies, the book also provides a comprehensive set of standard testing document templates, proformas, and checklists for the reader to use in projects.

Learn more...
Mobile Computing Principles Add to basket

Mobile Computing Principles
Designing and Developing Mobile Applications with UML and XML

Reza B'Far, Foreword by Roy T. Fielding

Written to address the technical concerns faced by mobile developers, this book explores the differences between mobile and stationary applications and the architectural and software development concepts needed to build mobile applications. Reza B'Far guides the developer through the development process, using UML from design to implementation. He focuses on general concepts, while using platforms as examples or as possible tools. After introducing UML, XML, and the derivative tools necessary for developing mobile software applications, B'Far demonstrates how to build user interfaces for mobile applications.

Learn more...
Modern Compiler Implementation in Java Add to basket

Modern Compiler Implementation in Java

Andrew W. Appel, With Jens Palsberg

This textbook describes all phases of a compiler: lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection via tree matching, dataflow analysis, graph-coloring register allocation, and runtime systems. It includes thorough coverage of current techniques in code generation and register allocation, and the compilation of functional and object-oriented languages. The most accepted and successful techniques are described and illustrated with actual Java^TM® classes. The first part is suitable for a one-semester first course in compiler design. The second part; which includes the compilation of object-oriented and functional languages, garbage collection, loop optimization, SSA form, instruction scheduling, and optimization for cache-memory hierarchies; can be used for a second-semester or graduate course. This new edition includes more discussion of Java and object-oriented programming concepts such as visitor patterns plus a new Mini-Java programming project. A unique feature is the newly redesigned compiler project in Java for a subset of Java itself. The project includes both front-end and back-end phases.

Learn more...
Wireless Data Services Add to basket

Wireless Data Services
Technologies, Business Models and Global Markets

Chetan Sharma, Yasuhisa Nakamura

Despite their phenomenal global growth, wireless technologies have progressed very differently geographically. Diverse technologies (i-mode in Japan, SMS in Europe, PDAs and Blackberry in North America) imply that wireless applications and services are often unique to the culture and business models of a region. Supplemented by examples, case studies and interviews with industry luminaries, Chetan Sharma and Yasuhisa Nakamura identify key factors behind the success or failure of different strategies and provide insights into how to match wireless technology to global markets.

Learn more...
Mobile Web Services Add to basket

Mobile Web Services

Ariel Pashtan

Describing the key network elements, software components, and software protocols needed to implement wireless web services successfully, this volume stresses that the design of wireless web services must take into account the ways in which individual mobile users will access and interact with them. The book includes Java and XML code examples and a case study that reveals how all the elements of system design fit together. It is aimed at wireless web architects, network managers, and graduate students in electrical engineering and computer science.

Learn more...
C++ Design Patterns and Derivatives Pricing Add to basket

C++ Design Patterns and Derivatives Pricing

Mark S. Joshi

Combining mathematical finance with C++ and object-oriented programming (00P), M. Joshi demonstrates the relevance and use of OOP in financial mathematics by describing how to use price derivatives to obtain reusable and extensible code. A large part of the book is devoted to designing reusable components which are then combined to build a Monte Carlo pricer for exotic equity derivatives. Readers knowing the basics of C++ and mathematical finance, but are unclear how to use OOP to implement models, will welcome this analysis.

Learn more...
The Elements of C++ Style Add to basket

The Elements of C++ Style

Trevor Misfeldt, Gregory Bumgardner, Andrew Gray

The Elements of C++ Style is for all C++ practitioners, especially for those working in teams where consistency is critical. Just as Strunk and White's The Elements of Style provides rules of usage for writing in the English language, this text furnishes a set of rules for writing in C++. The authors offer a collection of standards and guidelines for creating solid C++ code that will be easy to understand, enhance and maintain. The book provides conventions for formatting, naming, documentation, programming, and packaging for the latest ANSI standard of C++, and also includes discussion of advanced topics such as templates.

Learn more...