Saturday, December 5, 2009

Materi Kuliah RPL (5 Desember 2009)


Share/Save/Bookmark
Studi Kasus pertemuan tgl 5 Desember 2009
http://sajm.comlu.com/S2PB/case%20study.zip

Contoh UML Tools
http://sajm.comlu.com/S2PB/UML%20tool.zip

Contoh Kasus Mesin ATM
http://sajm.comlu.com/S2PB/usecases_intro.pdf

case RPL


Share/Save/Bookmark
Application Development
Feature (July 2005)


Tales of Software Architecture:
Case Studies in MDA and UML
by Michael Guttman and John Parodi

How MDA was used, results and benefits for:
Spanish building contractor, U.S. government agency, Defense aerospace firm, financial services integrator

In past articles for Software Magazine on the evolution of software architecture, we have described the basic concepts of the Object Management Group's Model Driven Architecture (MDA) [and how it evolved from the popular Unified Modeling Language (UML)]. We've also discussed the OMG's MDA FastStart Program, and the options available for tools and services based on MDA and UML.

While interest in MDA-compliant tools and services appears to be on the rise, the real business case is being made by the users of MDA and UML in the real world, actual companies with projects that have generated successful outcomes. These cases illustrate the broad applicability of MDA and UML along the dimensions of company/project size, target system type (from embedded systems to enterprise applications) and model type (from pure business models to platform-specific models used for code generation).

In each case, the company involved utilized external consultants to help jumpstart their MDA/UML activities. Each of the service providers involved in these projects is an MDA Qualified Service Provider (QSP) of the OMG's MDA FastStart program, and all use a broadly similar engagement methodology. (For more information, see Table 1, "Case History Capsules," or visit the MDA FastStart Web site at www.omg.org/faststart.)
Let's have a look at these real-life projects.

Case Study No. 1:
System Integration in Real Estate and Construction

CHG, a leading building contractor in Costa Blanca, Spain, has provided exclusive custom-built villas and residences to more than 5,000 customers. CHG itself is a conglomerate of 13 companies that provides products and services in support of hotels, golf courses, car rentals, tax service, and water supplies.

The company is undertaking a three-year initiative to rebuild all its major IT systems, with the goal of supporting robust security, multiple languages and currencies, integrated workflow, central accounting and a unified customer-centric view — to include a Master Property ID for charges and accounting — across all systems and subsidiaries. To start it on its way, CHG used SOSY, a professional services organization owned and operated by CHG to support its various subsidiaries.

The integration effort includes the following types of applications:

Sales and Contract Management
Building Process Control
Finance and Accounting
Customers/Owners
Deeds Management
Time-Sharing and Rentals
Potable Water Supply
Golf Club
User Assistance Center
CHG and SOSY chose the OMG's MDA as their architectural approach for integrating these systems and for developing new ones. They wanted to focus on business functionality and behavior, independent of the evolution of technology. By adopting this higher level of abstraction, they planned to reduce development time and cost, improve application consistency and quality, and make it easier to maintain and update the system.

How MDA Was Used

The goal of the integration was to provide qualitative improvements in all systems, allowing authorized users to access information in real time and provide a consistent user interface across applications. Additionally, these users could decide at runtime what to see, what to do, and where to go within the integrated system.

The development/consulting methodology steps included the following:

Scope Definition,
Information Gathering,
Enterprise Description,
System Description (functional and nonfunctional requirements),
Understanding the Existing Environment,
Transition Planning,
Modeling and Model Review,
Code Generation,
System Review,
Model Refinements,
Code Regeneration,
Deployment Readiness Assessment,
Transition, and finally,
Deployment.
The client used a model execution system developed by SOSY in conjunction with SOSY's MDA development process methodology. UML was used to specify requirements, to express complex business logic, and to define the presentation layer. The resulting CHG platform-independent model (PIM) was deployed to Microsoft's Visual Basic 6 (VB6) and SQL Server by way of a VB6-specific platform-specific model (PSM).

The OlivaNova Model Execution System from Care Technologies provided both the UML modeling tool and various MDA transformation engines. The modeling tool was used to create a PIM?a type of MDA model that addresses functional requirements purely in the context of the problem-space; the transformation engines were used to generate platform-specific deployment solutions from the PIM, using technology-specific best practices and patterns.

In this case, the modeling tool provided predefined and deployable platform-specific model (PSM) templates out of the box. We should note that the trade-off here is that while predefined templates reduce the need for highly skilled programmers, these template solutions are aimed at business applications and are not suitable for embedded systems or real-time systems, which would require different templates.

The project team included three internal CHG people (a project manager, a programmer/analyst, and a programmer), and relied on cooperation from management and business stakeholders from various departments. Four SOSY consultants (one project manager, two programmer/analysts, and one programmer) took part in the project.

Results and Benefits

More than 90% of system code was automatically generated directly from the tool-generated PSM. These applications are now maintained and upgraded by only two analysts, who simply make changes to the UML models and then regenerate the code. Planned future uses of the PIM include migration to C#.NET. Most importantly, users of the integrated system are very happy with it, not the least of whom is Francisco Hidalgo Raya, information coordinator at CHG Group.

"After 25 years in IT, with a background in Cobol and mainframe programming, I would never have imagined the ability to capture my business needs in a model, and then have a programming machine produce the entire application for me. MDA has realized my dream of programming at the business level," he says.

"The applications we designed and generated at CHG are not mere prototypes or proof of concepts. We run our day-to-day commercial real estate business with them. If the applications don't work, the company cannot function.

Furthermore, Hidalgo Raya says mthat the biggest surprise was the benefit MDA gave them in the continual maintenance and upkeep of the systems. "I have only two business analysts working with me in the UML model. They have maintained the 10 systems we generated all by themselves. And because the migration to .NET is simple, we are looking forward to generating a new version of all our systems soon."

Case Study No. 2:
U.S. Government Agency Seeks
Rapid Application Development

A major U.S. government agency had already developed a project-focused, high-level vision of the agency's future capabilities, as well as four reusable software components and more planned. They wanted to accelerate progress in these areas, and to achieve business process management capabilities. The agency engaged a firm called M2VP to help make a transition to MDA that addressed business, technical, cultural, and process issues.

The agency wanted to exploit enterprise architecture and techniques for reuse to produce Architected rapid application development (ARAD) applications, while simultaneously evolving processes and technology across projects. They chose to employ MDA to improve consistency, quality, and agility in the delivery of business solutions, and in the management of people and systems, technology integration, and development of new applications. In other words, the agency wanted to be able to manage complexity, and to build systems "better, faster, cheaper."

How MDA Was Used

The pilot project chosen was a Web-based, self-service maintenance and tracking application for training and certification of agency personnel. The effort began with a seven-week MDA immersion program that covered MDA concepts and pragmatic approaches.

The agency chose Compuware's MDA tool suite, OptimalJ, as both the modeling tool and implementation platform. M2VP delivered "quick-start" OptimalJ training as well as a set of standards and guidelines that embody best practices.

The project involved seven agency personnel (project leader, integration leader, application development leader, architect, and three programmers), three M2VP consultants (project leader, architect, and modeler), and a Compuware consultant for advanced OptimalJ training. Consultant time totaled about 25 labor-days.

A five-phase process was used in the project:

Phase #1 was a one-week MDA readiness assessment; its activities included a review of business, technical, cultural, and process drivers, determination of how best to introduce MDA into the organization, and the delivery of an assessment report.

Phase #2 was a one-week MDA architecture review, with activities that included review of architecture and infrastructure, creation of an architectural foundation, and preparation/scoping of the pilot project.

Phase #3, less than a week, was MDA Transition Planning. Its activities included taking specifics from the assessment and architecture review and combining them with best practices to create a longer-term plan and a specific plan for the proof-of-concept (POC) project.

Phase #4 included one week of MDA seminars. Key activities included a half-day executive seminar covering the benefits of MDA and status of the project to that point, as well as a four-day technical seminar that covered both the application of MDA with OptimalJ and further consideration of project scope.

Phase #5, lasting about three weeks, was the MDA pilot project development, resulting in a POC application. Its activities included:

Determination of how to make MDA work on a subset of the pilot project;
Mentoring to ensure strong knowledge transfer and provide needed assistance;
Providing practical experience in the use of MDA.
Based on the project's technical requirements, a decision was made to utilize the following for the POC application:

A three-tier J2EE/Model-View-Controller framework for scalability
An Enterprise JavaBeans (EJB) business layer for reusability across systems. [EJB is a Java API developed by Sun Microsystems for writing reusable business logic and portable enterprise applications. It is the basis for J2EE.] A component-based, model-driven approach for fast turnaround and maintainability
The first week of Phase #5 (Design) was used to design use cases, model domain objects and system behavior (PIM), generate application models (PSMs), generate code, customize, and test the results. The second week (Construction) was used to implement business logic, refine models, and perform further testing. The third week (Deployment) was used to complete coding and testing, and to deploy the system. The consultants served as mentors rather than primary implementers, to make sure that agency developers became self-supporting in the use of the new MDA-based approach and tools.

Results and Benefits

Tangible benefits were delivered at every step of the process:

The assessment phase allowed the creation of customized MDA introductory material, which helped assure a friendly reception from management and programmers.
The architecture review phase allowed the incorporation of MDA into the existing architecture and provided documentation of that architecture. It also provided a forum for consideration of infrastructure and legacy system integration choices.
The planning phase included a general understanding of the plans by management and technologists, and definition of progress-tracking metrics. Benefits of the seminar phase included giving management an overview of MDA as well as a precise view of progress to date, and giving technical staff practical experience in applying MDA core concepts.
The development stage provided direct experience in using MDA to deliver business value and in dealing with client- and project-specific issues. It also provided reinforcement of concepts to provide strong retention of, and confidence in, MDA techniques. Technical benefits included the use of models and patterns to accelerate all aspects of application development, and the automatic translation of business models into working applications.
In this way, a functional project was delivered in just three weeks of development time. The agency incorporated the assessment and recommendations into a formal road map, and used industry-standard processes, tools, technology, best-practices — and their new-found experience — to evolve the organization toward an efficient solutions group.

"The agency recognized that they had to start with a small POC in order to introduce MDA to the organization, to gain experience in the use of MDA, and to create a tangible business benefit," explains M2VP President Viktor Ohnjec. "They were pleasantly surprised when they realized that the original project scoping was too small — they got more done, and realized even more business benefit than they had originally hoped for the POC."

The project team is aggressively undertaking more projects and more reusable components, and is rapidly gaining more experience in architecture, MDA, and OptimalJ. Mentors from M2VP stop by periodically to review progress and provide help, but the agency is succeeding on its own in getting more work done more efficiently.

Case Study No. 3:
An Aerospace Defense Flight Display and Control System

A major aerospace company in the defense industry needed to develop a complex multifunctional flight display and control system, whose development involved both systems teams and software teams scattered across several sites. This project was expected to deliver both short-term productivity benefits and ongoing strategic value. Project requirements included:

A tight schedule and budget restrictions
A mandate to follow a formal software development process in compliance with Capability Maturity Model Integration (CMMI)).
Adherence to various aerospace industry certification guidelines, such as the Safety Critical Framework (SCF), which is based on DO-178B and requires documentation of verification plans, artifacts, and structural coverage
Physical equipment certification by regulatory agencies, which includes associated software
The creation of an effective standard development process that spans both company and supplier sites
How MDA Was Used

The company had several reasons for choosing an MDA approach. First, they felt there was a communications gap between the systems and software teams, and they wanted to provide a common language (in this case, UML) that would lessen the chance of misunderstandings. Previously, each of these teams had different configuration management and development tools, and there was no common development framework, even for design efforts. Second, they wanted a design approach that allowed late feedback to be incorporated, and implementation and design artifacts to remain synchronized. Finally, the company was concerned about productivity and wanted to automate the coding process as much as possible.

However, not everyone in the company was sold on MDA, and this project was used as a test. They decided to use an MDA-based approach on only some modules, so they could compare the results of MDA-driven components with those developed in the traditional way.

The project captured requirements and architectural models (e.g., the PIM) in UML. UML is becoming a recognized aerospace industry standard and, as mentioned above, the company intended that UML would give everyone on the project — including the supplier base — a common vocabulary for discussing the system. In addition, the company used UML to specify both system and software requirements, and to allow system engineers to simulate models to ensure they work as intended before allocating them to a particular software component.

The company contracted with EmbeddedPlus to create the MDA-driven modules, the supporting models, and the runtime framework. A PSM and C++ framework was generated from the PIM, and this PSM was marked up for C++ code generation (allowing C++ code to be stored in the model) using an API available in the runtime framework. In turn, the PSM was used to generate platform-specific executables for two different systems — a COTS-supported operating system and a SCF-supported OS.

Results and Benefits

UML and MDA were critically important to the success of the project. UML succeeded in providing a common language, thus improving communication and reducing misunderstandings. UML also raised the level of abstraction to allow the focus to be on design rather than implementation. Automatic code generation then ensured that implementations did not deviate from the design.

The MDA-based tools provided a design environment that supported immediate feedback as well as validation of requirements. Automatic code generation provided productivity improvements, and the automated, integrated development and verification environment reduced requirement volatility. The generated code required a framework to "run on," so a framework version certified to conform to SCF/D0-178B was used. Code generation went well beyond providing a structural framework (for instance, the definition of the C++ class and methods) — it supported generation of behavioral code from UML state machines, including the details of the methods. In all, the client estimated that MDA resulted in a 30% reduction in traditional development costs, and most of this was caused by a dramatic decrease in defects and re-work in the MDA-based components.

According to Cory Bialowas of EmbeddedPlus, "Our client used the MDA approach and the EmbeddedPlus framework for a select set of components. Upon completion, those components had only 2% of the defect rate of other hand-coded components."

The immediate benefits realized through the use of UML and MDA on this project included:

Fewer resources required
Reduced re-work costs
Complete synchronization of code and design artifacts
Improved systems and software team communication, and shorter product delivery cycles.
Long-term/strategic benefits included:

Faster development of future applications
A development process that is standardized and enforced through automation
"Best practice" development techniques using UML and MDA as aerospace and IT industry standards
Increasing ROI as more projects utilize the technology
Ability to use the PIM for future system updates
In addition, the company now plans to automate the current MDA environment into a CMMI-compliant framework, which will give it an MDA environment that supports CMMI Infrastructure upgrades.

Case Study No. 4:
Financial Services Systems House

The company is a prime contractor, providing customized IT products and services to mid- to large-scale multisite customers (mostly in the financial services industry) — including infrastructure (hardware, software, training, and support), security systems, Internet services, and service/system integration. They have a single corporate office in which 35 to 40 people (a mix of employees and independent contractors) typically work.

Although the company had strong potential, it had been losing revenue each month and the executive team was unable to fix the problem. At that point, the company engaged Adaptive Team Collaboration, Inc. (ATC) to provide some new ideas. ATC suggested a three-month POC project to prove the value of its MDA-based approach, provide a "big picture" view, and make the company "immediately" profitable.

This case study differs from those preceding in that the company was unfamiliar with MDA and only considered an MDA approach after it was recommended by ATC, and only after unsuccessfully trying a more traditional approach with another consultant. Also, the POC modeled a set of business processes, not software applications. As a result, the POC involved limited software development — and no automated code generation. In essence, ATC and the company used MDA to give the executive team visibility into the business itself, allowing them to expose and address the source of their problems.

Ultimately, the MDA approach enabled the client to make timely, informed decisions and to understand critical organizational relationships. That's because the MDA process fully captured the elements and relationships within the various business processes in an integrated set of models, tracing from strategy and planning all the way through to implementation and maintenance.

As a result, the company rapidly gained new insights into critical-path operations, including visibility to the weakest (and missing) links. The identified pain points included inefficient resource (people) utilization, inconsistent and unproductive processes, and vendor and service management. These weaknesses resulted in poor customer service, eroded market share, declining profitability, high customer turnover, and high customer acquisition costs.

How MDA Was Used

Because the company is only beginning its adoption of MDA, and because their business problems were immediate and serious, they chose to proceed along two concurrent paths for the POC: 1) look for opportunities to implement quick wins, even if the fix is ad hoc in nature, and 2) follow up to formalize and rerestructure the fixes in the context of MDA, UML, service-oriented architecture (SOA), and object-oriented concepts. If successful, the POC would also set the stage for launching a three-year project to build out the architecture framework.

ATC and the company agreed to a three-month POC project where the client provided a total of six people for the project: three full-time (executive partners) and three part-time roles (leads from service development/delivery, operations, and sales/marketing). ATC provided one person (working both onsite and in "virtually present" mode) to lead the initial assessment, define and oversee the POC, and, towards the end of the POC, to initiate the three-year development and implementation of the organizational framework — focusing on enabling and managing a high-performance company. ATC worked with the company to jointly develop the approach and strategy, including use of UML notation, SOA, and MDA.

The identified POC focus areas and goals were:

Service offerings and vendor programs — to consolidate services/vendors and map them to business functions, capabilities, and events
Internal operations (roles, responsibilities, internal workflows) — to develop architectural models that identify capabilities and enable agile workflow realignment and distribution (separate roles and capabilities; map function and capability models)
Marketing/sales — to update the corporate image, sharpen market focus, and position and revise the sales compensation model
The initial assessment helped identify and prioritize the POC goals and strategy. Following the assessment, ATC developed the computational-independent model (CIM) for the organization based on industry standards and customized for the client. This preliminary model depicted a black-box view of the company and its external elements and relationships.

Armed with insights from this model, MDA and service-oriented techniques were applied to create PIMs of the company's functions and capabilities; these enabled the classification and ranking of services and vendors as well as the realignment and distribution of internal workflows. These models provided the internal operations views, complete organizational traceability, and a cost-benefit analysis mechanism. Collectively they represent the logical business views used to interpret and manage the organization. The automated generation of PSMs, which was not part of the POC focus, is included in the three-year plan.

The PIM models also allowed the client to identify critical paths and to focus on specific trouble spots that contributed to the negative cash flow — and more importantly, to understand the cause-and-effect relationships and ensure effective horizontal and vertical repairs within the organization.

The POC's success gave the company breathing space, and they are now eager to pursue longer-range MDA goals that answer what has become a driving question for this organization: "Do we clearly understand the combination of business functions and capability sets (differentiators) necessary to maximize the company's value?" The POC has also demonstrated the type of added value an emerging high-performance company gains by applying "MDA-systematic rigor."

Results and Benefits

Even this early in the process, the CEO is impressed: "MDA gave us a new way of looking at the business ? it changed the way we do our planning and management. The benefits have propagated all the way down to implementation with noticeable bottom-line results."

The company is now better positioned to understand and profit from MDA concepts. By keeping business models separate from system design, and system design separate from implementation, they can extend their models' useful lifetime, enable earlier simulation, execution, feedback, and validation of system designs, and make platform-specific transitions/versioning easier and more profitable.

They also appreciate the combined MDA/SOA benefits and are realizing results as they connect their new business models (functions and capabilities) to implementation models (software and infrastructure), refine their traceability strategy, and calculate realized business value from the needs and costs data. They will continue to use UML as their modeling notation for the continued benefit of easier connections between models, automated PSM generation, and system simulation ? a faster, cheaper approach for both portfolio management and application development.

In addition to developing its architecture, the client plans to exploit its mature financial/accounting system as a core element of its business intelligence system, which will position the organization to take advantage of both new technology and improved business agility. The client's financial/accounting system was also used to track POC benefits and ROI (results below represent the first two months):

A 27% improvement in productivity, thanks to an improved management decision-making process, consolidated organizational data, a new approach to cost/benefit analysis, realignment of roles and responsibilities, and a new tracking system for service calls
A 48% increase in revenue, thanks to updated (dropped, added, or realigned) services and products, a restructured vendor program, an improved invoicing system, new investment opportunities, targeted marketing, and realigned corporate positioning
A 22% reduction in operating costs, due to more efficient utilization of resources, a restructuring of the employee compensation plan, a newly developed, integrated call center application, and simplified internal workflows that resulted in lower cost of sales and service calls/repairs
The client was so happy with the POC's MDA benefits that they are now actively considering the use of MDA to drive customer projects.

The productivity gains realized in the four case histories cited here make a case for the platform-independent approach to software development represented by the OMG's MDA.

Case History Capsules
Project Consultant Product
Real Estate and Construction Industry Integration Project SOSY, Inc., a subsidiary of CHG Group and the U.S. arm of CARE Technologies, providing application consulting, implementation, integration and training services
OlivaNova Model Execution System, which supports the capture of business logic and model-driven code generation entire applications in Visual Basic, Java, C# or Cold Fusion

Self-service application for training and certification of personnel

M2VP, a professional services organization that promotes customer success by way of enterprise architecture, MDA and business modeling.

Compuware’s OptimalJ modeling tool and J2EE development platform

Multifunctional flight display and control system

EmbeddedPlus provides tools services for software development, particularly embedded and realtime systems. The firm is extending its recognized expertise in safety-critical software by bringing MDA and software modeling solutions to aerospace.

Rhapsody from I-Logix, a model-driven development environment based on UML 2.0 and SysML that provides generation of code (C, C++, Java, and Ada), documents, and tests.
Business
Restructuring

Adaptive Team Collaboration, Inc. (not affiliated with Adaptive, Inc.), a professional services company supporting both business and software development.

Sparx Enterprise Architect (for model capture)
Source: Michael Guttman and John Parodi
Michael Guttman is an independent IT consultant and director of the Object Management Group's MDA FastStart program. Over the course of his career, Guttman has completed dozens of major projects in the areas of business and IT strategy, and enterprise architecture. He can be reached at michael@guttman.net.

John Parodi is an independent consultant in software technical communication. He has more than 20 years of IT experience in the areas of middleware, enterprise integration, security, software architecture and development methodologies. He can be reached at JPTechDocs@metrocast.net.