You are on page 1of 43

1-Sep-2012

Qu es?

Es la aplicacin de un enfoque sistemtico, disciplinado y cuantificable al desarrollo, operacin y mantenimiento de software, y el estudio de estos enfoques. Por qu se le llama as?
Porque integra matemticas, ciencias de la computacin y prcticas cuyos orgenes se encuentran en la ingeniera.

El desarrollo del software en el mundo real, por lo general depende de una demandante lista de caractersticas; as como de estrictas fechas de entrega determinadas por el mercado. Como resultado, slo los grupos bien organizados de ingenieros con conocimiento de los mtodos de ingeniera de software son capaces de llevar a cabo estas actividades de modo apropiado. Con frecuencia la alternativa es el caos y en ocasiones el desastre. La ingeniera de software incluye personas, proceso, proyecto y producto Personas= Quin lo hace?
Proceso= La manera en que se hace Proyecto= La realizacin Producto= La Aplicacin de artefactos.

Proceso:

El proceso comienza con la especificacin de los requerimientos de la aplicacin, despus procede a la etapa de diseo, luego a la etapa de implementacin y por ltimo a la etapa de pruebas. Suele incluirse la etapa de mantenimiento.
La experiencia nos dice que rara vez se sigue este proceso, en la prctica a menudo se usan procesos iterativos para el desarrollo de software, dnde este proceso se repite varias veces y asea completo o en partes, esto tambin se aplica a procesos de calidad del software.

Proceso:

Para el desarrollo de software se usa el sistema CMM = Modelo de madurez de capacidades, para terminar el grado de desarrollo, para medir a los ingenieros el PSP = proceso personal de software que es dnde se mide la capacidad de cada programador, tambin se analiza el TSP proceso de software de equipo, es decir las herramientas con las que contamos para el desarrollo de software

Proyecto:

Es un conjunto de actividades necesarias para producir los artefactos requeridos, incluye contacto con el cliente, escribir la documentacin, desarrollar el diseo, escribir el cdigo y probar el producto
En este sentido se aplica UML= Lenguaje de modelado unificado el cual es un estndar para el diseo de la documentacin del sistema, no es una metodologa como tal, sino una notacin.

Proyecto:

Hoy da la proporcin del trabajo del mundo real no es la construccin de nuevos sistemas sino el mejoramiento o uso de los existentes. Incluso aplicaciones que en apariencia son nuevas, suelen tener que coexistir con los sistemas heredados

Personas:

La interaccin con las personas involucradas en un proyecto de software tienen un efecto profundo en su xito. Los equipos trabajan mejor cuando tienen conocimiento de lo que se supone que deben de hacer y cuando los miembros tienen papeles especficos dentro del proyecto.
Como parte elemental y fundamental requiere que los interesados en el proyecto: personas que ganan o pierdan con su resultado, incluye al cliente, el usuario final y los patrocinadores financieros estn conformes y contentos con el trabajo realizado.

Producto:

Por ltimo debemos preguntarnos Qu pasa con el producto?, no slo la aplicacin del software, sino todos los artefactos asociados, es decir los involucrados en el proyecto, Qu pasa al finalizar el producto?.

Calidad:

Toda aplicacin contiene defectos, sin importar quien las realice para ello la aplicacin debe satisfacer el nivel de calidad predeterminado: Inspeccin: Procesos orientados a equipos para asegurar la calidad, aplicada a todas las etapas del proceso
Mtodos formales: Tcnicas matemticas para convencernos de que los programas hacen lo que deben; es decir se aplican en forma selectiva

Calidad:

Pruebas: A nivel de la unidad y a nivel de toda la aplicacin.


Tcnicas de control de proyectos: Predecir los costos y la programacin; as como tener un control de los denominados artefactos(versiones, alcance,etc)

Proyecto de equipo:

Establecer la agenda de juntas y lmites de tiempo. Elegir al lder del proyecto. Decidir cmo se comunicar el equipo. Identificar al cliente. Comprender el proyecto en trminos generales.
Una manera de establecer las expectativas del equipo

Comprometer a todos a dedicar el tiempo requerido

Una manera de establecer las expectativas del equipo

Comprometer a todos a dedicar el tiempo requerido a) Definir nmero promedio esperado de horas por semana b) Si no se logra c) Reunir fechas de ausencias planeadas
Elegir un lema del equipo: logro/aprendizaje Logro: obtener una mezcla de tcnica, liderazgo, escritura y relaciones con los clientes Aprendizaje: sacrificar logro permitido a los integrantes experimentando nuevas actividades. Entender lo que resalta el administrador

Una manera de especificar cmo se comunicar el equipo

a) b) c) d) e) f) g)

Poltica General Reuniones Reuniones alternativas Estndares Modo preferido para la comunicacin electrnica Modo alternativo para la comunicacin electrnica Acuse de recibo

Trabajo Escrito: " Proceso" Contenido: a) Introduccin al Proceso de Ingeniera b) Perspectivas histricas y contemporneas c) Expectativas para proceso, proyecto, producto y personas d) Procesos Alternativos e) Documentacin f) Calidad

Fecha de Entrega 8-Septiembre-2012

" Proceso" Howard Baetjer, Jr. Lo define como el conocimiento incorporado, y puesto que el conocimiento est inicialmente disperso, el desarrollo del software implcito, latente e incompleto en gran medida, es un proceso social de aprendizaje. Es un dilogo en el que se rene el conocimiento y se incluye en el software para convertirse en software, proporciona una interaccin entre los usuarios y los diseadores, entre los usuarios y las herramientas de desarrollo, entre los diseadores y las herramientas de desarrollo, es un proceso interactivo donde la herramienta de desarrollo se usa como medio de comunicacin, con cada iteracin del dilogo se obtiene mayor conocimiento de las personas involucradas

Las reas claves del proceso forman la base del control de gestin de proyectos del software y establecen el contexto en el que se aplican los mtodos tcnicos, se obtienen productos del trabajo se establecen hitos, se asegura la calidad y el cambio se gestiona adecuadamente.
Los mtodos indican cmo construir tcnicamente el software, abarcan una gran gama de tareas que incluyen anlisis de requisitos, diseo, construccin de programas, pruebas y mantenimiento, estos dependen de un conjunto de principios bsicos que gobiernan cada rea de la tecnologa e incluyen actividades de modelado y otras tcnicas descriptivas.

Las herramientas de la Ingeniera del software proporcionan un enfoque automtico o semi-automtico para el proceso y para los mtodos. Cuando se integran herramientas para que la informacin creada por una herramienta la pueda utilizar otra, se establece un sistema de soporte para el desarrollo del software llamado ingeniera del software asistida por computadora (CASE).

Qu es?
Cuando se trabaja para construir un producto o un sistema, es importante seguir una serie de pasos predecibles, un mapa que ayuda a obtener el resultado oportuno de calidad.

Quin lo hace?
Los ingenieros de software y sus gestores adaptan el proceso a sus necesidades y entonces lo siguen. Adems las personas que han solicitado el software tienen un papel a desempear en el proceso del software

Por qu es importante? Porque proporciona estabilidad, control y organizacin a una actividad que puede, si no se controla, volverse catica

Cules son los pasos? A un nivel detallado, el proceso que adoptemos depende del software que estamos construyendo. Un proceso puede ser apropiado para crear software de un sistema de aviacin, mientras que un proceso diferente por completo puede ser adecuado para la creacin de un sitio web.

Cul es el producto obtenido?


Desde el punto de vista de un ingeniero de software, los productos obtenidos son programas, documentos y datos que se producen como consecuencia de las actividades de ingeniera del software definidas por el proceso web.

Cmo puedo correctamente?

estar

seguro

de

que

lo

has

hecho

Hay una cantidad de mecanismos de evaluacin del proceso del software que permiten a las organizaciones determinar la madurez de su proceso; sin embargo, la calidad, oportunidad y viabilidad a largo plazo del producto que est construyendo son los mejores indicadores de la eficiencia del proceso que estamos utilizando.

Cmo puedo correctamente?

estar

seguro

de

que

lo

has

hecho

Hay una cantidad de mecanismos de evaluacin del proceso del software que permiten a las organizaciones determinar la madurez de su proceso; sin embargo, la calidad, oportunidad y viabilidad a largo plazo del producto que est construyendo son los mejores indicadores de la eficiencia del proceso que estamos utilizando.

Preguntas Bsicas en el proceso Cul es el problema a resolver? Cules son las caractersticas de la entidad que se utiliza para resolver el problema? Cmo se realizar la entidad (y la solucin)? Cmo se construir la entidad? Qu enfoque se va a utilizar para no contemplar los errores que se cometieron en el diseo y en la construccin de la entidad? Cmo se apoyar la entidad cuando usuarios soliciten correcciones, adaptaciones y mejoras de la entidad?

Durante el proceso se requiere establecer un modelo de desarrollo el cual puede ser El modelo en cascada, el cual considera las actividades fundamentales del proceso de especificacin, desarrollo, validacin y evolucin, los representa como fases separadas del proceso, tales como la especificacin de requerimientos, el diseo del software, la implementacin, las pruebas, etc.

El modelo de desarrollo evolutivo el cual entrelaza las actividades de especificacin, desarrollo y validacin, en el se desarrolla rpidamente a partir de especificaciones abstractas basndose en las peticiones del cliente para producir un sistema que satisfaga sus necesidades.

Modelo de Ingeniera basada en componentes, el cual se basa en la existencia de un nmero de componentes reutilizables, el proceso de desarrollo del sistema se enfoca en integrar estos componentes en el sistema ms que en desarrollarlo desde cero.

Etapas del modelo de Cascada:


Anlisis y definicin de requerimientos Diseo del sistema de software Implementacin y prueba de unidades Integracin y prueba del sistema Funcionamiento y mantenimiento

Etapas del modelo de desarrollo evolutivo:


Esbozo de la descripcin Especificacin - Versin inicial Desarrollo - Versiones intermedias Validacin Versin Final Existen dos tipos genricamente: Desarrollo Exploratorio y prototipos desechables. Su principal desventaja es: El proceso no es visible, a menudo los sistemas tienen una estructura deficiente por los cambios continuos.

Etapas del modelo de Ingeniera basada en componentes: Anlisis de componentes Modificacin de requerimientos Diseo del sistema de reutilizacin Desarrollo e Integracin

Su principal ventaja es la de reducir la cantidad de software a desarrollarse, por ende reduce los costos y riesgos, aunque puede dar lugar a un sistema que no cumpla las necesidades reales de los usuarios, sin un seguimiento oportuno se pierde la evolucin del mismo.

La efectividad global de las prcticas de ingeniera del software de establece cinco niveles de madurez del proceso:

Nivel 1: Inicial. El proceso del software se caracteriza segn el caso, y ocasionalmente incluso de forma catica. Se definen pocos procesos, y el xito depende del esfuerzo individual Nivel 2: Repetible. Se establecen los procesos de gestin del proyecto para hacer seguimiento del costo, de la planificacin y de la funcionalidad. Para repetir xitos anteriores en proyectos con aplicaciones similares se aplica la disciplina necesaria para el proceso

Nivel 3: Definido. El proceso del software de las actividades de gestin y de ingeniera se documenta, se estandariza y se integra dentro de un proceso de software de toda una organizacin. Todos los proyectos utilizan una versin documentada y aprobada del proceso de la organizacin para el desarrollo y mantenimiento del software.

Nivel 4: Gestionado. Se recopilan medidas detalladas del proceso del software y de la calidad del producto. Mediante la utilizacin de medidas detalladas, se comprenden y se controlan cuantitativamente tanto los productos como el proceso del software

Nivel 5: Optimizacin. Mediante una retroalimentacin cuantitativa del proceso, ideas y tecnologas innovadoras se posibilita una mejora del proceso.

Consideraciones en los niveles de madurez:

Nivel 2 de Madurez del Proceso a) Gestin de configuracin del software b) Garanta de calidad del software c) Gestin de subcontratacin del software d) Seguimiento y supervisin del proyecto del software e) Planificacin del proyecto del software f) Gestin de requisitos

Consideraciones en los niveles de madurez:

Nivel 3 de Madurez del Proceso a) Revisiones peridicas b) Coordinacin entre grupos c) Ingeniera de productos de software d) Gestin de integracin del software e) Programa de formacin f) Definicin del proceso de la organizacin g) Enfoque del proceso de la organizacin

Consideraciones en los niveles de madurez: Nivel 4 de Madurez del Proceso a) Gestin de calidad del software b) Gestin cuantitativa del proceso Nivel 5 de Madurez del Proceso a) Gestin de cambios del proceso b) Gestin de cambios de tecnologa c) Prevencin de defectos

Con que modelos trabajan las empresas ya sea con o sin conocimiento de causa? Modelo Lineal secuencial= Anlisis Diseo Cdigo Prueba

Modelo de Construccin de prototipos = Escuchar al cliente Construir - aprobacin del cliente.

Modelo de desarrollo rpido de aplicaciones


1. Modelado de Gestin. El flujo de informacin entre las funciones de gestin se modela de forma que responda a las siguientes preguntas: Qu informacin conduce el proceso de gestin? Qu informacin se genera? Quin la genera? A dnde va la informacin? Quin la procesa?

2. Modelado de datos. El flujo de informacin definido como parte de la fase de modelado de gestin se refina como un conjunto de objetos de datos necesarios para apoyar la empresa. Se definen las caractersticas (llamadas atributos) de cada uno de los objetos y las relaciones entre estos objetos.

Modelo de desarrollo rpido de aplicaciones 1. Modelado del proceso. Los objetos de datos definidos en la fase de modelado de datos quedan transformados para lograr el flujo de informacin necesario para implementar una funcin de gestin. Las descripciones del proceso se crean para aadir, modificar, suprimir, o ````````recuperar un objeto de datos

Modelo evolutivo de proceso de software =Anlisis Diseo Cdigo Prueba Modelo en espiral = Planificacin Anlisis de riesgos Ingeniera Construccin y adaptacin - Evaluacin del cliente Eje de punto Entrada del proyecto Comunicacin con el cliente

Modelo evolutivo de proceso de software =Anlisis Diseo Cdigo Prueba

Modelo en espiral = Planificacin Anlisis de riesgos Ingeniera Construccin y adaptacin - Evaluacin del cliente Eje de punto Entrada del proyecto Comunicacin con el cliente
Modelo de desarrollo basado en componentes = Anlisis de riesgos - Construccin y adaptacin de la Ingeniera - Evaluacin del cliente Comunicacin con el cliente

Modelo de mtodos formales: El primer paso en la aplicacin de los mtodos formales es definir el invariante de datos, el estado y las operaciones para el funcionamiento de un sistema. El invariante de datos es una condicin que se verifica mediante la ejecucin de una funcin que contiene un conjunto de datos. Los datos almacenados forman el estado en donde una funcin puede acceder y alterar; y las operaciones son las acciones que tienen lugar en un sistema a medida que lee o escribe datos en un estado. Una operacin se asocia a dos condiciones: una precondicin y una postcondicin. La notacin y la heurstica asociados con los conjuntos y especificaciones constructivas operadores de conjuntos, operadores lgicos y sucesionesforman la base de los mtodos formales.

You might also like