Author: Raphael C. Malveau
Publisher: Prentice-Hall PTR
ISBN:
Category : Computers
Languages : en
Pages : 378
Book Description
bull; Fully revised and updated to reflect the latest trends in software architecture bull; Allows you to execute heavyweight or lightweight approaches to architecture and identify the best architectural model for any project bull; Added coverage of UML 2.0 and Model-Driven Architecture
Software Architect Bootcamp
Author: Raphael C. Malveau
Publisher: Prentice-Hall PTR
ISBN:
Category : Computers
Languages : en
Pages : 378
Book Description
bull; Fully revised and updated to reflect the latest trends in software architecture bull; Allows you to execute heavyweight or lightweight approaches to architecture and identify the best architectural model for any project bull; Added coverage of UML 2.0 and Model-Driven Architecture
Publisher: Prentice-Hall PTR
ISBN:
Category : Computers
Languages : en
Pages : 378
Book Description
bull; Fully revised and updated to reflect the latest trends in software architecture bull; Allows you to execute heavyweight or lightweight approaches to architecture and identify the best architectural model for any project bull; Added coverage of UML 2.0 and Model-Driven Architecture
Software Architecture
Author: Richard N. Taylor
Publisher: John Wiley & Sons
ISBN: 0470167742
Category : Computers
Languages : en
Pages : 741
Book Description
Software architecture is foundational to the development of large, practical software-intensive applications. This brand-new text covers all facets of software architecture and how it serves as the intellectual centerpiece of software development and evolution. Critically, this text focuses on supporting creation of real implemented systems. Hence the text details not only modeling techniques, but design, implementation, deployment, and system adaptation -- as well as a host of other topics -- putting the elements in context and comparing and contrasting them with one another. Rather than focusing on one method, notation, tool, or process, this new text/reference widely surveys software architecture techniques, enabling the instructor and practitioner to choose the right tool for the job at hand. Software Architecture is intended for upper-division undergraduate and graduate courses in software architecture, software design, component-based software engineering, and distributed systems; the text may also be used in introductory as well as advanced software engineering courses.
Publisher: John Wiley & Sons
ISBN: 0470167742
Category : Computers
Languages : en
Pages : 741
Book Description
Software architecture is foundational to the development of large, practical software-intensive applications. This brand-new text covers all facets of software architecture and how it serves as the intellectual centerpiece of software development and evolution. Critically, this text focuses on supporting creation of real implemented systems. Hence the text details not only modeling techniques, but design, implementation, deployment, and system adaptation -- as well as a host of other topics -- putting the elements in context and comparing and contrasting them with one another. Rather than focusing on one method, notation, tool, or process, this new text/reference widely surveys software architecture techniques, enabling the instructor and practitioner to choose the right tool for the job at hand. Software Architecture is intended for upper-division undergraduate and graduate courses in software architecture, software design, component-based software engineering, and distributed systems; the text may also be used in introductory as well as advanced software engineering courses.
Overcoming Challenges in Software Engineering Education: Delivering Non-Technical Knowledge and Skills
Author: Yu, Liguo
Publisher: IGI Global
ISBN: 1466658010
Category : Computers
Languages : en
Pages : 556
Book Description
Computer science graduates often find software engineering knowledge and skills are more in demand after they join the industry. However, given the lecture-based curriculum present in academia, it is not an easy undertaking to deliver industry-standard knowledge and skills in a software engineering classroom as such lectures hardly engage or convince students. Overcoming Challenges in Software Engineering Education: Delivering Non-Technical Knowledge and Skills combines recent advances and best practices to improve the curriculum of software engineering education. This book is an essential reference source for researchers and educators seeking to bridge the gap between industry expectations and what academia can provide in software engineering education.
Publisher: IGI Global
ISBN: 1466658010
Category : Computers
Languages : en
Pages : 556
Book Description
Computer science graduates often find software engineering knowledge and skills are more in demand after they join the industry. However, given the lecture-based curriculum present in academia, it is not an easy undertaking to deliver industry-standard knowledge and skills in a software engineering classroom as such lectures hardly engage or convince students. Overcoming Challenges in Software Engineering Education: Delivering Non-Technical Knowledge and Skills combines recent advances and best practices to improve the curriculum of software engineering education. This book is an essential reference source for researchers and educators seeking to bridge the gap between industry expectations and what academia can provide in software engineering education.
Computer Systems and Software Engineering: Concepts, Methodologies, Tools, and Applications
Author: Management Association, Information Resources
Publisher: IGI Global
ISBN: 1522539247
Category : Computers
Languages : en
Pages : 2124
Book Description
Professionals in the interdisciplinary field of computer science focus on the design, operation, and maintenance of computational systems and software. Methodologies and tools of engineering are utilized alongside computer applications to develop efficient and precise information databases. Computer Systems and Software Engineering: Concepts, Methodologies, Tools, and Applications is a comprehensive reference source for the latest scholarly material on trends, techniques, and uses of various technology applications and examines the benefits and challenges of these computational developments. Highlighting a range of pertinent topics such as utility computing, computer security, and information systems applications, this multi-volume book is ideally designed for academicians, researchers, students, web designers, software developers, and practitioners interested in computer systems and software engineering.
Publisher: IGI Global
ISBN: 1522539247
Category : Computers
Languages : en
Pages : 2124
Book Description
Professionals in the interdisciplinary field of computer science focus on the design, operation, and maintenance of computational systems and software. Methodologies and tools of engineering are utilized alongside computer applications to develop efficient and precise information databases. Computer Systems and Software Engineering: Concepts, Methodologies, Tools, and Applications is a comprehensive reference source for the latest scholarly material on trends, techniques, and uses of various technology applications and examines the benefits and challenges of these computational developments. Highlighting a range of pertinent topics such as utility computing, computer security, and information systems applications, this multi-volume book is ideally designed for academicians, researchers, students, web designers, software developers, and practitioners interested in computer systems and software engineering.
Architecture of Reliable Web Applications Software
Author: Radaideh, Moh?d A.
Publisher: IGI Global
ISBN: 1599041855
Category : Computers
Languages : en
Pages : 378
Book Description
"This book presents new concepts regarding reliability, availability, manageability, performance, scalability, and secured-ability of applications, particularly those that run over the Web. It examines causes of failure in Web-based information system development projects, and indicates that to exploit the unprecedented opportunities offered by e-service applications, businesses and users alike need a highly available, reliable, and efficient telecommunication infrastructure"--Provided by publisher.
Publisher: IGI Global
ISBN: 1599041855
Category : Computers
Languages : en
Pages : 378
Book Description
"This book presents new concepts regarding reliability, availability, manageability, performance, scalability, and secured-ability of applications, particularly those that run over the Web. It examines causes of failure in Web-based information system development projects, and indicates that to exploit the unprecedented opportunities offered by e-service applications, businesses and users alike need a highly available, reliable, and efficient telecommunication infrastructure"--Provided by publisher.
Application Development and Design: Concepts, Methodologies, Tools, and Applications
Author: Management Association, Information Resources
Publisher: IGI Global
ISBN: 1522534237
Category : Computers
Languages : en
Pages : 1641
Book Description
Advancements in technology have allowed for the creation of new tools and innovations that can improve different aspects of life. These applications can be utilized across different technological platforms. Application Development and Design: Concepts, Methodologies, Tools, and Applications is a comprehensive reference source for the latest scholarly material on trends, techniques, and uses of various technology applications and examines the benefits and challenges of these computational developments. Highlighting a range of pertinent topics such as software design, mobile applications, and web applications, this multi-volume book is ideally designed for researchers, academics, engineers, professionals, students, and practitioners interested in emerging technology applications.
Publisher: IGI Global
ISBN: 1522534237
Category : Computers
Languages : en
Pages : 1641
Book Description
Advancements in technology have allowed for the creation of new tools and innovations that can improve different aspects of life. These applications can be utilized across different technological platforms. Application Development and Design: Concepts, Methodologies, Tools, and Applications is a comprehensive reference source for the latest scholarly material on trends, techniques, and uses of various technology applications and examines the benefits and challenges of these computational developments. Highlighting a range of pertinent topics such as software design, mobile applications, and web applications, this multi-volume book is ideally designed for researchers, academics, engineers, professionals, students, and practitioners interested in emerging technology applications.
The Software Architect Elevator
Author: Gregor Hohpe
Publisher: "O'Reilly Media, Inc."
ISBN: 1492077496
Category : Computers
Languages : en
Pages : 266
Book Description
As the digital economy changes the rules of the game for enterprises, the role of software and IT architects is also transforming. Rather than focus on technical decisions alone, architects and senior technologists need to combine organizational and technical knowledge to effect change in their company’s structure and processes. To accomplish that, they need to connect the IT engine room to the penthouse, where the business strategy is defined. In this guide, author Gregor Hohpe shares real-world advice and hard-learned lessons from actual IT transformations. His anecdotes help architects, senior developers, and other IT professionals prepare for a more complex but rewarding role in the enterprise. This book is ideal for: Software architects and senior developers looking to shape the company’s technology direction or assist in an organizational transformation Enterprise architects and senior technologists searching for practical advice on how to navigate technical and organizational topics CTOs and senior technical architects who are devising an IT strategy that impacts the way the organization works IT managers who want to learn what’s worked and what hasn’t in large-scale transformation
Publisher: "O'Reilly Media, Inc."
ISBN: 1492077496
Category : Computers
Languages : en
Pages : 266
Book Description
As the digital economy changes the rules of the game for enterprises, the role of software and IT architects is also transforming. Rather than focus on technical decisions alone, architects and senior technologists need to combine organizational and technical knowledge to effect change in their company’s structure and processes. To accomplish that, they need to connect the IT engine room to the penthouse, where the business strategy is defined. In this guide, author Gregor Hohpe shares real-world advice and hard-learned lessons from actual IT transformations. His anecdotes help architects, senior developers, and other IT professionals prepare for a more complex but rewarding role in the enterprise. This book is ideal for: Software architects and senior developers looking to shape the company’s technology direction or assist in an organizational transformation Enterprise architects and senior technologists searching for practical advice on how to navigate technical and organizational topics CTOs and senior technical architects who are devising an IT strategy that impacts the way the organization works IT managers who want to learn what’s worked and what hasn’t in large-scale transformation
The Software Architect's Profession
Author: Marc T. Sewell
Publisher: Pearson
ISBN:
Category : Computers
Languages : en
Pages : 148
Book Description
The purpose of this book is to introduce the establishment of the formal profession of software architecture based on the classical building architecture standard.
Publisher: Pearson
ISBN:
Category : Computers
Languages : en
Pages : 148
Book Description
The purpose of this book is to introduce the establishment of the formal profession of software architecture based on the classical building architecture standard.
A Practical Guide to Enterprise Architecture
Author: James McGovern
Publisher: Prentice Hall Professional
ISBN: 9780131412750
Category : Business & Economics
Languages : en
Pages : 338
Book Description
bull; Written by expert practitioners who have hands-on experience solving real-world problems for large corporations bull; Helps enterprise architects make sense of data, systems, software, services, product lines, methodologies, and much more bull; Provides explanation of theory and implementation with real-world business examples to support key points
Publisher: Prentice Hall Professional
ISBN: 9780131412750
Category : Business & Economics
Languages : en
Pages : 338
Book Description
bull; Written by expert practitioners who have hands-on experience solving real-world problems for large corporations bull; Helps enterprise architects make sense of data, systems, software, services, product lines, methodologies, and much more bull; Provides explanation of theory and implementation with real-world business examples to support key points
Architecting with RM-ODP
Author: Janis Putman
Publisher: Prentice Hall Professional
ISBN: 9780130191168
Category : Computers
Languages : en
Pages : 880
Book Description
PrefaceTo understand anything, you should not try to understand everything. — Aristotle The whole is greater than the sum of the parts; the part is greater than a fraction of the whole. — Aristotle Architecting is a challenging process of abstraction, composition, modularity, and simplification to create an architecture specification. An architecture specification captures the essence and definition of the system: understanding, parts, and the relationships among the parts. An architecture specification defines how a system solves a business problem within the scope of the business. — Putman Leave the beaten track occasionally and dive into the woods. You will be certain to find something that you have never seen before. — Alexander Graham Bell There are large gaps in the theory and practice of software architecture and engineering. Much is published about the representation of a software architecture, such as the Unified Modeling Language (UML), but little is available about the specification for a software architecture. Software engineering methods of domain engineering, process modeling languages, and well-formed patterns of reasoning aid in the specification of an architecture. The Reference Model of Open Distributed Processing (RM-ODP) defines the standard reference model for distributed software systems architectures, based on object-oriented techniques, accepted at the international level. RM-ODP is a standard adopted by the International Standards Organization (ISO) and the International Telecommunications Union (ITU). RM-ODP is embedded and used actively in mission-critical systems industries such as in telecommunications, in health care, on Wall Street (financial services industry), in various Government systems (Logistics), in European Government Agencies such as UK Aviation control systems, as a foundation for the Object Management Group (OMG) Object Management Architecture (OMA), for defining enterprise architectures, and for defining software architectures. The software systems architecture work that is emerging, and is focused either at the component level or at the systems level, provides a key resource for architecting. This is enhanced by the architecting techniques of RM-ODP. This book assembles these great ideas, explains what they mean, and shows how to use them for practical benefit, along with real-world case study examples. By using the RM-ODP specification constructs, associated languages, architecture patterns of reasoning, semantic behavior specification, and conformance testing abilities, readers will be able to architect their specific systems based on the RM-ODP specification foundations, and specify architectures that work. One of the purposes of this book is to provide the approach to using the RM-ODP foundations in architecting and specifying a distributed processing system that addresses such key properties as interoperability, dependability, portability, integration, composability, scalability, transparency, behavior specification, quality of service, policy management, federation, and conformance validation. Another purpose of this book is to explain the underlying foundations for creating an architectural specification. These foundations come not only from RM-ODP, but also from the current work in software systems architecture. Another purpose is to guide the reader to understand the importance and benefits of creating an architecture specification for an enterprise. Yet another purpose is to provide the reader with the principles to construct software systems architecture (at both introductory and in-depth levels). By applying the proven techniques of RM-ODP for what makes a good architecture, readers will be able to build their own tailored architectures, and clearly represent them in UML or some other tool, with an understanding of the underlying principles. Practitioners of RM-ODP have found that the standard is extremely beneficial in guiding architecture definition and providing standard terminology/principles for distributed object applications and infrastructures from an enterprise perspective. Outstanding Features This book is intended to provide valuable insight into successful architecture specification by describing an unprecedented foundation to accomplish this task, describing the use of the foundation, explaining the relationships of the concepts of architecting, explaining the relationships of the concepts of distributed processing, and identifying the right methods and possible tools for architecting. All material for the book has been derived from actual experiences. A medical case study is used throughout the book in ever increasing detailed specification. This medical case study is based on actual experience of the author. In addition, many metamodels are provided to represent the concepts of RM-ODP. All of these metamodels are contributions from the author. This is information that readers can use and apply in their architecting today. RM-ODP provides a reference framework, grammars, methods of abstraction and composition, and separation of concerns to achieve an architecture specification of the system. RM-ODP provides a framework for this separation, using viewpoints, as well as separating out certain decisions (e.g., product decisions) until later. Further, the reference model provides a set of definitions, which always aids in communicating with others. There is little in the literature about RM-ODP or architecture specification, and certainly not a book dedicated as a tutorial of these subjects. Now there is. In summary, this book offers the following: How to manage the architecting process in the lifecycle of a system How to solve many architecture reuse and cost-effectiveness problems How to create a business specification How to understand and use the concepts of distributed processing in an architecture How to architect effectively How to specify an architecture How to understand and specify semantic behavior and nonfunctional properties of a system (the "ilities") How to provide the right level of detail in an architecture specification How to ensure the implementation conforms to the architecture specification How to use RM-ODP effectively How to use popular tools, such as UML, to describe an architecture A definitive tutorial of RM-ODP Audience This book is designed for: Those in the Distributed Software Systems Architecture community who are interested in a methodology for using proven architecture principles. Professional software architects who are looking for new ideas about architecting a system. Within this book, the reader will find discussions of the techniques for architecting, for creating an architecture specification, and RM-ODP's relationship to other architecture frameworks. Program managers interested in how to create a cost-effective architecture within their enterprise that focuses on the needs of the enterprise and solves an enterprise problem. They will learn how do to do this through an overview of RM-ODP, the program benefits for using it, and where RM-ODP fits in the system lifecycle process. Systems engineers interested in the lifecycle approach to enterprise architecture specification. Experienced engineers interested in expanding their understanding of how to create a valid architecture specification and gain an understanding of the distributed processing system concepts, why certain constructions are valid and why some are not, what is to be specified and how, and some new ideas and approaches to architecting a system. The reader will be able to develop a collection of useful distributed processing architecting techniques that expand upon the current software systems architecture capabilities. Developers interested in the practice of architecture specification and aligning current technology to achieve a workable system, while allowing evolutionary changes in technology solutions. Researchers interested in solutions and aids for furthering the research work in architecture specification. Individuals in the software community who are generally interested in the application of an architecture method. Readers will find examples of the applications of RM-ODP and specific analysis techniques. The expected audience will be novice and mid-level program managers, software engineers, those in the IEEE, DoD, research communities, consortia, and general architecture readers. This book can be used as a textbook and reference book for studies in the methods of architecture; for graduate studies in software architecture specification; for training information about software architecture and RM-ODP; for further education of consultants, integration specialists, and acquisition managers who need to approve and fund such work; and for researchers who are expanding the discipline of software architecture. The inclusion of RM-ODP will bring to the U.S., principally, the outstanding work that was accomplished by the international standards working group. In brief, the RM-ODP principles form a solution set and foundation for all software architecting endeavors. It is the formalized framework for this topic, and at the International Standard (IS) level of acceptance. It forms a solution set and foundation for reuse of design patterns to provide cost-effective software architecture. It is the process for this topic, but has never before been described in a book. Many program managers (who typically set the stage as to the methodology of choice for a project), software engineers, and researchers in academia and in DARPA are unaware of the power and solutions provided by the standard, or the process of identifying and instantiating reuse of all the expensive assets of architecture. Many do not realize that there is a language for specifying software-intensive distributed processing, and that language is precisely and rigorously defined in RM-ODP for reuse. Those debating definitions for architecture, system, interface, and others can reuse the internationally agreed upon definitions. Finally, with the inclusion of RM-ODP and its relationship to other architecture frameworks, it is expected that many software engineers will benefit from reading this work, since it will be the first time these subjects are discussed in print. How to Use This Book This book is divided into four parts, aimed at increasing levels of detail. Part One provides an overview of the field of software architecture, an RM-ODP primer for managers, and an RM-ODP primer for architects. Part Two provides an in-depth study of RM-ODP and how to use it. Areas of importance and utility from RM-ODP are highlighted. Ambiguity in RM-ODP is highlighted. Warnings in the use of RM-ODP are highlighted. Part Three provides a discussion of the principal architecture patterns of use, arranged by topic. Several of these patterns of use come from emerging work under the initiative of RM-ODP, as well as lessons learned from the practice of RM-ODP. These patterns of reasoning used by the architect are founded on the principals of RM-ODP, as discussed in Part Two of the book. Part Four concludes with relating RM-ODP to other architecture methods. It also provides emerging technologies to further the patterns of reasoning for use in architecting, and a set of architecting heuristics. The information contained in this book is organized in a manner that provides clear insight into the world of distributed software-intensive processing architecture for designers and developers who are familiar with information systems technology, but want to know more about how to build a good architecture. Starting with a tutorial about software architecture, and then a tutorial about the standard for software architecture, the reader need not be an expert in the area of international standards, RM-ODP, software architecture, or specific technologies. The book goes on to address the needs of the variety of readers for which it is intended. Each chapter in the book provides an overview of the subject of the chapter, as well as a summary. For those who wish a broad brush exposure to RM-ODP, the primers of Part One provide this, as well as the overviews and summaries in each chapter of interest. As each chapter progresses, in Parts Two and Three, more and more in-depth detail is provided. The readings of these chapters are aimed at those who wish to know the technical details of a topic. There are two case studies used throughout the book, at various levels of detail. The primary case study is a Hospital enterprise, based upon the author's experience with the medical profession. A secondary case study is an airline reservation system, also based upon the author's experience. These case studies are used to describe the concepts of RM-ODP, and to show how they might be used.
Publisher: Prentice Hall Professional
ISBN: 9780130191168
Category : Computers
Languages : en
Pages : 880
Book Description
PrefaceTo understand anything, you should not try to understand everything. — Aristotle The whole is greater than the sum of the parts; the part is greater than a fraction of the whole. — Aristotle Architecting is a challenging process of abstraction, composition, modularity, and simplification to create an architecture specification. An architecture specification captures the essence and definition of the system: understanding, parts, and the relationships among the parts. An architecture specification defines how a system solves a business problem within the scope of the business. — Putman Leave the beaten track occasionally and dive into the woods. You will be certain to find something that you have never seen before. — Alexander Graham Bell There are large gaps in the theory and practice of software architecture and engineering. Much is published about the representation of a software architecture, such as the Unified Modeling Language (UML), but little is available about the specification for a software architecture. Software engineering methods of domain engineering, process modeling languages, and well-formed patterns of reasoning aid in the specification of an architecture. The Reference Model of Open Distributed Processing (RM-ODP) defines the standard reference model for distributed software systems architectures, based on object-oriented techniques, accepted at the international level. RM-ODP is a standard adopted by the International Standards Organization (ISO) and the International Telecommunications Union (ITU). RM-ODP is embedded and used actively in mission-critical systems industries such as in telecommunications, in health care, on Wall Street (financial services industry), in various Government systems (Logistics), in European Government Agencies such as UK Aviation control systems, as a foundation for the Object Management Group (OMG) Object Management Architecture (OMA), for defining enterprise architectures, and for defining software architectures. The software systems architecture work that is emerging, and is focused either at the component level or at the systems level, provides a key resource for architecting. This is enhanced by the architecting techniques of RM-ODP. This book assembles these great ideas, explains what they mean, and shows how to use them for practical benefit, along with real-world case study examples. By using the RM-ODP specification constructs, associated languages, architecture patterns of reasoning, semantic behavior specification, and conformance testing abilities, readers will be able to architect their specific systems based on the RM-ODP specification foundations, and specify architectures that work. One of the purposes of this book is to provide the approach to using the RM-ODP foundations in architecting and specifying a distributed processing system that addresses such key properties as interoperability, dependability, portability, integration, composability, scalability, transparency, behavior specification, quality of service, policy management, federation, and conformance validation. Another purpose of this book is to explain the underlying foundations for creating an architectural specification. These foundations come not only from RM-ODP, but also from the current work in software systems architecture. Another purpose is to guide the reader to understand the importance and benefits of creating an architecture specification for an enterprise. Yet another purpose is to provide the reader with the principles to construct software systems architecture (at both introductory and in-depth levels). By applying the proven techniques of RM-ODP for what makes a good architecture, readers will be able to build their own tailored architectures, and clearly represent them in UML or some other tool, with an understanding of the underlying principles. Practitioners of RM-ODP have found that the standard is extremely beneficial in guiding architecture definition and providing standard terminology/principles for distributed object applications and infrastructures from an enterprise perspective. Outstanding Features This book is intended to provide valuable insight into successful architecture specification by describing an unprecedented foundation to accomplish this task, describing the use of the foundation, explaining the relationships of the concepts of architecting, explaining the relationships of the concepts of distributed processing, and identifying the right methods and possible tools for architecting. All material for the book has been derived from actual experiences. A medical case study is used throughout the book in ever increasing detailed specification. This medical case study is based on actual experience of the author. In addition, many metamodels are provided to represent the concepts of RM-ODP. All of these metamodels are contributions from the author. This is information that readers can use and apply in their architecting today. RM-ODP provides a reference framework, grammars, methods of abstraction and composition, and separation of concerns to achieve an architecture specification of the system. RM-ODP provides a framework for this separation, using viewpoints, as well as separating out certain decisions (e.g., product decisions) until later. Further, the reference model provides a set of definitions, which always aids in communicating with others. There is little in the literature about RM-ODP or architecture specification, and certainly not a book dedicated as a tutorial of these subjects. Now there is. In summary, this book offers the following: How to manage the architecting process in the lifecycle of a system How to solve many architecture reuse and cost-effectiveness problems How to create a business specification How to understand and use the concepts of distributed processing in an architecture How to architect effectively How to specify an architecture How to understand and specify semantic behavior and nonfunctional properties of a system (the "ilities") How to provide the right level of detail in an architecture specification How to ensure the implementation conforms to the architecture specification How to use RM-ODP effectively How to use popular tools, such as UML, to describe an architecture A definitive tutorial of RM-ODP Audience This book is designed for: Those in the Distributed Software Systems Architecture community who are interested in a methodology for using proven architecture principles. Professional software architects who are looking for new ideas about architecting a system. Within this book, the reader will find discussions of the techniques for architecting, for creating an architecture specification, and RM-ODP's relationship to other architecture frameworks. Program managers interested in how to create a cost-effective architecture within their enterprise that focuses on the needs of the enterprise and solves an enterprise problem. They will learn how do to do this through an overview of RM-ODP, the program benefits for using it, and where RM-ODP fits in the system lifecycle process. Systems engineers interested in the lifecycle approach to enterprise architecture specification. Experienced engineers interested in expanding their understanding of how to create a valid architecture specification and gain an understanding of the distributed processing system concepts, why certain constructions are valid and why some are not, what is to be specified and how, and some new ideas and approaches to architecting a system. The reader will be able to develop a collection of useful distributed processing architecting techniques that expand upon the current software systems architecture capabilities. Developers interested in the practice of architecture specification and aligning current technology to achieve a workable system, while allowing evolutionary changes in technology solutions. Researchers interested in solutions and aids for furthering the research work in architecture specification. Individuals in the software community who are generally interested in the application of an architecture method. Readers will find examples of the applications of RM-ODP and specific analysis techniques. The expected audience will be novice and mid-level program managers, software engineers, those in the IEEE, DoD, research communities, consortia, and general architecture readers. This book can be used as a textbook and reference book for studies in the methods of architecture; for graduate studies in software architecture specification; for training information about software architecture and RM-ODP; for further education of consultants, integration specialists, and acquisition managers who need to approve and fund such work; and for researchers who are expanding the discipline of software architecture. The inclusion of RM-ODP will bring to the U.S., principally, the outstanding work that was accomplished by the international standards working group. In brief, the RM-ODP principles form a solution set and foundation for all software architecting endeavors. It is the formalized framework for this topic, and at the International Standard (IS) level of acceptance. It forms a solution set and foundation for reuse of design patterns to provide cost-effective software architecture. It is the process for this topic, but has never before been described in a book. Many program managers (who typically set the stage as to the methodology of choice for a project), software engineers, and researchers in academia and in DARPA are unaware of the power and solutions provided by the standard, or the process of identifying and instantiating reuse of all the expensive assets of architecture. Many do not realize that there is a language for specifying software-intensive distributed processing, and that language is precisely and rigorously defined in RM-ODP for reuse. Those debating definitions for architecture, system, interface, and others can reuse the internationally agreed upon definitions. Finally, with the inclusion of RM-ODP and its relationship to other architecture frameworks, it is expected that many software engineers will benefit from reading this work, since it will be the first time these subjects are discussed in print. How to Use This Book This book is divided into four parts, aimed at increasing levels of detail. Part One provides an overview of the field of software architecture, an RM-ODP primer for managers, and an RM-ODP primer for architects. Part Two provides an in-depth study of RM-ODP and how to use it. Areas of importance and utility from RM-ODP are highlighted. Ambiguity in RM-ODP is highlighted. Warnings in the use of RM-ODP are highlighted. Part Three provides a discussion of the principal architecture patterns of use, arranged by topic. Several of these patterns of use come from emerging work under the initiative of RM-ODP, as well as lessons learned from the practice of RM-ODP. These patterns of reasoning used by the architect are founded on the principals of RM-ODP, as discussed in Part Two of the book. Part Four concludes with relating RM-ODP to other architecture methods. It also provides emerging technologies to further the patterns of reasoning for use in architecting, and a set of architecting heuristics. The information contained in this book is organized in a manner that provides clear insight into the world of distributed software-intensive processing architecture for designers and developers who are familiar with information systems technology, but want to know more about how to build a good architecture. Starting with a tutorial about software architecture, and then a tutorial about the standard for software architecture, the reader need not be an expert in the area of international standards, RM-ODP, software architecture, or specific technologies. The book goes on to address the needs of the variety of readers for which it is intended. Each chapter in the book provides an overview of the subject of the chapter, as well as a summary. For those who wish a broad brush exposure to RM-ODP, the primers of Part One provide this, as well as the overviews and summaries in each chapter of interest. As each chapter progresses, in Parts Two and Three, more and more in-depth detail is provided. The readings of these chapters are aimed at those who wish to know the technical details of a topic. There are two case studies used throughout the book, at various levels of detail. The primary case study is a Hospital enterprise, based upon the author's experience with the medical profession. A secondary case study is an airline reservation system, also based upon the author's experience. These case studies are used to describe the concepts of RM-ODP, and to show how they might be used.