Management of the Object-Oriented Development Process
Latest Publications


TOTAL DOCUMENTS

15
(FIVE YEARS 0)

H-INDEX

1
(FIVE YEARS 0)

Published By IGI Global

9781591406044, 9781591406068

Author(s):  
Roger Knott ◽  
Vojtech Merunka ◽  
Jiri Polak

BORM (Business Object Relationship Modeling) is an object-oriented system development methodology, which has proven to be very effective in the development of business systems. The effectiveness gained is largely due to a unified and simple method for presenting all aspects of the relevant model. The BORM methodology makes extensive use of business process modeling. This chapter outlines BORM, its tools and methods, and discusses differences from other similar development methodologies.


Author(s):  
Juan D. Lara ◽  
Esther Guerra ◽  
Hans Vangheluwe

Since the beginning of computer science more than 50 years ago, software engineers have sought techniques resulting in higher levels of quality and productivity. Some of these efforts have concentrated in increasing the level of abstraction in programming languages (from assembler to structured languages to object-oriented languages). In the last few years, we have witnessed an increasing focus on development based on high-level, graphical models. They are used not only as a means to documentthe analysis and design activities, but also as the actual “implementation” of the application, as well as for automatic analysis, code, and test case generation. The notations used to describe the models can be standard and general purpose (for example, UML) or tightly customized for the application domain. Code generation for the full application is only accomplished for specific, well-understood application domains. A key initiative in this direction is OMG’s Model-Driven Architecture (MDA), where models are progressively transformed until executable code is obtained. In this chapter, we give an overview of these technologies and propose ideas following this line (concerning metamodeling and the use of visual languages for the specification of model transformation, model simulation, analysis and code generation), and examine the impact of model-based techniques in the development process.


Author(s):  
Gerald N. Miller

There is little debate in either corporate or academic circles that Web services comprise a large part of the next technological wave. Clearly, Web services will be instrumental in building service-oriented architectures that integrate disparate systems, both within organizations and across business partners’ firewalls. The question is not if, or even when, to implement Web services—it is how.


Author(s):  
Jorn Bettin

This chapter addresses the question of how to successfully create durable and scalable software architectures that enable the underlying design intent of a system to survive over a period of many years, such that no accidental dependencies are introduced as part of further software development and maintenance. The answer involves looking beyond object-orientation and traditional iterative software development. In order to prevent long-term design degradation, and in order to efficiently execute software development in the large, the introduction of dependencies between components needs to be actively managed, relying on a set of guiding principles for component encapsulation and abstraction. The guiding principles required turn out to be a natural extension to the principles of design by contract, they have a direct impact on the modular structure of software source code, and they form a foundation for model-driven approaches to software development.


Author(s):  
Melissa L. Russ ◽  
John D. McGregor

Technologies such as aspect-oriented and generative programming bring new capabilities to object-oriented software development. They do not simply replace existing techniques; they change the shape of the development environment. Development is a multi-dimensional landscape of organizational patterns such as software product lines, of meta-information such as build scripts and templates, and of technologies such as model-driven development. Traditional patterns of development management are not sufficient to effectively manage development in this emerging context. In this chapter we provide an overview of some existing and emerging elements, describe how they affect development, and present a management framework for planning software development.


Author(s):  
Javier Garzas ◽  
Mario Piattini

In recent years different areas of knowledge related to the construction of object-oriented (OO) designs such as principles, heuristics, patterns, and refactoring techniques have been consolidated, but there is a lot of work still to be done in order to systematize and offer this knowledge to OO designers in such a way that it can be easily used in practical cases. In order to clarify this, we have defined an ontology of OO Micro Architectural Design Knowledge and the foundations of an OO design method based in the knowledge.


Author(s):  
Boris Roussev

xUML epitomizes the convergence of visual modeling with model manipulation programming. The results of this merger are executable models and model-driven software development. This chapter presents the fundamental notions of constructing executable domain models with xUML, as well as the principles of the MDA approach. In particular, we define the new roles of the developers in development processes based on MDA and the MDA activity workflow. We discuss also the output artifacts from each activity. As new technologies require new software development processes, we present an iterative and incremental model-driven process, combined with techniques for project planning and progress estimation based on BERT and ERNIE. We show how model executability creates congenial conditions for the application of higher-order cognitive skills in the software development process, and for the substitution of liberal creativity with design automation.


Author(s):  
Boris Roussev

Object-orientation (OO) is a powerful design methodology, which has firmly moved into the mainstream of software development. In 2002, both the IEEE John von Neumann Medal and the ACM Turing Award (the Nobel Prize for Computing) were awarded to the scholars who started the object-oriented journey back in 1967. Despite this recognition, object-orientation is far from being the dominant technology of choice. Contrary to the common belief, a recent authoritative study reports that only 30% of the software companies rely on OO technologies, and that the waterfall model is still the most popular lifecycle model of software development. In this introductory chapter, we present the fundamental concepts and principles of object-oriented modeling with UML version 2. Born out of the efforts to resolve the software crisis, UML has taken such a hegemonic role that we fear object-orientation may undergo a population “bottleneck.” In biology, this is an event that dangerously cuts the amount of genetic diversity in a population. The objectives of this chapter are as follows: 1) to present the influential ideas in the evolution of object-orientation; 2) to identify the lasting trends in object-orientation; 3) to introduce the core UML modeling languages and some of the techniques closely associated with them; and 4) to discuss some of the challenges with object-oriented modeling. In addition, we present the E-ZPass system, a system of moderate complexity used as a running example in the first five chapters of this book. This presentation is the book’s cornerstone. There is not a single chapter in the rest of this volume that does not assume an overdetermined <> reader.


Author(s):  
Stefan Roock

Project controlling was not in the focus of agile methods like eXtreme Programming (XP, cf. Beck, 1999) for a long time. Since agile methods are grass rooted, they derive from practitioners and focus on their needs. This chapter shows how to integrate lightweight mechanisms for project controlling into agile methods. The main idea is to combine (incomplete) hierarchical decomposition of systems with abstract measurements. The presented techniques address management needs without building barriers for developers.


Author(s):  
Gary Pollice

The Rational Unified Processâ, or RUPâ, and eXtreme Programming (XP) are two popular software development methodologies or processes. Most people tend to think of them as opposing methods, where a project may adopt one or the other, but certainly not both. This essay describes how the two can be applied together to improve the software development practices of an organization.


Sign in / Sign up

Export Citation Format

Share Document