rhapsody software
Post on 12-May-2015
2.273 Views
Preview:
TRANSCRIPT
®
IBM Software Group
© 2008 IBM Corporation
Improving software development with Telelogic Rhapsody
IBM Software Group | Rational software
2
Systems and software lifecycle management
Requirementsdefinition andmanagement
Analysis and design
Quality management
Release management
Construction
Configuration and change mgmt
Asset management and
reuse
Production
Enterprise architecture/architectural frameworks
Measurement andreporting
Product portfolio management
System lifecycle process management
IBM Software Group | Rational software
3
Combined portfolio in action For technical systems development
Requirementsdefinition andmanagement
Analysis and design
Quality management
Release management
ConstructionConfiguration and
change mgmt
Asset management and
reuse
Production
Enterprise architecture/architectural frameworks
Measurement andreporting
Product portfolio management
System lifecycle process management
IBM Rational® Build Forge®
Telelogic DOORS®
Telelogic Focal Point™
EclipseWind River Workbench, other
integrated development environments (IDEs)
Telelogic Rhapsody®IBM Rational Systems Developer
Telelogic Tester™IBM Rational Test RealTime
IBM Rational PurifyPlus™
IBM Rational ClearCase®
IBM Rational ClearQuest®
Telelogic Synergy™Telelogic Change™
IBM Rational Asset Manager
IBM Rational Method Composer, Telelogic Harmony™, IBM Rational Unified Process Systems Engineering plug-in
IBM Rational® ProjectConsole™
Telelogic Dashboard™
Telelogic® System Architect™
IBM Software Group | Rational software
4
Typical software development projects Typical software projects consist of new code, modifications to existing
code, existing code not changing and third-party libraries
Documentation for code is often out of date, if it exists at all
Third-party librariesExisting code
New featuresModified code
IBM Software Group | Rational software
5
Typical software development issues Increasing design complexity
Reusing assets for product lines Nonmodular development of application makes makes product line reuse a
key challenge.
Constant time to market pressures
Difficult to understand designs with no documentation Often the best or only documentation is the code alone
Developer of code is often no longer at the company
New developers are faced with a steep learning curve to understand existing code
Reuse is difficult because of lack of understanding of existing code
Testing performed late in the development cycle, resulting in finding defects when they are the most costly to fix Features dropped from product
Product recalls
IBM Software Group | Rational software
6
Key enablers for the software developer
Dynamic model and code
collaboration
Rhapsody
Reuse software assets
Automated unit and integration
testing
Opendevelopmentenvironment
IBM Software Group | Rational software
7
Visualize existing and third-party code Visualizing code clarifies the structure and architecture of the
application.
Streamlined reverse engineering and visualization workflow
Automatic generation of diagrams from code for documentation
IBM Software Group | Rational software
8
Reuse software assets Rhapsody can incorporate external code to:
Reuse code from other projects
Integrate code developed by a third party
Import code generated from another tool
Such code can be: Viewed externally (code visualization)
Provides easy referencing from the model
Automatically allows graphical visualization of your IP
Virtually seamless workflow between model and hand-written code
Automatically reverse-engineered to become part of the model
RTOS
LegacyCode
Rhapsody Real-Time Framework
Rhapsody Generated Code
IBM Software Group | Rational software
9
Integrating existing and third-party code More easily understand interfaces between existing code and new features
New features
External code
IBM Software Group | Rational software
10
Modify existing code Dynamic model and code collaboration
Code respect enables reuse while maintaining the structure, naming, location and order of existing code
Reverse-engineer existing code, changes at code level round-trippedinto model
Respect
IBM Software Group | Rational software
11
Working with code and models Increase developer productivity and ease model-driven development
adoption Use tools familiar to coder
Tight integration with IDE Changes in code need to be reflected in model
Code respect helps ensure that the code and model have the same structure
Multilanguage development allows designers to use the C, C++ and Java™ languages in the same model
IBM Software Group | Rational software
12
Work the way you want Work at code or model level
Reduce learning curve Increase effectiveness
Design and code are kept synchronized: dynamic model code associativity (DMCA) Change one view, the others change automatically Critical for realtime embedded software development
DMCA
IBM Software Group | Rational software
13
Rhapsody integration with Eclipse Integrated model-driven development within Eclipse environment
Work in either the code or Rhapsody; both stay in sync
Leverage Eclipse to tailor environment for your needs
Eclipse code editor
Rhapsody diagram editors
IBM Software Group | Rational software
14
Integrated design and debug environment Natural workflow for code-centric developers
Perform design or code-level debugging in single environment
Use Eclipse Intellisense
View build errors
View Rhapsody diagrams
View model information
IBM Software Group | Rational software
15
Test and validate early Simulate to verify that model is correct
Best practice to help avoid errors and therefore reduce development cost
Rapid simulation at the design level or even target level debugging
Virtual prototype/panel graphics support
Ideal communications aid for design reviews and to share information
IBM Software Group | Rational software
16
Traditional code-centric testing process
Coding test benches manually ...
Error prone;
no fun
Coding test cases manually ...
Difficult;
poor coverage is the norm
Code on host ...
Puzzling;
time consuming
Code on target ...
Frustrating;
expensive
IBM Software Group | Rational software
17
Model-driven testing Bring the benefits of abstraction and automation to testing
Reduce defects early in the process when they are less costly to fix
Deliver products meeting customer expectations
Simulation
Finding & Correcting Errors
Sequence DiagramsRequirements-based testing Automated unit testing
Host based Target based
IBM Software Group | Rational software
18
Design and test process integration Virtually seamless integrated process, based on UML 2.0
testing profile Requirements linked to test cases
Easier navigation between design and test artifacts
Design and test—in sync
Automatically generated test execution reports
Design artifactsDesign artifacts
Test artifactsTest artifactsTest execution reportsTest execution reports
IBM Software Group | Rational software
19
Creating a Graphical Test Architecture
A Test Architecture is a model of a code-based TestBench
Automatically generated
Updates as model gets updated
19
IBM Software Group | Rational software
20
Test Cases Behaviors as Sequence Diagrams
20
Use Sequence Diagrams as graphical test scripts to capture the required behavior
Record and ReUse Animated Sequence Diagrams as test cases for regression testing purposes
Use ATG to automatically generate test cases from the design
IBM Software Group | Rational software
21
Test Cases Behaviors as Flowcharts and Code
21
IBM Software Group | Rational software
22
Test Execution & Test Reporting
22
Execute/Report on Test Execution
Inputs to SUT and stubs behaviours are played out automatically
Unexpected behaviours are highlighted
Test Execution Reports can be customized to match company/project standards
IBM Software Group | Rational software
23
Structural Testing with Rational Test RealTime
Static Analysis
Metrics Reporting
MISRA-C:2004 compliance review
Runtime Analysis
Code Coverage
Memory Profiling
Performance Profiling
23
Analyze user code blocks to ensure quality of the application.
IBM Software Group | Rational software
24
Runtime Analysis: Code Coverage
Get insights into program execution
Identify unused and/or untested code
MC/DC Coverage levels for C/C++
Directly correlate all analysis results to test cases and code
24
IBM Software Group | Rational software
25
Runtime Analysis: Memory Profiling
Detect hard-to-find memory problems Error Messages
Freeing Freed Memory (FFM)
Freeing Unallocated Memory (FUM)
Freeing Invalid Memory (FIM)
Late Detect Array Bounds Write (ABWL)
Late Detect Free Memory Write (FMWL)
Memory Allocation Failure (MAF)
Core Dump (COR)
Warning Messages Memory in Use (MIU)
Memory Leak (MLK)
Potential Memory Leak (MPK)
File in Use (FIU)
Signal Handled (SIG)
Directly correlate all analysis results to test cases and code
25
IBM Software Group | Rational software
26
Runtime Analysis: Performance Profiling
Graphically see where your application is consuming the most time Top functions graph
Performance summary report
26
IBM Software Group | Rational software
27
Open development environment• Requirements management
• Configuration management
• Documentation
• Test
• Continuous modeling
• Tool interoperability
• IDEs
• Realtime operating systems and operating
systems (sample)
Co
nfig
uratio
nC
on
figu
ration
m
anag
emen
tm
anag
emen
t
OSsOSs
CompilersCompilers
RhapsodyRhapsody
Req
uirem
ents
Req
uirem
ents
m
anag
emen
tm
anag
emen
t
DocumentationDocumentation
TestTest
HMIHMI
CORBACORBACOMCOM
Pushbutton CORBA (Tao) and COM support
IBM Software Group | Rational software
28
Open development environment Reuse existing IP
Work with existing development tools and processes Open configuration management Interface
Interface to any compiler or IDE
Work with any realtime operating system or target
Continue to use existing development tools
Code coverage
Static analysis
Simulink integration
Application programming interface (API) to create custom scripts
IBM Software Group | Rational software
29
Summary Rhapsody’s model-driven development environment lets you work the way
you want to Model code associativity synchronizes the model and code
Rhapsody supports reuse of software assets Visualize legacy code to provide clarity
View structure and architecture of the current design
Better understand code that is in “maintenance mode”
Leverage external code into your application
Move forward with model-driven testing to help improve quality and productivity Integrated Verification and Validation with TestConductor & Test RT integration
Rhapsody provides an open environment that allows you to continue to use existing tools
®
IBM Software Group
© 2008 IBM Corporation
Appendix
IBM Software Group | Rational software
31
Aerospace/defense applications
Aerospace/defense applications
Air traffic control
Avionics
Displays
Navigation
Autopilot
Cabin systems
Communications
Wireless
Secure
Engine controls
Flight controls
Fuel systems
Hydraulic systems
Landing gear
Flight controls
Aerospace/defense applications
Landing systems
Lighting systems
Maintenance systems
Military vehicles
Manned
Unmanned
Missiles
Mission software
Power management
RadarSatellites
Training systems
Weapons systems
Stores management
Fire control
IBM Software Group | Rational software
32
Automotive applications
Automotive applications
Body/cabin systems
Air bag
Communications - buses (Can and J1850)
Communication gateways
Displays (dashboard)
Digital tachography systems
GPS
HVAC (climate control)
Keyless entry
Lighting (interior/exterior)
Occupant position
Power seat
Power tilt
Power seat belts
Power mirrors
Power roofs
Automotive applications
Body/cabin systems
Power windows
Power sliding doors
Power locks
Radios
Security/anti-theft
Telematics
Tire deflation indicator
Windshield wipers
Chassis control systems
ABS
Power train systems
Cruise controlGlowPlugTransmission/gear box
IBM Software Group | Rational software
33
Medical applications
Medical applications
Medical imaging
IMRT
Computed tomography (CT) scanners
Implantable therapeutic devices
Blood oxygenation
Heart lung machines
Pacemakers
Defibrillators
Medical applications
Blood glucose monitors
PAP test
Blood analyzer
Incubator
Oncology care
Infusion pumps and systems
Dental treatment centers
IBM Software Group | Rational software
34
Industrial automation applications
Industrial automation applications
Air-conditioning systems
Elevator controls
Home heating systems
Pick and place systems
Semiconductor manufacturing
Industrial automation applications
Wafer inspection systems
Letter sorting systems
Semiconductor component handlers
Industrial process engineering
IBM Software Group | Rational software
35
Telecommunications applications
Telecom applications
EVDO
IMS (IP multimedia subsystem)
Intelligent networks
Radio access network for 3G
Routers/switches
Telecom applications
Set-top boxes
Terminal devices (handsets)
Telephony modems
Ultra mobile broadband
Wi-MAX
IBM Software Group | Rational software
36
Consumer electronics/office automation applications
Consumer/office applications
CopiersDECT with SMS/MMS
Faxes
Hard drives
Image processing
Multifunction copiers
Printers
Consumer/office applications
Copiers
Printer drivers
Security systems
Industrial printers
TV applications
Cashless point of sale
Mobile data capturing terminals
IBM Software Group | Rational software
37
IBM services Customer services
Technical support Client center Administrative support
Consulting Best practices assessment Process and methodology Consulting and mentoring
Training Tool training: dedicated for systems engineers
Dedicated for software engineers Process training, including Harmony process training
and modeling guidelines handbook UML / SysML training Department of Defense Architecture Framework
(DoDAF) training Rapid deployment package Custom courses
Tools Consulting
Customer serviceTraining
IBM Software Group | Rational software
38
Rapid deployment package Provides a roadmap for a successful and on-time project
Supports enhanced productivity
Helps reduce risks
Specifically designed for new Telelogic Rhapsody users or existing users beginning a new project
IBM experts work directly with your team
Based on extensive experience in helping users develop systems and software with Rhapsody
Contents customized based on your project needs
Includes a customized methodology handbook with plus version
IBM Software Group | Rational software
39
Rapid deployment package—how it works
Info gathering • Definition of goals, requirements, deliverables, milestones, etc.
Kickoff workshop• Develop methodology to optimally use Rhapsody within your process
Essentials training• Teaches the concepts and techniques used to apply Rhapsody for systems engineering
Consulting/mentoring• Collaboration with experts to get
you started
Best practice reviews
• Periodic reviews to help ensure that Rhapsody is being used to its fullest potential
Exact content based on your needs
IBM Software Group | Rational software
40
Rapid development package—the handbook
Info gathering
Kickoff workshop
Essentials training
Consulting/mentoring
Best practice reviews
Modeling guidelines
handbook
Customized for your goals
Tailored to your process
Includes Process description
Modeling guidelines
Traceability guidelines
Content management guidelines
Illustrations
Completed by the end of rapid development package
Exact content based on your needs
IBM Software Group | Rational software
41
Open, extensible and configurable framework Goal: customizable framework so that users have greater control
The framework is delivered as a Rhapsody model Provides a clear understanding of its component structure and functionality,
to support fine-tuning
Includes requirements and design rationale so it’s easily understood
Validation suite can be made available through professional services
Facilitates scaling down for smaller footprint applications Pick and choose only the necessary components
Customize components
Facilitates certification of the framework such as DO-178B Scalable—helps ensure that you include only the components you need;
no dead code
Customizable—you can fine-tune the implementation to help meet the safety-critical standards
®
IBM Software Group
© 2008 IBM Corporation
Agile and model-driven development for development of realtime or embedded systems
IBM Software Group | Rational software
43
Agile software principles Implementation versus exhaustive planning and documentation
Iterative, incremental development and testing of working parts of the design completed quickly
Team collaboration with customers and business stakeholders
Responsiveness to ever-changing requirements, virtually anytime in the development cycle
IBM Software Group | Rational software
44
Challenges facing developers Poor communication with customer on code level alone
Some documentation is still required
Valuable diagrams are created during meetings that are discarded and later needed
Target hardware may not be available for early prototyping
Managing changing requirements
Increasing productivity while design complexity increases
More documentation required for embedded systems
Collaboration with large teams, often located globally
Long learning curve for new team members Maintenance of long life products is difficult with staff changes
IBM Software Group | Rational software
45
Rhapsody Model-Driven Development Rhapsody Model-Driven Development™ helps developers to capture the design
using graphical models Visualizing design concepts helps increase understandability
Use Object Management Group (OMG) UML or a domain-specific language (DSL)
Achieving the benefits of both Model-Driven Development and Agile requires the model and code to be the same
IBM Software Group | Rational software
46
Agile and model-driven development with Rhapsody
Rhapsody supports graphical programming of the working application while documentation is automatically generated
Empowers individuals to work the way they want to get the job done the way they know how at either the code or model level
Work in an iterative, incremental development fashion producing working parts of the design in short time frames while executing and validating each part on target or host
Support team collaboration with customers and business stakeholders via graphical models and prototypes as opposed to code based designs
Ability to respond to ever-changing requirements, virtually anytime in the development cycle using dynamic links to requirements and automatic graphical differencing and merging
IBM Software Group | Rational software
47
Iterative development Deliver prototypes often with increasing functionality
Customers and stakeholders provide feedback
Helps ensure that final product meets expectationsPrototype 1 Prototype 2 Prototype 3
Name: Hello WorldMission:• Subsystem architecture• Data acquisition• Basic user interface for monitoring
Name: Revision 1Mission:• Basic distribution architecture• Data waveform display• User setting of control values• Data logging
Name: 'Customer Review Prototype'Mission:• Reliable Distribution Architecture • Reliable transport protocol • Sockets• Closed Loop Control
Analysis
Design
Implementation
Testing
Increment review
IBM Software Group | Rational software
48
For more information
To learn more about Telelogic Rhapsody, please visit:http://modeling.telelogic.com/products/rhapsody/index.cfm
IBM Software Group | Rational software
49
© Copyright IBM Corporation 2008
IBM CorporationRoute 100Somers, NY 10589U.S.A.
Produced in the United States of AmericaOctober 2008All Rights Reserved
IBM, the IBM logo, ibm.com, Rational, and Telelogic are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at ibm.com/legal/copytrade.shtml
Java and all Java-based trademarks and logos are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.
Other company, product, or service names may be trademarks or service marks of others.
References in this publication to IBM products or services do not imply that IBM intends to make them available in all countries in which IBM operates.
Copyright information
RAP14031-USEN-00
top related