Back to top


Applying the SEMAT Kernel

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.

Steering Toward Better Business Results

Effective software development is no longer merely an IT concern: today, it is crucial to the entire enterprise. However, most businesspeople are not ready to make informed decisions about software initiatives. The Economics of Iterative Software Development: Steering Toward Better Business Results will prepare them. Drawing on decades of software development and business experience, the book demonstrates how to utilize practical, economics-based techniques to plan and manage software projects for maximum return on technology investments.

It begins with dispelling widespread myths about software costs, explaining why traditional, “engineering-based” software management introduces unacceptable inefficiencies in today’s development environments. Next, it demonstrates to business and technical managers how to combine the principles of economics and iterative development to achieve optimal results with limited resources. Using the techniques illustrated in the book, readers will learn how to build systems that enable maximum business innovation and process improvement–and implement software processes that allow them to do so consistently.

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.

Aspect orientation promises to be the next big wave in software engineering, following on the heels of the object-oriented paradigm. Proponents tout the value of aspect orientation in providing the ability to add extremely useful mechanisms such as security, logging, persistence, debugging, tracing, distribution, performance monitoring, and exception handling.

To state it simply, it makes programming and programs more efficient. This highly-anticipated new book demonstrates how to apply use cases and aspect orientation in building robust and extensible systems.

The authors show you how to identify, design, implement, test, and refactor use case modules and how to extend them. The book also demonstrates how to design use case modules with UML including some enhancements made in UML 2.0 to better support the modeling of use case modules.

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.

Ivar Jacobson, one of the Three Amigos of Rational, follows his fellow amigos, Grady Booch and James Rumbaugh, with the publication of The Road to the Unified Software Development Process, his own collection of the best of his work.

Together with Stefan Bylund, Dr Jacobson has gathered the best of his articles from Object Magazine, JOOP, and ROAD, and updated them to reflect current trends in the industry. This book not only presents the best of his work, but it also tracks the development of the new Unified Software Development Process.

This book is an excellent reference for software professionals who are interested in analysis and design. It provides real-world experience in developing quality software through disciplined engineering.

The Unified Software Development Process is a new software analysis and design process derived primarily from the three market leading OOA&D methods, Booch, OOSE (Use-Case), and OMT with ideas drawn from many other methods and input from many other parties. It is a component-based, use case driven, architecture centered, iterative and incremental developmental process that uses the Unified Modeling Language (UML) to represent models of the software system to be developed.

The Unified Software Development Process book describes, apart from the unified generic process and the different activities in developing a software system, the different models developed and evolved during the lifecycle of a system. It describes in an easy-to-understand way the different higher-level constructs -- notation as well as semantics -- used in the models. Thus stereotypes such as use cases and actors, packages, classes, stereotypes, interfaces, active classes, processes and threads, nodes, and most relations will be described intuitively in the context of a model. The Unified Software Development Process will go further then most OO A&D methods by describing a family of processes that incorporate the complete life-cycle of software.

Achitecture, Process and Organization for Business Success

This text provides a set of guidelines for ensuring success with systematic, large-scale object oriented reuse, examining component-based software engineering, the use of standard components in systematic design procedures which allow components to be used in different ways in different systems.

The book develops a conceptual framework and specific techniques to address key business, process, architecture and organization issues in a reuse-driven software engineering business. It uses a Business Process Re-engineering (BPR) approach and provides advice on setting up and running a reuse business.

Business Process Re-engineering with Object Technology

"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.

A Use Case Driven Approach

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.

Subscribe to Books