borland developer studio - danysoftborland, 22 años liderando el desarrollo primeros pasos (80s):...
TRANSCRIPT
Borland Developer Studio
ALM�Daniel Pereiro
Borland, 22 años liderando el desarrollo
� Primeros pasos (80s):
� Turbo C, Turbo Pascal, …
� Apoyo al desarrollador.
� Segunda generación de productos (90s)
� Delphi, C++ Builder, JBuilder, Kylix, …
� Productividad del desarrollador
� En la actualidad
� CaliberRM, Together, StarTeam, OptimizeIt, ServerTrace, …
� Productividad del equipo
� Próxima generación de productos (2006)
� ALM Dashboard, Portfolio Management, Planificación y Gestión de Proyectos, Gestión del Riesgo…
� Productividad de la organización
¿ Usamos un proceso de desarrollo efectivo ?
Procesos de desarrollo
Resultados
� La realidad de los proyectos.
� ¿Cumplen el 100% de los requisitos de usuario?
� Tiempo, coste, …
Más datos
0%
20%
40%
60%
Succeeded
Failed
Challenged
2004 Chaos ReportStandish Group
2002 2004
Un dato más…
� Only about 15% of software development effort is
devoted to programing”.
� Walker Royce
� Requisitos
� Análisis y Diseño
� Pruebas
� Despliegue
� Gestión
¿Dónde empleamos el 85% restante?
La visión de Borland - Buenas prácticas
� Alta integración entre fases de desarrollo.
� Gestión de requisitos (efectiva)
� Modelado visual (UML)
� Conocimiento (Patrones de diseño)
� Desarrollo iterativo (incremental)
� Integración continua
� Verificar la calidad del Software continuamente
� Pruebas unitarias, de rendimiento, escalabilidad, …
� Auditorias y métricas
� Control de cambios a todos los niveles, requisitos y código (visiblesen tiempo real)
� Trazabilidad a través de todo el ciclo de vida.
� Auditar y medir continuamente.
Gestión del Ciclo de Vida (ALM)
Performance
analysis
Modeling and
analysis
Deployment
Management
Development
Process
Management &
Collaboration
Requirements
Management
Delphi 2006 Developer Studio IDE
Delphi
Win32
C++Builder
Win32
C#Builder
.NET
Delphi
.NET
Borland ALM
CaliberRM StarTeam Together
Together ®
JBuilder ®
C++Builder™
Delphi™
StarTeam®Optimizeit™
Technologies
BESVisibrokerInterbase
CaliberRM™
DESIGN
DEPLOY
DEVELOP
TESTDEFINEMANAGE
El principal objetivo
Developers
Customer
Borland Developer Studio 2006
CaliberRM Client
Borland Developer Studio 2006
Starteam Client
CaliberRMGestión de Requisitos
Fundamentos de gestión de requisitos
� Tomar requisitos del cliente
� Clasificar requisitos por tipos
� Validar los requisitos
� Gestionar los cambios
� Establecer prioridades
� Documentar decisiones
� Trazar relaciones entre requisitos (dependencias)
� Comunicar cambios
� Controlar versiones y Baselines
CaliberRMClientes - Repositorio centralizado
Windows NT/2000/XPJava-enabled Browser
Mod & Dev ToolsTogetherDeveloper StudioJBuilderVisual Studio .NETEclipseRational RoseDescribeSELECT EnterpriseOthers via SDK
SCM ToolsStarTeamSCCOthers via SDK
Testing ToolsMer. TestDirectorSegue Test ManagerOthers via SDK
���� PASS
� FAIL
Desktop & PM ToolsMicrosoft ProjectSPC Estimate PRO
MyProject1 Task1.1 Sub Task 11.2 SubTask 21.2.1 Sub Task 3
Caliber Server
Web Server:Microsoft IISApache
CaliberRM ToolsCaliberRM (Win 32)Framework AdmRM-ExportRM-ImportDocument FactoryDatamartEstimate ProDiagnostic Tool
CaliberRMCaracterísticas principales
� Versionado de los requisitos y gestión de Baselines
� Flexibilidad (Tipos requisitos y atributos)
� Integración (Análisis&Diseño, desarrollo, pruebas)
� Trazabilidad, seguimiento dependencias
� API abierta: Java, COM y .NET
� Acceso remoto (Cliente Web)
� Foros de discusión
� Notificación de cambios en los requisitos
� Glosario
� Seguridad
� Documento de requisitos (Document Factory)
� Informes, métricas (Datamart)
Plantilla Estándar de requisitos
� Nombre del requisito / ID único
� Versión
� Propietario
� Prioridad
� Estado
� Descripción
� Responsables
� Referencias
� Discusión
� Histórico
� Trazabilidad
Tipos de Requisitos - Teoría
� Requisitos de Usuario� Alto nivel, lenguaje no técnico
� Requisitos de Sistema� Funcionales
� No Funcionales� Del producto (comportamiento del producto)
� De eficiencia,
� De fiabilidad
� De portabilidad
� De usabilidad
� …
� Organizacionales (procedimientos de la organización)
� De entrega
� De implementación
� De estándares
� …
� Externos (factores externos al sistema)
� De interoperabilidad
� De legislación
� De privacidad
� De seguridad
� …
Información en CaliberRM
Dentro del proyecto
Hierarchy #
ID #
Atributos
de usuarioAtributos del sistema
Proyecto
Tipos de requisito
Dentro de los tipos de requisito
Requisitos
Se definen por estos grupos de atributos (tabs)
Detalles Otros..Trazabilidad Referencias Discusión Historia ValidaciónResponsables
Análisis de impacto
Vista “Grid” de requisitos
CaliberRM Document Factory
CaliberRM DataMart
The CaliberRM DataMart provides graphicalanalysis and reporting, including drill-downcapability and ad-hoc report customization
Borland Estimate Pro
Borland Starteam
Síntomas mala gestión de configuración
� Los errores corregidos suelen reaparecer
� Imposibilidad de reconstruir releases previas de software
� Cambios o desapariciones misteriosas de componentes
� Cambios múltiples sobre el software no son
correctamente controlados
� No existe un modo de rastrear o auditar los cambios
Gestión de configuración
� Es la disciplina que identifica la configuración de un
sistema en puntos discretos del tiempo, con el objetivo
de controlar sistemáticamente los cambios de esa
configuración y mantener su calidad y trazabilidad a
través del ciclo de vida del sistema.
� Control de Versiones
� Control de Cambios
� Generación de Ejecutables
� Gestión de Procesos
Control de ….
� Control de versiones
� Es el proceso de administrar las multiples revisiones de los elementos configurables de un sistema.
� Control de cambios
� Es el proceso de capturar, organizar y comunicar las peticiones decambio através del ciclo de vida de los elementos configurables del sistema
� Control de ejecutables
� Es el proceso de construir los elementos ejecutables a partir de los elementos fuentes de forma automática y controlada.
� Control de procesos
� Hace referencia al tratamiento de manera eficiente, de las actividadesrelacionadas con el desarrollo, mantenimiento y soporte de los productos de software.
Arquitectura
Web Server:Microsoft IIS
TCP/IPInternetIntranetVPN/WAN
RDBMSSQL ServerOracleDB2
Starbase Server
StarTeam
Transparent Access
PVCS
VSS
AppsJava, Delphi, C++,..
StarDiskIntegración con Explorer
STCMDComandos Unix o Win
Web Browser
ClientesWin32
CrossPlatform
Conceptos
� Proyecto (Project)
� Vista (View)
� Etiqueta (Label)View Label
Revision Label
�Modelo de promoción (Promotion model)
� Items (File, Change Request, Task, Requirement,
Topic)
Control de versiones
� Acceso directo a versiones antiguas de componentes
particulares desde el panel ‘history’
� Posibilidad de checkout, comparar versiones, editar
comentarios, etc.
Control de cambios
� Almacena, filtra y ordena CR’s por cualquier atributo
� Asegura que los cambios propuestos son realizados por sus responsables y se notifica a los implicados
� Enlaza CR’s con versiones específicas de ficheros
� Las propias CR’s están bajo el control de versiones
� Soporta integración con TestDirector
Gestión de tareas
� Crear, evaluar y asignar
tareas a miembros del
equipo
� Enlazar tareas a otros
ficheros
� Sincronización con
MSProject
� Reports adicionales
Trabajo colaborativo
� Almacena hilos de
discusión en el
repositorio
� Enlaza topics con otros
Files
� Evita la perdida de e-
mails y potencia la
comunicación
Gestión de configuraciones
� Acceso a una snapshot (foto) del proyecto, vista o folder a
partir de una etiqueta, punto de promoción o fecha en
particular
� Posibilidad de crear una vista a partir de aquí y tratarla
independientemente
Trabajo en paralelo
� Flexibilidad para trabajar e introducir cambios en paralelo
� Checkin y checkout bloqueantes o no, asociación de múltiples
ficheros a tareas facilitando el proceso, etc.
Workflows parametrizables
� Determina el ciclo de vida de
los elementos, por ejemplo,
en un proceso de
aprobación
� Envía notificaciones cuando
se produce un evento a los
responsables
� Asegura que todos los
cambios realizados tienen
un motivo determinado
� Formularios, campos,
valores y procesos
plenamente customizables
Borland Search Server
Borland Search Server
� Búsquedas de elementos
� Seguridad (Usuarios de
StarTeam y Caliber)
� Abrir clientes (RM & ST)
� Sincronización MPX