In recent years, a number of business reasons have caused software development to become increasingly distributed. Remote development of software offers several advantages, but it is also fraught with challenges. In this paper, we report on our study of distributed software development that helped shape a research agenda for this field. Our study has identified four areas where important research questions need to be addressed to make distributed development more effective. These areas are: collaborative software tools, knowledge acquisition and management, testing in a distributed set-up and process and metrics issues. We present a brief summary of related research in each of these areas, and also outline open research issues.
Service Oriented Architecture (SOA) has gained popularity as a design paradigm for realizing enterprise software systems through abstract units of functionality called services. While the key design principles of SOA have been discussed at length in the literature, much of the work is prescriptive in nature and do not explain how adherence to these principles can be quantitatively measured in practice. In some cases, metrics for a limited subset of SOA quality attributes have been proposed, but many of these measures have not been empirically validated on real-life SOA designs. In this paper, we take a deeper look at how the key SOA quality attributes of service cohesion, coupling, reusability, composability and granularity may be evaluated, based only on service design level information. We survey related work, adapt some of the well-known software design metrics to the SOA context and propose new measures where needed. These measures adhere to mathematical properties that characterize the quality attributes. We study their applicability on two real-life SOA design models from the insurance industry using a metrics computation tool integrated with an Eclipse-based service design environment. We believe that availability of these measures during SOA design will aid early detection of design flaws, allow different design options and trade-offs to be considered and support planning for development, testing and governance of the services.
Abstract-This paper introduces Triggered Message Sequence Charts (TMSCs), a graphical, mathematically well-founded framework for capturing scenario-based system requirements of distributed systems. Like Message Sequence Charts (MSCs), TMSCs are graphical depictions of scenarios, or exchanges of messages between processes in a distributed system. Unlike MSCs, however, TMSCs are equipped with a notion of trigger that permits requirements to be made conditional; a notion of partiality indicating that a scenario may be subsequently extended; and a notion of refinement for assessing whether or not a more detailed specification correctly elaborates on a less detailed one. The TMSC notation also includes a collection of composition operators allowing structure to be introduced into scenario specifications, so that interactions among different scenarios may be studied. In the first part of this paper, TMSCs are introduced, and their use in support of requirements modeling is illustrated via two extended examples. The second part develops the mathematical underpinnings of the language.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.