This book takes a formal approach to teaching software engineering, using not only UML, but also Object Constraint Language (OCL) for specification and analysis of designed models. Employing technical details typically missing from existing textbooks on software engineering, the author shows how precise specifications lead to static verification of software systems. In addition, data management is given the attention that is required in order to produce a successful software project. Uses constraints in all phases of software development Follows recent developments in software technologies Technical coverage of data management issues and software verification Illustrated throughout to present analysis, specification, implementation and verification of multiple applications Includes end-of-chapter exercises and Instructor Presentation Slides
The core idea of this book is that object– oriented technology is a generic technology whose various technical aspects can be presented in a unified and consistent framework. This applies to both practical and formal aspects of object-oriented technology. Course tested in a variety of object-oriented courses, numerous examples, figures and exercises are presented in each chapter. The approach in this book is based on typed technologies, and the core notions fit mainstream object-oriented languages such as Java and C#. The book promotes object-oriented constraints (assertions), their specification and verification. Object-oriented constraints apply to specification and verification of object-oriented programs, specification of the object-oriented platform, more advanced concurrent models, database integrity constraints and object-oriented transactions, their specification and verification.
This book presents a unified collection of concepts, tools, and techniques that constitute the most important technology available today for the design and implementation of information systems. The framework adopted for this integration goal is the one offered by the relational model of data, its applica tions, and implementations in multiuser and distributed environments. The topics presented in the book include conceptual modeling of application environments using the relational model, formal properties of that model, and tools such as relational languages which go with it, techniques for the logical and physical design of relational database systems and their imple mentations. The book attempts to develop an integrated methodology for addressing all these issues on the basis of the relational approach and various research and practical developments related to that approach. This book is the only one available today that presents such an inte gration. The diversity of approaches to data models, to logical and physical database design, to database application programming, and to use and imple mentation of database systems calls for a common framework for all of them. It has become difficult to study modern database technology with out such a unified approach to a diversity of results developed during the vigorous growth of the database area in recent years, let alone to teach a course on the subject.
The core idea of this book is that object– oriented technology is a generic technology whose various technical aspects can be presented in a unified and consistent framework. This applies to both practical and formal aspects of object-oriented technology. Course tested in a variety of object-oriented courses, numerous examples, figures and exercises are presented in each chapter. The approach in this book is based on typed technologies, and the core notions fit mainstream object-oriented languages such as Java and C#. The book promotes object-oriented constraints (assertions), their specification and verification. Object-oriented constraints apply to specification and verification of object-oriented programs, specification of the object-oriented platform, more advanced concurrent models, database integrity constraints and object-oriented transactions, their specification and verification.
This book takes a formal approach to teaching software engineering, using not only UML, but also Object Constraint Language (OCL) for specification and analysis of designed models. Employing technical details typically missing from existing textbooks on software engineering, the author shows how precise specifications lead to static verification of software systems. In addition, data management is given the attention that is required in order to produce a successful software project. Uses constraints in all phases of software development Follows recent developments in software technologies Technical coverage of data management issues and software verification Illustrated throughout to present analysis, specification, implementation and verification of multiple applications Includes end-of-chapter exercises and Instructor Presentation Slides
The major goal of this book is to present the techniques of top-down program design and verification of program correctness hand-in-hand. It thus aims to give readers a new way of looking at algorithms and their design, synthesizing ten years of research in the process. It provides many examples of program and proof development with the aid of a formal and informal treatment of Hoare's method of invariants. Modem widely accepted control structures and data structures are explained in detail, together with their formal definitions, as a basis for their use in the design of correct algorithms. We provide and apply proof rules for a wide range of program structures, including conditionals, loops, procedures and recur sion. We analyze situations in which the restricted use of gotos can be justified, providing a new approach to proof rules for such situations. We study several important techniques of data structuring, including arrays, files, records and linked structures. The secondary goal of this book is to teach the reader how to use the programming language Pascal. This is the first text to teach Pascal pro gramming in a fashion which not only includes advanced algorithms which operate on advanced data structures, but also provides the full axiomatic definition of Pascal due to Wirth and Hoare. Our approach to the language is very different from that of a conventional programming text.
The major topic of this book is the integration of data and programming languages and the associated methodologies. To my knowledge, this is the first book on modern programming languages and programming meth odology devoted entirely to database application environments. At the same time, it is written with the goal of reconciling the relational and object-oriented approaches to database management. One of the reasons that influenced my decision to write this book is my dissatisfaction with the fact that the existing books on programming methodology and the associated concepts, techniques, and programming language notation are largely based on mathematical problems and math ematically oriented algorithms. As such, they give the impression that modern program structures, associated techniques, and methodologies, not to speak of the formal ones, are applicable only to problems of that sort. Although important, such problems are of limited applicability and scale. This does not apply to books in which modem concepts, techniques, methodologies, and programming language notation are applied to systems programming. But, even so, this does not demonstrate that in entirely application-oriented problems-those in which modern computer tech nology is most widely used-modern programming methodology is just as important. This book is meant to be a step toward providing a more convincing support of such a claim and, thus, is based entirely on common, what one might call business-oriented, problems in which database technology has been successfully used.
The major topic of this book is the integration of data and programming languages and the associated methodologies. To my knowledge, this is the first book on modern programming languages and programming meth odology devoted entirely to database application environments. At the same time, it is written with the goal of reconciling the relational and object-oriented approaches to database management. One of the reasons that influenced my decision to write this book is my dissatisfaction with the fact that the existing books on programming methodology and the associated concepts, techniques, and programming language notation are largely based on mathematical problems and math ematically oriented algorithms. As such, they give the impression that modern program structures, associated techniques, and methodologies, not to speak of the formal ones, are applicable only to problems of that sort. Although important, such problems are of limited applicability and scale. This does not apply to books in which modem concepts, techniques, methodologies, and programming language notation are applied to systems programming. But, even so, this does not demonstrate that in entirely application-oriented problems-those in which modern computer tech nology is most widely used-modern programming methodology is just as important. This book is meant to be a step toward providing a more convincing support of such a claim and, thus, is based entirely on common, what one might call business-oriented, problems in which database technology has been successfully used.
The major goal of this book is to present the techniques of top-down program design and verification of program correctness hand-in-hand. It thus aims to give readers a new way of looking at algorithms and their design, synthesizing ten years of research in the process. It provides many examples of program and proof development with the aid of a formal and informal treatment of Hoare's method of invariants. Modem widely accepted control structures and data structures are explained in detail, together with their formal definitions, as a basis for their use in the design of correct algorithms. We provide and apply proof rules for a wide range of program structures, including conditionals, loops, procedures and recur sion. We analyze situations in which the restricted use of gotos can be justified, providing a new approach to proof rules for such situations. We study several important techniques of data structuring, including arrays, files, records and linked structures. The secondary goal of this book is to teach the reader how to use the programming language Pascal. This is the first text to teach Pascal pro gramming in a fashion which not only includes advanced algorithms which operate on advanced data structures, but also provides the full axiomatic definition of Pascal due to Wirth and Hoare. Our approach to the language is very different from that of a conventional programming text.
This book presents a unified collection of concepts, tools, and techniques that constitute the most important technology available today for the design and implementation of information systems. The framework adopted for this integration goal is the one offered by the relational model of data, its applica tions, and implementations in multiuser and distributed environments. The topics presented in the book include conceptual modeling of application environments using the relational model, formal properties of that model, and tools such as relational languages which go with it, techniques for the logical and physical design of relational database systems and their imple mentations. The book attempts to develop an integrated methodology for addressing all these issues on the basis of the relational approach and various research and practical developments related to that approach. This book is the only one available today that presents such an inte gration. The diversity of approaches to data models, to logical and physical database design, to database application programming, and to use and imple mentation of database systems calls for a common framework for all of them. It has become difficult to study modern database technology with out such a unified approach to a diversity of results developed during the vigorous growth of the database area in recent years, let alone to teach a course on the subject.
This will help us customize your experience to showcase the most relevant content to your age group
Please select from below
Login
Not registered?
Sign up
Already registered?
Success – Your message will goes here
We'd love to hear from you!
Thank you for visiting our website. Would you like to provide feedback on how we could improve your experience?
This site does not use any third party cookies with one exception — it uses cookies from Google to deliver its services and to analyze traffic.Learn More.