Transcript 2018 – ALM for Borland Developer Studio
2018 – ALM for Borland Developer Studio John 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
BDS 2006 Developer Studio IDE Delphi Win32 C++Builder Win32 Delphi for .NET
VCL.NET, Winforms, ASP.NET WebForms, ECO
C#Builder for .NET
Winforms, WebForms, ASP.NET, ECO
Delphi .NET
C#Builder .NET
BDS 2006 Architecture Overview
Desktop / Rich Client dbExpress VCL (Win32) BDE C++ Web VCL.NET
Database Delphi CaliberRM StarTeam Borland ALM Together IntraNet ECO BDP .NET WinForms and ASP.NET
C#
Delphi 2006 Architecture Overview
Delphi
Desktop / Rich Client Web dbExpress VCL (Win32) BDE VCL.NET
Database IntraNet ECO BDP .NET WinForms and ASP.NET
C++ C#
Delphi
CaliberRM StarTeam Borland ALM Together
C#Builder 2006 Architecture Overview
C#
Desktop / Rich Client Web dbExpress VCL (Win32) BDE VCL.NET
Database IntraNet ECO BDP .NET WinForms and ASP.NET
C++
C#
Delphi CaliberRM StarTeam Borland ALM Together
C++Builder 2006 Architecture Overview
C++ Win32
Desktop / Rich Client Web dbExpress VCL (Win32) BDE VCL.NET
Database IntraNet ECO BDP .NET WinForms and ASP.NET
C++
C# Delphi CaliberRM StarTeam Borland ALM Together
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
By identifying those areas that are
impacted by change
, the Product Manager is better prepared to effectively manage the evolution of the application.
Key areas include
: Product Management Change Request Management Build, Promotion, and/or Release Management Overall lifecycle asset or Project Management
Making the case for configuration & change management
development process,
–
and CM is a method by Ovum Evaluates: which companies can Configuration Management keep track of that process.”
–
Hurwitz Group
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 Change Management Task Management Build Management Release 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?
StarTeam
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
Together
®
JBuilder
®
C++Builder
®
C#Builder Delphi
®
CaliberRM™ StarTeam ®
Optimizeit™
Suite Enterprise Server Janeva Interbase
What is StarTeam ?
Requirement Publication Change Management Team Discussion Task Allocation & Tracking File Management Customizable Workflow Customizable Forms Automatic Linking Open Customizable Platform Web-Centric Architecture Secure
Benefits of An Integrated Repository
ALM Apps
•
CaliberRM
•
Together
•
MS Project
•
TestDirector
•
Remedy
•
etc.
SCM Archives
•
StarTeam
•
PVCS
•
VSS StarTeam Server
•
Version Management
•
Change/Defect Management
•
Requirements Management
•
Task Management
•
Electronic discussion Client Desktops Windows Linux Unix Java Enabled
•
StarTeam UI
•
JBuilder
•
C++Builder
•
C#Builder
•
Delphi
•
Eclipse/WSAD
•
MS Visual Studio, .NET
•
Oracle Developer
•
Web Browser
•
SDK
Current StarTeam Integrations
Application-Specific Borland C# Builder Version , 2006 Borland C++Builder Versions 5, 6, 2006 Borland Delphi Versions 6, 7, 8.NET, 2005, 2006 Borland JBuilder Versions 8, 9, X, 2005, 2006 Eclipse Framework Versions 1, 2.1, 3.x
IBM WSAD Versions 4.0, 5.1
Mercury TestDirector Versions 7.5, 7.6, 8.0
Microsoft Project Versions 2000, 2002, 2003 Microsoft Visual Studio (Web Projects) Versions 6, .NET, .NET 2003 Oracle Developer Versions 6, 2000 SCC Integrations Borland CaliberRM Versions 4.1, 4.2, 5.0, 5.1, 2005 Borland CodeWright Versions 6.6, 7.0
Borland Together Versions 5.5, 6.0, 6.1
Microsoft Access Versions 2000, 2002 Microsoft Visual Studio Versions 6.0, .NET, .NET 2003 Rational ROSE Versions 2001, 2002 release 2 Sybase PowerBuilder Versions 8.0, 9.0
Unified Repository For All Assets
StarTeam’s unique Project and View definitions provide unlimited flexibility for sharing/restricting assets All asset types are stored within the same project and folder structures StarTeam provides a single, integrated interface for managing files, change requests, requirements, tasks, and topics
Automated File Status Tracking
Real-time file status indicates how working folders compare to latest server versions “Group By” options let developers perform bulk operations quickly History view shows all revisions and identifies which revision working version is based on
Flexible Branching and Merging
Powerful branching and merging capabilities make parallel development easy, no matter what the size of the team or the number of concurrent releases Viewing branches or performing “time travel” is just a matter of a few Graphical wizards quickly create branches and provide prompts for merging when necessary
Customizable Filters and Queries
Custom filters and queries let the user select exactly how and what data is presented in the object browser panes Options include sorting, grouping, queries, context, and column order and membership These filters and queries can either be user-specific or “public” objects that any other StarTeam user can select Filter definitions are defined graphically, without the need for programming experience
Integrated Task Management
Work records can be added by StarTeam users to identify actual time spent performing task and are synchronized back into Microsoft Project Tasks are native objects that the StarTeam Server understands Tasks can be entered in StarTeam or synchronized from Microsoft Project
Customizable Workflow & Forms
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 Graphical workflow definition allows customization of StarTeam process rules and enforces standards Make the process fit your environment - not the other way around!
Workflow definition stored in StarTeam Server as configuration items so client deployment is automatic
Delphi 2006 Embedded Integration
Embedded IDE Client provides full StarTeam functionality within the developer’s environment without and context-switching Integrations are subject to all process rules and workflow and security restrictions just like any other StarTeam client type
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
Support for Named Licensing Support for Concurrent Licensing Clients included: Win32, CPC (Java), CMD-Line Clients Included: WebEdition Clients Included: StarDisk Components Supported: Files, CR’s, Topics Components Supported: Tasks Components Supported: Requirements Open Integrations (SCC and Application-specific) Mercury TestDirector Integration StarTeam MPX Server Customizable Event-Based Workflow Customizable Forms Database Customization (adding fields) Support for a variety of Relational DB Systems Included in Enterprise and Architect
Standard
n/a n/a (option) n/a n/a n/a (option) n/a n/a n/a
Enterprise
(option) n/a (option) (option) n/a n/a
Enterprise Advantage
(option)
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?
A continuous process of managing requirements from their inception to implementation and maintenance.
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.
What the Customer Needs
Different Interpretations
Marketing Sales IT Engineering Manufacturing Finance
The Source of Software Defects
Requirements Errors (56%) Design Errors (27%) Other Errors (10%)
Source: James Martin, An Information Systems Manifesto
Coding Errors (7%)
The Cost to Fix Software Defects
Requirements Errors (82%) Design Errors (13%) Other Errors (4%)
Source: James Martin, An Information Systems Manifesto
Coding Errors (1%)
Sources of Defects
Logic Design 28% Others 7% Data 6% Interface 6% Documentation 2% Human 5% Environment 5% 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.
*From a U.S. Air Force Project , F. Sheldon, 1992
Reliability Measurement from Theory to Practice
Software as Problem Solving
Problem Solution Gather Data Linear Method Designer Process Analyze Data Formulate Solution Implement Solution Time
Pattern of Cognitive Activity of One Designer
The Quality Lever
Requirements 40-100x
Analysis & Design 30-70x Coding 15-40x Development Testing 10x Acceptance Testing 3-6x Production 1x
Product Quality
- This data from Boehm: Software Engineering Economics
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…
Requirements Begin with requirements experts…who understand the importance of requirements automation Add subject matter experts…who want to express requirements in the ways that make sense to them Support the management of additional definition artifacts…Use Cases, Scenarios, Storyboards, Requests, User stories, etc.
Provide a variety of output formats… targeted at various demographics Use change notification…to ensure everyone stays in the loop Integrate with other key ALM technologies…and customize to fit your process…
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…
Data Information Knowledge Intelligence Power
Requirements
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
Connecting “disciplinary super-hubs” to your ALM Testing CCB Discussions ALM Project Tasks Requirements SCM
Metcalfe's Law accelerating benefits…
35000 30000 25000 20000 15000 10000 5000 0
Size of Network (People)
Metcalfe's Law: “The ALM Power Curve”
35000 30000 25000 20000 15000 10000 5000 0
Size of Network (People)
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)” 35000 30000 25000 20000 15000 10000 5000 0
Size of Network (People)
So, what does that mean?
20000 15000 10000 35000 30000 25000 Poorly Integrated 5000 0
Size of Network (People)
Without tight integration, potential value lies untapped Momentum from each discipline is self contained No cross-project synergies With tight integration – momentum, velocity and synergy help deliver value 35000 30000 25000 20000 15000 10000 5000 0 Tightly Integrated
Size of Network (People)
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 suite
Class, Use Case, Sequence, Collaboration, State Chars, Deployment, Activity, and Component Diagrams
Design Patterns
Get started quickly with industry recognized GOF (Gang of Four) design patterns or add your own.
Refactorings Audits 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 Wizard HTML 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.