Since the first publication of The Mythical Man-Month in 1975, no software engineer´s bookshelf has been complete without it. Many software engineers and computer scientists have claimed to be on their second or third copy of the book. Now, Addison-Wesley is proud to present the 20th anniversary edition-and first revised edition ever-of Fred Brooks´s now legendary collection of essays on the management of computer programming projects. The 20th Anniversary edition is an updated, enhanced re-release of the Brooks classic. Included are all of the existing essays that were originally presented, with the addition of three new essays assessing the current status of software project management. Brooks´s well-known 1986 article, No Silver Bullet, is also included. This 20th Anniversary edition is a major event in computer publishing.
In practice, requirements engineering tasks have become increasingly complex. In order to ensure a high level of knowledge and competency among requirements engineers, the International Requirements Engineering Board (IREB) developed a standardized qualification called the Certified Professional for Requirements Engineering (CPRE). The certification defines the practical skills of a requirements engineer on various training levels. This book is designed for self-study and covers the curriculum for the Certified Professional for Requirements Engineering Foundation Level exam as defined by the IREB. The 2nd edition has been thoroughly revised and is aligned with the curriculum Version 2.2 of the IREB. In addition, some minor corrections to the 1st edition have been included. About IREB: The mission of the IREB is to contribute to the standardization of further education in the fields of business analysis and requirements engineering by providing syllabi and examinations, thereby achieving a higher level of applied requirements engineering. The IREB is comprised of a balanced mix of independent, internationally recognized experts in the fields of economy, consulting, research, and science. The IREB is a non-profit corporation. For more information visit www.certified-re.com
KEY SELLING POINTS Disarming take on a core computer science topic Carefully presented examples Helpful diagrams and fully annotated code samples AUDIENCE This easy-to-read, picture-heavy introduction is suitable for self-taught programmers, engineers, or anyone who wants to brush up on algorithms. Code examples are written in Python.
There are many books on specific topics or books on software engineering in general. Most of these books cover only recent technologies or technologies in use but there are few books in existence that give a broad coverage of researches and provide a perspective on how these researches are inter-related and have evolved, which is the understanding needed by all researchers and software engineers. Often beginners must do a labor intensive literature survey to start a research, or they often reinvent the wheel. Handbook of Software Engineering has an ambitious but very necessary brief. It seeks to provide a complete overview of the field of software engineering with additional focus on the historical perspective and description of technology evolution that provides a crucial context for researchers as well as engineers to develop new solutions in a rapidly advancing area. The book aims to give a broad coverage of definition of terms, concepts, engineering principles, methods, and processes, and an understanding of how these have evolved but welded into a discursive narrative in the form of topical chapters. This book will be divided into sections listed below and items in each section will be organized in a time line to give a historical perspective on technology development and evolution.
´´Cryptographic Protocol: Security Analysis Based on Trusted Freshness´´ mainly discusses how to analyze and design cryptographic protocols based on the idea of system engineering and that of the trusted freshness component. A novel freshness principle based on the trusted freshness component is presented; this principle is the basis for an efficient and easy method for analyzing the security of cryptographic protocols. The reasoning results of the new approach, when compared with the security conditions, can either establish the correctness of a cryptographic protocol when the protocol is in fact correct, or identify the absence of the security properties, which leads the structure to construct attacks directly. Furthermore, based on the freshness principle, a belief multiset formalism is presented. This formalism´s efficiency, rigorousness, and the possibility of its automation are also presented. The book is intended for researchers, engineers, and graduate students in the fields of communication, computer science and cryptography, and will be especially useful for engineers who need to analyze cryptographic protocols in the real world. Dr. Ling Dong is a senior engineer in the network construction and information security field. Dr. Kefei Chen is a Professor at the Department of Computer Science and Engineering, Shanghai Jiao Tong University.
Coq is an interactive proof assistant for the development of mathematical theories and formally certified software. It is based on a theory called the calculus of inductive constructions, a variant of type theory. This book provides a pragmatic introduction to the development of proofs and certified programs using Coq. With its large collection of examples and exercises it is an invaluable tool for researchers, students, and engineers interested in formal methods and the development of zero-fault software.
For courses in Object-Oriented Design, C++ Intermediate Programming, and Object-Oriented Programming. Written for software engineers ?in the trenches,? this text focuses on the technology?the principles, patterns, and process?that help software engineers effectively manage increasingly complex operating systems and applications. There is also a strong emphasis on the people behind the technology. This text will prepare students for a career in software engineering and serve as an on-going education for software engineers. Features + Benefits Comprehensive, pragmatic tutorial on Agile Development and eXtreme programming written by one of the founding father of Agile Development. Teaches software developers how to get projects done on time, and on budget using the power of Agile Development. Uses real-world case studies to show how to of plan, test, refactor, and pair program using eXtreme programming. Focuses on solving customer oriented systems problems using UML and Design Patterns I. AGILE DEVELOPMENT. 1. Agile Practices. 2. Overview of Extreme Programming. 3. Planning. 4. Testing. 5. Refactoring. 6. A Programming Episode. II. AGILE DESIGN. 7. What Is Agile Design? 8. SRP: The Single-Responsibility Principle. 9. OCP: The Open-Closed Principle. 10. LSP: The Liskov Substitution Principle. 11. DIP: The Dependency-Inversion Principle. 12. ISP: The Interface-Segregation Principle. III. THE PAYROLL CASE STUDY. 13. Command and Active Object. 14. Template Method & Strategy: Inheritance vs. Delegation. 15. Facade and Mediator. 16. Singleton and Monostate. 17. Null Object. 18. The Payroll Case Study: Iteration One Begins. 19. The Payroll Case Study: Implementation. IV. PACKAGING THE PAYROLL SYSTEM. 20. Principles of Package Design. 21. Factory. 22. The Payroll Case Study (Part 2). V. THE WEATHER STATION CASE STUDY. 23. Composite. 24. Observer?Backing into a Pattern. 25. Abstract Server, Adapter, and Bridge. 26. Proxy and Stairway to Heaven: Managing Third Party APIs. 27. Case Study: Weather Station. VI. THE ETS CASE STUDY. 28. Visitor. 29. State. 30. The ETS Framework. Appendix A. UML Notation I: The CGI Example. Appendix B. UML Notation II: The Statmux. Appendix C. A Satire of Two Companies. Index. For courses in Object-Oriented Design, C++ Intermediate Programming, and Object-Oriented Programming. Written for software engineers ´´in the trenches,´´ this text focuses on the technology-the principles, patterns, and process-that help software engineers effectively manage increasingly complex operating systems and applications. There is also a strong emphasis on the people behind the technology. This text will prepare students for a career in software engineering and serve as an on-going education for software engineers.
This book describes novel software architectures for the integration of deep and shallow natural language processing (NLP) components in language technology. The generic markup language XML and the XML transformation language XSLT are used for flexible combination of linguistic markup produced by multiple NLP components. Shallow NLP components such as tokenizers, part-of-speech taggers, named entity recognizers and shallow parsers are combined with a deep parser, operating grammars written in the spirit of the Head-Driven Phrase Structure Grammar (HPSG) theory. The integration paradigm enables synergy leading to more robust deep parsing with increased coverage. It also constitutes a division of labor: the deep grammar models general, correct language use, while shallow systems are responsible for domain-specific extensions. Applications are presented in question answering, information extraction, natural language understanding, ontologies and the Semantic Web. The book addresses to software engineers, computational linguists and language technology engineers.