The value of modeling
|
|
|
- Grant Singleton
- 10 years ago
- Views:
Transcription
1 The value of modeling Level: Introductory Gary Cernosek, Marketing Manager, IBM Rational Eric Naiburg, Group Market Manager Desktop Products, IBM Rational 15 Nov 2004 from The Rational Edge: This article discusses how modeling can help development teams manage complexity and enable communication, design, and assessment for requirements, architectures, software, and systems. In addition to explaining how to use models productively throughout the software development lifecycle, it looks at trends affecting the future of modeling. For many years, business analysts, engineers, scientists, and other professionals who build complex structures or systems have been creating models of what they build. Sometimes the models are physical, such as scale mock-ups of airplanes, houses, or automobiles. Sometimes the models are less tangible, as is true for financial models, market trading simulations, and electrical circuit diagrams, for example. In all cases, the model is an abstraction -- an approximate representation of the real item to be built. What is modeling s main value? Modeling allows you to visualize entire systems, assess different options, and communicate designs before you take on the risks associated with actually building something. This article elaborates on the benefits of modeling, explaining how it can help development organizations manage complexity in architecting both individual applications and the context in which they must operate. It concludes with a look at industry trends that underscore the demand for modeling. Contents: What should you model? Why model software? Why some developers choose not to model software When should you model? Why use UML? Trends and the future of modeling Conclusion About the authors Rate this article Subscriptions: dw newsletters dw Subscription (CDs and downloads) The Rational Edge What should you model? Should you model everything before you build it? Absolutely not. You probably don t need a model to create things such as a simple checkbook register, a currency conversion utility, a doghouse, or a simple macro to open frequently used word processor files. Such projects share all or most of the following characteristics: The problem domain is well known. The solution is relatively easy to construct. Very few people need to collaborate to build or use the solution (often only one person is involved). The solution requires minimal ongoing maintenance. The scope of future needs is unlikely to grow substantially. If your project has none of these characteristics, then modeling might be in order. It is neither technically wise nor economically practical to build certain kinds of complex systems without first creating a design, a blueprint, or another abstract representation. Although most professional architects might build a doghouse without a design diagram, they would never construct a fifteenstory office building without first developing an array of architectural plans, diagrams, and mock-ups to help themselves and others visualize the structure. Modeling helps architects visualize entire systems, assess different options, and communicate designs before they and their clients take on the risks -- technical, financial, and more -- of actual construction. Why model software?
2 When computers first appeared, software development projects fit the criteria in the bulleted list above. While not being a trivial effort, the amount and complexity of code in early systems was manageable by informal means. By its very nature, software can be easily created and easily changed. It requires little capital equipment and incurs virtually no manufacturing costs. These attributes cultivated a do-it-yourself culture among developers. "All I have to do is imagine it, build it, and change it as often as necessary," they thought. "There is no 'final' system anyway, so why even try to conceive of one before writing code?" This is not a good way to approach today s software systems, which have become very complex. In many cases, developers must integrate them with other systems to run the machines we use in our everyday lives. Automobiles, for example, are now heavily equipped with computers and associated software to control everything from the engine and cruise control to new onboard navigation and communication systems. Developers also build software to automate business processes of all kinds -- both those in the back office and those that customers see and experience. Software systems that support important health-related or property-related functions are necessarily complex to develop, test, and maintain. And some systems are critical to businesses. In many organizations, software development is no longer a cost-center overhead line item it is an integral part of the company s strategic business processes. For those companies, software has become a key discriminator for competing in the marketplace. To build these complex systems, developers need a better understanding of what they are building. Modeling provides that. But it must not slow things down. Customers and business users still expect software to be delivered on time and to perform as expected on demand. To meet these "fast and good" expectations, software developers can follow four imperatives: Develop iteratively, focus on architecture, continuously ensure quality, and manage change and assets. Modeling is an integral part of all four imperatives. It enables developers to: Create and communicate software designs before the organization commits additional resources. Trace the design back to the requirements, helping to ensure that the project team is building the right system. Practice iterative development, using models and other abstraction techniques to facilitate quick and frequent changes. Why some developers choose not to model software Despite the many reasons and virtues behind modeling, a great majority of software developers still do not employ a form of abstraction higher than that of source code. Why? As we noted earlier, sometimes the problem does not warrant one. Again, if you are building a doghouse, you do not need to hire an architect or contract a builder to produce a set of design specifications. But in the world of software, systems that are simple when first implemented often become increasingly complex as developers make changes in response to new requirements or to integrate with other systems. In other cases, developers choose not to model simply because they do not perceive a need for it -- until it is much too late. Many experts argue that the resistance to modeling software is more cultural than anything else. Traditional programmers are very proficient at conventional coding techniques. Even when the complexity level rises unexpectedly, programmers are comfortable sticking with their integrated development environment (IDE) and debugger and simply working more hours on the problem. Why? Because modeling requires additional training and tools, and corresponding investments in time, money, and effort early in a project s development lifecycle. Traditional developers are typically eager to begin coding and believe that modeling will slow them down. In the next section, we will attempt to dispel this notion. When should you model? Broadly speaking, modeling complex applications can help software development organizations to: Better understand the current state of the business or technical infrastructure ("as-is" model) and craft a solution that directly addresses current business or technical needs ("to-be" model). Build and design an efficient system architecture. Create visualizations of code and other forms of implementation that enable better communication among all project team members. However, it is important to remember that modeling is not an all-or-nothing proposition. Software development organizations can pick and choose where to use models in the software
3 development process, as shown in Figure 1. We will examine each of these modeling opportunities below. Figure 1. A spectrum of times, places, and ways to model Conventional coding An organization s IDE is a logical entry point for the practice of model-driven development because modern IDEs already offer tools that raise the abstraction level for creating and maintaining code: language-sensitive editors, wizards, form builders, and other GUI controls. Like models, these tools help developers to be more productive, create more reliable code, and institute a more effective maintenance process. Code visualization and visual editing Modeling goes a step beyond the basic IDE functions by allowing developers to visualize source code in graphical form. Many agree that a picture is worth a thousand lines of code. That is why most developers already use a form of modeling: graphical abstractions such as traditional flow charts to depict algorithmic control flows and structure charts or simple block diagrams with boxes representing functions and subprograms, arrows indicating calling dependencies; and so on. In object-oriented software development, boxes typically denote classes, and lines between boxes denote relationships between those classes. Coupled closely with these methods of visualizing code is visual editing, which allows developers to edit the code through diagrams instead of through conventional IDE text windows. Visual editing is well suited for changes that have systemic effects on other pieces of code. For example, in an object-oriented system with a set of classes related in an inheritance hierarchy, certain features of the classes (field members, methods, or functions) may need to be reorganized into different classes (a form of refactoring) as the application evolves. Using conventional code editors to enact such changes can be tedious and error-prone. But an effective visual editor allows developers to, for example, drag and drop a member function from one class to its base class and automatically adjust all code affected by that change.
4 Although some may argue that a set of diagrams does not constitute a "model," the essence of modeling is abstraction, and any form of code visualization is also an abstraction. Like models, diagrams selectively expose certain information while suppressing lower-level details. However, some practitioners prefer to use terms such as code model, implementation model, or platformspecific model (PSM) to distinguish such abstractions from higher-level models that do not have such direct relationships to code. Modeling and model-driven development A more advanced form of model-driven development involves creating models through a methodological process that begins with requirements and delves into high-level architectural design. These initial models are one or more levels removed from code or other implementation technologies. Developers then create a detailed design model from which skeletal code can be generated to an IDE, which developers then use to do more granular coding. Any coding changes they make that affect the design model are synchronized back into the model; any model changes are synchronized into the existing code. Legacy integration When developers are charged with integrating disparate systems whether the systems are all legacy or a mix of legacy and new they must first understand those systems architectures. In addition, to prioritize the integration projects and activities, they must also understand how the business wants the systems to interact. Modeling legacy systems does not necessarily require depicting all components of all systems; developers need just enough information to understand how the architectures work and interface with one another. Understanding what the system does and what other software depends on it will help the team determine what steps to take for the integration and in what order. Developers use several methods to model legacy systems. They can reverse-engineer code into models to understand the systems, manually model them, or use a combination approach. Whatever method they choose, adopting a standard notation such as the Unified Modeling Language, or UML, is a necessary step for communicating what they learn about these systems and for effective model-driven development. We will discuss this in greater detail below. Rapid application development The practice of rapid application development has been around since the early 1980s. Its purpose is simply to provide highly productive ways to generate and maintain code. The practice is based on easy-to-use, highly graphical programming features found in advanced IDEs. Rapid application development, in contrast to both code-centric and model-driven development, raises the abstraction level above the code, but it does not use models per se. Business modeling and model execution Aside from developing specific software systems, business and engineering analysts often find it useful to create "as-is" models of how their systems work today. From that model, they can then analyze what works and what needs improvement. With special-purpose tools, they can also examine the model along several key variables, such as time, cost, and resources. This yields information to create "to-be" models that prescribe how new, improved processes should work. Typically, new software development is needed to implement the new processes, and the "to-be" models can guide that development. In some application domains, the "to-be" models are specified in enough detail to generate complete applications from the models. Modeling at this level of abstraction offers the highest degree of automation in the development process, resulting in very high productivity and leaving less chance for implementation errors. This level of model-driven development further helps to ensure that the systems you create will truly satisfy the most important business and/or engineering needs. Why use UML? The software industry has adopted the UML as a standard for representing software models and related artifacts. Software architects, designers, and developers use UML for specifying, visualizing, constructing, and documenting all aspects of a software system. Key leaders from IBM Rational led the original development of UML, which is currently managed by the Object Management Group (OMG). Through that organization, representatives from around the world help ensure that the specification continues to meet the software community s dynamic needs. Adopting the UML is an important step in taking a model-driven approach to software development because UML is more than just a standard notation system; it is actually a modeling language. It defines syntax (both graphical and textual) and semantics (the underlying meanings of the symbols and text). Standardizing on UML can help organizations ensure that their automated tools will all recognize the same symbols and enforce the rules behind them. In turn, that ensures that models will be consistent across the organization and understandable to all.
5 Trends and the future of modeling Ask any software development professional, "Where is the software industry heading?" and you re likely to conclude some version of the following statement: Software development continues to grow in complexity, and developers must work at increasingly higher levels of abstraction to cope with this complexity. Modeling software is -- and will continue to be -- a key method that developers use to work at a high level of abstraction. The following specific trends are noteworthy at this time. Meta modeling. UML has traditionally provided a graphical means for depicting software artifacts, and developers still use it primarily for this purpose. However, there is a growing trend toward modeling "under the hood" through meta-modeling -- creating "models of models." The most evident and practical application of meta-modeling is reflected in UML Version 2, which provides a foundation for automated tools to share data and interoperate with one another. This applies not only to modeling tools but also to tools for requirements management, compilers, testing, configuration management, and other aspects of the software development lifecycle. An underlying meta-model, as specified in UML 2 and its associated modeling standards, provides a way to improve integration among all of these areas. Unifying software, data, and business modeling. This article has focused primarily on the value of modeling software, but we should remember that organizations have recognized the value of data modeling and business modeling for a long time. The problem is that the modeling and languages and tools these disciplines use are typically worlds apart. However, there is now a promising prospect for unifying these separate disciplines, not necessarily with a single modeling language or tool, but through a combination of multiple, open, converging industry standards. Modeling across the lifecycle. As standards continue to evolve, modeling will become applicable to an even broader range of activities across the software development lifecycle. It is already driving testing and other quality assurance activities earlier in the lifecycle. And as business modeling becomes more standardized and integrated with data and software, a business-driven development discipline will likely emerge. Domain-specific modeling languages. As we saw in Figure 1, modeling is useful for a wide spectrum of domains and activities, some of which are unrelated to coding. At the highest level of abstraction, a business or domain model focuses not on software, but instead on the nature of the problem under consideration; the model should use terms and icons familiar to the people in that particular business area. Development organizations for some businesses are adopting domain-specific languages special-purpose modeling languages dedicated to their respective area of use. However, most development organizations extend a general-purpose modeling language UML, in particular to meet their domain-specific modeling needs, using built-in extensions such as profiles. Both approaches deliver on modeling s inherent value: to provide abstractions for specifying problems and solutions in a more productive and effective manner. The business of software development. Many have called software development a "team sport." In fact, it is now an "international team sport." With today s technology, software development has no geographical boundaries, and it will likely grow increasingly distributed and global. Modeling and other higher forms of abstraction will be crucial for helping practitioners handle the associated complexity. Model-Driven Architecture (MDA): The next step. MDA is an initiative led by the Object Management Group. While still in its early-adopter stage, MDA is considered to be the next logical step in the evolution of modeling and model-driven development technologies. Based on the UML and related standards, MDA focuses on defining models at varying levels of abstraction and on the transformations they define. Automated tool support is crucial to the evolution and successful application of MDA. Conclusion The purpose of this article was to define modeling in the most fundamental way and to emphasize the value in applying modeling to software development. Modeling is about thinking and working at higher levels of abstraction. These are tried-and-true techniques that have proven successful for many years across all forms of engineering and technical disciplines. Model-driven forms of software development have already proven effective for the more advanced and progressive organizations in the software industry. Based on the ever-growing complexity of modern software systems, and on several other trends discussed in this paper, we believe that the time has come for modeling to enter the mainstream of the software development community.
6 If you are interested in learning more about how IBM embraces and supports modeling and model-driven development, check the IBM Rational Website at About the authors Gary Cernosek is currently a market manager for the Rational software brand within IBM Software Group. He is responsible for analyzing and responding to software development market trends, with a focus on software design and development technology, particularly in the visual modeling and model-driven development areas. Previously, he held positions in Rational field sales, field technical training, and customer consulting. Prior to joining Rational, he worked as a software developer in the NASA community on space shuttle and space station systems for more than eight years. He holds a B.S. in electrical engineering from the University of Texas at Austin and an M.S. in computer system design from the University of Houston at Clear Lake, where he concentrated on object-oriented software engineering. Eric Naiburg is group market manager of desktop products for IBM Rational Software. He is responsible for market strategy, planning and messaging around Rational s desktop products including XDE, WebSphere Studio, Rational s testing solutions and more. Prior to his current position, he was manager of product management, focusing on the IBM Rational Rose and IBM Rational XDE product lines. His focus was to extend the ability of Rational s products to support database design and e-business solutions within the visual modeling tools space and the UML. Eric Naiburg came to Rational from Logic Works Inc., where he was product manager for ERwin and ModelMart.
The Value of Modeling
A technical discussion of software modeling June 2004 The Value of Modeling Gary Cernosek IBM Rational Software Design and Construction Products IBM Software Group Eric Naiburg IBM Rational Desktop Products
Course 4 27 October 2014. Adrian Iftene [email protected]
Course 4 27 October 2014 Adrian Iftene [email protected] They will not be considered in the maximum values of the laboratory The presentation of the context and of these solutions in the course can
Business Process Modeling and Standardization
Business Modeling and Standardization Antoine Lonjon Chief Architect MEGA Content Introduction Business : One Word, Multiple Arenas of Application Criteria for a Business Modeling Standard State of the
Chap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
Business-Driven Software Engineering Lecture 3 Foundations of Processes
Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster [email protected] Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary
The role of integrated requirements management in software delivery.
Software development White paper October 2007 The role of integrated requirements Jim Heumann, requirements evangelist, IBM Rational 2 Contents 2 Introduction 2 What is integrated requirements management?
Chapter 13: Program Development and Programming Languages
15 th Edition Understanding Computers Today and Tomorrow Comprehensive Chapter 13: Program Development and Programming Languages Deborah Morley Charles S. Parker Copyright 2015 Cengage Learning Learning
SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation
Technical Brief April 2011 The National Consortium for Justice Information and Statistics Model-driven Development of NIEM Information Exchange Package Documentation By Andrew Owen and Scott Came Since
Applying Agile Methods in Rapidly Changing Environments
Applying Agile Methods in Changing Environments 7/23/2002 1 Applying Agile Methods in Rapidly Changing Environments Peter Kutschera IBM Unternehmensberatung GmbH Am Fichtenberg 1, D-71803 Herrenberg Steffen
A Software Development Platform for SOA
A Software Development Platform for SOA Peter Eeles Executive IT Architect Rational Brand Architect for UK, Ireland and South Africa [email protected] 2004 IBM Corporation Agenda IBM Software Group
Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1
The Role of Programming in Informatics Curricula A. J. Cowling Department of Computer Science University of Sheffield Structure of Presentation Introduction The problem, and the key concepts. Dimensions
UML Profiling Comes of Age Realizing the Potential of Domain-Specific Modeling
UML Profiling Comes of Age Realizing the Potential of Domain-Specific Modeling PATHS TO DOMAIN-SPECIFIC MODELING... 1 UML PROFILING... 2 The Origin of the UML Profiling Specifications... 2 The Vision...
MDE Adoption in Industry: Challenges and Success Criteria
MDE Adoption in Industry: Challenges and Success Criteria Parastoo Mohagheghi 1, Miguel A. Fernandez 2, Juan A. Martell 2, Mathias Fritzsche 3 and Wasif Gilani 3 1 SINTEF, P.O.Box 124-Blindern, N-0314
MDA Journal A BPT COLUMN. David S. Frankel. Introduction. May 2004
Introduction MDA Journal May 2004 At the end of 2002, with the computer industry reeling amidst the near total shutdown in corporate IT spending, IBM was rather quietly continuing its long standing program
UML for the C programming language.
Functional-based modeling White paper June 2009 UML for the C programming language. Bruce Powel Douglass, PhD, IBM Page 2 Contents 2 Executive summary 3 FunctionalC UML profile 4 Functional development
The leading platform for Model Driven Architecture (MDA) Content:
The leading platform for Model Driven Architecture (MDA) Content: Models Made for Business... 2 ArcStyler Overview... 2 Main Benefits... 3 ArcStyler Editions... 4 ArcStyler Modules and Tool Architecture...
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
Global Delivery Excellence Best Practices for Improving Software Process and Tools Adoption. Sunil Shah Technical Lead IBM Rational
Global Delivery Excellence Best Practices for Improving Software Process and Tools Adoption Sunil Shah Technical Lead IBM Rational Agenda Organization s Challenges from a Delivery Perspective Introduction
1-04-10 Configuration Management: An Object-Based Method Barbara Dumas
1-04-10 Configuration Management: An Object-Based Method Barbara Dumas Payoff Configuration management (CM) helps an organization maintain an inventory of its software assets. In traditional CM systems,
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
UML basics: An introduction to the Unified Modeling Language
Copyright Rational Software 2003 http://www.therationaledge.com/content/jun_03/f_umlintro_db.jsp UML basics: An introduction to the Unified Modeling Language by Donald Bell IBM Global Services Way back
Domain modeling: Leveraging the heart of RUP for straight through processing
Copyright Rational Software 2003 http://www.therationaledge.com/content/jun_03/t_domainmodeling_rm.jsp Domain modeling: Leveraging the heart of RUP for straight through processing by Richard Menard Vice
Foundations of Model-Driven Software Engineering
Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster ([email protected]) Contents Introduction to Models and Modeling Concepts of Model-Driven Software
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
Realizing business flexibility through integrated SOA policy management.
SOA policy management White paper April 2009 Realizing business flexibility through integrated How integrated management supports business flexibility, consistency and accountability John Falkl, distinguished
SOA Enabled Workflow Modernization
Abstract Vitaly Khusidman Workflow Modernization is a case of Architecture Driven Modernization (ADM) and follows ADM Horseshoe Lifecycle. This paper explains how workflow modernization fits into the ADM
Basic Unified Process: A Process for Small and Agile Projects
Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.
Done. Imagine it. c Consulting. c Systems Integration. c Outsourcing. c Infrastructure. c Server Technology.
WHITE PAPER. Model-Driven Application Development with Agile Business Suite Alan Hood Unisys Systems and Technology Agility your survival depends on it. Agile organizations react swiftly to changing market
TDDC88 Lab 2 Unified Modeling Language (UML)
TDDC88 Lab 2 Unified Modeling Language (UML) Introduction What is UML? Unified Modeling Language (UML) is a collection of graphical notations, which are defined using a single meta-model. UML can be used
What is a programming language?
Overview Introduction Motivation Why study programming languages? Some key concepts What is a programming language? Artificial language" Computers" Programs" Syntax" Semantics" What is a programming language?...there
Chapter 13: Program Development and Programming Languages
Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented
F-16 Modular Mission Computer Application Software
F-16 Modular Mission Computer Application Software Achieving Cross-Platform Compatibility with Increased Productivity and Quality using the OMG s Model Driven Architecture Lauren E. Clark Chief Engineer
Basic Trends of Modern Software Development
DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering
Business Analyst Interview Questions And Answers
Business Analyst Interview Questions And Answers What Does A Business Analyst Do 2013 All Rights Reserved http://www.whatdoesabusinessanalystdo.com (1) Question: Tell me the importance of a flow chart?
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) CLOUD COMPUTING TOOLBOX MODEL LANGUAGE SPECIFICATIONS
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 CLOUD COMPUTING TOOLBOX MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework (SOMF)...
CHAPTER 2 LITERATURE SURVEY
CHAPTER 2 LITERATURE SURVEY This chapter describes the survey of existing literature on multiple views. Later, it presents literature survey conducted on frameworks for tool comparison and stakeholder
Improving Software Development Economics Part II: Reducing Software Product Complexity and Improving Software Processes
Improving Software Development Economics Part II: Reducing Software Product Complexity and Improving Software Processes by Walker Royce Vice President and General Manager Strategic Services Rational Software
Developing in the MDA Object Management Group Page 1
Developing in OMG s New -Driven Architecture Jon Siegel Director, Technology Transfer Object Management Group In this paper, we re going to describe the application development process supported by OMG
Data Modeling Basics
Information Technology Standard Commonwealth of Pennsylvania Governor's Office of Administration/Office for Information Technology STD Number: STD-INF003B STD Title: Data Modeling Basics Issued by: Deputy
Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development
Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development Ahmet Demir Technische Universität München Department of Informatics Munich, Germany [email protected]
Software Engineering. System Modeling
Software Engineering System Modeling 1 System modeling System modeling is the process of developing abstract models of a system, with each model presenting a different view or perspective of that system.
Model-driven development solutions To support your business objectives. IBM Rational Rhapsody edition comparison matrix
Model-driven development solutions To support your business objectives IBM Rhapsody edition comparison matrix IBM Rhapsody 7.5 edition: capabilities and comparisons The enclosed table compares the capabilities
Agile Modeling and Design of Service-Oriented Component Architecture
Agile Modeling and Design of Service-Oriented Component Architecture Zoran Stojanovic, Ajantha Dahanayake, Henk Sol Systems Engineering Group, Faculty of Technology, Policy and Management, Delft University
Embedded Software Development with MPS
Embedded Software Development with MPS Markus Voelter independent/itemis The Limitations of C and Modeling Tools Embedded software is usually implemented in C. The language is relatively close to the hardware,
Masters of Science in Software & Information Systems
Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Object Oriented Design Table of Contents January
Dr. Jana Koehler IBM Zurich Research Laboratory
Precise Modeling of Business Processes with the Business Process Modeling Notation BPMN 2.0 Dr. Jana Koehler IBM Zurich Research Laboratory ZRL BIT at a Glance Computer Science at ZRL: Security/Cryptography
RUP iteration planning
Page 1 of 13 Copyright IBM Corporation 2004. http://www-106.ibm.com/developerworks/rational/library/5335.html Search for: within All of dw Use + - ( ) " " Search help IBM home Products & services Support
Understanding the IEC61131-3 Programming Languages
profile Drive & Control Technical Article Understanding the IEC61131-3 Programming Languages It was about 120 years ago when Mark Twain used the phrase more than one way to skin a cat. In the world of
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework
Source Code Translation
Source Code Translation Everyone who writes computer software eventually faces the requirement of converting a large code base from one programming language to another. That requirement is sometimes driven
Surveying and evaluating tools for managing processes for software intensive systems
Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB
NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0
NASCIO EA Development Tool-Kit Solution Architecture Version 3.0 October 2004 TABLE OF CONTENTS SOLUTION ARCHITECTURE...1 Introduction...1 Benefits...3 Link to Implementation Planning...4 Definitions...5
From Business World to Software World: Deriving Class Diagrams from Business Process Models
From Business World to Software World: Deriving Class Diagrams from Business Process Models WARARAT RUNGWORAWUT 1 AND TWITTIE SENIVONGSE 2 Department of Computer Engineering, Chulalongkorn University 254
Information systems modelling UML and service description languages
Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and service description languages Student Contact Hours: 25.02.2015- Location: 325 C3 room 25.03.2015:
CHAPTER 11 REQUIREMENTS
Lecture Software Engineering CHAPTER 11 REQUIREMENTS Lecture Software Engineering Topics Determining What the Client Needs Overview of the Requirements Workflow Understanding the Domain The Business Model
WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT
WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT CONTENTS 1. THE NEED FOR DATA GOVERNANCE... 2 2. DATA GOVERNANCE... 2 2.1. Definition... 2 2.2. Responsibilities... 3 3. ACTIVITIES... 6 4. THE
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
Five best practices for deploying a successful service-oriented architecture
IBM Global Services April 2008 Five best practices for deploying a successful service-oriented architecture Leveraging lessons learned from the IBM Academy of Technology Executive Summary Today s innovative
Model Simulation in Rational Software Architect: Business Process Simulation
Model Simulation in Rational Software Architect: Business Process Simulation Mattias Mohlin Senior Software Architect IBM The BPMN (Business Process Model and Notation) is the industry standard notation
Electronic Healthcare Design and Development
Electronic Healthcare Design and Development Background The goal of this project is to design and develop a course on Electronic Healthcare Design and Development using Unified Modeling Language (UML)
Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when
The Rap on RUP : An Introduction to the Rational Unified Process
The Rap on RUP : An Introduction to the Rational Unified Process Jeff Jacobs Jeffrey Jacobs & Associates phone: 650.571.7092 email: [email protected] http://www.jeffreyjacobs.com Survey Does your
A new approach to automotive electric/electronic engineering life-cycle management
IBM Software Automotive A new approach to automotive electric/electronic engineering life-cycle management Managing engineering data and processes using a single source of truth 2 A new approach to automotive
Sistemi ICT per il Business Networking
Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking Software Development Processes Docente: Vito Morreale ([email protected]) 17 October 2006 1 The essence of
Model-Driven Development: A Metamodeling Foundation
Model-Driven Development: A Metamodeling Foundation Colin Atkinson University of Mannheim 68161 Mannheim, Germany [email protected] Thomas Kühne Darmstadt University of Technology 64283
Enabling Better Business Intelligence and Information Architecture With SAP PowerDesigner Software
SAP Technology Enabling Better Business Intelligence and Information Architecture With SAP PowerDesigner Software Table of Contents 4 Seeing the Big Picture with a 360-Degree View Gaining Efficiencies
Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti
Software Engineering Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical
IBM Rational systems and software solutions for the medical device industry
IBM Software August 2011 IBM Rational systems and software solutions for the medical device industry Improve processes, manage IEC 61508 and IEC 62304 standards, develop quality products Highlights Manage
Architecture Artifacts Vs Application Development Artifacts
Architecture Artifacts Vs Application Development Artifacts By John A. Zachman Copyright 2000 Zachman International All of a sudden, I have been encountering a lot of confusion between Enterprise Architecture
Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations
CHROME: A Model-Driven Component- Based Rule Engine Jairson Vitorino PhD Thesis, CIn-UFPE February 2009 Supervisor: Prof. Jacques Robin Ontologies Reasoning Components Agents Simulations Contents 1. Context
Requirements Definition and Management Processes
Software Engineering G22.2440-001 Session 1 Sub-Topic 1 Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute
How can I manage all automation software tasks in one engineering environment?
How can I manage all automation software tasks in one engineering environment? With Totally Integrated Automation Portal: One integrated engineering framework for all your automation tasks. Answers for
Getting Embedded C Applications to Market Faster using the Model-Driven Development Technologies of Modeling, Simulation and Code Generation
UML for C Developers Getting Embedded C Applications to Market Faster using the Model-Driven Development Technologies of Modeling, Simulation and Code Generation Jerome L. Krasner, Ph.D. April 2005 EMBEDDED
Process Modeling using BPMN 2.0
Process Modeling using BPMN 2.0 This chapter provides a brief overview of Business Process Modeling Notation (BPMN) concepts with particular emphasis on the BPMN 2.0 additions. In addition, it describes
Tools for MDA Software Development: Evaluation Criteria and Set of Desirable Features
Fifth International Conference on Information Technology: New Generations Tools for MDA Software Development: Evaluation Criteria and Set of Desirable Features Tihomir Calic, Sergiu Dascalu, Dwight Egbert
Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)
Principles of integrated software development environments Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Learning Objectives Be able to define the
Revel8or: Model Driven Capacity Planning Tool Suite
Revel8or: Model Driven Capacity Planning Tool Suite Liming Zhu 1,2, Yan Liu 1,2, Ngoc Bao Bui 1,2,Ian Gorton 3 1 Empirical Software Engineering Program, National ICT Australia Ltd. 2 School of Computer
Service Oriented Architectures Using DoDAF1
1 Service Oriented Architectures Using DoDAF1 Huei-Wan Ang, Fatma Dandashi, Michael McFarren The Mitre Corporation The MITRE Corp. 7515 Colshire Dr. McLean, VA 22102 hwang(at)mitre.org, dandashi(at)mitre.org,
Formally speaking: How to apply OCL
Page 1 of 6 Copyright IBM Corporation 2004 http://www-106.ibm.com/developerworks/rational/library/5390.html Search for: within All of dw Use + - ( ) " " Search help IBM home Products & services Support
The 7 Attributes of a Good Software Configuration Management System
Software Development Best Practices The 7 Attributes of a Good Software Configuration Management System Robert Kennedy IBM Rational software Benefits of Business Driven Development GOVERNANCE DASHBOARD
Linear Motion and Assembly Technologies Pneumatics Service. Understanding the IEC61131-3 Programming Languages
Electric Drives and Controls Hydraulics Linear Motion and Assembly Technologies Pneumatics Service profile Drive & Control Understanding the IEC61131-3 Programming Languages It was about 120 years ago
SOMA, RUP and RMC: the right combination for Service Oriented Architecture
SOMA, RUP and RMC: the right combination for Service Oriented Architecture WebSphere User Group, Bedfont, 4th March, 2008 Keith Mantell Senior Solution Architect IBM Rational [email protected] March
Automatic Generation Between UML and Code. Fande Kong and Liang Zhang Computer Science department
Automatic Generation Between UML and Code Fande Kong and Liang Zhang Computer Science department Outline The motivation why we need to do the generation between the UML and code. What other people have
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
Designing a Semantic Repository
Designing a Semantic Repository Integrating architectures for reuse and integration Overview Cory Casanave Cory-c (at) modeldriven.org ModelDriven.org May 2007 The Semantic Metadata infrastructure will
Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS
Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS In order to ease the burden of application lifecycle management,
Business Process Management Enabled by SOA
Business Process Management Enabled by SOA Jyväskylä 8.5.2007 Kimmo Kaskikallio IT Architect IBM Software Brands Five middleware product lines designed to work together Service-Oriented Architecture (SOA)
today 1,700 special programming languages used to communicate in over 700 application areas.
today 1,700 special programming languages used to communicate in over 700 application areas. Computer Software Issues, an American Mathematical Association Prospectus, July 1965, quoted in P. J. Landin
Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming
Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Java has become enormously popular. Java s rapid rise and wide acceptance can be traced to its design
Competencies for Secondary Teachers: Computer Science, Grades 4-12
1. Computational Thinking CSTA: Comp. Thinking 1.1 The ability to use the basic steps in algorithmic problemsolving to design solutions (e.g., problem statement and exploration, examination of sample instances,
