Mulcahy, James J.

Relationships
Member of: Graduate College
Person Preferred Name
Mulcahy, James J.
Model
Digital Document
Publisher
Florida Atlantic University
Description
Modern software systems have grown in complexity and expense, even while costs for the supporting
hardware have decreased. Humans still comprise a significant cost from the development to operation
and evolution of software, and must be increasingly more skilled as systems grow more complex.
Further, legacy software has become more prevalent, as sophisticated enterprise systems developed
over many years approach complexity that is too expensive to replace or re-engineer. One of the major
software engineering challenges today is the maintenance and evolution of these existing legacy
systems to extend the business value of the software, while mitigating the costs and increased
complexity. Approaches practiced by researchers and engineers include software reuse, serviceoriented
architecture, and autonomic computing principles to improve the reliability of systems, while
removing the need for human monitoring and intervention where possible. In this paper, we describe a
real-world project in which a multi-channel vendor of musical equipment sought to extend their legacy
enterprise system to automatically process customer orders originating from a third party retailer
specializing in ecommerce. To realize the solution, an addition to the existing enterprise system was
developed using autonomic computing, software reuse, and service-oriented architectural approaches,
producing a highly automated order processing stream that was self-monitoring, self-adaptive, and
fault-tolerant, while minimizing the need for additional human resources to monitor the system and
process the data.
Model
Digital Document
Publisher
Florida Atlantic University
Description
As computing technology continues to advance, it has become increasingly difficult to
find businesses that do not rely, at least in part, upon the collection and analysis of data for
project management and process improvement. The cost of software, for example, tends to
increase over time due to its complexity and the expense of employing humans to develop,
maintain, and evolve it. To help control costs, organizations often seek to improve the process by
which software systems are developed and evolved. Improvements can be realized by
discovering previously unknown or hidden relationships between the artifacts generated as a
result of developing a complex software system. The objective of this the work was to engineer a
visualization software tool that helps managers and engineers better plan for future projects by
helping them discover new knowledge gained by synthesizing and visualizing data mined from
software repository records from their own previous projects.
Model
Digital Document
Publisher
Florida Atlantic University
Description
Retaining business value in a legacy commercial enterprise resource planning system today often entails more than just maintaining the software to preserve existing functionality. This type of system tends to represent a significant capital investment that may not be easily scrapped, replaced, or re-engineered without considerable expense. A legacy system may need to be frequently extended to impart new behavior as stakeholder business goals and technical requirements evolve. Legacy ERP systems are growing in prevalence and are both expensive to maintain and risky to evolve. Humans are the driving factor behind the expense, from the engineering costs associated with evolving these types of systems to the labor costs required to operate the result. Autonomic computing is one approach that addresses these challenges by imparting self-adaptive behavior into the evolved system. The contribution of this dissertation aims to add to the body of knowledge in software engineering some insight and best practices for development approaches that are normally hidden from academia by the competitive nature of the retail industry. We present a formal architectural pattern that describes an asynchronous, low-complexity, and autonomic approach. We validate the pattern with two real-world commercial case studies and a reengineering simulation to demonstrate that the pattern is repeatable and agnostic with respect to the operating system, programming language, and communication protocols.
Model
Digital Document
Publisher
Florida Atlantic University
Description
As computing technology continues to advance, it has become increasingly difficult to find businesses that do not rely, at least in part, upon the collection and analysis of data for the purpose of project management and process improvement. The cost of software tends to increase over time due to its complexity and the cost of employing humans to develop, maintain, and evolve it. To help control the costs, organizations often seek to improve the process by which software systems are developed and evolved. Improvements can be realized by discovering previously unknown or hidden relationships between the artifacts generated as a result of developing a software system. The objective of the work described in this thesis is to provide a visualization tool that helps managers and engineers better plan for future projects by discovering new knowledge gained by synthesizing and visualizing data mined from software repository records from previous projects.