Trabajo Final Ingenieria de Software
Short Description
Download Trabajo Final Ingenieria de Software...
Description
TRABAJO COLABORATIVO 1
PRESENTADO POR DEISSY SALAS ROVIRA LUZ ALEJANDRA MORAN LIZARAZO
TUTOR INGENIERO: JAIRO MARTINEZ BANDA
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA GRUPO Nº 301404_1
PROGRAMA INGENIERIA DE SISTEMAS
CURSO DE INGENIERIA DEL SOFTWARE NOVIEMBRE DE 2010
INTRODUCCION
Con el siguiente trabajo se pretende desarrollar un tema importante dentro del proceso de desarrollo de software, el cual viene a ser introducción a la ingeniería de software, se tratarán modelos existentes y los pasos de cada uno, etc. Desde la aparición de la computadora el hombre comenzó a programar, esta actividad en sus inicios era como un arte oculto, que sólo algunos conocían que a menudo eran programadores solitarios, cuando se les pedía construir un sistema basado en computadora la realización del software, llevaba mucho tiempo y donde el cliente tenía poco contacto con el producto y el desarrollador. Con el tiempo aparecieron métodos que tomaban importancia al usuario y cuando el desarrollador y usuario se interrelacionaban obtenían un producto satisfactorio, y así fue que apareció la disciplina de Ingeniería del Software que ya ordenaba los procesos, métodos, herramientas, etc. que se debían de seguir para obtener software de calidad. El Ingeniero del Software comienza a ser una profesión implantada en el mundo laboral internacional, con derechos, deberes y responsabilidades que cumplir, junto a una, reconocida consideración social en el mundo empresarial y, por suerte, para esas personas con brillante futuro.
ACTIVIDAD 1: LINEA DE TIEMPO DE LA EVOLUCION DEL SOFTWARE Durante los primeros años de la computadora, el software se contemplada como un añadido. La programación de computadoras era un "arte de andar por casa" para el que existían pocos métodos Sistemáticos. El desarrollo del software se realizaba virtualmente sin ninguna planificación, hasta que los planes comenzaron a romperse y los costes a correr, los programadores trataban de hacer las cosas bien, y con un esfuerzo heroico, a menudo resultaban con éxito. Los problemas a ser resueltos eran principalmente de una naturaleza técnica, el énfasis estaba en expresar algoritmos conocidos eficazmente en algún lenguaje de programación. En estos primeros años lo normal era que el hardware fuera de propósito general. Por otra parte, el software se diseña a medida para cada aplicación y tenía una distribución relativamente pequeña
1950
La segunda era de la evolución de los sistemas de las computadoras se extiende desde la mitad de la Década de los sesenta hasta finales de los setenta. La multiprogramación y los sistemas multiusuario introdujeron nuevos conceptos de interacción hombre - máquina las técnicas interactivas, abrieron un nuevo mundo de aplicaciones y nuevos niveles de sofisticación de hardware y software los sistemas de tiempo real podían, recoger analizar y transformar datos de múltiples fuentes, controlando así los procesos y produciendo salidas en mil segundos en lugar de minutos, los avances en los dispositivos de almacenamiento en línea condujeron a la primera generación de sistemas de gestión de base de datos. Esta era se caracterizó también por el establecimiento del software ya se desarrollaba para tener una amplia distribución en un mercado multidisciplinario. Losprogramdistribuían para computadoras grandes y para minicomputadoras, a cientos e incluso a miles de usuarios
1970
La tercera era de la evolución de los sistemas de las computadoras se extiende desde la mitad de la década de los sesenta y continúo más allá de una década. El sistema, distribuidas múltiples computadoras, cada una ejecutando funciones concurrentes y comunicándose con alguna otra, incremento notablemente la complejidad de los sistemas informáticos. Las redes de área local y de área global, las comunicaciones digitales de alto ancho de banda y la creciente demanda de acceso “instantáneo” a los datos, supusieron una fuerte presión entre los desarrolladores del software. Aún más, los sistemas y el software que lo permitían continuaron residiendo dentro de la industria y de la academia. El uso personal era extraño.
1990
La cuarta era de la evolución de los sistemas informáticos se aleja de las computadoras individuales y de los programas de computadoras, dirigiéndose al impacto colectivo de las mismas y del software. Potentes maquinas personales controladas por sistemas operativos sofisticados, en redes globales y locales, acompañadas por aplicaciones de software avanzadas se han convertido en la norma. La industria del software ya es la cuna de la economía del mundo. Las decisiones tomadas por gigantes de la industria tales como Microsoft arriesgan billones de dólares. A medida que la cuarta generación progresa, han comenzado a surgir nuevas tecnologías. Las tecnologías orientadas a objetos están desplazando rápidamente los enfoques de desarrollo de software más convencionales en muchas áreas de aplicaciones
Siglo XXI
Actividad 2. Para los capítulos 2 y 3, el equipo de trabajo estudiara los paradigmas de la ingeniería del software (Modelos de Proceso de Software) y responderá de manera participativa y organizada a cada uno de los siguientes supuestos: PARADIGMAS DE LA INGENIERIA DEL SOFTWARE Modelo lineal o modelo en cascada. Este presenta una estructura secuencial, formado por seis fases. Análisis del sistema Análisis de requisitos de software Diseño Codificación Prueba Mantenimiento Las fases incluyen dentro de sí mismas determinadas tareas que se clasifican de una forma clara el trabajo a realizar. Una vez se el análisis tanto del sistema como de los requisitos del software demandado por el cliente, se procede a la fase de diseño de la arquitectura global del software. Tras haber traducido el programa a un lenguaje comprensible para el ordenador, se comprueban los elementos de forma individual y más tarde de manera homogénea. Una vez entregado el software al cliente, la fase de mantenimiento comprenderá las actualizaciones y las correcciones de errores que sean necesarias en el programa. El modelo en cascada no permite retroceder por lo que se hace estrictamente necesario que al final de cada fase el analista o programador verifique y valide todo el trabajo realizado, ya que un error no detectado a tiempo podría perjudicar gravemente la fecha de entrega del software a nuestro cliente. Paradigma
Ventajas y Desventajas
Modelo Lineal o Modelo en Cascada Sugiere un enfoque sistemático, secuencial para el desarrollo de software. Las etapas que incluye son las siguientes: Ingeniería del Sistema: Analiza características y el comportamiento del sistema al que el software va a formar parte. Análisis: comprende los datos que se van a manejar función, interfaces requeridas, rendimiento y demás. Diseño: aplica 4 características del software: la estructura de los datos, la arquitectura de las aplicaciones, las estructura interna de los programas e interfaces. Codificación: Es la traducción del diseño a un formato que sea comprensible para la maquina. Prueba: comprueba que no se haya producido errores
. Utilización: El software se entrega al cliente y comienza la vida útil del mismo. Mantenimiento: el software sufre cambios de su vida útil, durante este tiempo el cliente detecta errores, o que produzcan cambio a cualquier componente del sistema.
Los cambios introducidos durante el desarrollo confunden al equipo profesional en las etapas tempranas del proyecto. No es frecuente que el cliente o usuario final explicite clara y completamente los requisitos. La incertidumbre natural en los comienzos es luego difícil de acomodar. El cliente debe tener paciencia ya que el software no estará disponible hasta muy avanzado. Un error detectado por el cliente puede ser desastroso, implicando el inicio del proyecto con altos costos MODELO DRA Paradigma ventajas y desventajas Los ciclos comunes que determinan el proceso de software (mantenimiento, definición y desarrollo) son ajustables en el software. El prototipo puede favorecer tres modelos posibles: Explicación de las interacciones hombre –máquina en papel o PC; implementación de un subconjunto de actividades solicitadas; realización de toda la función preferida pero que tenga propiedad para mejorar. Funciona para modelos lineales, para modelos interactivos e increméntales, para modelos de evolución e incluso para modelos concurrentes o de ensamblaje de componente. La ECP (estructura común de proceso) es inalterable y se emplea como base para toda actividad del software. Modelo aplicable a la construcción de sistemas de información fácilmente acoplar. Permite la producción del modelo de software a construir. Notifica a los clientes y desarrolladores expuestos. El problema es distinguir el modelo de desarrollo adecuado para la ingeniería de software que debe adaptarse en el proyecto. El defecto para proyectos considerable que notifica abundantemente procesos humanos. No todas las utilizaciones son convenientes para este modelo. No es apropiado cuando los riesgos altos. No es muy eficiente para la práctica que notifique la aceptación de nuevas tecnologías porque la aplicación puede perjudicar el cronograma del proyecto.
MODELO INCREMENTAL. Es una evolución del modelo de cascada, viene a suplir el problema de no poder retroceder en las fases de desarrollo del software. Es por tanto un modelo secuencial. El funcionamiento es muy sencillo, comienza con el análisis de los requisitos tras el cual se prepara un primer diseño. La novedad de este modelo respecto al anterior, es la
introducción de interacciones para bifurcar diseños. Es decir este modelo ofrece la posibilidad de comenzar un diseño, arquitectura del software,
Que de no ser aprobado por el cliente es rechazado y se comienza con una segunda iteración sin necesidad de realizar un nuevo análisis de requisitos. Pueden realizarse tantas iteraciones como sean necesarias. MODELO DE CONSTRUCCIÓN DE PROTOTIPOS. Este modelo no secuencial basado en la construcción de simuladores o modelos ejecutables de aplicaciones más extensos, persigue un objetivo principal, la participación directa del cliente en la construcción del software requerido. Las fases son similares a las del modelo en cascada es necesario un análisis previo de los requisitos tanto del sistema como del cliente, se concibe la arquitectura del sistema y se realiza el diseño del software. Sin embargo se incluye un elemento hasta ahora no utilizado que consiste en el diseño rápido de un prototipo que se mostrara al cliente para que evalué el trabajo realizado. El prototipo es una versión reducida del programa completo es una fachada virtual que mostramos al cliente. Tras recoger los requisitos tanto del cliente como del sistema, se comienza con el diseño rápido del prototipo el diseño final obedece al diseño de previo de pequeños prototipos específicos para funciones individuales. Paradigma ventajas y desventajas Modelo de Construcción de Prototipos No identifica el flujo del cicla de vida. Reduce el riesgo de construir productos que no satisfagan las necesidades de los usuarios. Reduce costos y aumenta la probabilidad del éxito. Exige disponer de las herramientas adecuadas. No presenta calidad ni robustez. Una vez identificados todos los requisitos mediante el prototipo, se construye el producto de ingeniería. El cliente ve funcionando lo que para el es la primera función del prototipo que ha sido construido y puede decepcionarle al indicarle que el sistema aun no ha sido construido. El desarrollo puede caer en la tentación de aumentar el prototipo para construir el sistema final sin tener en cuenta las obligaciones de calidad y de mantenimiento que tiene con el cliente. MODELO ESPIRAL. Este modelo también no secuencial es algo más complejo que los anteriores aunque incluye un elemento muy útil, el análisis de riesgos. El modelo en espiral concreta cuatro fases Planificación Análisis-análisis de riesgo Ingeniería (construcción del prototipo)
-
Evaluación por el cliente.
Si esta última fase es afirmativo el modelo continuo con la estructura del ciclo de vida clásico. Si el cliente no está satisfecho con el resultado, se cubre otra banda de la espiral y se vuelve a la primera fase.
Supuesto 1. El modelo del caos sugiere que un bucle de resolución de problemas se puede aplicar en cualquier grado de resolución. Indague sobre este modelo y explique la forma en que se aplicaría el modelo para:
Comprender lo requisitos de un producto de tratamiento de texto Desarrollar un componente de corrección ortográfica y gramática avanzado para el procesador de texto Generar un código para un modulo de programa que determine el sujeto, predicado y objeto de una oración
MODELO DEL CAOS En el computar, Modelo del caos es una estructura de desarrollo del software eso amplía modelo espiral y modelo de la cascada. El modelo del caos fue definido por L.B.S. Raccoon. El modelo del caos observa que las fases del ciclo vital se aplican a todos los niveles de proyectos, del proyecto entero a las líneas individuales del código.
El proyecto entero debe ser definido, ser puesto en ejecución, y ser integrado. Los sistemas deben ser definidos, ser puestos en ejecución, y ser integrados. Los módulos deben ser definidos, ser puestos en ejecución, y ser integrados. Las funciones deben ser definidas, ser puestas en ejecución, y ser integradas. Las líneas del código se definen, se ponen en ejecución y se integran.
Un cambio importante en perspectiva es si los proyectos se pueden pensar en cómo unidades entera, o se debe pensar en pedazos. Nadie escribe diez de millares de líneas de código en uno que se sienta. Escriben los pedazos pequeños, una línea a la vez, verificando que los pedazos pequeños trabajan. Entonces se acumulan de allí. El comportamiento de un sistema complejo emerge del comportamiento combinado de los bloques de edificio más pequeños. Hay varias relaciones con teoría del caos.
El modelo del caos puede ayudar a explicar porqué el software tiende para ser tan imprevisible.
Explica porqué los conceptos de alto nivel tienen gusto arquitectura no puede ser tratado independientemente de líneas bajas del código. Proporciona un gancho para explicar qué hacer después, en términos de estrategia del caos.
Supuesto 2 Proponer (4) propuestas de proyectos de desarrollo de software que sean adecuados para construir prototipos. Justificar las propuestas desde la teoría estudiada
adecuados para construir prototipos Sistema para un negocio de venta por internet, como mercado libre Sistema de almacenes Sistema para tiendas de autoservicio Sistema para consultar citas medicas
Supuesto 3
El modelo DRA a menudo se une a herramientas CASE. Investigue la literatura y proporcione un resumen de una herramienta típica CASE que soporte DRA.
El Adelanto dinámico de utilidades (DRA) es un modelo de proceso del desarrollo del software lineal secuencial que destaca un ciclo de desarrollo extremadamente corto. El modelo DRA es una transformación a «alta velocidad» del modelo lineal secuencial en el que se consigue el desarrollo rápido empleando una construcción fundamentada en elementos. Siendo el lenguaje Modelado Unificado (UML) una herramienta CASE especial para el Desarrollo rápido de Aplicaciones.
CONCLUSIONES
¿Qué paradigmas de ingeniería del software de los presentados en este capítulo piensa que sería el más eficaz? ¿Por qué? El modelo de métodos formales, Cuando se utilizan métodos formales durante el desarrollo, proporcionan un mecanismo para eliminar muchos de los problemas que son difíciles de superar con paradigmas de la ingeniería del software. La ambigüedad, lo incompleto y la inconsistencia se descubren y se corrigen más fácilmente. ¿Qué es más importante, el producto o el proceso? En definitiva el proceso, hablando desde un enfoque de elaboración, la meta es el producto, pero si no tiene un buen proceso de fabricación el producto puede resultar con fallas o errores Al finalizar este trabajo nos dimos cuenta que la ingeniería del software facilita el control del proceso de desarrollo de software. Suministra a los desarrolladores las bases para construir software de alta calidad en una forma eficiente. Nos ayudó a determinar que es un proceso de software Identificamos los procesos que se pueden aplicar al desarrollo del softwar
BIBLIOGRAFIA Libro: Ingeniería del software. Autor: Pressman Roger S. Editorial: McGraw-Hill. Modulo de ingeniería de software WEBGRAFIA http://www.inf.utfsm.cl/~visconti/ili236/Documentos/01-IntroISw.pdf http://www.buenastareas.com/ensayos/Ingenieria-De-Software/822962. http://alarcos.inf-cr.uclm.es/doc/ISOFTWAREI/Tema03.pdf
View more...
Comments