Getting Started with StarTeam Enterprise Advantage Preconference Tutorial.

Post on 11-Jan-2016

224 views 1 download

Transcript of Getting Started with StarTeam Enterprise Advantage Preconference Tutorial.

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?