Modernized and Maintainable Code. Frank Weil, Ph.D. UniqueSoft, LLC

Size: px
Start display at page:

Download "Modernized and Maintainable Code. Frank Weil, Ph.D. UniqueSoft, LLC"

Transcription

1 Modernized and Maintainable Code Frank Weil, Ph.D. UniqueSoft, LLC

2 UniqueSoft is a provider of next-generation software development tools and services specializing in modernizing legacy software using highly automated tools and techniques to achieve superior results. UniqueSoft helps its clients through the various phases of a major transformation of their legacy systems, including analyzing the full system, formulating a low-risk and high-value modernization strategy, and executing on the elements of that strategy. In this white paper, we describe the UniqueSoft process and toll for reengineering client software systems to create a modern, easy-to-maintain, and high-quality system in a cost-effective manner. 1. Overview.2 2. Objectives of Reengineering Projects 2 3. Code Maintainability 3 4. UniqueSoft Legacy Reengineering Capabilities Summary.7 Page 2 of 7

3 1. Overview UniqueSoft is a provider of next-generation software development tools and services specializing in modernizing legacy software using highly automated tools and techniques to achieve superior results. UniqueSoft helps its clients through the various phases of a major transformation of their legacy systems, including analyzing the full system, formulating a low-risk and high-value modernization strategy, and executing on the elements of that strategy. The modernized code is maintainable and understandable. Legacy software almost always has built up a considerable amount of technical debt. Change is costly and risky due to poorly understood features and dependencies, implementation details of legacy platforms interwoven with business logic, defects that are difficult to find and fix, features left in the code that are no longer needed, obsolete documentation and test cases, and knowledge of architecture and design decisions that has been lost. In short, legacy code is rarely in a state that makes it easy to maintain. When migrating the code to a new language or platform, the resulting code should be more maintainable, not less. Unfortunately, most code translation tools make this problem worse, not better. This white paper discusses how the UniqueSoft reengineering process and tool make it possible to modernize applications by migrating them and making them maintainable and understandable. 2. Objectives of Reengineering Projects While each reengineering project is unique, the objectives of the projects typically can be categorized by three dimensions: migration, maintainability, and understanding. These objectives are independent of whether the reengineering process is manual or automated, and they are largely independent of each other. Examples of projects related to the objectives are summarized in Table 1. Table 1: Reengineering Project Objectives Objective Project Goal Example Projects Platform migration Client-server to cloud; mainframe to Linux; Struts to Spring Migration Database migration MySQL or Access to Oracle Language translation COBOL to C#; C to Java Maintainability Design improvement Modularize application; remove anti-patterns Code improvement Remove dead / replicated code; apply coding standards Understanding Business Rule extraction Document transaction processing rules from COBOL systems System discovery Uncover features, architecture, and dependencies in the legacy code base The overall objective of migration is to move the behavior of the software from one enabling technology to another. For example, the legacy system may have a client-server architecture and the goal is to make it cloud enabled, or may be currently on a mainframe and the goal is to move it to a Linux-based server, or may have originally been built with a MySQL database and the goal is to move it to a high-performance Oracle implementation, or may be in an older language such as COBOL and the goal is to move it to more modern language such as Java, or may be in a procedural language and the goal is to move it to a high-performance rules engine. Page 3 of 7

4 The common theme is that the objective of these projects is not to change the application behavior, but rather to change how the application is written and deployed. The overall objective of maintainability is to improve some aspect of the software. Typical improvements are to restructure the code to reduce its complexity, improve its modularity (e.g., group the code implementing a feature into a single module), reduce the coupling between modules, minimize replicated code, and remove dead code. Other maintainability improvements relate to discovering and eliminating anti-patterns in the code, such as decision statements in which some values are not covered by branches, calls to external library functions which do not check the return value, or use of unsafe functions such as the C strcat routine. The overall objective of understanding involves uncovering information in the legacy system. Two kinds of information can be extracted: surface and deep. Surface information about legacy software relates to what can be extracted purely from the code itself. That is, it is independent of what the code is supposed to do or why. Examples of surface information about legacy software include number of lines of code, number of files, the directory structure, complexity measures, what calls are made to external libraries, what databases are accessed, etc. Deep information about legacy software relates to what the code does in the terminology of the stakeholders, how it is architected, and the various dependencies between the modules of the system. For example, one may want to understand what features are implemented in a system, where in the code those features are implemented, what business rules are realized, and how those business rules relate to and depend on each other. 3. Code Maintainability As was mentioned above, code should not be migrated at the expense of its maintainability. At the completion of the modernization process, the code should be easier to maintain, not harder. The IEEE Standard Glossary of Software Engineering Terminology gives a simple definition of maintainability: The ease with which a software system or component can be modified to correct faults, improve performance or other attributes, or adapt to a changed environment. Code that is easy to maintain is readable, is documented, follows coding standards and best practices for the implementation language, is well structured and modular, and is testable (and tested). Each of these qualities is refined in the following tables, which list contributing factors to maintainability, why the factors are important, and examples of characteristics they should have. Table 2: Code Readability Consistent and informative naming Program intent is clearer User-directed, customized naming Good comments Program intent is clear; design choices are documented Relevant comments are preserved and collated Native language paradigms Efficiency, understandability, correctness, code size Translation of program intent, not a template-based, line-by-line Native environment use (direct instantiation to new environment, no extra runtime libraries) Efficiency, understandability, correctness, code size translation Direct instantiation to the new environment, no extra runtime libraries Page 4 of 7

5 Table 3: Documented Code Updated requirements Understand the overall behavior of the system; form the basis of new development; allow incorrect/inconsistent/outdated behavior to be identified Updated architecture diagram What features exist Mapping of features to code File/module/data dependencies Control flow diagrams Call hierarchy diagram Resource usage diagrams Understand the current system architecture; identify elements to be migrated Understand what features are currently implemented in the system from a business perspective; allow identification of unneeded features; form the basis of new documentation Understand where to make changes Understand impact of changes Understand program structure and sequencing Understand call stack and program sequencing Understand external resource usage ITU standard Use Case Maps (UCMs) capturing full behavioral requirements of existing code UML Composite Structure (Architecture) diagrams from the source code Hierarchical feature model in business terminology Full interactive mapping of features and code Full interactive Design Structure Matrices (DSMs) Full interactive control flow and data flow diagrams; Message Sequence Charts (MSCs) Full interactive call hierarchy diagrams Flow diagrams based on external database tables; interactive resource usage diagrams for different types of resources Table 4: Well-Structured and Modular Code Low feature diffusion Localized changes; ease of feature enhancements reduce feature diffusion Low coupling Lower impact of changes; reduced defects due to unintended consequences of reduce coupling changes; lower cost of migration High cohesion Lower impact of changes; lower cost of migration increase cohesion Reasonable file/ Faster compile times; faster editing; ease of module size Lack of replicated code Lack of dead code distributing maintenance work Less code to maintain; localized changes; ease of understanding; faster compile times; improved testability Ease of understanding; faster compile times; lower maintenance times; improved quality reduce file/module sizes identify and remove replicated code, including parameterized code identify and remove dead code Page 5 of 7

6 Table 5: Coding Standards and Best Practices General language standards Consistency of code; improved quality; portability Consistent rule-based application of coding standards Company-specific programming standards Consistency of code; conformance to external constraints Customizable, consistent rule-based application of coding standards Absence of antipatterns Improved quality; improved performance; improved maintainability Customizable identification and automated elimination of anti-patterns Table 6: Testable and Tested Code Low complexity Improved testability, improved quality, ease of maintenance identify code that has high complexity and refactor it to improve the complexity Comprehensive tests Improved quality; confidence in Create comprehensive tests from the Regression testing migration efforts Confidence that changes do not have unintended consequences behavioral requirements (UCMs) Create comprehensive tests from the code itself; test harness for executing tests 4. UniqueSoft Legacy Modernization Capabilities The UniqueSoft reengineering tool enables the creation of maintainable, modernized code by providing capabilities beyond those typically available in COTS tools. By using a high degree of automation to apply advanced techniques throughout the legacy modernization process, the UniqueSoft reengineering process can modernize a legacy code base while still proving the maintainability factors as described above. The phases of the UniqueSoft reengineering process Discovery, Transformation, and Instantiation allow the analyst to understand the structure and intent of the system (features, architecture, design, dependencies, metrics ), make selected changes to the system to make it better (more maintainable, more understandable, improved testability ), and migrate the code to make native use of the target environment (implementation language, deployment frameworks, customer-specific libraries ). A partial list of the interactive and GUI-driven capabilities of the UniqueSoft reengineering tool is given in the table on the next page. An in-depth discussion of this tool is provided in other white papers. Page 6 of 7

7 Table 7: UniqueSoft Modernization Capabilities Phase Discovery Transformation Instantiation Capability Size, complexity, and modularity metrics File and directory structure Database dependencies Library dependencies Dependencies between files and modules Control flows Understand what features exist and where they are implemented Uncover system architecture Interactive system exploration Uncover business rules in user terminology Extract requirements Reduce file sizes Reduce duplicated code Eliminate dead code Reduce feature diffusion Selectively apply transformations Examine and be able to roll back individual changes Examine effect on metrics of individual changes Rename identifiers for readability Create test cases Translate the code to new languages Custom coding standards Feature-driven development Native support for the chosen deployment environment Native language constructs 5. Summary The UniqueSoft reengineering process and tool makes it possible to transform a legacy software system into a modern, understandable, and maintainable asset. Advanced automation and a powerful transformation system enable the advantages of a manual rewrite at a fraction of the cost while avoiding the pitfalls of one-size-fits-all translation tools. Reengineering can be applied across a wide variety of domains to accomplish project goals, and these techniques and tool readily scale to projects comprised of many millions of lines of legacy code. UniqueSoft, LLC Corporate Headquarters 1530 E. Dundee Road Suite 100 Palatine, IL USA info@uniquesoft.com Page 7 of 7

Legacy Software Reengineering. Frank Weil, Ph.D. UniqueSoft, LLC

Legacy Software Reengineering. Frank Weil, Ph.D. UniqueSoft, LLC Legacy Software Reengineering Frank Weil, Ph.D. UniqueSoft, LLC UniqueSoft is a provider of next-generation software development tools and services specializing in modernizing legacy software using highly

More information

A Technology Based Solution to Move Client Server Applications to Java /.NET in Native 3-Tier Web Code Structures

A Technology Based Solution to Move Client Server Applications to Java /.NET in Native 3-Tier Web Code Structures A Technology Based Solution to Move Client Server Applications to Java /.NET in Native 3-Tier Web Code Structures Accelerated Application Modernization (AAM) Page 1 of 16 Table of Contents TABLE OF CONTENTS...

More information

Overview. The Knowledge Refinery Provides Multiple Benefits:

Overview. The Knowledge Refinery Provides Multiple Benefits: Overview Hatha Systems Knowledge Refinery (KR) represents an advanced technology providing comprehensive analytical and decision support capabilities for the large-scale, complex, mission-critical applications

More information

Software Engineering. So(ware Evolu1on

Software Engineering. So(ware Evolu1on Software Engineering So(ware Evolu1on 1 Software change Software change is inevitable New requirements emerge when the software is used; The business environment changes; Errors must be repaired; New computers

More information

Chapter 9 Software Evolution

Chapter 9 Software Evolution Chapter 9 Software Evolution Summary 1 Topics covered Evolution processes Change processes for software systems Program evolution dynamics Understanding software evolution Software maintenance Making changes

More information

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. February 2013 1 Executive Summary Adnet is pleased to provide this white paper, describing our approach to performing

More information

Baseline Code Analysis Using McCabe IQ

Baseline Code Analysis Using McCabe IQ White Paper Table of Contents What is Baseline Code Analysis?.....2 Importance of Baseline Code Analysis...2 The Objectives of Baseline Code Analysis...4 Best Practices for Baseline Code Analysis...4 Challenges

More information

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 EXAMINERS REPORT Friday 2 nd October 2015 Answer any THREE

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

Accessing Enterprise Data

Accessing Enterprise Data Accessing Enterprise Data Mark Lochbihler Emily Wallace Candy Habich SAS Institute, Inc. SAS Institute, Inc. Eastman Chemical Company Abstract Every organization is faced with a set of common concerns

More information

Accelerating Embedded Software Development with a Model Driven Architecture

Accelerating Embedded Software Development with a Model Driven Architecture Accelerating Embedded Software Development with a Model Driven Architecture Carolyn K. Duby Pathfinder Solutions September, 2003 2003 Pathfinder Solutions LLC www.pathfindersol.com Introduction Embedded

More information

White Paper. Enrich the Decisioning of Your COBOL Applications

White Paper. Enrich the Decisioning of Your COBOL Applications White Paper Enrich the Decisioning of Your COBOL Applications Enrich the Decisioning of Your COBOL Applications White Paper ILOG, June 2008 Do not duplicate without permission. ILOG, CPLEX, LogicTools

More information

Towards Collaborative Requirements Engineering Tool for ERP product customization

Towards Collaborative Requirements Engineering Tool for ERP product customization Towards Collaborative Requirements Engineering Tool for ERP product customization Boban Celebic, Ruth Breu, Michael Felderer, Florian Häser Institute of Computer Science, University of Innsbruck 6020 Innsbruck,

More information

GECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns

GECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns Introducing FACTORY SCHEMES Adaptable software factory Patterns FACTORY SCHEMES 3 Standard Edition Community & Enterprise Key Benefits and Features GECKO Software http://consulting.bygecko.com Email: Info@gecko.fr

More information

Upping the game. Improving your software development process

Upping the game. Improving your software development process Upping the game Improving your software development process John Ferguson Smart Principle Consultant Wakaleo Consulting Email: john.smart@wakaleo.com Web: http://www.wakaleo.com Twitter: wakaleo Presentation

More information

White Paper Software Quality Management

White Paper Software Quality Management White Paper What is it and how can it be achieved? Successfully driving business value from software quality management is imperative for many large organizations today. Historically, many Quality Assurance

More information

Realizing the Benefits of Data Modernization

Realizing the Benefits of Data Modernization February 2015 Perspective Realizing the Benefits of How to overcome legacy data challenges with innovative technologies and a seamless data modernization roadmap. Companies born into the digital world

More information

Code Qualities and Coding Practices

Code Qualities and Coding Practices Code Qualities and Coding Practices Practices to Achieve Quality Scott L. Bain and the Net Objectives Agile Practice 13 December 2007 Contents Overview... 3 The Code Quality Practices... 5 Write Tests

More information

Requirements engineering

Requirements engineering Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and

More information

Exhibit F. VA-130620-CAI - Staff Aug Job Titles and Descriptions Effective 2015

Exhibit F. VA-130620-CAI - Staff Aug Job Titles and Descriptions Effective 2015 Applications... 3 1. Programmer Analyst... 3 2. Programmer... 5 3. Software Test Analyst... 6 4. Technical Writer... 9 5. Business Analyst... 10 6. System Analyst... 12 7. Software Solutions Architect...

More information

Software development for the on demand enterprise. Building your business with the IBM Software Development Platform

Software development for the on demand enterprise. Building your business with the IBM Software Development Platform Software development for the on demand enterprise Building your business with the IBM Software Development Platform An on demand business is an enterprise whose business processes integrated end-to-end

More information

Requirements Management

Requirements Management REQUIREMENTS By Harold Halbleib Requirements Management Identify, Specify, Track and Control Requirements Using a Standard Process About the author... Harold Halbleib has a degree in Electrical Engineering

More information

Legacy Modernization. ADM/Healthcare Concepts, Methodologies, Case Studies. Michael Oara CTO

Legacy Modernization. ADM/Healthcare Concepts, Methodologies, Case Studies. Michael Oara CTO Legacy Modernization ADM/Healthcare Concepts, Methodologies, Case Studies Michael Oara CTO RELATIVITY TECHNOLOGIES 2005 Legacy Modernization Any modification performed on a Legacy application that would

More information

Developing SOA solutions using IBM SOA Foundation

Developing SOA solutions using IBM SOA Foundation Developing SOA solutions using IBM SOA Foundation Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 4.0.3 Unit objectives After completing this

More information

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software... 1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering Software is intangible Hard to understand

More information

Chapter 1. Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages

Chapter 1. Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages Chapter 1 CS-4337 Organization of Programming Languages Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705 Chapter 1 Topics Reasons for Studying Concepts of Programming

More information

Answers to Top BRMS Questions

Answers to Top BRMS Questions November 2009 Answers to Top BRMS Questions Answers to ten frequently asked questions about what business rule management systems are and how they are used Brett Stineman Product Marketing, Business Rules

More information

BIG DATA THE NEW OPPORTUNITY

BIG DATA THE NEW OPPORTUNITY Feature Biswajit Mohapatra is an IBM Certified Consultant and a global integrated delivery leader for IBM s AMS business application modernization (BAM) practice. He is IBM India s competency head for

More information

Introduction to software architecture

Introduction to software architecture Learning Unit 1 Introduction to software architecture Contents Introduction............................................... 7 1.1 What is software architecture?................................. 7 1.1.1

More information

IBM Analytics Make sense of your data

IBM Analytics Make sense of your data Using metadata to understand data in a hybrid environment Table of contents 3 The four pillars 4 7 Trusting your information: A business requirement 7 9 Helping business and IT talk the same language 10

More information

Hadoop in the Hybrid Cloud

Hadoop in the Hybrid Cloud Presented by Hortonworks and Microsoft Introduction An increasing number of enterprises are either currently using or are planning to use cloud deployment models to expand their IT infrastructure. Big

More information

Extend the value of your core business systems.

Extend the value of your core business systems. Legacy systems renovation to SOA September 2006 Extend the value of your core business systems. Transforming legacy applications into an SOA framework Page 2 Contents 2 Unshackling your core business systems

More information

Business Process Discovery

Business Process Discovery Sandeep Jadhav Introduction Well defined, organized, implemented, and managed Business Processes are very critical to the success of any organization that wants to operate efficiently. Business Process

More information

Gain control of your applications. Derek Britton, Product Management Dennis Voorhees, Systems Engineer

Gain control of your applications. Derek Britton, Product Management Dennis Voorhees, Systems Engineer Gain control of your applications Derek Britton, Product Management Dennis Voorhees, Systems Engineer Corporate IT challenges vary by role Head of Development Service Delivery Mgr IT Ops Mgr Strategy Manager

More information

How To Develop Software

How To Develop Software Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which

More information

Implementation Workflow

Implementation Workflow Implementation Workflow Michael Fourman Introduction Implement the design in terms of components source code, scripts, binaries, executables, etc. Flesh out the architecture Plan system integrations in

More information

BUSINESS RULES AND GAP ANALYSIS

BUSINESS RULES AND GAP ANALYSIS Leading the Evolution WHITE PAPER BUSINESS RULES AND GAP ANALYSIS Discovery and management of business rules avoids business disruptions WHITE PAPER BUSINESS RULES AND GAP ANALYSIS Business Situation More

More information

An Oracle White Paper February 2014. Oracle Data Integrator 12c Architecture Overview

An Oracle White Paper February 2014. Oracle Data Integrator 12c Architecture Overview An Oracle White Paper February 2014 Oracle Data Integrator 12c Introduction Oracle Data Integrator (ODI) 12c is built on several components all working together around a centralized metadata repository.

More information

What You Need to Know About Transitioning to SOA

What You Need to Know About Transitioning to SOA What You Need to Know About Transitioning to SOA written by: David A. Kelly, ebizq Analyst What You Need to Know About Transitioning to SOA Organizations are increasingly turning to service-oriented architectures

More information

BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT. March 2013 EXAMINERS REPORT. Software Engineering 2

BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT. March 2013 EXAMINERS REPORT. Software Engineering 2 BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT March 2013 EXAMINERS REPORT Software Engineering 2 General Comments The pass rate this year was significantly better than

More information

II. TYPES OF LEVEL A.

II. TYPES OF LEVEL A. Study and Evaluation for Quality Improvement of Object Oriented System at Various Layers of Object Oriented Matrices N. A. Nemade 1, D. D. Patil 2, N. V. Ingale 3 Assist. Prof. SSGBCOET Bhusawal 1, H.O.D.

More information

White Paper Server. SUSE Linux Enterprise Server 12 Modules

White Paper Server. SUSE Linux Enterprise Server 12 Modules White Paper Server SUSE Linux Enterprise Server 12 Modules Server White Paper SUSE Linux Enterprise Server 12 Modules What Can Modular Packaging Do for You? What if you could use a reliable operating system

More information

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series www.cumulux.com

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series www.cumulux.com ` CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS Review Business and Technology Series www.cumulux.com Table of Contents Cloud Computing Model...2 Impact on IT Management and

More information

Applications Modernization

Applications Modernization Business white paper Applications Modernization Adapting and embracing change to drive financial and service efficiencies Business white paper Applications Modernization Table of contents 1 Getting started

More information

Life Cycle Management for Oracle Data Integrator 11 & 12. At lower cost Get a 30% return on investment guaranteed and save 15% on development costs

Life Cycle Management for Oracle Data Integrator 11 & 12. At lower cost Get a 30% return on investment guaranteed and save 15% on development costs Life Cycle Management for Oracle Data Integrator 11 & 12 Increase productivity Stop wasting your time doing things maually by automating every step in your project s Life Cycle At lower cost Get a 30%

More information

Table of Contents. Headquarters Cary, NC USA US 1-866-538-3588. Fax 1-919-380-5121 International 1-919-380-5000

Table of Contents. Headquarters Cary, NC USA US 1-866-538-3588. Fax 1-919-380-5121 International 1-919-380-5000 Desktop Automation Table of Contents Easy Automation for the Contact Center and Back Office... 3 Use Cases... 3 Activity Intelligence + Automation... 4 Cicero Discovery Automation Architecture... 5 Cicero

More information

Design Patterns for Complex Event Processing

Design Patterns for Complex Event Processing Design Patterns for Complex Event Processing Adrian Paschke BioTec Center, Technical University Dresden, 01307 Dresden, Germany adrian.paschke AT biotec.tu-dresden.de ABSTRACT Currently engineering efficient

More information

Mitel Professional Services Catalog for Contact Center JULY 2015 SWEDEN, DENMARK, FINLAND AND BALTICS RELEASE 1.0

Mitel Professional Services Catalog for Contact Center JULY 2015 SWEDEN, DENMARK, FINLAND AND BALTICS RELEASE 1.0 Mitel Professional Services Catalog for Contact Center JULY 2015 SWEDEN, DENMARK, FINLAND AND BALTICS RELEASE 1.0 Contents MITEL PROFESSIONAL SERVICES DELIVERY METHODOLOGY... 2 CUSTOMER NEEDS... 2 ENGAGING

More information

Agile Techniques for Object Databases

Agile Techniques for Object Databases db4o The Open Source Object Database Java and.net Agile Techniques for Object Databases By Scott Ambler 1 Modern software processes such as Rational Unified Process (RUP), Extreme Programming (XP), and

More information

EMA Radar for Workload Automation (WLA): Q2 2012

EMA Radar for Workload Automation (WLA): Q2 2012 EMA Radar for Workload Automation (WLA): Q2 2012 By Torsten Volk, Senior Analyst Enterprise Management Associates (EMA) June 2012 Introduction Founded in 2004, Network Automation focuses on automating

More information

Data Virtualization Overview

Data Virtualization Overview Data Virtualization Overview Take Big Advantage of Your Data "Using a data virtualization technique is: number one, much quicker time to market; number two, much more cost effective; and three, gives us

More information

A Quick Introduction to SOA

A Quick Introduction to SOA Software Engineering Competence Center TUTORIAL A Quick Introduction to SOA Mahmoud Mohamed AbdAllah Senior R&D Engineer-SECC mmabdallah@itida.gov.eg Waseim Hashem Mahjoub Senior R&D Engineer-SECC Copyright

More information

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages ICOM 4036 Programming Languages Preliminaries Dr. Amirhossein Chinaei Dept. of Electrical & Computer Engineering UPRM Spring 2010 Language Evaluation Criteria Readability: the ease with which programs

More information

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements

More information

Realizing the Value of Standardized and Automated Database Management SOLUTION WHITE PAPER

Realizing the Value of Standardized and Automated Database Management SOLUTION WHITE PAPER Realizing the Value of Standardized and Automated Database Management SOLUTION WHITE PAPER Table of Contents The Challenge of Managing Today s Databases 1 automating Your Database Operations 1 lather,

More information

INFORMATION TECHNOLOGY PROGRAMMER/ANALYST

INFORMATION TECHNOLOGY PROGRAMMER/ANALYST JOB DESCRIPTION MICHIGAN CIVIL SERVICE COMMISSION JOB SPECIFICATION INFORMATION TECHNOLOGY PROGRAMMER/ANALYST Employees in this job function as information technology professionals, participating in or

More information

26. Legacy Systems. Objectives. Contents. Legacy systems 1

26. Legacy Systems. Objectives. Contents. Legacy systems 1 Legacy systems 1 26. Legacy Systems Objectives The objectives of this chapter are to introduce legacy systems and to describe how many of these systems have been designed. When you have read this chapter,

More information

VAIL-Plant Asset Integrity Management System. Software Development Process

VAIL-Plant Asset Integrity Management System. Software Development Process VAIL-Plant Asset Integrity Management System Software Development Process Document Number: VAIL/SDP/2008/008 Engineering For a Safer World P u b l i c Approved by : Ijaz Ul Karim Rao Revision: 0 Page:2-of-15

More information

The Fastest Way to Parallel Programming for Multicore, Clusters, Supercomputers and the Cloud.

The Fastest Way to Parallel Programming for Multicore, Clusters, Supercomputers and the Cloud. White Paper 021313-3 Page 1 : A Software Framework for Parallel Programming* The Fastest Way to Parallel Programming for Multicore, Clusters, Supercomputers and the Cloud. ABSTRACT Programming for Multicore,

More information

Software Engineering Reference Framework

Software Engineering Reference Framework Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of

More information

Fourth generation techniques (4GT)

Fourth generation techniques (4GT) Fourth generation techniques (4GT) The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common. Each enables the software engineer to specify some

More information

QTP Open Source Test Automation Framework Introduction

QTP Open Source Test Automation Framework Introduction Version 1.0 April 2009 D ISCLAIMER Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice is preserved. Table of Contents

More information

Visionet IT Modernization Empowering Change

Visionet IT Modernization Empowering Change Visionet IT Modernization A Visionet Systems White Paper September 2009 Visionet Systems Inc. 3 Cedar Brook Dr. Cranbury, NJ 08512 Tel: 609 360-0501 Table of Contents 1 Executive Summary... 4 2 Introduction...

More information

Integrated Social and Enterprise Data = Enhanced Analytics

Integrated Social and Enterprise Data = Enhanced Analytics ORACLE WHITE PAPER, DECEMBER 2013 THE VALUE OF SOCIAL DATA Integrated Social and Enterprise Data = Enhanced Analytics #SocData CONTENTS Executive Summary 3 The Value of Enterprise-Specific Social Data

More information

Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer

Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer Generate Results. Real Models. Real Code. Real Fast. Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer Andreas Henriksson, Ericsson andreas.henriksson@ericsson.com

More information

Finding Business Rules in COBOL Systems

Finding Business Rules in COBOL Systems Finding Business Rules in COBOL Systems Use Case for evolveit Scott Hesser 6/1/2013 pg. 1 blackboxit.com Understanding the 1 st step to Modernization Large commercial organizations have been developing

More information

Software Development: The Waterfall Model

Software Development: The Waterfall Model Steven Zeil June 7, 2013 Contents 1 Software Development Process Models 2 1.1 Components of the Waterfall Model................................. 2 1.1.1 What is a requirement?. 2 1.1.2 Testing..........

More information

Requirements engineering and quality attributes

Requirements engineering and quality attributes Open Learning Universiteit Unit 2 Learning Unit 2 Requirements engineering and quality attributes Contents Introduction............................................... 21 2.1 Important concepts........................................

More information

Building the EDM Roadmap An Innovation Platform for New Product Development & Regulatory Compliance. Mark Cowan mark@cowaninc.

Building the EDM Roadmap An Innovation Platform for New Product Development & Regulatory Compliance. Mark Cowan mark@cowaninc. Building the EDM Roadmap An Innovation Platform for New Product Development & Regulatory Compliance Mark Cowan mark@cowaninc.com 416 917 7531 January 16, 2008 Outline 1. Mark Cowan Quick Backgrounder 2.

More information

irods and Metadata survey Version 0.1 Date March Abhijeet Kodgire akodgire@indiana.edu 25th

irods and Metadata survey Version 0.1 Date March Abhijeet Kodgire akodgire@indiana.edu 25th irods and Metadata survey Version 0.1 Date 25th March Purpose Survey of Status Complete Author Abhijeet Kodgire akodgire@indiana.edu Table of Contents 1 Abstract... 3 2 Categories and Subject Descriptors...

More information

Guide to Successful Software Modernization

Guide to Successful Software Modernization Guide to Successful Software Modernization April 2015 1 Introduction... 2 1.1 Purpose... 2 1.2 Audience... 2 2 Modernization Project Objectives... 2 2.1 Adapting to Changing Technologies... 2 2.2 What

More information

Cloud Service Brokerage: A Better Way to Manage and Deliver Cloud Services

Cloud Service Brokerage: A Better Way to Manage and Deliver Cloud Services Cloud Service Brokerage: A Better Way to Manage and Deliver Cloud Services Enabling IT as a Service with the cloudmatrix TM CSB Platform from Gravitant Solution 2012 Neovise, LLC. All Assessment Rights

More information

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology Peter Mileff PhD SOFTWARE ENGINEERING The Basics of Software Engineering University of Miskolc Department of Information Technology Introduction Péter Mileff - Department of Information Engineering Room

More information

Strategy for Application Modernization A Summa White Paper

Strategy for Application Modernization A Summa White Paper Strategy for Application Modernization A Summa White Paper Summa 925 Liberty Avenue, 6 th Floor Pittsburgh, PA 15222 (p) 412.258.3300 (f) 412.258.3299 www.summa tech.com Why Modernize? My customers want

More information

Software design (Cont.)

Software design (Cont.) Package diagrams Architectural styles Software design (Cont.) Design modelling technique: Package Diagrams Package: A module containing any number of classes Packages can be nested arbitrarily E.g.: Java

More information

CASE STUDY: AgitarOne Ensures Quality of Outsourced Software Development at Major International Bank

CASE STUDY: AgitarOne Ensures Quality of Outsourced Software Development at Major International Bank CASE STUDY: AgitarOne Ensures Quality of Outsourced Software Development at Major International Bank One of the major international Banks has adopted AgitarOne (www.agitar.com) technology for delivering

More information

removing the hidden costs

removing the hidden costs White Paper: MAINFRAME outsourcing mainframe outsourcing: removing the hidden costs Executive Summary Compuware recently commissioned a global, independent study of CIOs to learn about their attitudes

More information

Top 10 Business Intelligence (BI) Requirements Analysis Questions

Top 10 Business Intelligence (BI) Requirements Analysis Questions Top 10 Business Intelligence (BI) Requirements Analysis Questions Business data is growing exponentially in volume, velocity and variety! Customer requirements, competition and innovation are driving rapid

More information

SOFTWARE CONSULTING. Developing business critical applications for enterprises. (E) sales@softwaredynamics.co.ke (W) softwaredynamics.co.

SOFTWARE CONSULTING. Developing business critical applications for enterprises. (E) sales@softwaredynamics.co.ke (W) softwaredynamics.co. SOFTWARE CONSULTING Developing business critical applications for enterprises Innovate Design Develop Integrate Deploy P. O. BOX 56465-00200, NRB KENYA, TITAN BLG, MEZZ FLR. HURLIGHARM CHAKA RD (+254)

More information

How to bridge the gap between business, IT and networks

How to bridge the gap between business, IT and networks ericsson White paper Uen 284 23-3272 October 2015 How to bridge the gap between business, IT and networks APPLYING ENTERPRISE ARCHITECTURE PRINCIPLES TO ICT TRANSFORMATION A digital telco approach can

More information

Integration Maturity Model Capability #5: Infrastructure and Operations

Integration Maturity Model Capability #5: Infrastructure and Operations Integration Maturity Model Capability #5: Infrastructure and Operations How improving integration supplies greater agility, cost savings, and revenue opportunity TAKE THE INTEGRATION MATURITY SELFASSESSMENT

More information

Top ten reasons to transition your IT lab environments to the cloud

Top ten reasons to transition your IT lab environments to the cloud Top ten reasons to transition your IT lab environments to the cloud WHITE PAPER BROUGHT TO YOU BY SKYTAP 2 Top ten reasons to transition your IT lab environments to the cloud Contents The Promise of Cloud

More information

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the following requirements (SLAs). Scalability and High Availability Modularity and Maintainability Extensibility

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2008 Vol. 7, No. 8, November-December 2008 What s Your Information Agenda? Mahesh H. Dodani,

More information

Program Understanding in Software Engineering

Program Understanding in Software Engineering Taming the complexity: The need for program understanding in software engineering Raghvinder S. Sangwan, Ph.D. Pennsylvania State University, Great Valley School of Graduate Professional Studies Robert

More information

Agile Software Development Methodologies and Its Quality Assurance

Agile Software Development Methodologies and Its Quality Assurance Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed

More information

CSC408H Lecture Notes

CSC408H Lecture Notes CSC408H Lecture Notes These lecture notes are provided for the personal use of students taking Software Engineering course in the Summer term 2005 at the University of Toronto. Copying for purposes other

More information

Top Ten Reasons to Transition Your IT Sandbox Environments to the Cloud

Top Ten Reasons to Transition Your IT Sandbox Environments to the Cloud Top Ten Reasons to Transition Your IT Sandbox Environments to the Cloud WHITE PAPER BROUGHT TO YOU BY SKYTAP 2 Top Ten Reasons to Transition Your IT Sandbox Environments to the Cloud Contents Executive

More information

Standard Glossary of Terms Used in Software Testing. Version 3.01

Standard Glossary of Terms Used in Software Testing. Version 3.01 Standard Glossary of Terms Used in Software Testing Version 3.01 Terms Used in the Expert Level Test Automation - Engineer Syllabus International Software Testing Qualifications Board Copyright International

More information

Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development

Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development The FDA requires medical software development teams to comply with its standards for software

More information

AGILE SOFTWARE TESTING

AGILE SOFTWARE TESTING AGILE SOFTWARE TESTING Business environments continue to rapidly evolve, leaving many IT organizations struggling to keep up. This need for speed has led to an increased interest in the Agile software

More information

FTA Technology 2009 IT Modernization and Business Rules Extraction

FTA Technology 2009 IT Modernization and Business Rules Extraction FTA Technology 2009 IT Modernization and Business Rules Extraction August 5th, 2009 _experience the commitment TM Agenda IT Modernization Business Rules Extraction Automation Tools for BRE BRE Cost and

More information

Migration and Developer Productivity Solutions Retargeting IT for Emerging Business Needs

Migration and Developer Productivity Solutions Retargeting IT for Emerging Business Needs Migration and Developer Productivity Solutions Retargeting IT for Emerging Business Needs Charles Finley Transformix Computer Corporation Who We Are Transformix provides software solutions and services

More information

An enterprise- grade cloud management platform that enables on- demand, self- service IT operating models for Global 2000 enterprises

An enterprise- grade cloud management platform that enables on- demand, self- service IT operating models for Global 2000 enterprises agility PLATFORM Product Whitepaper An enterprise- grade cloud management platform that enables on- demand, self- service IT operating models for Global 2000 enterprises ServiceMesh 233 Wilshire Blvd,

More information

A Database Re-engineering Workbench

A Database Re-engineering Workbench A Database Re-engineering Workbench A project proposal by Anmol Sharma Abstract Data is not always available in the best form for processing, it is often provided in poor format or in a poor quality data

More information

Technical Paper. What is a. Process-Based. Application?

Technical Paper. What is a. Process-Based. Application? Technical Paper What is a Process-Based Application? What is a process based application? The trend away from rigid platform-based workflows to flexible process-based applications and the added value of

More information

Data Quality Assessment. Approach

Data Quality Assessment. Approach Approach Prepared By: Sanjay Seth Data Quality Assessment Approach-Review.doc Page 1 of 15 Introduction Data quality is crucial to the success of Business Intelligence initiatives. Unless data in source

More information

Migration and Building of Data Centers in IBM SoftLayer with the RackWare Management Module

Migration and Building of Data Centers in IBM SoftLayer with the RackWare Management Module Migration and Building of Data Centers in IBM SoftLayer with the RackWare Management Module June, 2015 WHITE PAPER Contents Advantages of IBM SoftLayer and RackWare Together... 4 Relationship between

More information

Unicenter Database Management For Distributed RDBMS

Unicenter Database Management For Distributed RDBMS White Paper Unicenter Database Management For Distributed RDBMS Page:1 Beginning of a visionary approach to Enterprise Database Management. With the Introduction of Unicenter 3.0, Computer Associates is

More information

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014) CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014) CSTA Website Oracle Website Oracle Contact http://csta.acm.org/curriculum/sub/k12standards.html https://academy.oracle.com/oa-web-introcs-curriculum.html

More information