jueves, 8 de marzo de 2012

todo sobre análisis y diseño.

empezare hablando de la ingeniería de software es área de la ciencias de la computación que ofrece métodos y técnicas para desarrollar y mantener software de calidad que resuelve problemas de todo tipo, la ingeniería de software no solo una disciplina que debe seguirse para proyectos de software que se encuentren pensando dentro de ciertas áreas, por el contrario trata con áreas muy diversas de las ciencias de la computación tales como construcción de compiladores,sistemas operativos o desarrollos en Internet.la ingeniería de software abarca todas las faces del siclo de vida del desarrollo de cualquier tipo de sistemas de información aplicables a áreas tales como los negocios, investigación científica, producción, logística etc.
un aspecto muy importante de ingeniería de software es que proporciona parámetros formales para lo que se conoce como gestión de proyectos de software. esto se refiere a que ingeniería de software proporciona diversas métricas y metodología que pueden usarse como especificaciones para todo lo referente a la administración del personal involucrado en proyectos de software, siclos de vida de un proyecto de software, costo de un proyecto y en si todo el aspecto administrativo que implica desarrollar software.
deacuerdo con pressman ingenieria en general es el analisisn diseño, construccion, verificacion y gestion de entidades tecnicas, en general todo proceso de ingeniería debe comenzar por contestar las siguientes preguntas; ¿cual es el problema a resolver?, ¿cuales son las caracteristicas  de la entidad que se utiliza para resolver el problema?.
la ingeniería de software se basa en análisis, diseño, desarrollo e implementación; en el análisis se utilizan las técnicas de recolección de hechos, dentro de esa esta:
-entrevista
-cuestionario
-observación
-revisión de documentos
mas adelante hablare de cada una de ellas,
en el diseño se trabaja toda la parte de la apariencia del software también se trabaja con UML.
que son:
-los casos de usos
-diagrama de secuencia
-diagrama de clase
en este caso estamos utilizando los casos de uso que comprende la interacción entre el usuario y el sistema compuesto por actores.
esto es mas o menos un ejemplo de los casos de usos.

en el desarrollo define las jornadas de programación dependiendo del modelo que estemos utilizando. y en la implementación introduce la fase de prueba y mantenimiento,utilizando un plan de contingencia.
entrando un poco en el tema de los siclos de vida hablare de cada uno de los métodos de este que son:
-Cascada
-RUP
-SCRUM
-Formales
-Evolutivo
-Espiral
-XP
el siclo de vida en Cascada este es el más básico de todos los modelos, y sirve como bloque de construcción para  los  demás  modelos  de  ciclo de  vida.  La  visión del  modelo  cascada del 
desarrollo de software es muy simple; dice que el desarrollo de software puede ser a través de una secuencia simple de fases. Cada fase tiene un conjunto de metas bien definidas, y las actividades dentro de una  fase  contribuye a  la  satisfacción de  metas  de esa  fase o  quizás  a una subsecuencia de metas de la fase.

El modelo de ciclo de vida cascada, captura algunos principios básicos:
• Planear un proyecto antes de embarcarse en él.
•  Definir  el  comportamiento externo deseado del sistema antes de diseñar su arquitectura   interna.
• Documentar los resultados de cada actividad.
• Diseñar un sistema antes de codificarlo.
• Testear un sistema después de construirlo.

Una de  las contribuciones  más  importantes  del  modelo  cascada es  para  los 
administradores, posibilitándoles avanzar en el desarrollo,aunque en una escala 
muy cerrada.



Bueno el RUP es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos.
El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización.
También se conoce por este nombre al software desarrollado por Rational, hoy propiedad de IBM, el cual incluye información entrelazada de diversos artefactos y descripciones de las diversas actividades. Está incluido en el Rational Method Composer (RMC), que permite la personalización de acuerdo con las necesidades.
 El ciclo de vida RUP es una implementación del Desarrollo en espiral. Fue creado ensamblando los elementos en secuencias semi-ordenadas. El ciclo de vida organiza las tareas en fases e iteraciones.
RUP divide el proceso en cuatro fases, dentro de las cuales se realizan varias iteraciones en número variable según el proyecto y en las que se hace un mayor o menor insistencia en las distintas actividades. Las primeras iteraciones (en las fases de Inicio y Elaboración) se enfocan hacia la comprensión del problema y la tecnología, la de limitación del ámbito del proyecto, la eliminación de los riesgos críticos, y al establecimiento de una Línea Base de la arquitectura.
ahora les diré los que es un SCRUM es una metodología para la gestión de proyectos. Es considerada una metodología ágil para el desarrollo de software, si bien SCRUM puede ser aplicado para la administración de proyectos de prácticamente cualquier índole.
 todo el desarrollo ocurre en iteraciones de duración fija. Estas iteraciones de duración fija se denominan Sprint. La duración del Sprint, de entre 2 y 4 semanas, se establece al comienzo del proyecto, y se mantiene durante toda la vida del mismo. Esto es importante para hacer uso de las métricas que provee SCRUM. Durante cada Sprint el equipo desarrolla una porción del sistema. Lo destacable del Sprint es que este desarrollo incremental es con calidad productiva, y cumple algún requerimiento del usuario. De esta manera, al finalizar cada Sprint se tiene una porción del producto con calidad productiva, que el usuario puede decidir poner en producción.
El modelo espiral de los procesos software es un modelo del ciclo de meta-vida. En este modelo,  el  esfuerzo de desarrollo es  iterativo.  Tan pronto  como uno completa un esfuerzo de desarrollo,  otro  comienza. Además,  en  cada desarrollo ejecutado, puedes seguir estos cuatros pasos:
• Determinar qué quieres lograr.
• Determinar las rutas alternativas que puedes tomar para lograr estas metas. Por 
cada una, analizar los riesgos y resultados finales, y seleccionar la mejor.
• Seguir la alternativa seleccionada en el paso 2.
• Establecer qué tienes terminado.
El modelo espiral captura algunos principios básicos:
• Decidir qué problema se quiere resolver antes de viajar a resolverlo.
•  Examinar  tus  múltiples  alternativas  de acción  y  elegir  una de  las  más convenientes 
 • Evaluar qué tienes hecho y qué tienes que haber aprendido después de hacer algo.
• No ser tan ingenuo para pensar que el sistema que estás construyendo será el sistema que el cliente necesita, y
• Conocer (comprender) los niveles de riesgo, que tendrás que tolerar.

el  modelo de desarrollo evolutivo (algunas  veces  denominado  como prototipado evolutivo)  construye una serie de grandes  versiones sucesivas  de un producto.  Sin embargo,  mientras  que  la  aproximación incremental presupone que el conjunto completo de requerimientos es conocido al  comenzar,  el modelo evolutivo asume  que los  requerimientos  no son completamente conocidos al inicio del proyecto. En el  modelo evolutivo,  los  requerimientos son  cuidadosamente examinados,  y  sólo esos  que  son bien  comprendidos son  seleccionados  para el  primer incremento.  Los  desarrolladores construyen una  implementación parcial  del 
sistema que recibe sólo estos requerimientos. El  sistema es  entonces  desarrollado,  los  usuarios  lo usan,  y  proveen  retroalimentación a  los  desarrolladores.  Basada en esta  retroalimentación,  la especificación de requerimientos  es  actualizada,  y  una  segunda  versión del producto es desarrollada y desplegada. El proceso se repite indefinidamente. Note  que el  desarrollo evolutivo es  100%  compatible  con el modelo  cascada.
estas son algunos de los modelos de los siclos de vida mas adelante colocare toda la información que se muestra en el contenido.

No hay comentarios:

Publicar un comentario