2018 – alm for borland developer studio john kaster principal engineer, borland

Post on 11-Jan-2016

221 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

2018 – ALM for Borland Developer StudioJohn Kaster

Principal Engineer, Borland

Agenda

Borland Developer Studio StarTeam CaliberRM Together for Delphi

Live source Audits Metrics Documentation

Live templates Unit testing Model audits Deployment manager

Borland Developer Studio 2006 – “All in One”

Delphi VCL, Win32, IntraWeb

C++Builder VCL, Win32, IntraWeb

Delphi for .NET VCL.NET, Winforms, ASP.NET

WebForms, ECO

C#Builder for .NET Winforms, WebForms, ASP.NET, ECO

BDS 2006 Developer Studio IDE

DelphiWin32

C++BuilderWin32

C#Builder.NET

Delphi.NET

BDS 2006 Architecture Overview

VCL (Win32)

ECOdbExpress

Desktop / Rich Client

BDP

Borland ALM

VCL.NET .NET WinForms and ASP.NET

C++ Delphi C#

BDE

CaliberRM StarTeam Together

Web Database IntraNet

Delphi 2006 Architecture Overview

VCL (Win32)

ECOdbExpress

Desktop / Rich Client

BDP

Borland ALM

VCL.NET .NET WinForms and ASP.NET

C++ Delphi C#

BDE

CaliberRM StarTeam Together

Web Database IntraNet

Delphi

C#Builder 2006 Architecture Overview

VCL (Win32)

ECOdbExpress

Desktop / Rich Client

BDP

Borland ALM

VCL.NET .NET WinForms and ASP.NET

C++ Delphi C#

BDE

CaliberRM StarTeam Together

Web Database IntraNet

C#

C++Builder 2006 Architecture Overview

VCL (Win32)

ECOdbExpress

Desktop / Rich Client

BDP

Borland ALM

VCL.NET .NET WinForms and ASP.NET

C++ Delphi C#

BDE

CaliberRM StarTeam Together

Web Database IntraNet

C++ Win32

Agenda

Borland Developer Studio StarTeam CaliberRM Together for Delphi

Live source Audits Metrics Documentation

Live templates Unit testing Model audits Deployment manager

StarTeam

Concepts Features Integration

Managing the application lifecycle

Key areas includeKey areas include:Product ManagementChange Request ManagementBuild, Promotion, and/or Release ManagementOverall lifecycle asset or Project Management

By identifying those areas that are impacted by change, the Product Manager is better prepared to effectively manage the evolution of the application.

Making the case for configuration & change management

“One of the most important pieces of

application development is the management of

the actual software development process, and CM is a method by which companies can

keep track of that process.”

– Hurwitz Group

“80 percent of software projects are late, over

budget, or abandoned due to poor software

configuration management.”

– Ovum Evaluates:

Configuration Management

What is SCM ?

Software Configuration Management (SCM) A discipline that supports and controls modifications to all key

assets within a software development lifecycle Integrates with all other lifecycle stages and tools

The primary components of an effective SCM solution include ALL of the following: Version Control Process Management Audit and Security Build Management Change Management Release Management Task Management

Common SCM Tasks

Version Control Check out/check in Revision history Branching and merging Project views

Change Management Defect tracking Enhancement lists Requirement specification Linking/traceability

Task Management Task creation/status Recording work

Process Management Workflow definition Entry/exit criteria Notifications Approval tracking Security enforcement

Build Management Compilation Identifying dependencies

Release Management Labeling Promotion States Deployment

What is StarTeam?

StarTeamStarTeam is a Software Configuration Management (SCM) and Change

Management Solution.

 

StarTeam Is The “M” In ALM

Software Configuration and Change Management (SCM)

Integrations are vital to success

Enterprise ServerJaneva

Interbase

CaliberRM™Optimizeit™

Suite

JBuilder®

C++Builder®

C#BuilderDelphi®

StarTeamStarTeam®®

Together®

What is StarTeam ?

Requirement PublicationChange ManagementTeam DiscussionTask Allocation & TrackingFile ManagementCustomizable WorkflowCustomizable FormsAutomatic LinkingOpen Customizable PlatformWeb-Centric ArchitectureSecure

Benefits of An Integrated Repository

StarTeamStarTeamServerServer

SCMSCMArchivesArchives

ALMALMAppsApps

Client DesktopsClient Desktops

• StarTeamStarTeam

• PVCSPVCS

• VSSVSS

• CaliberRMCaliberRM

• TogetherTogether

• MS ProjectMS Project

• TestDirectorTestDirector

• RemedyRemedy

• etc.etc. • Version ManagementVersion Management

• Change/Defect Change/Defect

ManagementManagement

• Requirements Requirements

ManagementManagement

• Task ManagementTask Management

• Electronic discussionElectronic discussion

• StarTeam UIStarTeam UI

• JBuilderJBuilder

• C++BuilderC++Builder

• C#BuilderC#Builder

• DelphiDelphi

• Eclipse/WSADEclipse/WSAD

• MS Visual MS Visual

Studio, .NETStudio, .NET

• Oracle Oracle

DeveloperDeveloper

• Web BrowserWeb Browser

• SDKSDK

WindowsWindows

LinuxLinux

UnixUnix

JavaJavaEnabledEnabled

Current StarTeam Integrations

Application-SpecificBorland C# Builder

Version , 2006Borland C++Builder

Versions 5, 6, 2006Borland Delphi

Versions 6, 7, 8.NET, 2005, 2006Borland JBuilder

Versions 8, 9, X, 2005, 2006Eclipse Framework

Versions 1, 2.1, 3.xIBM WSAD

Versions 4.0, 5.1Mercury TestDirector

Versions 7.5, 7.6, 8.0Microsoft Project

Versions 2000, 2002, 2003Microsoft Visual Studio (Web Projects)

Versions 6, .NET, .NET 2003Oracle Developer

Versions 6, 2000

SCC IntegrationsBorland CaliberRM

Versions 4.1, 4.2, 5.0, 5.1, 2005Borland CodeWright

Versions 6.6, 7.0Borland Together

Versions 5.5, 6.0, 6.1Microsoft Access

Versions 2000, 2002Microsoft Visual Studio

Versions 6.0, .NET, .NET 2003Rational ROSE

Versions 2001, 2002 release 2Sybase PowerBuilder

Versions 8.0, 9.0

Unified Repository For All Assets

StarTeam provides a single, integrated interface for managing files, change requests, requirements, tasks, and

topics

All asset types are stored within the same

project and folder structures

StarTeam’s unique Project and View

definitions provide unlimited flexibility for

sharing/restricting assets

Automated File Status Tracking

History view shows all revisions and identifies which revision working

version is based on

Real-time file status indicates how working

folders compare to latest server versions

“Group By” options let developers perform bulk

operations quickly

Powerful branching and merging capabilities make parallel

development easy, no matter what the size of the team or the number of concurrent releases

Flexible Branching and Merging

Graphical wizards quickly create branches and provide prompts for merging when necessary

Viewing branches or performing “time travel” is just a matter of

a few mouse clicks

Customizable Filters and Queries

These filters and queries can either be user-specific or “public” objects that any

other StarTeam user can select

Options include sorting, grouping, queries, context,

and column order and membership

Custom filters and queries let the user select exactly

how and what data is presented in the object

browser panes

Filter definitions are defined graphically, without the need for programming

experience

Integrated Task Management

Tasks are native objects that the StarTeam

Server understands

Tasks can be entered in StarTeam or synchronized

from Microsoft ProjectWork records can be added by

StarTeam users to identify actual time spent performing

task and are synchronized back into Microsoft Project

Customizable Workflow & Forms

Graphical workflow definition allows

customization of StarTeam process rules and enforces

standards

Workflow definition stored in StarTeam Server as

configuration items so client deployment is automatic

Make the process fit your environment - not the other

way around!

Alternate Property Editors provide custom user

interface and can be setup for all object types

Alternate Property Editors are also stored in StarTeam

Server as configuration items

Delphi 2006 Embedded Integration

Integrations are subject to all process rules and workflow and security

restrictions just like any other StarTeam client type

Embedded IDE Client provides full StarTeam functionality

within the developer’s environment without and

context-switching

BDS integration

Multi-level backups with History view StarTeam integration

Main menu item StarTeam Project management

Create Check in/out create directories

File renames are tracked Embedded client External client launching Project Manager

Project groups Manage associations for project groups

Structure pane folder view Items pane files open in IDE History view is StarTeam aware locking/unlocking/merging Change requests

StarTeam Functionality Matrix

StarTeam Feature Standard EnterpriseEnterpriseAdvantage

Support for Named Licensing Support for Concurrent Licensing n/a Clients included: Win32, CPC (Java), CMD-Line Clients Included: WebEdition n/a (option) Clients Included: StarDisk (option) Components Supported: Files, CR’s, Topics Components Supported: Tasks n/a Components Supported: Requirements n/a n/a Open Integrations (SCC and Application-specific) Mercury TestDirector Integration n/a (option) (option)

StarTeam MPX Server (option) (option) Customizable Event-Based Workflow n/a n/a Customizable Forms n/a n/a Database Customization (adding fields) n/a Support for a variety of Relational DB Systems

Included in Enterprise and Architect

Demonstration

Additional information

Introduction to StarTeam integration in Delphi 2005 http://bdn.borland.com/article/0,1410,32959,00.html

Moving a Visual SourceSafe project to StarTeam http://bdn.borland.com/article/0,1410,33011,00.html

StarTeam community on BDN http://bdn.borland.com/starteam/

Agenda

Borland Developer Studio StarTeam CaliberRM Together for Delphi

Live source Audits Metrics Documentation

Live templates Unit testing Model audits Deployment manager

What is Requirements Management?

Requirements Management: Ensures a project meets end-user needs that

are feasible and within approved project scope.

Establishes a common understanding of: Business Requirements User Requirements Functional Requirements Nonfunctional Requirements

Manages changes to those requirements.

A continuous process of managing requirements from their inception to implementation and maintenance.

What the Customer Needs

Different Interpretations

Marketing Sales IT

FinanceManufacturingEngineering

The Source of Software Defects

Requirements Requirements ErrorsErrors(56%)(56%)

Requirements Requirements ErrorsErrors(56%)(56%)

Other Errors (10%)Other Errors (10%)Other Errors (10%)Other Errors (10%) Coding Errors (7%)Coding Errors (7%)Coding Errors (7%)Coding Errors (7%)

Design Errors (27%)Design Errors (27%)Design Errors (27%)Design Errors (27%)

Source: James Martin, An Information Systems Manifesto

The Cost to Fix Software Defects

Source: James Martin, An Information Systems Manifesto

Requirements Requirements ErrorsErrors(82%)(82%)

Requirements Requirements ErrorsErrors(82%)(82%)

Design ErrorsDesign Errors(13%)(13%)

Design ErrorsDesign Errors(13%)(13%)

Other Errors (4%)Other Errors (4%)Other Errors (4%)Other Errors (4%) Coding Errors (1%)Coding Errors (1%)Coding Errors (1%)Coding Errors (1%)

*From a U.S. Air Force Project, F. Sheldon, 1992 Reliability Measurement from Theory to Practice

Others

Human

5%Environment

5%

Documentation

2%

Logic Design

28%

Data

6%7%Interface

6%

Requirements

41%

Note: Most Studies have shown that requirement errors typically constitute between 40 and 60% of the total number of errors, while design and code defects combined attribute to only a third of the errors. That’s a pretty significant difference.

Sources of Defects

Linear MethodDesigner Process

Problem

Solution

Time

Pattern of Cognitive Activity of One Designer

GatherData

AnalyzeData

FormulateSolution

Implement Solution

Software as Problem Solving

- This data from Boehm: Software Engineering Economics

RequirementsRequirementsAnalysis& Design

Coding

DevelopmentTesting

AcceptanceTesting

ProductQuality

Production

40-100x

30-70x

15-40x

10x

3-6x

1x

The Quality Lever

Three approaches to requirements automation

Document-centric requirements CaliberRM 6.0 provides many benefits in a very easy to use GUI. Through

the use of HTML, and improvements in editing and document production, CaliberRM is leading the way. CaliberRM is now the momentum leader in this space.

Developer-centric requirements CaliberRM integrations into C#B, TCC, TJB, VS.NET, and Delphi (C++, JB

and Eclipse coming soon) ensure that the developers are always and easily kept “in the know.” If the developer isn’t made aware of the requirements, why bother doing them? CaliberRM is the clear leader in this space.

Infrastructure-centric requirements CaliberRM has an open API and the ability to amplify the Voice of the

Customer throughout the ALM. Live link integration without the need for import / export is also a clear technical advantage. CaliberRM is the clear leader in this space.

Building a requirements community…

Begin with requirements experts…who understand the importance of requirements automationAdd subject matter experts…who want to express requirements in the ways that make sense to themSupport the management of additional definition artifacts…Use Cases, Scenarios, Storyboards, Requests, User stories, etc.Provide a variety of output formats… targeted at various demographicsUse change notification…to ensure everyone stays in the loopIntegrate with other key ALM technologies…and customize to fit your process…

Requirements

Metcalfe’s Law

Metcalfe's Law: the value of a network grows by the square of the size of the network.

Originally referring to network theory, it can also be extended to the “network” of subject matter experts and stakeholders defining a system (or building an ALM project) – a “network of people” or “capability network”

Due of Metcalfe's Law, the largest “network” always wins over smaller networks, even if the smaller network has some larger initial value due to some special-purpose feature or benefit.

As the size of the network increases, the value accelerates

Augmentation and aggregation are key…

Requirements

Data

Knowledge

Information

Intelligence

Power

ALM Fundamentals

Attention is the scarce resource – solutions must help clients manage signal-to-noise ratio

Unfiltered information must be available– solutions which require summary translation from medium-to-medium change the message

Context switching must be minimized – solutions which force users to continually change contexts steal productivity

Member aggregation is more important than the amount or type of resource owned

Value increases exponentially as stakeholders are engaged in the process

SCM

Connecting “disciplinary super-hubs” to your ALM

CCB

Requirements

Discussions

Project Tasks

Testing

ALM

Metcalfe's Law - accelerating benefits…

0

5000

10000

15000

20000

25000

30000

35000

5

10

15

20

25

30

35

40

45

50

55

60

65

70

75

80

85

90

95

10

0

10

5

11

0

11

5

12

0

12

5

13

0

13

5

14

0

14

5

15

0

15

5

16

0

16

5

17

0

17

5

Size of Network (People)

Rel

ativ

e V

alu

e o

f N

etw

ork

Metcalfe's Law: “The ALM Power Curve”

0

5000

10000

15000

20000

25000

30000

35000

5

10

15

20

25

30

35

40

45

50

55

60

65

70

75

80

85

90

95

10

0

10

5

11

0

11

5

12

0

12

5

13

0

13

5

14

0

14

5

15

0

15

5

16

0

16

5

17

0

17

5

Size of Network (People)

Rel

ativ

e V

alu

e o

f N

etw

ork

M

anage

Definition

Design

Deploy

Develop

Test

What happens without integration?

Cutting the value network into pieces…

The law is usually quoted in terms of growth of the network, but we can run Metcalfe's Law in reverse and use it to characterize the effect of cutting a network into pieces:

The value of partitioning a network into N isolated components is 1/N'th the value of the original network.

Jakob Nielsen's Alertbox, (http://www.useit.com/alertbox/990725.html)

Metcalfe in Reverse – “Non-integrated Power Curve(s)”

0

5000

10000

15000

20000

25000

30000

35000

5

10

15

20

25

30

35

40

45

50

55

60

65

70

75

80

85

90

95

10

0

10

5

11

0

11

5

12

0

12

5

13

0

13

5

14

0

14

5

15

0

15

5

16

0

16

5

17

0

17

5

18

0

18

5

19

0

19

5

20

0

20

5

21

0

Size of Network (People)

Rel

ativ

e V

alu

e o

f N

etw

ork

M

anage

Definition

Design

Deploy

Develop

Test

So, what does that mean?

Without tight integration, potential value lies untappedMomentum from each discipline is self containedNo cross-project synergies

With tight integration – momentum, velocity and synergy help deliver value

0

5000

10000

15000

20000

25000

30000

35000

510 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95

100

105

110

115

120

125

130

135

140

145

150

155

160

165

170

175

Size of Network (People)

Rela

tive

Valu

e of

Net

work

Manage

Definition

Design

Deploy

Develop

Test

0

5000

10000

15000

20000

25000

30000

350005

10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 9510

010

511

011

512

012

513

013

514

014

515

015

516

016

517

017

518

018

519

019

520

020

521

0

Size of Network (People)

Rel

ativ

e Va

lue

of N

etw

ork

Poorly Integrated

Tightly Integrated

CaliberRM 2005 Release 2 - New Features

Enterprise Offerings Windows® 2003 server support Borland license server support SSL support Variable port selection

Integrations Borland Developer Studio 2006 CaliberRM StarTeam traceability StarTeam requirements publisher Create StarTeam CR from within CaliberRM

New IDE integration features for CaliberRM

Edit and view (D2005 could only view) Estimate Pro, if installed Place information from Caliber into a project and keep it

up to date (all personalities) Search via serial # to find requirements View and participate in discussions

Demonstration

Agenda

Borland Developer Studio StarTeam CaliberRM Together for Delphi

Live source Audits Metrics Documentation

Live templates Unit testing Model audits Deployment manager

Modeling for success with Delphi 2006

Delphi 2006 – Together for Delphi and C#

Together for Delphi and C#New LiveSource Class diagramming

two-way modeling – changes in code reflected in the model and viceversa

New UML Diagram suiteClass, Use Case, Sequence, Collaboration, State Chars, Deployment, Activity, and Component Diagrams

Design PatternsGet started quickly with industry recognized GOF (Gang of Four) design patterns or add your own.

RefactoringsAudits and Metrics

Gain insight into your source code

Document Generation Automatically generate professional quality documentation from your source code and models

Together – Diagramming Types

Class Diagram Collaboration Diagram Use Case Diagram Activity Diagram Component Diagram Deployment Diagram Statechart Diagram Sequence Diagram

Together – Design Patterns

Powerful Reuse Capabilities Defined in Pattern Registry Managed via Pattern Organizer Supports C#, Delphi, Design Projects Create/Edit Patterns XML File Defines Model

and Link Information

Together – Audit and Metrics

Audits Source code conformity rules Violations displayed From Design Issues to Naming

Conventions Descriptions & How to Fix

Metrics Evaluate Object

Complexity Quantify your code Highlight Redesign

Needs Change Impact Analysis

Together – Documentation Generation

UML Documentation WizardHTML Generation Documentation The HTML documentation has three frames:

Diagram frame Project and Overview frame Documentation frame

Together - Refactorings

Safe Delete Changing Parameter Creating InlineVariables Extracting

Interface Method Superclass

Introducing Fields Variables

Moving Members Pull Members Up Push Members Down

Together for Delphi Demonstration

Agenda

Borland Developer Studio StarTeam CaliberRM Together for Delphi

Live source Audits Metrics Documentation

Live templates Unit testing Model audits Deployment manager

Live templates

Support for C++, Delphi, C# Scriptable templates Integrated into Code Insight Take advantage of SyncEdit Enum support Can perform refactorings Context aware Easy to modify or create

Live Templates Demonstration

Agenda

Borland Developer Studio StarTeam CaliberRM Together for Delphi

Live source Audits Metrics Documentation

Live templates Unit testing Model audits Deployment manager

Unit Testing

NUnit (.NET) support DUnit (Delphi/Win32) support New test case (Delphi & C#) New test project (Delphi & C#)

Unit Testing demonstration

Agenda

Borland Developer Studio StarTeam CaliberRM Together for Delphi

Live source Audits Metrics Documentation

Live templates Unit testing Model audits Deployment manager

Model audits

OCL-based model analysis Inspired by Together 2006 model audits Used for ECO models Sample application

Model Audits Demonstration

Agenda

Borland Developer Studio StarTeam CaliberRM Together for Delphi

Live source Audits Metrics Documentation

Live templates Unit testing Model audits Deployment manager

Deployment manager

XCopy deployment FTP deployment Pluggable architecture Comparison engine Support for assembly groups Better performance

Deployment Manager Demonstration

Other "ALM" tools

QualityCentral for feature requests and bug reports (http://qc.borland.com)

AutomatedQA's products (http://www.automatedqa.com/products/)

Thank you! Fill out your evaluation form.johnk@borland.com

top related