Upload
corey-lester
View
220
Download
1
Tags:
Embed Size (px)
Citation preview
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 [email protected]