getting started with starteam enterprise advantage preconference tutorial
TRANSCRIPT
Getting Started with StarTeam Enterprise AdvantagePreconference Tutorial
Agenda
Software Configuration Management Concepts StarTeam Concepts and Architecture Basic StarTeam Configuring a New StarTeam Server Customizing Alternate Property Editors Customizing StarTeam Web Edition Layouts Customizing StarTeam Workflows Custom Dynamic Tools Integrations
Software Configuration Management Concepts
Software Development Lifecycle
The period of time that begins when a software product is conceived and ends when the software is no longer available for use.
SDLC typically includes these phases Concept Requirements Design Implementation Test Installation Maintenance Retirement
Capability Maturity Model
A conceptual framework consisting of five levels: Initial: Ad hoc, chaotic and heroic Repeatable: Basic project management control
Requirements Management, Project Planning/Tracking, and SCM
Defined: Organized software engineering process Clear responsibility, training, reviews and intergroup coordination
Managed: Quantitative process measurement Software metrics and quality management
Optimized: Continuous process improvement Defect prevention, Technology and Process Change Management
Capability Maturity Model
Business Value
Category MedianTotal yearly cost of Software Process Improvement (SPI) activities
Years engaged in SPI
Productivity gain per year
Early detection gain per year (defects discovered pre-test)
Yearly reduction in time to market
Yearly reduction in post-release defect reports
Business value of investment in SPI (value returned on each dollar invested)
$245,000
3.5
22%
35%
19%
39%
5.0
Source: Software Engineering Institute, CMU/SEI-94-TR-13, page 15.
Costs
Benefits
Business Value
(Years of Software Process Improvement)
4.0
5.04.2
6.4
8.8
0
1
2
3
4
5
6
7
8
9
Bull Hughes Aircraft TexasInstruments
Tinker AFB Schlumberger
Business Value Ratio of Software Process Improvement for 5 Organizations
Business Value Ratio
(3.5) (6.0) (6.0) (5.0) (3.5)
Source: Software Engineering Institute, CMU/SEI-94-TR-13, page 14.
What is Software Configuration Management?
SCM is the art of identifying, organizing, and controlling modifications to the software being built by a programming team.
The goal of SCM is to maximize productivity by minimizing mistakes.
Benefits of SCM include: Increased development productivity Improved project control Reduction in defects Faster problem identification Greater customer goodwill
Configuration Items
An object within a computer environment that can be uniquely identified and individually manipulated.
Configuration Items include: Requirements Specifications Designs Change Requests Tasks Tests Source Code
Any digital asset used to develop and maintain the software system
Baselines
The configuration of a set of configuration items at a discrete point in the software development lifecycle
Typical baselines: Requirements baseline
The basis against which the software is authenticated
Design baseline Allocation of functionality to different parts of the system
Product baseline Completed software product delivered for system integration
SCM Plan
Roles and responsibilities SCM Management
Relationship of SCM to SDLC Identification of Configuration Items
Change Management Change Request Change Control Board
Configuration Accounting Reports Audits
StarTeam Concepts and Architecture
Who approved this change?
How much is left to do?
How do we know when we are finished?
Didn’t we test for this?
What was fixed in this build?
Didn’t we fix this already?
Who made this change?
But it works on my machine!
Why are they working on that?
Do we have that build?
Did we update the model?
Is this code documented?
Why is it taking so long?
The Need for Control
RDDP Gives You Control
FocusDevelopment is for approved requirements only
TraceabilitySpecific versions of development assets are linked to each other
VisibilityDevelopment assets are seen from the requirement perspective
Collaborative Process
Repository
JBuilder, Eclipse &Visual Studio
Benefits of RDDP
DefinitionEstablish more consistent requirements gathering, modeling and managementPotential 60-90% savings*
DevelopmentEstablish better processes for software version, configuration, and change management Potential 40-80% savings*
VerificationCreate separate quality assurance control & strong testing processes Potential 30-90% savings*
* Source: Meta Group
What is StarTeam?
Requirement Publication
Change Management
Team Discussion
Task Allocation & Tracking
File Management
Customizable workflow
Open Customizable Platform
Web-Centric Architecture
Secure
Distributed Repository
Automatic Linking
StarTeam Architecture
Secure Efficient Internet Command Interface
Starbase Server
DatabaseStarTeam PVCS VSS
All communication via TCP/IP directly over the Internet!
StarTeam SDK - Java/Com based API
StarD
iskE
xplorer
Web E
dition
Cross-P
latform C
lient
Com
mand
Line
Dynam
ic T
ools
Notification A
gent
CaliberR
M
Import
JBuilder
Eclipse
Visual S
tudioD
elphi
Together
ControlC
enter
MS
Project
Oracle, MS SQL Server or DB2/UDB
StarTeamWin 32Client
Secure Efficient Internet Command Interface
StarTeam Basics
The StarTeam Product Family
Major Features StarTeam Standard StarTeam Enterprise StarTeam Enterprise Advantage
Configuration Management
√ √ √
Change Requests √ √ √
Tasks √ √
Requirements √
Customization √
Workflow √
Dynamic Tools √
Notification Basic Basic Customizable
Installers
StarTeam Server StarTeam MPX Server StarTeam Clients
Client for Windows Cross-Platform Client Web Edition StarDisk Command Line
StarTeam Extensions Core Extensions Documentation Samples CaliberRM Import Utility
Workflow Designer Layout Designer Notification Agent StarTeam SDK
StarTeam Object Model
Containment Hierarchy Servers contain Projects Projects contain Views Views contain Folders Folders contain Items
Item Types Files Change Requests Tasks Topics Requirements
Projects
Views
Folders
File Component
Change Request Component
Topic Component
Audit Component
Task Component
Requirement Component
Detail Pane
History Pane
Label Pane
Link Pane
Reference Pane
Process Items
Implementing RDDP
Check out files to the local
workstation for editing
Local Workstation
Link
StarTeam automatically links the development assets
Publish defects from Test Director or enter directly in
StarTeam
Publish requirements from
CaliberRM or enter directly into
StarTeam
Select a Requirement,
Change Request or Task and check in all
modified files
CR Driven Development
MercuryTestDirector
Bug 89Out of date logo on web site
and all applications
StarTeamChange Request 58
Out of date logo on web siteand all applications
File: Main.cppRevision: 1.1
File: Layout.javaRevision: 1.1
File: Logo.jpgRevision: 1.4
Task Driven Development
Microsoft ProjectTask 1:Change LayoutTask2: Replace Logo
StarTeamTask 1: Change
Layout
StarTeamTask 2:Replace Logo
Revision: 1.1
File: Layout.javaRevision: 1.1
File: Main.cppRevision: 1.2
File: Logo.jpgRevision: 1.4
Requirement Driven Development
CaliberRMRequirement
128User must logon to
system
StarTeamRequirement 5
User must logon to
system File: Main.cppRevision: 1.1
File: Layout.javaRevision: 1.1
File: Logo.jpgRevision: 1.4
Configuring a New StarTeam Server
StarFlow Extensions Project
A Special StarTeam Project Specifically named “StarFlow Extensions” Custom Alternate Property Editor JAR files Custom Dynamic Tools Workflow engine GUI components
Projects folder and subfolders Used to manage the scope of customizations
StarTeam Security Used to manage component visibility
Configuring the StarFlow Extensions Project
Drag the StarFlow Extensions folder into StarTeam Drag operation only works with Windows client
Only need to add the files in the Projects folder Minimum files needed for Alternate Property Editors
starflow-extensions.jar guicomponents.jar DesktopIndicator.dll
Additional files needed for Dynamic Tools cpc-extensions-1.0.0.jar java-icons.jar tool.jar toollocator.jar
StarTeam Tree control requires starteam-gui.jar Add the form JAR and Property Editor files
For example: ChangeRequest.Jar and ChangeRequest.PropertyEditor.xml
Deploying Alternate Property Editors
Open Project | Property | Editors Enable Alternate Property Editors
Locator is automatically deploys the resources used by the form Always installed with Windows client Launches the StarTeam Form Server for Windows Locator is not executed by the Cross Platform Client Syntax: Locator <propertyeditor.xml> For example: Locator ChangeRequest Also LocatorDebug
All Resources are specified in propertyeditor.xml files All resources must be checked into the Projects folder Resources are automatically deployed to workstations.
Custom Property Editors
Creating a Basic Workflow Definition
Start the Workflow Designer Create a New Workflow for an Item Type
For example: Change Request
Add the Workflow Control Property Field Name used in samples: Usr_StarFlowStatus
Add 2 values to get started For example: New and Open
Make Open (or your equivalent) the default value New (the initial step) is only used when an item is being created
Add 2 workflow steps to the diagram to get started Save <Item Type>.Workflow.xml
For example: ChangeRequest.Workflow.xml
The StarTeam Form Server
Light-weight process to execute Java Virtual Machine Does not have to be restarted when forms are changed
Unlike the CrossPlatform Client
Double click on Sys Tray icon to shutdown manually Do not confuse with the “StarTeam Toolbar”
Displaying the first form takes longer Locator and LocatorDebug may be called from the
command line
Customizing Alternate Property Editors
Configuring JBuilder Libraries
StarTeam starteamNN.jar
StarTeam Extensions Starflow-extensions.jar Starteam-gui.jar Guicomponents.jar
Documentation
Add for StarTeam and StarTeam Extensions There are a TON of methods in these libraries
Configuring the JBuilder Pallete
Add new page Add Components tab JavaBeans in jar manifest JavaBeans with BeanInfo
Manually Adding JavaBeans
AddAndLinkButton AttachmentEditor ItemPropertyLabel ItemsPaneComponent OpenLinkedItemButton
PropagatingPanel RevisionCommentEditor StaticTextEditor TaskDependenciesComponent
Form Samples
Customizing Forms with JBuilder
1. Use JBuilder’s form designer
2. Add a new StarTeam property through StarTeam’s Advanced | Customize menu
3. Drop a new control on the form
4. Enter the new property name into the control
5. Check the new JAR into the StarFlow Extensions project
Enter the property name here to map the control to the StarTeam field
Adding custom fields
Customizing StarTeam Web Edition
Web Edition
Pure web browser interface Supports multi-file check-in/out Customizable property editors Workflow enabled Does not support
IDE Integrations MPX Server
Web Edition Form Designer
Customizing StarTeam Workflows
Workflow Designer
Workflow is separate from the form Defined in <Item Type>.workflow.xml
Example: ChangeRequest.Workflow.XML
Stored in the StarFlow Extensions project Automatically deployed when changed
Example
Workflow Properties Tab
General Item Type Workflow Responsibility Workflow Control Property Entry Step
Workflow Extensions A place to store custom workflow information in XML
Workflow Step Tabs
General The step name and exception time-out
Participants Who can see and who can change when in this state
Exception Notification Who to inform when in a step too long
Step Notification What to send to participants when entering a step
Form Options What controls are required, disabled or hidden
Status Notification Who else to notify, in addition to the participants, and what to send
Next Steps What steps will follow this step and conditions
Dynamic Defaults Workflow Extensions
A place to store custom step information in XML
Notification Agent Setup
Stores configuration in StarFlow Extensions project NotificationAgent.Conf.xml
Configuring a Test E-Mail Server
Sample: Setting up a standalone e-mail notification.rtf Free ArGoSoft e-mail server attached Instructions with screen shots Uses Outlook Express but can be used with Outlook Can be used with multiple user names
Running the Notification Agent
Can run the Notification Agent manually via Run Now
Example Notification
Custom Dynamic Tools
Dynamic Tools
Cross-Platform Client custom toolbarOnly available with the Cross-Platform Client
Automatically distributes custom toolsNo need for separate installation for custom tools
Integrates with the cross-platform clientMakes using custom tools and utilities easy
Toolbar buttons change based on component
Custom CR Tools
Custom View Tools
Custom Task Tools
Custom View Tools
Integrations
Integrations
Rich StarTeam Integration JBuilder and Eclipse/WebSphere
Source Code Control API Visual Studio, Delphi, C# Builder, etc. CaliberRM, Rational Rose, Together Control Center
Special Purpose Integrations Visual Studio .NET Web Projects Microsoft Project Oracle Developer
Rich StarTeam Integration
Direct access to StarTeam from IDE Cross-Platform Client embedded
Workflow enabled custom forms Dynamically deployed Supports all StarTeam types
Dynamic Tools accessible through toolbar
Where to get the StarTeam SDK
Download the complete StarTeam SDKhttp://www.borland.com/
Includes complete API documentation and basic samples
Download additional samples fromhttp://codecentral.borland.com http://www.elite-associates.com
Questions?