How to realize software evolution of existing BOSS via ZTE SEEM

Similar documents
Chapter 9 Software Evolution

Software Engineering. So(ware Evolu1on

Software Change Management Chapter 27 Homework 10 Points

SOFTWARE ENGINEERING OVERVIEW

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

CSC408H Lecture Notes

SOA Enabled Workflow Modernization

Génie Logiciel et Gestion de Projets. Evolution

Chap 1. Introduction to Software Architecture

Basic Trends of Modern Software Development

Adopting Service Oriented Architecture increases the flexibility of your enterprise

Applying 4+1 View Architecture with UML 2. White Paper

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

Economic Benefits of Cisco CloudVerse

Developing SOA solutions using IBM SOA Foundation

Extend the value of your core business systems.

Course 4 27 October Adrian Iftene adiftene@info.uaic.ro

JOURNAL OF OBJECT TECHNOLOGY

Introduction to SOA governance and service lifecycle management.

How To Manage A Virtualization Server

IF2261 Software Engineering. Introduction. What is software? What is software? What is software? Failure Curve. Software Applications Type

A Software Engineering Process for Operational Space Weather Systems. S. Dave Bouwer, W. Kent Tobiska Space Environment Technologies

CS 565 Business Process & Workflow Management Systems

N.K. Srivastava GM-R&M-Engg.Services NTPC- CC/Noida

Economic Benefits of Cisco CloudVerse

A Path from Windows Desktop to HTML5

Huawei Network Outsourcing Service Fuels Operators Business Successes

Introduction to OpenUP (Open Unified Process)

How To Consolidate A Data Center

Virtualization s Evolution

Business Modeling with UML

ORACLE FORMS APPLICATIONS?

Global Delivery Excellence Best Practices for Improving Software Process and Tools Adoption. Sunil Shah Technical Lead IBM Rational

Development, Acquisition, Implementation, and Maintenance of Application Systems

Virtual Platforms Addressing challenges in telecom product development

Managing Data Growth Within Contract Management Systems with Archiving Strategies

Logical Data Models for Cloud Computing Architectures

Model-Based Engineering: A New Era Based on Papyrus and Open Source Tooling

CONDIS. IT Service Management and CMDB

IT service management solutions Executive brief. Making ITIL actionable in an IT service management environment.

Benefits of Standardizing the Video Security System

CS314: Course Summary

Data Migration through an Information Development Approach An Executive Overview

Software Maintenance. Software Maintenance. (Chapter 14) Relative distribution of software/ hardware costs. Point to ponder #1

Taming the Data Center

Independent Insight for Service Oriented Practice. An SOA Roadmap. John C. Butler Chief Architect. A CBDI Partner Company.

How To Use The Dcml Framework

MDE Adoption in Industry: Challenges and Success Criteria

How To Protect Your Network From Attack From A Network Security Threat

Realizing business flexibility through integrated SOA policy management.

Business Process Management Enabled by SOA

RFP Attachment C Classifications

Development Methodologies

5 Steps to Choosing the Right BPM Suite

CHAPTER 1 INTRODUCTION

How to bridge the gap between business, IT and networks

Business-Driven Software Engineering Lecture 3 Foundations of Processes

CHAPTER-6 DATA WAREHOUSE

SOA + BPM = Agile Integrated Tax Systems. Hemant Sharma CTO, State and Local Government

WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT

Hybrid Cloud Architecture: How to Streamline Hybrid Cloud Migration

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Product Lifecycle Management (PLM) Service Providers. On Leading PLM Solutions

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

Centralized Operations: Strategies for Today and Tomorrow

Business Integration Architecture for Next generation OSS (NGOSS)

LDAP Authentication Configuration Appendix

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

Understanding and Addressing Architectural Challenges of Cloud- Based Systems

WHY DO I NEED A PROGRAM MANAGEMENT OFFICE (AND HOW DO I GET ONE)?

Achieve full value from your applications. Avanade Application Development Solutions

Software maintenance. Software Maintenance. Fundamental problems. Maintenance activities. Lehman/Belady model of evolution. Topics

The Role of the Software Architect

OpenERP evaluation with SAP as reference. Learn by discovering where the challenger meets the leader.

Understanding the Differences between Proprietary & Free and Open Source Software

BUSINESS RULES AND GAP ANALYSIS

CDC UNIFIED PROCESS JOB AID

Software Engineering UNIT -1 OVERVIEW

Striking the balance between risk and reward

From the White Board to the Bottom Line

SDN with StableNet. Manage your SDN Network with StableNet

Enterprise Architecture and the Cloud. Marty Stogsdill, Oracle

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Storage Clouds. Enterprise Architecture and the Cloud. Author and Presenter: Marty Stogsdill, Oracle

Choosing the Right Master Data Management Solution for Your Organization

Requirements Traceability. Mirka Palo

Advanced Software Engineering. Software Development Processes

Transcription:

How to realize software evolution of existing BOSS via ZTE SEEM Zhan Zhang Abstract Due to long-term construction and accumulation for different purposes, telecom carriers normally have very complex IT environments, especially in BSS/OSS domains. Just like any other software projects, the telecom IT construction is a process always behind the market changes; therefore, how to evolve or replace these legacy systems to support continuously changed market requests is a puzzle in telecom CIO/CTO s mind. To answer this question, we need to know two methodologies (i.e., software maintenance, and software evolution). In this article, we would propose an approach, Software Evolution Enhanced Methodology (SEEM), which essentially is a methodology to evolve a legacy system with minimized pain and cost based on theory of software evolution. This methodology has been utilized in many previous projects successfully.

Introduction This section describes the background of addressed issues and presents a challenges analysis at the conceptual level. Background In current, new market demands impact telecom carriers from multiple aspects, such as a) enhance customer experience; b) reduce OPEX & CAPEX; c) shorten time to market; d) fit new business model; e) digest & apply cutting edge technologies. So every telecom carrier must have a evolvable Business and Operation Support System (BOSS) to satisfy these demands. As common-sense, BOSS is mainly a very complicated and sophistic software system, and it usually has multiple components according to standardized specifications (e.g., etom, and NGOSS). All these components cannot be implemented and deployed at one time due to financial budget and man-power constraints. Since it takes a relevant long time to construct the whole BOSS and it is impossible to foreseen all changes at the beginning stage of BOSS construction, each CIO/CTO has to face a challenge, how to evolve or replace these legacy systems to support continuously changed market requests. This is a definitely frustrating thing. owing to ROI concerns, it is a dilemma to choice either renovate a legacy BOSS component or replace it with new one. However, no matter which solution is chosen, the following major difficulties are inevitable in the process of upgrading BOSS, a) communicate with multiple software vendors; b) integrate with heterogeneous architectures; c) satisfy continuous market demands; d) expend life-cycle of existing BOSS components. Addressed Issues and Solution Space So far we have clearly understand the background of the addressed issues. The purpose of this article is to find a practice methodology, by which a legacy BOSS component can be evolved to fit new requests with minimized pains and costs. In details, the major topics discussed in this article are described as below: What is the suitable methodology to realize BOSS component upgrading How the methodology to enable upgrading BOSS components in a relevant short time what are the necessary tools to support this methodology Literature Review This section introduces concepts of software maintenance and evolution, especially the latter, since our approach is built based on several methodologies of software evolution.

Software Maintenance Software maintenance [1] is a set of activities of changing the system after it has been delivered. including : Corrective maintenance: repair of software faults Adaptive maintenance: modification of software due to changes in the operating environment (hardware, supporting software) Perfective maintenance: additions to and/or modifications of system functionality due to organizational or business changes Preventive Maintenance: is defined as an activity during which we attempt to prevent an unnecessary change in the future [2] The software maintenance is very important stage of the whole software life-cycle. At least the almost equaled costs are devoted in both software development and maintenance stages. the following Figure 1depicts the details. According to statistics shown in Figure 1, the major maintenance effort focuses on functionality addition and modification, and the effort on fault repair and software adaptation are much less then it. Figure 2: Distribution of maintenance effort As time goes by, the maintenance becomes much more difficult due to: It is hard to remain team stability Staff skills are changed as main-trend technologies change Original software is aged and its structure increase costs and expenses Contractual responsibility of team reduces the limit the software capability and expendability Figure 1: the expense & cost on development and maintenance stages Software Evolution Prof. Meir M. Lehman [3] with his colleagues have identified a set of behaviors in the evolution of proprietary software. These behaviors (or observations) are known as Lehman s laws, and there are eight of them: Continuing Change: A program that is used

in a real-world environment necessarily must change or become progressively less useful in that environment. Increasing Complexity: As an evolving program changes, its structure tends to become more complex. Extra resources must be devoted to preserving and simplifying the structure. Self Regulation: Program evolution is a selfregulating process. System attributes such as size, time between releases and the number of reported errors is approximately invariant for each system release. Organizational stability: Over a program s lifetime, its rate development is approximately constant and independent of the resources devoted to system development. Conservation of Familiarity: Over the lifetime of a system, the incremental change in each releases is approximately constant. Continuing Growth: The functionality offered by systems has to continually increase to maintain user satisfaction. Declining Quality: The quality of systems will appear to be declining unless they are adapted to changes in their operational environment. Feedback System: Evolution processes incorporate multi-agent, multi-loop feedback systems and you have to treat them as feedback systems to achieve significant product improvement. Identified research themes by Bennett and Rajlich [4], the researching aspects of software evolution are: a) requirements; b) architecture; c) data; d) runtime management; e) service-oriented; f) language. The major solutions includes: a) Reverse and Re-Engineering; b) Incremental Change Techniques; c) Managerial Issues; d) Software Process; e) Model Evolution. Also there are two prevalent views: What and why: focuses on software evolution as a scientific discipline. It studies the nature of the software evolution phenomenon, and seeks to understand its driving factor, its impact, and so on. How: focuses on software evolution as an engineering discipline. It studies the more pragmatic aspects that aid the software developer or project manager in his day-to-day tasks. Foundation of Approach The proposed approach is built based on several methodologies of software evolution (depicted in Figure 3). Horseshoe Re-engineering model is a very popular model to realize software evolution. As shown in Figure 3, a legacy software system can be extracted to a high-level architecture model, which can be improved to a restructured model. Finally a new software system can be conducted from the restructured model. Agent-based wrapping model is another methods to renovate legacy software system via wrapping.

Figure 1 : foundation of SEEM: Re engineering - & Wrapping Proposal Our approach is called Software Evolution Enhanced Methodology (SEEM), and it addresses BOSS domain. It defines the basic practices, process flow, and infrastructure. The following Figure 4 elaborates SEEM clearly. Figure 1: So ware Evolution Enhanced Methodology (SEEM)

In order to achieve the predefined goal, SEEM defines a process as shown at the bottom of the figure. This process is an series of internal activities: Stage A: this is the first stage of SEEM flow. it is to collect and extract the necessary information from a legacy BOSS component by observing external standards, new technology, and business request. Stage B: once collecting this information, it needs to do the impact analysis according to evaluation criteria, including priority, cost/ expense, and market trends. Stage C: this stage is called Roadmap Generation, and it defines the approach adopted in terms of the previous analysis, such as re-engineering, wrapping, and refactoring. Stage D: this stage is to re-build the metamodel of the BOSS component. it mainly impacts the aspects of architecture, interface, interaction, and data structure; therefore, the legacy BOSS component can be encapsulated (e.g., transformation, synchronization, and replication) to realize upgrading. As these internal activities are on-going, the changes of the BOSS component are on-going as well. the relationships are described in the figure. these changes are separated in multiple phases, and they are described as below: Probing: this phase is in charge of data collection, configuration, meta-model extraction, log analysis Implementation: it may use different strategies to realize implementation according to detailed requests, such as refactoring, wrapping, remodeling, replacement, and tailing Simulation & Validation: all implementation result will be simulated and validated before commercial launch. The key activities in this stage includes preparing test-case, trying dryrun, deploying environment, and organizing team Migration & Monitoring: all validated result will be migrated to commercially launched environment. it will change data, business logic, interface and interaction model To support these activities and processes, SEEM is built based on a standard infrastructure, including: UML tool: Unified Model Language is adopted to model and describe the request, architecture, process flow etc CVS: Control Version System is adopted for version & release control ZSmart framework: ZSmart is a BOSS component collection provided by ZTE. It is organized as multi-level architecture. The bottom level is called ZSmart framework, an open-structure framework, to implement all non-business requests, e.g., logging, reporting, messaging, and so on Visualization tool: Since BOSS is too big to image, the visualization tool can help designer,

developer, tester easily identify the changes and issues Refactoring Tool: this is always implemented in popular development tool, e.g., Eclipse, and NetBeans Monitoring Tool: it helps us to quickly understand the changes occurring in the whole process The features of this approach are: a) End2End Capability; b) Multiple Tactics; c) Wrapper Supported; d) Extreme Programming tolerance; e) Staged Process; f) UML standardized; g) Meta-Model Driven; h) Simulation Embedded; i) Separated Internal/external activities; j) legacy tech compatible; k) etom Addressed; l) Unified Processed Summary This paper proposes a methodology called SEEM, by which we can upgrade legacy BOSS component with less pain and costs, since it is based on software evolution, software maintenance and Zsmart framework. Also some cutting-edge technologies are adopted, and it has been proven in several projects. The major benefit of SEEM is: a) balancing maintenance and evolution; b) extend the life-cycle of legacy BOSS component; c) support heterogeneous environment. reference [1] ISO/IEC 14764:2006 Software Engineering -- Software Life Cycle Processes Maintenance [2] Kajko, Mattsson 2001, IEEE standard 610.12-1990 [3] Meir M. Lehman, Programs, Life Cycles, and Laws of Software Evolution, Proceedings of the IEEE, Vol. 68, No. 9, September 1980 [4] Rajlich, V.T.; Bennett, K.H., A staged model for the software life cycle, Computer, Volume 33, Issue 7, Jul 2000 Page(s):66-71