Contact

Books

An in-depth introduction to software engineering that uses a systematic, universal kernel called Essence to teach essential elements of all software engineering methods

SEMAT (Software Engineering Methods and Theory) is an international initiative designed to identify a common ground, or universal standard, for software engineering. It is supported by some of the most distinguished contributors to the field. Creating a simple language to describe methods and practices, the SEMAT team expresses this common ground as a kernel–or framework–of elements essential to all software development. The Essence of Software Engineering introduces this kernel and shows how to apply it when developing software and communicating among teams and team members. It is a book for software professionals, not methodologists. Its usefulness to developers, who need to evaluate and choose the best practices for their particular projects, goes well beyond the description or application of any single methodology.

Iterative processes have gained widespread acceptance because they help software developers reduce risk and cost, manage change, improve productivity, and deliver more effective, timely solutions. But conventional project management techniques don't work well in iterative projects, and newer iterative management techniques have been poorly documented. "Managing Iterative Software Development Projects" is the solution: a relentlessly practical guide to planning, organizing, estimating, staffing, and managing any iterative project, from start to finish. Leading iterative development experts, Kurt Bittner and Ian Spence introduce a proven, scalable approach that improves both agility and control at the same time, satisfying the needs of developers, managers, and the business alike. Their techniques are easy to understand, and easy to use with any iterative methodology, from Rational Unified Process to Extreme Programming to the Microsoft Solutions Framework. Whatever your role- team leader, program manager, project manager, developer, sponsor, or user representative - this book will help you: * understand the key drivers of success in iterative projectsleverage "time boxing" to define project lifecycles and measure results * use Unified Process phases to facilitate controlled iterative development * master core concepts of iterative project management, including layering and evolution * create project roadmaps, including release plans * discover key patterns of risk management, estimation, organization, and iteration planning * understand what must be controlled centrally, and what you can safely delegate; transition smoothly to iterative processes * scale iterative project management from the smallest to the largest projects * and align software investments with the needs of the business. Whether you are interested in software development using RUP, OpenUP, or other agile processes, this book will help you reduce the anxiety and cost associated with software improvement by providing an easy, non-intrusive path toward improved results - without overwhelming you and your team.

Developers who effectively employ use cases deliver better applications-on time and under budget. The concept behind use cases is perhaps as old as software itself; they express the behavior of systems in terms of how users will ultimately interact with them. Despite this inherent simplicity, the use case approach is frequently misapplied, resulting in functional requirements that are confusing, cumbersome, or redundant. In "Use Case Modeling", experienced use case practitioners Kurt Bittner and Ian Spence share their tips and tricks for applying use cases in various environments. They delve into all aspects of use case modeling and management, demonstrating how development teams can capitalize on the approach's simplicity when modeling complex systems. In this ready reference, readers will discover how to: * introduce a development team to use cases and implement a use case approach; * identify the key elements of a use case model, including actors; and the components of a use case, including basic flow, preconditions, post-conditions, sub-flows, and alternate flows; * master the objectives and challenges of creating detailed descriptions of use cases; * improve their descriptions' readability and consistency; * prevent and remedy common problems arising from the misuse of include, extend, and generalization use case relationships; * organize and conduct a review of a use case model to realize the best possible approach. The book draws extensively on best practices developed at Rational Software Corporation, and presents real-life examples to illustrate the considerable power of use case modeling. As such, Use Case Modeling is sure to give development teams the tools they need to translate vision and creativity into systems that satisfy the most rigorous user demands.

"I firmly believe that this work... will have a profound impact on governments and corporations worldwide, as they seek excellence, efficiency and profitability. It is an authoritative guide on how to realize the ultimate adaptive enterprise architecture..." - Dan L. Jonson, Avemco Corporation. Business Process Reengineering (BPR) is the key management trend of the day. Ivar Jacobson's book, The Object Advantage, presents a blueprint for re-designing a business according to BPR principles. It uses one method to integrate his work of reengineering a business, its processes and its vital infrastructure the information system. It describes all of the details about a business and its processes by viewing customers as users and business processes as cases of how they use the business "use cases". And it manages the risks involved in BPR by using a how-to method based on object technology, offering concrete guidance in the shape of a formal reengineering process. Whilst most books tackle the "soft factors" (motivation, management commitment, leadership), The Object Advantage goes beyond this type of hand-waving and offers practical steps to success that include: * A description that specifies every activity and deliverable involved in the business process Deliverables, in the form of business models, that focus on the company's architecture and dynamics * A process for the development of an information system that is truly integral to the reengineered company * A seamless relationship is created between business model and information system, vastly increasing a company's chances of successfully re-enginneering itself - the heart of this relationship is the application of the BPR model and object technology. Ivar Jacobson's book will be essential reading for any manager contemplating reengineering their business or wishing to understand more about BPR and its practical implementation. It will also be invaluable for re-enginnering teams re-designing their companies, employees within a reengineered company needing to understand how their new environment will work and what their role will be, and systems analysts and designers wanting to expand their current applications of object technology into business modeling and business reengineering.

How can software developers, programmers and managers meet the challenges of the 90s and begin to resolve the software crisis? This book is based on Objectory which is the first commercially available comprehensive object-oriented process for developing large-scale industrial systems. Ivar Jacobson developed Objectory as a result of 20 years of experience building real software-based products. The approach takes a global view of system development and focuses on minimizing the system's life cycle cost. Objectory is an extensible industrial process that provides a method for building large industrial systems. This revised printing has been completely updated to make it as accessible and complete as possible. New material includes the revised Testing chapter, in which new product developments are discussed. This book shows how software development can be carried out in a more "industrialized" manner using ObjectOry, a complete environment evolved by the author for the development of large software systems with an object-oriented approach. It relies on three independently developed techniques: conceptual modelling, object-oriented programming, and a block-oriented design technique developed within telecommunications. Suitable for self-study or classroom use, the book is divided into three sections: an introduction to system development and the requirements of an industrial process; the use of object-orientation in the different phases of system development, using ObjectOry; and applications with ObjectOry. Thus, the book presents a coherent picture of how to use object-orientation in system development in a way which makes it accessible to both practitioners in the field and students with no previous knowledge of system development.

Contact Us