Está en la página 1de 39

Gestin de Proyectos

Ing. Dianelina Aguiar

.... SISTEMAS DE INFORMACIN II

Porqu fallan los proyectos de Software?


Imprecisin de los planes del proyecto y de la estimacin de costos. Baja productividad del personal de desarrollo y mantenimiento Baja calidad del producto.
Baja confiabilidad, flexibilidad, poca adaptabilidad

Altos costos de desarrollo.


El costo de producir software es muy superior al de producir hardware.

Complejidad creciente en los requisitos de software:


Requisitos incompletos, contradictorios, inestables, imprecisos.

Insatisfaccin del cliente o usuario. Retraso en la entrega del producto

Escasez de personal altamente calificado Complejidad del mantenimiento

.... SISTEMAS DE INFORMACIN II

Problemas del desarrollo de software

Sntomas Comunes:
Bajo entendimiento de las necesidades del usuario. Dificultad para lidiar con requisitos cambiantes. Mdulos que no se acoplan apropiadamente. Software difcil de mantener y extender

Descubrimiento tardo de problemas en el proyecto. Pobre calidad del software. Rendimiento inaceptable Proceso de desarrollo indefinido.

.... SISTEMAS DE INFORMACIN II

Problemas del desarrollo de software


Causas Gestin pobre de requisitos Comunicacin ambigua e imprecisa. Arquitecturas frgiles Complejidad abrumadoras. Inconsistencias no detectadas en requisitos, diseo e implementacin. Pruebas insuficientes. Evaluacin subjetiva del estado del proyecto. Mal manejo de los riesgos. Propagacin incontrolada de cambios.

.... SISTEMAS DE INFORMACIN II

Soluciones a los problemas del desarrollo del software

Es necesario:
Entender la naturaleza del software. Utilizar un proceso de desarrollo bien definido y probado. Gestionar el desarrollo de software como un proyecto de ingeniera. Utilizar practicas reconocidas (mejores practicas). Segn el Software Program Manager`s Network. Emplear la mejor gente (el mejor personal)

.... SISTEMAS DE INFORMACIN II

Modelo de las 5 P
(J, Montilva)
Usar proceso de desarrollo efectivo Proceso

Entender la naturaleza del Software Producto

Emplear el mejor personal Personas

Utilizar las mejores practicas Practicas

Gestionar el desarrollo como un proyecto Proyecto


.... SISTEMAS DE INFORMACIN II

Producto: Entender la Naturaleza del software

El software es mucho mas que piezas de cdigo o programas. Es un conjunto de programas, procedimientos, reglas, documentos y datos asociados a un sistema de computacin para:
Dar solucin a un problema. Automatizar un proceso o Satisfacer requisitos de un conjunto de usuarios
.... SISTEMAS DE INFORMACIN II

Producto: Entender la naturaleza del software


El software es un objeto abstracto producido por el intelecto del hombre El cual tiene las siguientes propiedades No es visible, no es tangible. No tiene propiedades fsicas (peso, masa, color u olor). No se deteriora , ni desgasta con el tiempo Tiene una estructura modificable Esta sujeto a cambios continuos peridicos o no.

.... SISTEMAS DE INFORMACIN II

Naturaleza del software

Propiedades del software (cont.)


Las modificaciones continuas ocasionan con el tiempo una perdida de confiabilidad. Se desarrolla no se construye.
Sus componentes crecen progresivamente mediante adiciones y correcciones sucesivas de sus componentes. Su mantenimiento es complejo:
Sus componentes no se reemplazan se corrigen. Su estructura evoluciona mediante modificaciones sucesivas.

.... SISTEMAS DE INFORMACIN II

Proceso: Usar modelos y mtodos efectivos


La ingeniera de software aplica ingeniera a los procesos de desarrollo y mantenimiento de software. Qu es la ingeniera? Y Cmo los ingenieros resuelven problemas?. Los ingenieros resuelven problemas, mediante la aplicacin del proceso fundamental de la ingeniera (Jensen y Tonies, 1979).
Formulacin del problema Anlisis del problema Bsqueda de soluciones Seleccin de la mejor solucin Diseo de la solucin Implementacin De la solucin

.... SISTEMAS DE INFORMACIN II

Proceso de desarrollo de software

La ingeniera de software emplea procesos que describen las actividades necesarias para desarrollar software
Muchos de ellos se fundamentan en el proceso fundamental de la ingeniera. Estos procesos han sido adaptados y han evolucionado para adecuarse a la naturaleza del software.
.... SISTEMAS DE INFORMACIN II

Proyecto: Gestionar costos, tiempo, recursos y calidad


En la Ingeniera de Software el proceso de desarrollo se realiza bajo la modalidad de proyecto. Un proyecto tiene un conjunto de objetivos que deben ser alcanzados dentro de restricciones tales como: El presupuesto asignado al proyecto. El tiempo esperado de desarrollo del producto La disponibilidad de recurso humano para desarrollarlo

.... SISTEMAS DE INFORMACIN II

Proceso de desarrollo de software


Elementos fundamentales de un proyecto:
Procesos:
Etapas, fases, pasos, tareas Actividades, acciones

Productos:
Administrativos. Tcnicos o de entrega Intermedios o finales

Recursos:
Humanos Financieros Tiempo Materiales Tecnolgicos H/S. Infraestructura.

.... SISTEMAS DE INFORMACIN II

Practicas: Usar las mejores practicas del software


Las mejores practicas empleadas exitosamente en la industria del Software [Kruchten, 2000]. Desarrollar el software iterativamente.
Usando mtodos y modelos de procesos iterativos o versionados

Gestionar los requisitos.


Manejando los cambios en los requisitos Rastreando los requisitos (trazabilidad).

Usar arquitecturas basadas en componentes.


Reutilizando componentes de software

Modelar visualmente el software.


Usando lenguajes de modelado grafico: UML 2

.... SISTEMAS DE INFORMACIN II

Practicas: Usar las mejores prcticas de Software Verificar y validar continuamente la calidad del software.
Revisando los productos con respecto a los requisitos Revisando los productos con los usuarios

Controlar los cambios.


Usando control de la configuracin

.... SISTEMAS DE INFORMACIN II

Personal: Gestionar el activo mas importante


El personal que desarrolla software debe ser: Competente. Experto y conocedor del oficio. Persona capaz y apta para ejercer las funciones o roles que requiere el desarrollo de software. Bien Formado. Tener una buena formacin acadmica Un grado acadmico relacionado con las TICS y preferiblemente con la Ingeniera de Software. Capacitado. Continuamente actualizado Capacitado a travs de programas de actualizacin profesional reconocidos Motivado. Interesado en el problema y su solucin Debidamente dirigido por buenos lideres o gerentes
.... SISTEMAS DE INFORMACIN II

Personal: Gestionar el activo mas importante


El personal que desarrolla software debe ser: Bien remunerado.
Una remuneracin acorde al nivel de su formacin y experiencia

Dispuesto a aprender.
Capaz de aprender por su propia cuenta.

Orientado.
Debe ejercer roles para los que esta capacitado Se debe evitar el uso de toderos(hacedores de todos).

.... SISTEMAS DE INFORMACIN II

Personal: Gestionar el activo mas importante Organizado.


Capaz de elaborar un plan de trabajo personal, seguirlo y controlarlo Capaz de seguir planes de proyectos

Productivo.
Orientado a la solucin de problemas.

Cooperativo
Dispuesto a trabajar en grupos o equipos de trabajo.

.... SISTEMAS DE INFORMACIN II

MODELOS DE PROCESOS DE SOFTWARE

.... SISTEMAS DE INFORMACIN II

Procesos de desarrollo de software Proceso de desarrollo de software:


Es un conjunto organizado de actividades para la produccin de una determinada aplicacin o sistema de software Modelos del Proceso de desarrollo de software.
Es una representacin, generalmente grafica de un proceso de software vista desde una perspectiva particular (enfoque) Describe los procesos que se siguen o deben seguirse para desarrollar una familia de aplicaciones o sistemas de software

.... SISTEMAS DE INFORMACIN II

Procesos de desarrollo de software


Los modelos de procesos de desarrollo aplican ordenadamente un conjunto de acciones denominadas:
Procesos, etapas, fases, pasos, actividades o tareas Estas acciones son los bloques de construccin de un modelo de procesos.
Anlisis Procesos Tcnicos Diseo Construccin Pruebas Instalacin
Procesos de gestin y soporte

Gestin Soporte

.... SISTEMAS DE INFORMACIN II

Enfoques de desarrollo de software. Define: la manera en la que los bloques de construccin se organizan. Las interacciones entre estos bloques Los modelos de procesos de desarrollo varan de acuerdo al enfoque empleado.

Procesos de desarrollo de software


EJEMPLO: Enfoque secuencial o de cascada

A D P G L

.... SISTEMAS DE INFORMACIN II

Procesos de desarrollo de software


Las interacciones entre los bloques determinan, los flujos de informacin entre bloques. Enfoques ms comunes: Secuenciales Evolutivos gil Basados en reutilizacin de componentes Orientado a objetos

.... SISTEMAS DE INFORMACIN II

Clasificacin de los modelos de Procesos


Enfoque secuencial.
Modelo de cascada Modelo en V

Reutilizacin de componentes.
Modelo de desarrollo de dos fases TWIN El mtodo WATCH

Enfoque evolutivo.
Modelos basados en prototipos Modelos de espiral Modelos de desarrollo incremental Desarrollo por versiones Modelo de Microsoft

Enfoques giles.
Programacin Extrema SCRUM

Enfoque orientado a objetos.


El mtodo de BOOCH OOSE Object Oriented Software Engineering Modelo de desarrollo Unificado RUP

.... SISTEMAS DE INFORMACIN II

Modelos de procesos de desarrollo

.... SISTEMAS DE INFORMACIN II

Aspectos metodolgicos del desarrollo de software


La Ingeniera de Software emplea un conjunto de elementos metodolgicos para mejorar el proceso de desarrollo de software
Metodologa

Mtodos

Tcnicas Herramientas de Desarrollo

Modelos Lenguajes de Modelado

.... SISTEMAS DE INFORMACIN II

Aspectos metodolgicos del desarrollo de software Metodologa: Cuerpo de mtodos empleados por la Ingeniera de Software, para producir, mantener y operar software. Mtodo de Desarrollo: Modelo de procesos que describe en general que deben hacer los grupos de desarrollo para elaborar productos de software. Tcnica de desarrollo: Procedimiento detallado que describe como debe elaborarse un producto intermedio de software
Ejemplo: Tcnica de inspeccin de cdigo, caja negra, caja blanca.

.... SISTEMAS DE INFORMACIN II

Aspectos metodolgicos del desarrollo de software Herramienta de desarrollo: Sistema de software usado por el grupo de desarrollo para ejecutar ciertas actividades o tareas del proceso de desarrollo. Modelo: Representacin de un proceso, producto u otro elemento que interviene en el desarrollo de un sistema Lenguaje o notacin de modelado: lenguaje grafico textual o formal usado para construir modelos de sistemas o productos
Ejemplo: Lenguaje de modelado Unificado UML DFD Redes de Petri

.... SISTEMAS DE INFORMACIN II

Modelos de Proceso
El termino modelo de proceso de software se define incorrectamente, como el ciclo de vida del software. El ciclo de vida del software muestra la evolucin del software a travs de un ciclo de cuatro etapas Mientras que un modelo de procesos describe que se hace en la etapa de desarrollo
.... SISTEMAS DE INFORMACIN II

Ciclo de vida
Desarrollo Uso

Retiro

Mantenimiento

.... SISTEMAS DE INFORMACIN II

Ciclos de vida y desarrollo de software


El ciclo de vida del software es el conjunto de etapas a travs de las cuales una aplicacin evoluciona a lo largo de su vida til El ciclo de desarrollo: Es el conjunto de fases a travs de las cuales se desarrolla una aplicacin

Ciclo de vida

Ciclo de desarrollo

.... SISTEMAS DE INFORMACIN II

Ciclo del desarrollo


Anlisis

Instalacin Diseo

Pruebas

Construccin

.... SISTEMAS DE INFORMACIN II

Lenguajes de Modelado
En el desarrollo del software se emplean varios tipos de lenguajes Los lenguajes de modelado son un tipo particular de ellos. Los lenguajes de modelado permiten representar y comunicar conocimientos acerca de un sistema.
Representan conocimientos.
Poseen constructos (smbolos) que facilitan el modelado de diferentes aspectos de un sistema.

Comunican conocimientos .
Los modelos que producen son utilizados con fines diferentes para comunicar el conocimiento representado

.... SISTEMAS DE INFORMACIN II

Lenguajes de Modelado Un lenguaje de modelado es un sistema de signos usados para representar diferentes aspectos de un sistema Consta de:
Un Vocabulario: Conjunto de smbolos o constructos empleados para modelar Una Sintaxis: Conjunto de reglas que describen como se usan los smbolos. Una Semntica: Describe el significado de los smbolos
.... SISTEMAS DE INFORMACIN II

Lenguajes de Modelado

Lenguajes y notaciones.
Las notaciones son, tambin, medios para modelar; pero tienen una semntica menos rigurosa que los lenguajes. Notaciones mas usadas
Diagramas de flujo de datos Redes de petri BPMN (Business Process Modeling Notation)

.... SISTEMAS DE INFORMACIN II

Lenguajes de Modelado
Lenguajes de modelado mas recientes.
UML (Unified Modeling Language) SysML (System Modeling Language) BPML (Business Process Moeling Language) WebML (Web Modeling Language).

.... SISTEMAS DE INFORMACIN II

Introduccin al lenguaje UML


UML (Unified Modeling Language): Es un lenguaje de modelado de sistemas de software que integra y unifica diferentes notaciones y lenguajes formales Facilita la representacin del conocimiento acerca de un sistema y la comunicacin de dicho conocimiento. Es un estndar administrado por OMG(Object Management Group (www.omg.org). Ha evolucionado agregando mayor poder y capacidad semntica a cada nueva versin Versiones mas recientes
UML 1.4, 1.5, 2.0, 2.1

.... SISTEMAS DE INFORMACIN II

Introduccin al lenguaje UML Es utilizado en la industria del software para: Especificar, disear, visualizar, comunicar y documentar sistemas de software y aplicaciones Caractersticas:
Unifica diferentes notaciones Es intuitivo Coherente, genrico, extensible y configurable

.... SISTEMAS DE INFORMACIN II

Introduccin al lenguaje UML


Se emplea directamente en las siguientes actividades del desarrollo de software:
Modelado de negocios Definicin y especificacin de requisitos Diseo arquitectnico. Especificacin y diseo de componentes Diseo de bases de datos Diseo de interfaces U/S Pruebas del sistema Documentacin del sistema

.... SISTEMAS DE INFORMACIN II

También podría gustarte