scispace - formally typeset
Search or ask a question
Book

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition)

01 Oct 2004-
TL;DR: Building on two widely acclaimed previous editions, Craig Larman has updated this book to fully reflect the new UML 2 standard, to help you master the art of object design, and to promote high-impact, iterative, and skillful agile modeling practices.
Abstract: “This edition contains Larman's usual accurate and thoughtful writing. It is a very good book made even better.” -Alistair Cockburn, author, Writing Effective Use Cases and Surviving OO Projects “Too few people have a knack for explaining things. Fewer still have a handle on software analysis and design. Craig Larman has both.” -John Vlissides, author, Design Patterns and Pattern Hatching “People often ask me which is the best book to introduce them to the world of OO design. Ever since I came across it Applying UML and Patterns has been my unreserved choice.” -Martin Fowler, author, UML Distilled and Refactoring “This book makes learning UML enjoyable and pragmatic by incrementally introducing it as an intuitive language for specifying the artifacts of object analysis and design. It is a well written introduction to UML and object methods by an expert practitioner.” -Cris Kobryn, Chair of the UML Revision Task Force and UML 2.0 Working Group A brand new edition of the world's most admired introduction to object-oriented analysis and design with UML Fully updated for UML 2 and the latest iterative/agile practices Includes an all-new case study illustrating many of the book's key pointsApplying UML and Patterns is the world's #1 business and college introduction to “thinking in objects”-and using that insight in real-world object-oriented analysis and design. Building on two widely acclaimed previous editions, Craig Larman has updated this book to fully reflect the new UML 2 standard, to help you master the art of object design, and to promote high-impact, iterative, and skillful agile modeling practices.Developers and students will learn object-oriented analysis and design (OOA/D) through three iterations of two cohesive, start-to-finish case studies. These case studies incrementally introduce key skills, essential OO principles and patterns, UML notation, and best practices. You won't just learn UML diagrams-you'll learn how to apply UML in the context of OO software development.Drawing on his unsurpassed experience as a mentor and consultant, Larman helps you understand evolutionary requirements and use cases, domain object modeling, responsibility-driven design, essential OO design, layered architectures, “Gang of Four” design patterns, GRASP, iterative methods, an agile approach to the Unified Process (UP), and much more. This edition's extensive improvements include A stronger focus on helping you master OOA/D through case studies that demonstrate key OO principles and patterns, while also applying the UML New coverage of UML 2, Agile Modeling, Test-Driven Development, and refactoring Many new tips on combining iterative and evolutionary development with OOA/D Updates for easier study, including new learning aids and graphics New college educator teaching resources Guidance on applying the UP in a light, agile spirit, complementary with other iterative methods such as XP and Scrum Techniques for applying the UML to documenting architectures A new chapter on evolutionary requirements, and much moreApplying UML and Patterns, Third Edition, is a lucid and practical introduction to thinking and designing with objects-and creating systems that are well crafted, robust, and maintainable.
Citations
More filters
Proceedings ArticleDOI
06 Dec 1999
TL;DR: A proven object oriented modeling technique is adapted, use cases, to capture and analyze security requirements in a simple way, and its relationship to other security engineering work products is relatively simple, from a user perspective.
Abstract: The relationships between the work products of a security engineering process can be hard to understand, even for persons with a strong technical background but little knowledge of security engineering. Market forces are driving software practitioners who are not security specialists to develop software that requires security features. When these practitioners develop software solutions without appropriate security-specific processes and models, they sometimes fail to produce effective solutions. We have adapted a proven object oriented modeling technique, use cases, to capture and analyze security requirements in a simple way. We call the adaptation an abuse case model. Its relationship to other security engineering work products is relatively simple, from a user perspective.

461 citations


Additional excerpts

  • ...Use cases that abstract the details of interaction protocols are called essential use cases; those that include protocol details are called real or implementation use cases [ 3 ]....

    [...]

Book
28 Nov 2009
TL;DR: A) does not have a code, but does contain child concepts• Specialized (S) has a code and contains child concepts • Leaf (L) hasA code,but no child concepts.
Abstract: Principles of health interoperability hl7 and snomed , Principles of health interoperability hl7 and snomed , کتابخانه مرکزی دانشگاه علوم پزشکی تهران

298 citations

Journal Article
TL;DR: Requirements for designing and implementing a mobile phone SMS-based communication system aiming at monitoring pregnancy and reducing bottlenecks in communication associated with maternal and newborn deaths are described; and challenges and lessons learned are documented.
Abstract: BACKGROUND: With the continuous growth of mobile network coverage and unprecedented penetration of mobile devices in the developing world, several mHealth initiatives are being implemented in developing countries. This paper aims to describe requirements for designing and implementing a mobile phone-based communication system aiming at monitoring pregnancy and reducing bottlenecks in communication associated with maternal and newborn deaths; and document challenges and lessons learned. METHODS: An SMS-based system was developed to improve maternal and child health (MCH) using RapidSMS ® , a free and open-sourced software development framework. To achieve the expected results, the RapidSMS-MCH system was customized to allow interactive communication between a community health worker (CHW)following mother-infant pairs in their community, a national centralized database, the health facility and in case of an emergency alert, the ambulance driver. The RapidSMS-MCH system was piloted in Musanze district, Nothern province of Rwanda over a 12-month period. RESULTS: A total of 432 CHW were trained and equipped with mobile phones. A total of 35,734 SMS were sent by 432 CHW from May 2010 to April 2011. A total of 11,502 pregnancies were monitored. A total of 362 SMS alerts for urgent and life threatening events were registered. We registered a 27% increase in facility based delivery from 72% twelve months before to 92% at the end of the twelve months pilot phase. Major challenges were telephone maintenance and replacement. Disctrict heath team capacity to manage and supervise the system was strengthened by the end of pilot phase. Highly committed CHWs and effective coordination by the District health team were critical enablers. CONCLUSION: We successully designed and implemented a mobile phone SMS-based system to track pregnancy and maternal and child outcomes in limited resources setting. Implementation of mobile-phone systems at community level could contribute to improving emergency obstetric and neonatal care, yet it requires a well-organized community health structure in limited resource settings.

232 citations


Cites methods from "Applying UML and Patterns: An Intro..."

  • ...We used an iterative development approach [16] relying on feedback from Musanze District hospital and MOH staff and from regular field testing....

    [...]

Journal ArticleDOI
TL;DR: In this article, a development methodology that separates IoT application development into different concerns and provides a conceptual framework to develop an application, and a development framework that implements the development methodology to support actions of stakeholders.

214 citations

Journal ArticleDOI
TL;DR: This systematic review led to the analysis of 20 primary studies obtained after a carefully designed procedure for selecting papers published in journals and conferences from 1996 to 2008 and Software Engineering textbooks to examine existing literature works that transform textual requirements into analysis models.
Abstract: Model transformation is one of the basic principles of Model Driven Architecture. To build a software system, a sequence of transformations is performed, starting from requirements and ending with implementation. However, requirements are mostly in the form of text, but not a model that can be easily understood by computers; therefore, automated transformations from requirements to analysis models are not easy to achieve. The overall objective of this systematic review is to examine existing literature works that transform textual requirements into analysis models, highlight open issues, and provide suggestions on potential directions of future research. The systematic review led to the analysis of 20 primary studies (16 approaches) obtained after a carefully designed procedure for selecting papers published in journals and conferences from 1996 to 2008 and Software Engineering textbooks. A conceptual framework is designed to provide common concepts and terminology and to define a unified transformation process. This facilitates the comparison and evaluation of the reviewed papers.

172 citations