Title: Delphi Diamondback Sneak Peek
1Delphi (Diamondback) Sneak Peek
- John Kaster, Senior Manager
- Borland Developer Relations
2Diamondback sneak peek
- Multi-personality IDE
- Delphi for Win32
- Delphi for Microsoft .NET
- C
3Diamondback sneak peek
- New IDE features shown
- Welcome page with news feeds
- Multi-personality IDE for Delphi/Win32,
Delphi/NET and C projects - Project groups with Delphi/Win32, Delphi/NET, and
C projects - Error Insight
- Help Insight
- Refactoring for Delphi and C
- History view
4Diamondback sneak peek
- New Delphi language feature
- For .. in do enumerator
- Supported in Delphi/Win32
- Supported in Delphi/.NET
53042 ALM for Microsoft.NET
- John Kaster (johnk_at_borland.com)
- Senior Manager, Borland Developer Relations
6Agenda
- StarTeam
- CaliberRM
- J2EE Interoperability
- OptimizeIt
- Deployment Manager
- XMLDoc
- .NET Managed Database
- Unit Testing and Refactoring
- QA
7StarTeam Is The M In ALM
- Software Configuration and Change Management
(SCM) - Integrations are vital to success
JBuilder CBuilder CBuilder Delphi
Together
StarTeam
OptimizeitSuite
CaliberRM
Enterprise Server Janeva Interbase
8StarTeam
9What 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
10Common 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
11Why Care About SCM ?
- Meta Group
- To increase relevance and cut costs, Global
2000 organizations must consider coordination of
key life-cycle phases, such as requirements
analysis, testing and version control, and
best-of-breed functionality when making vendor
choices, to better and more efficiently manage
application programs and projects. - Hurwitz Group
- 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.
12StarTeam
13What is StarTeam ?
- StarTeam is
- a comprehensive software configuration
management system to support the definition and
control of all assets and life cycle tasks from
within a single repository - Unified repository for all enterprise assets
- Highly optimized client-server interaction
- Customizable workflow and process rules
14What 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
15StarTeam Functionality Matrix
16What Makes StarTeam Unique ?
- StarTeam provides
- Unified repository for all enterprise assets
- Integrates all key lifecycle assets in one
repository - Supports full lifecycle traceability and impact
analysis - Highly optimized client-server interaction
- Enables scalable, highly efficient communication
- Supports true multi-cast and event-based
transactions - Customizable workflow and forms
- Requires little, if any, programming skill
- Managed at the server so no client deployment
issues - Workflow objects are versioned with all other
assets - Enables workflow and forms definition for all
asset types
17Benefits of An Integrated Repository
Client Desktops
ALM Apps
- StarTeam UI
- JBuilder
- CBuilder
- CBuilder
- Delphi
- Eclipse/WSAD
- MS Visual Studio, .NET
- Oracle Developer
- Web Browser
- SDK
Windows
StarTeam Server
- CaliberRM
- Together
- MS Project
- TestDirector
- Remedy
- etc.
Linux
- Version Management
- Change/Defect Management
- Requirements Management
- Task Management
- Electronic discussion
Unix
SCMArchives
Java Enabled
18Current StarTeam Integrations
- Application-Specific
- Borland CBuilder
- Versions 5, 6
- Borland Delphi
- Versions 6, 7, 8.NET, Diamondback
- Borland JBuilder
- Versions 8, 9, X
- Eclipse Framework
- Versions 1, 2.1
- IBM WSAD
- Versions 4.0, 5.1
- Mercury TestDirector
- Versions 7.5, 7.6, 8.0
- Microsoft Project
- Versions 2000, 2002
- 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
- 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
19Web-Centric Architecture
20StarTeam MPX True Multi-Cast Support
Client
Client
Client
Client
Client
Client
Dedicated Connections
Starbase Server
ServerDatabase
21StarTeam
22Unified Repository For All Assets
StarTeams unique Project and View definitions
provide unlimited flexibility for
sharing/restricting assets
23Automated File Status Tracking
Group By options let developers perform bulk
operations quickly
24Flexible 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 mouse clicks
Graphical wizards quickly create branches and
provide prompting merging when necessary
25Customizable Filters and Queries
Options include sorting, grouping, queries,
context, and column order and membership
Filter definitions are defined graphically,
without the need for programming experience
These filters and queries can either be
user-specific or public objects that any other
StarTeam user can select
26Multi-Level Labels and Promotion States
StarTeam includes a unique 2-level labeling
ability that allows for both component and build
labels
Promotion states provide an additional level of
abstraction so that dynamic views can easily be
defined for lifecycle stages
27Integrated Change Management
Change requests record defects, enhancements,
suggestions, etc.
Change requests are native objects that the
StarTeam Server understands
Change requests definitions can easily be
customized with custom fields and forms
Change requests can be entered in StarTeam or
synchronized from other defect tracking sources
28Integrated Requirements Management
Requirements are native objects that the StarTeam
Server understands
Requirements can be entered in StarTeam or
synchronized from CaliberRM
29Integrated Task Management
Tasks are native objects that the StarTeam Server
understands
Tasks can be entered in StarTeam or synchronized
from Microsoft Project
30Customizable Workflow Forms
Graphical workflow definition allows
customization of StarTeam process rules and
enforces standards
Alternate Property Editors provide custom user
interface and can be setup for all object types
Make the process fit your environment - not the
other way around!
Alternate Property Editors are also stored in
StarTeam Server as configuration items
Workflow definition stored in StarTeam Server as
configuration items so client deployment is
automatic
31StarTeam Demonstration
- StarTeam User Interface
- Version Control functionality
- Change management functionality
- Process Items Automated Linking
- Requirements Integration
- Task Integration
- Custom Workflow Design
- Workflow Designer
- Custom Forms definition
- Decision Support Analysis
- StarTeam DataMart
32Diamondback 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
33Setting the stage What is Requirements
Management?
34What 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.
35What the Customer Needs
36Different Interpretations
37The Source of Software Defects
Requirements Errors (56)
Design Errors (27)
Other Errors (10)
Coding Errors (7)
Source James Martin, An Information Systems
Manifesto
38The Cost to Fix Software Defects
Requirements Errors (82)
Design Errors (13)
Other Errors (4)
Coding Errors (1)
Source James Martin, An Information Systems
Manifesto
39Sources of Defects
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. Thats a pretty significant difference.
From a U.S. Air Force Project, F. Sheldon,
1992 Reliability Measurement from Theory to
Practice
40Software as Problem Solving
Linear Method Designer Process
Gather Data
Problem
Analyze Data
Formulate Solution
Implement Solution
Solution
Time
Pattern of Cognitive Activity of One Designer
41The Quality Lever
- This data from Boehm Software Engineering
Economics
42Approaches to Requirements
43Three 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 CB, 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
isnt 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.
44Building a requirements community
- Begin with requirements expertswho understand
the importance of requirements automation - Add subject matter expertswho want to express
requirements in the ways that make sense to them - Support the management of additional definition
artifactsUse Cases, Scenarios, Storyboards,
Requests, User stories, etc. - Provide a variety of output formats targeted at
various demographics - Use change notificationto ensure everyone stays
in the loop - Integrate with other key ALM technologiesand
customize to fit your process
45Metcalfes 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
46Augmentation and aggregation are key
47Borland ALMAnd CaliberRM
48ALM 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
49Connecting disciplinary super-hubs to your ALM
ALM
50Metcalfe's Law - accelerating benefits
51Metcalfe's Law The ALM Power Curve
Manage
Definition
Design
Deploy
Develop
Test
52What 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/al
ertbox/990725.html)
53Metcalfe in Reverse Non-integrated Power
Curve(s)
Manage
Definition
Design
Deploy
Develop
Test
54So, what does that mean?
- With tight integration momentum, velocity and
synergy help deliver value
Poorly Integrated
- Without tight integration, potential value lies
untapped - Momentum from each discipline is self contained
- No cross-project synergies
Tightly Integrated
55CaliberRM 6.0
56CaliberRM 6.0 - New Features
- Rich Requirement Editing
- Delivered with dramatic improvements to Import,
GUI, Document Generation, and usability - Tables, Images, rich text and expanded hyperlink
support - Fit-to-Process Customization MPX event-driven
Agents - Rule-based attribute calculations
- Multi-tier communication/notification strategies
- Automated approval processes
- Strong inheritance models, including between
types - only limited by your imagination!.
- Phase I Use Case Automation with TCC
- TestDirector 8.0 Support and IDE integration with
Delphi Eclipse integration on the way - Stackable licensing
- Miscellaneous productivity enhancements
57(No Transcript)
58(No Transcript)
59(No Transcript)
60(No Transcript)
61Demonstration
62J2EE/EJB interop with Janeva for Diamondback
- Delphi and C support
- Select individual or all EJBs from a J2EE archive
(EAR or JAR) to generate the client for - Automatically parses vendor-specific (BES,
Weblogic and Websphere) Deployment Descriptors
for the correct JNDI name to bind to - Generates a ServiceLocator for easy, one step,
EJB binding and home interface access - Generates assemblies (instead of .cs) for .NET
language transparency - Automatically creates an app.config file with the
required Janeva parameters - It has cool About box and Splash screen icons
63J2EE and .NET Interoperability
64OptimizeIt for .NET
- OptimizeIt profiler
- CLR information
- Memory profiling
- CPU usage profiling
65OptimizeIt for .NET
66Deployment manager
- XCopy deployment
- FTP deployment
- Pluggable architecture
- Comparison engine
67XMLDoc tool (unsupported)
- Requirements
- Instant Saxon http//saxon.sourceforge.net/saxon6.
5.2/instant.html - Python http//www.python.org/ftp/python/2.3.4/Pyth
on-2.3.4.exe - JDK 1.4
- Comment formats
- Single line
- ///
- Multiline
- !
- ! ..
- Use compiler switch to generate XML
- Build HTML Help 2 input files from XML output
68Quick tour
- XMLDoc tool by Aleatha Parker
69New! Pure .NET Database
- Managed Code Database Advantages
- Fast, small, easy to use and deploy
- Room J4, Monday 200 - 315
- Writing Managed Code Database Apps
- Use Delphi, C, VB to write database triggers,
stored procedures and UDFs - Room J4, Monday 500 - 615
70Unit Testing and Refactoring
- NUnit (.NET) support
- DUnit (Delphi/Win32) support
- New test case (Delphi C)
- New test project (Delphi C)
71Unit testing and refactoring
72Questions?
- John Kaster (johnk_at_borland.com)
73Thank You
- Please fill out the speaker evaluation
- You can contact me further at johnk_at_borland.com