CICLO DE VIDA DEL DESARROLLO DE SOFTWARE CON 'NET - PowerPoint PPT Presentation

1 / 67
About This Presentation
Title:

CICLO DE VIDA DEL DESARROLLO DE SOFTWARE CON 'NET

Description:

Fuente: The Standish Group International, Extreme Chaos, The Standish Group. International, Inc. ... Una metodolog a aplica las direcciones espec ficas a un ... – PowerPoint PPT presentation

Number of Views:524
Avg rating:3.0/5.0
Slides: 68
Provided by: Micr160
Category:
Tags: ciclo | con | del | desarrollo | net | software | vida | intl

less

Transcript and Presenter's Notes

Title: CICLO DE VIDA DEL DESARROLLO DE SOFTWARE CON 'NET


1
CICLO DE VIDA DEL DESARROLLO DE SOFTWARE CON
.NET
2
Agenda
  • Microsoft Solutions Framework
  • Guías de arquitectura y desarrollo
  • Modelado
  • Gestión de versiones
  • Desarrollo
  • Pruebas
  • Depuración
  • Despliegue

3
Microsoft Solutions Framework
  • Gestión de riesgos
  • Modelo de equipo
  • Modelo de proceso
  • http//www.microsoft.com/msf

4
El éxito no llega fácilmente
Con éxito
Cuestionados
Fracasados
28
23
49
2000
26
28
46
1998
27
40
33
1995
16
31
53
1994
Este gráfico muestra el resultado de 30.000
proyectos en compañías grandes, medianas y
pequeñas empresas de EEUU analizados por The
Standish Group desde 1994. Fuente The Standish
Group International, Extreme Chaos, The Standish
Group International, Inc., 2000
5
Marco Metodológico
Una metodología aplica las direcciones
específicas a un destino conocido un marco, como
una brújula, verifica el avance y proporciona una
guía direccional
6
Gestión del riesgo en MSF
  • Riesgo Posibilidad de daño o perdida
  • Distingue riesgos de incidencias o problemas que
    ya existen
  • Define un proceso de gestión del riesgo para
    proactivamente identificar, analizar y canalizar
    los riesgos
  • Incrementa la probabilidad de éxito en un
    proyecto al minimizar el potencial de fallo

7
Gestión del riesgo
8
Matriz de riesgos
  • Definición del riesgo
  • Tipo de riesgo
  • Probabilidad del riesgo
  • Impacto del riesgo
  • Exposición al riesgo
  • Plan de Mitigación
  • Plan de Contingencia
  • Responsable(s)
  • Trigger

9
Modelo de equipoConceptos clave
  • Equipo de iguales
  • Mentalidad orienta a cliente
  • Mentalidad de producto
  • Mentalidad de cero defectos
  • Disposición para aprender

10
Modelo de equipoPrácticas probadas
  • Equipos pequeños y multidisciplinares
  • Permitir a los equipos trabajar juntos en una
    misma ubicación
  • Crear un diseño de la solución con la
    participación de todo el equipo

11
Modelo de equipo
12
Modelo de proceso
Implantación completa
Versión preparada
Visión/Alcance aprobado
MSF
Plan de proyecto aprobado
Alcance completo
13
Enfoque iterativo
Minimizar riesgos descomponiendo los proyectos en
múltiples versiones
Funcionalidad
Versión 1
Tiempo
14
Variables del proyecto
  • El triangulo representa la relación entre los
    recursos, la planificación y las características
    de la solución

15
Documentos Vivos
  • Iniciarlos pronto
  • Congelarlos tarde
  • Evitar la parálisis por el análisis
  • Establecer un proceso estructurado de control de
    cambios

Documentos Vivos
16
Guías de desarrollo
  • Guías de Arquitectura (PAG)
  • Estándares de desarrollo
  • Enterprise Templates
  • FxCop

17
Guías de arquitectura
  • Guías de diseño para aplicaciones .NET
  • Muestran como encaja todo junto
  • Blueprint para decisiones a nivel de diseño
  • Alto riesgo en la etapa de diseño
  • Arquitectos son contrarios al riesgo
  • No es una solución para todos los diseños
  • Hay escenarios específicos
  • Preservar las inversiones
  • Tendré que rehacer todo en el futuro?

18
Guías de Arquitectura
Users and Devices
UI Components
UI Process Components
Business Workflows
Business Components
Business Entities
Data Access Components
Data Sources
19
Design-Level GuidanceKey considerations in
guidance
  • Applicability Requirements drive design
  • Component types apply to specific requirements
  • You may not need all component types!
  • Reusability Custom framework components
  • Where does your basic infrastructure code go?
  • Relevancy Factoring on design / implementation
  • Design includes implementation and isnt purely
    conceptual
  • Non Funtional Requirements
  • Security, Scalability, Availability,
    Manageability etc

20
Guías de Arquitectura
  • Application Architecture for .NET Designing
    Applications and Services
  • .NET Data Access Architecture Guide
  • Building Secure ASP.NET Applications
  • Debugging .NET Applications
  • Exception Management in .NET
  • .NET/COM Migration and Interoperability
  • Monitoring in .NET
  • Deploying .NET Applications
  • Team Development with SourceSafe
  • UNIX Code Migration Guide

http//msdn.microsoft.com/practices/
21
Estándares de desarrollo
  • Ayudan a escribir código robusto y seguro que
    funciona de manera consistente con el Framework
    .NET
  • Facilita la propiedad colectiva del código
  • Énfasis en la comunicación
  • .NET Framework Design Guidelines
  • http//msdn.microsoft.com/library/en-us/cpgenref/h
    tml/cpconnetframeworkdesignguidelines.asp

22
Enterprise Templates
  • Aplican políticas arquitecturales
  • Proveen guías arquitecturales
  • Foco en la tarea, en vez de en el lenguaje de
    programación
  • Modifican el IDE dinámicamente
  • Proveen estructuras iniciales de proyecto y guía
    continua de desarrollo

23
Enterprise Templates
Enterprise Template
Políticas (TDL)
Estructura Aplicación (proyectos, código,)
Orientación (contexto y html)
24
Enterprise Templates
25
FxCop
  • Utilidad que analiza el código managed para
    chequear las prácticas recomendadas
  • Da información sobre como mejorar el código
  • Diseño de reglas personalizadas
  • http//www.gotdotnet.com/team/libraries/

26
FxCop
27
Modelado
  • Modelado de software
  • Modelado de bases de datos

28
Modelado
  • Permite una mejor comprensión de los riesgos
    antes de construir el sistema
  • Nos permite especificar la estructura o
    comportamiento de un sistema, y comunicarlo a
    otros
  • Nos proporciona una plantilla que nos guía
    durante la construcción del sistema
  • Documenta las decisiones que hemos tomado

29
Modelado de Software
  • Visual Studio .NET soporta modelado con UML 1.2
  • Generación código (diagramas UML -gt código)
  • Ingeniería inversa (código -gt diagramas UML)
  • Automatic semantic error checking
  • Customizable UML reports

30
VisioModelado de Software
31
Modelado de base de datos
  • ORM (Object Role Modeling)
  • Diagramas Entidad-Relación
  • Integración con el IDE de Visual Studio .NET
  • Generación del esquema de base de datos
  • Sincronización entre la base de datos física y el
    modelo
  • Ingeniería inversa del esquema de la base de datos

32
VisioModelado de base de datos
33
Gestión de versiones
  • Visual SourceSafe
  • Guía Team Development with Visual Studio .NET
    and Visual SourceSafe

34
Visual SourceSafe
  • Herramienta integrada con Visual Studio .NET
  • Control de versiones
  • Coordinación del equipo
  • Seguimiento de versiones
  • Reutilización

35
Visual SourceSafe
36
Desarrollo
  • Application Blocks
  • Comentarios en línea
  • Refactoring
  • Compilación diaria
  • Extendiendo el IDE

37
Application Blocks
  • Data Access Application Block for .NET
  • Componente .NET que contiene código optimizado de
    acceso a datos
  • Exception Management Application Block for .NET
  • Provee un framework simple, pero extensible para
    manejar excepciones

38
Comentarios en línea
  • Documentación integrada en el código
  • Obtención de documentos XML con todos los
    comentarios
  • Ndoc
  • http//sourceforge.net/projects/ndoc/

39
Comentarios en linea
40
Refactoring
  • Mejorar el diseño del código existente, sin
    cambiar su comportamiento externo
  • Más fácil de comprender
  • Más fácil de modificar
  • Evita la degradación del diseño con el paso del
    tiempo
  • Refactoring. Improving the design of Existing
    Code. Martin Fowler
  • www.refactoring.com
  • Herramientas de Refactoring con C
  • www.dotnetrefactoring.com
  • www.xtreme-simplicity.net/

41
Refactoring
42
Compilación diaria
  • El sistema se compila cada día
  • El proceso de compilación termina con un conjunto
    de pruebas unitarias (Smoke Tests)
  • Minimiza problemas de integración
  • Facilita la monitorización del progreso
  • Siempre hay una versión ejecutable
  • Más sencilla de lo que puede parecer
  • NAnt
  • http//sourceforge.net/projects/nant/

43
Compilación diaria
44
Video Windows XP Daily Build
45
IDE extensible
  • Macros
  • La forma más sencilla de personalizar el IDE
  • Add-Ins
  • Gran integración con Visual Studio
  • Wizards
  • Ayuda en procesos complejos
  • VSIP
  • Integración al mismo nivel que C ó VB.NET
  • http//msdn.microsoft.com/vstudio/downloads/sample
    s/automation.asp

46
Pruebas
  • Pruebas unitarias
  • Pruebas stress
  • Análisis rendimiento

47
Pruebas unitarias
  • El programador prueba el código que desarrolla
  • Combate la regresión de errores y la introducción
    de nuevos errores al modificar el código
  • Las clases tienen sus propias pruebas
  • Aumentan la confianza en el código

48
NUnit
  • Un marco para desarrollar pruebas unitarias
  • Las pruebas están automatizadas
  • Permite que el código se compile y que las
    pruebas se ejecuten frecuentemente
  • Barra verde siempre! ! !
  • http//www.nunit.org
  • Test-Driven Development. Kent Beck

49
NUnit
50
Application Center Test
  • Herramienta de stress diseñada para simular un
    alto volumen de peticiones HTTP
  • Prueba aplicaciones Web o servicios Web
  • Proporciona información de rendimiento
  • Ayuda a descubrir cuellos de botellas
  • Performance Testing Microsoft .NET Web
    Applications. Microsoft ACE Team

51
Application Center TestCreación de pruebas
  • Ejecutar New Test Wizard
  • Grabar la navegación
  • Importar el Log de un servidor Web

52
ACT
53
Visual Studio Analyzer
  • Analiza las características de rendimiento de
    aplicaciones distribuidas
  • Determina posibles cuellos de botella
  • Captura eventos de COM, COMTI, ADO, OLE DB, IIS
  • Permite instrumentación personalizada de la
    aplicación

54
Devpartner Profiler
  • Identifica cuellos de botella en aplicaciones
    .NET
  • Soporta VB .NET, VC, C, JScript 7 y unmanaged
    VC
  • Integrado en Visual Studio.NET
  • http//www.compuware.com/products/devpartner/profi
    ler/default.asp

55
Devpartner Profiler
56
Depuración
  • Trazas
  • Windows Forms
  • ASP.NET
  • Procedimientos Almacenados
  • Instrumentación
  • Guías
  • Production Debugging for .NET Framework
    Applications
  • Monitoring in .NET Distributed Application
    Design

57
Depuración Trazas
  • Namespace System.Diagnostics
  • La clase Debug se usa durante el desarrollo
  • La clase Trace se usa en aplicaciones instaladas
  • Ambas clases tienen los mismos miembros
  • Write, Flush, Assert, etc

58
Depuración Procedimientos almacenados
  • Ejecución desde el Server Explorer
  • Depuración desde el Server Explorer
  • Depuración desde el código que ejecuta el
    procedimiento almacenado
  • Es necesario un punto de ruptura en el
    procedimiento almacenado

59
Instrumentación
  • Enterprise Instrumentation Framework con Everett
  • Integra y unifica las diferentes tecnologías de
    trazas, eventos y logs
  • Integrado con herramientas de gestión y
    monitorización (Application Center, MOM)

60
Servidores distribuidos
Application Server
Application Server
Distributed .NET Application
Management Server
61
Despliegue
  • Ofuscación del código
  • Implantación
  • Guía
  • Deploying .NET Applications Lifecycle Guide

62
Ofuscación del código
  • Cualquier aplicación puede ser descompilada en su
    código fuente
  • La ofuscación de código transforma un programa de
    forma que sea más difícil de descompilar,
    manteniendo la funcionalidad intacta
  • Dotfuscator Community Edition 1.1
  • http//www.preemptive.com/dotfuscator/

63
Dotfuscator
64
ImplantaciónEmpaquetado
  • Simple assembly o un conjunto de assemblies que
    son ficheros .dll o .exe
  • Fichero .cab
  • Paquete de instalación Windows Installer

65
ImplantaciónDistribución
  • Utilizar Xcopy o FTP
  • Utilizar codebase download
  • Copiar los assemblies a un servidor
  • Utilizar un programa de instalación

66
ImplantaciónEscenarios
  • Implantar una aplicación ASP.NET
  • Implantar una aplicación Windows Forms
  • Implantar un Windows Form Control

67
Miscelánea
  • Collection Generator (GotDotNet)
  • Code Inspector (GotDotNet)
  • Allocation Profiler (GotDotNet)
  • .NET Application Updater Component
  • http//www.gotdotnet.com/team/windowsforms/appupda
    ter.aspx
  • CodeSwap
  • http//www.vscodeswap.net/
  • BugTracker.NET
  • http//sourceforge.net/projects/btnet/
  • Spell checker
  • http//www.dotnetdog.com/archives/2002_12.html
  • Draco.NET
  • http//sourceforge.net/projects/draconet/

68
Roadmap Visual Studio
Write a Comment
User Comments (0)
About PowerShow.com