O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Niebla sortillon jesus francisco actividad1.1 si5 1

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Próximos SlideShares
JavierPerez_Ing
JavierPerez_Ing
Carregando em…3
×

Confira estes a seguir

1 de 38 Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (17)

Semelhante a Niebla sortillon jesus francisco actividad1.1 si5 1 (20)

Anúncio

Niebla sortillon jesus francisco actividad1.1 si5 1

  1. 1. Alumno: Jesús Francisco Niebla Sortillón. Grupo: TIC SI 5-1. Asignatura: Ingeniería de Software II. Profesor: José Padilla Duarte.
  2. 2. INTRODUCCIÓN. En el presente trabajo se abordarán algunos temas relacionados con la Ingeniería de Software, sus diferentes funciones y cuán importante son para el desarrollo de software, la Ingeniería de Software desempeña un papel muy importante a la hora de desarrollar un proyecto de sistemas ya que con su ayuda se puede diseñar un software de manera correcta y organizada cumpliendo con todas las especificaciones establecidas. El trabajo que se presenta a continuación es muy importante ya que toca puntos muy importantes que son requeridos a la hora de desarrollar software. Espero que la información que a continuación se presenta sea útil para su futura consulta.
  3. 3. INGENIERÍA DE SOFTWARE. Definición. La Ingeniería del software es una disciplina o área de la informática o Ciencias de la Computación, que ofrece métodos y técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo. Hoy día es cada vez más frecuente la consideración de la Ingeniería del Software como una nueva área de la Ingeniería, y 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, ya, reconocida consideración social en el mundo empresarial y, por suerte, para esas personas con brillante futuro. 
  4. 4. Inicios. El término ingeniería del software empezó a usarse a finales de la década de los sesenta, para expresar el área de conocimiento que se estaba desarrollando en torno a las problemáticas que ofrecía el software en ese momento. En esa época, el crecimiento espectacular de la demanda de sistemas de computación cada vez más y más complejos, asociado a la inmadurez del propio sector informático (totalmente ligado al electrónico) y a la falta de métodos y recursos, provocó lo que se llamó la crisis del software (en palabras de Edsger Dijkstra) entre los años 1965 y 1985. 
  5. 5. Durante esa época muchos proyectos importantes superaban con creces los presupuestos y fechas estimados, algunos de ellos eran tan críticos (sistemas de control de aeropuertos, equipos para medicina, entre otros) que sus implicaciones iban más allá de las pérdidas millonarias que causaban. La crisis del software pasó, no tanto por la mejora en la gestión de los proyectos, sino en parte porque no es razonable estar en crisis más de veinte años, y en parte porque se estaban haciendo progresos en los procesos de diseño y metodologías.
  6. 6. Así pues, desde 1985 hasta el presente, han ido apareciendo herramientas, metodologías y tecnologías que se presentaban como la solución definitiva al problema de la planificación, previsión de costes y aseguramiento de la calidad en el desarrollo de software. Entre las que se encuentran la programación estructurada, la programación orientada a objetos, a los aspectos, las herramientas CASE, el lenguaje de programación ADA, la documentación, los estándares, CORBA, los servicios web y el lenguaje UML (entre otros).
  7. 7. Importancia. La ingeniería de software es muy importante ya que con ella se puede analizar, diseñar, programar y aplicar un software de manera correcta y organizada, cumpliendo con todas las especificaciones del cliente y el usuario. En la construcción y desarrollo de proyectos se aplican métodos y técnicas para resolver los problemas, la informática aporta herramientas y procedimientos sobre los que se apoya la ingeniería de software. 
  8. 8.  Utilidad.  La ingeniería de software se orienta al diseño y construcción de programas computacionales ya sean estos de ingeniería, comerciales, científicos, administrativos, etc.  Desarrolla, opera y mantiene el software.  Conoce del manejo de datos internos del ordenador y del hardware (dispositivos internos) que le permiten conocer el modo de operar de éste; pero fundamentalmente tiene conocimientos de modelos y técnicas para el diseño y desarrollo del software.
  9. 9. CLASIFICACION DE APLICACIONES DE CÓMPUTO. Dependiendo de la tarea para la que fueron diseñadas, las aplicaciones se pueden clasificar en:  Una Suite de Aplicaciones consiste en múltiples aplicaciones reunidas en un solo paquete. Por lo general cuentan con funcionalidades, características e interfaz gráfica homogéneas y pueden ser capaces de interactuar entre ellas. Las aplicaciones para negocios por lo general vienen en Suites, ejemplo: Microsoft Office.
  10. 10.  El Software Empresarial está dirigido a satisfacer las necesidades en los procesos organizacionales y de flujo de datos, usualmente en un ambiente bastante grande y distribuido (Ejemplos: Sistemas Financieros, Manejo de las relaciones con los clientes, etc.). Mucho de este software está hecho a la medida.  El Software de Infraestructura Empresarial proporciona la base para el Software Empresarial. Ejemplos incluyen: Bases de Datos, Servidores de Correo Electrónico y Seguridad de Redes.
  11. 11.  El Software para los “Trabajadores de la Información” está dirigido para satisfacer la necesidad de la gente de crear y manejar información. Ejemplos incluyen manejo de tiempo, manejo de recursos, herramientas colaborativas, analíticas y de documentación. Los Procesadores de Texto, Hojas de Cálculo, Clientes de Correo Electrónico, Sistema de Información Personal y Editores de Medios pueden ayudar en múltiples actividades del trabajador de la Información.
  12. 12.  El Software de Acceso a Contenidos es usado principalmente para utilizar algún contenido sin la posibilidad de modificarlo. Tales softwares están diseñados para satisfacer la necesidad de la gente de consumir entretenimiento digital y publicar contenido digital. Ejemplos incluyen: Reproductores de Medios, Navegadores Web, Navegadores de Ayuda y Juegos.  El Software Educativo se relaciona al Software de Acceso a Contenidos pero adapta los contenidos para su uso por educadores o estudiantes. Por ejemplo, puede llevar acabo evaluaciones, registrar el progreso de avance en un material didáctico o incluir capacidades de colaboración.
  13. 13.  El Software de Simulación se utiliza para simular sistemas físicos o abstractos ya sea para investigación, entrenamiento o entretenimiento.  El Software de Desarrollo de Medios está dirigido a las personas con la necesidad de crear medios impresos o electrónicos para que otra gente los consuma. Estos incluyen Softwares de Arte Gráfico, Publicación, Desarrollo de Multimedia, Editores de Páginas Web, Editores de Animación Digital, Composición de Audio y Video y muchos más.
  14. 14. El Software Engineering Institute (SEI) es un centro de investigación y desarrollo financiado federalmente patrocinado por el departamento de defensa de EE.UU. y operado por la Universidad Carnegie Mellon en Pittsburgh, Pa. El SEI ayuda a los principios y prácticas de ingeniería de software y sirve antelación como un recurso nacional en ingeniería de software, seguridad informática, y la mejora de procesos.
  15. 15. El SEI trabaja en estrecha colaboración con las organizaciones de defensa y el gobierno, la industria y el mundo académico para mejorar continuamente los sistemas intensivos en software. Su objetivo principal es ayudar a las organizaciones a mejorar sus capacidades de ingeniería de software y desarrollar o adquirir el software adecuado, libre de defectos, dentro del presupuesto ya tiempo, cada vez.
  16. 16. La Word Wide Web Consortium (W3C) es una comunidad internacional donde las organizaciones miembro , a tiempo completo del personal , y la obra pública en conjunto para desarrollar estándares Web. Liderados por el inventor Web Tim Berners-Lee y CEO Jeffrey Jaffe , la misión del W3C es guiar la Web hacia su máximo potencial .
  17. 17. MODELOS DE DESARROLLO DE SOFTWARE. La ingeniería de software tiene varios modelos, paradigmas o filosofías de desarrollo en los cuales se puede apoyar para la realización de software, de los cuales podemos destacar a éstos por ser los más utilizados y los más completos.
  18. 18. MODELO DE CASCADA. Esta situación se encuentra a veces cuando es necesario hacer adaptaciones o mejorías bien definidas a un sistema existente (por ejemplo, una adaptación a un software contable debido a los cambios en las regulaciones del gobierno).Esto puede ocurrir también en un número limitado de proyectos de nuevos desarrollos, pero sólo cuando los requerimientos están bien definidos y son estables en forma razonable.
  19. 19. El modelo en cascada, veces llamado el ciclo de vida clásico, sugiere un enfoque sistemático, secuencial hacia el desarrollo del software, que se inicia con la especificación de requerimientos del cliente y que continúa con la planeación, el modelado, la construcción y el despliegue para culminar en el soporte del software terminado.
  20. 20. MODELO INCREMENTAL. El modelo incremental combina elementos del modelo en cascada aplicado en forma iterativa, , el modelo incremental aplica secuencias lineales de manera escalonada conforme avanza el tiempo en el calendario. Cada secuencia lineal produce "incrementos" del software. Por ejemplo, el software procesador de texto, desarrollado con el paradigma incremental en su primer incremento, podría realizar funciones básicas de administración de archivos, edición y producción de documentos; en el segundo incremento, ediciones más sofisticadas, y tendría funciones más complejas de producción de documentos; en el tercer incremento, funciones de corrección ortográfica y gramatical; y en el cuarto, capacidades avanzadas de configuración de página.
  21. 21. MODELO DE DESARROLLO RÁPIDO DE APLICACIONES. El desarrollo rápido de aplicaciones (DRA) es un modelo de proceso de software incremental que resalta un ciclo de desarrollo corto. El modelo DRA es una adaptación a "alta velocidad" del modelo en cascada en el que se logra el desarrollo rápido mediante un enfoque de construcción basado en componentes. Si se entienden bien los requisitos y se limita el ámbito del proyecto, el proceso DRA permite que un equipo de desarrollo cree un "sistema completamente funcional" dentro de un periodo muy corto (por ejemplo, de 60 a 90 días).
  22. 22. MODELO DE PROTOTIPOS. El paradigma de construcción de prototipos se inicia con la comunicación. El ingeniero de software y el cliente encuentran y definen los objetivos globales para el software, identifican los requisitos conocidos y las áreas del esquema en donde es necesaria más definición. Entonces se plantea con rapidez una iteración de construcción de prototipos y se presenta el modelado (en la forma de un diseño rápido). El diseño rápido se centra en una representación de aquellos aspectos del software que serán visibles para el cliente o el usuario final (por ejemplo, la configuración de la interfaz con el usuario y el formato de los despliegues de salida).
  23. 23. La iteración ocurre cuando el prototipo se ajusta para satisfacer las necesidades del cliente. Esto permite que al mismo tiempo el desarrollador entienda mejor lo que se debe hacer.
  24. 24. MODELO EN ESPIRAL. El modelo de desarrollo en espiral es un generador del modelo de proceso guiado por el riesgo que se emplea para conducir sistemas intensivos de ingeniería de software concurrente y con múltiples usuarios. Tiene dos características distintivas principales. Una de ellas es un enfoque cíclico para el crecimiento incremental del grado de definición e implementación de un sistema, mientras disminuye su grado de riesgo. La otra es un conjunto de puntos de fijación para asegurar el compromiso del usuario con soluciones de sistema que sean factibles y mutuamente satisfactorias.
  25. 25. MODELO DE DESARROLLO CONCURRENTE. El modelo de desarrollo concurrente, llamado algunas veces ingeniería concurrente, se representa en forma esquemática como una serie de actividades del marco de trabajo, acciones y tareas de la ingeniería del software y sus estados asociados. Por ejemplo, la actividad de modelado, definida para el modelo en espiral, se lleva a cabo al invocar las acciones siguientes: construcción de prototipos o modelado y especificación del análisis y diseño.
  26. 26. El modelo de proceso concurrente define una serie de eventos que dispararán transiciones de estado a estado para cada una de las actividades, acciones o tareas de la ingeniería del software.
  27. 27. MODELO BASADO EN COMPONENTES. El modelo de desarrollo basado en componentes (DBC) incorpora muchas de las características del modelo en espiral. Es evolutivo por naturaleza y exige un enfoque iterativo para la creación del software. Sin embargo, el modelo configura aplicaciones a partir de componentes de software empaquetados en forma previa. Estos componentes se pueden diseñar como módulos de software convencionales o como clases o paquetes de clases orientados a objetos.
  28. 28. Sin importar la tecnología que se aplique en la creación de los componentes, el modelo de desarrollo basado en componentes incorpora los siguientes pasos (implementados mediante un enfoque evolutivo):  Los productos basados en componentes disponibles se investigan y evalúan para el dominio de aplicación en cuestión.  Se consideran los aspectos de integración de componentes.  Se diseña una arquitectura de software para adaptar los componentes.  Los componentes se integran en la arquitectura.  Se realizan pruebas detalladas para asegurar una funcionalidad apropiada.
  29. 29. PORGRAMACION EXTREMA. Es el más destacado de los procesos ágiles de desarrollo de software. Al igual que éstos, la programación extrema se diferencia de las metodologías tradicionales principalmente en que pone más énfasis en la adaptabilidad que en la previsibilidad. Los defensores de la XP consideran que los cambios de requisitos sobre la marcha son un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos. Creen que ser capaz de adaptarse a los cambios de requisitos en cualquier punto de la vida del proyecto es una aproximación mejor y más realista que intentar definir todos los requisitos al comienzo del proyecto e invertir esfuerzos después en controlar los cambios en los requisitos.
  30. 30. PROCESO UNIFICADO. El proceso unificado (PU) es un intento encaminado a reunir los mejores rasgos y características de modelos de procesos de software, pero los caracteriza de manera que implementa muchos de los mejores principios del desarrollo ágil de software. El proceso unificado reconoce la importancia de la comunicación con el cliente y los métodos encaminados a describir el punto de vista del cliente con respecto a un sistema (por ejemplo, el caso de uso). El PU enfatiza el importante papel de la arquitectura de software, y "ayuda al arquitecto a enfocarse en las metas correctas, como el entendimiento, el ajuste a los cambios futuros y la reutilización".
  31. 31. PROCESO DE DESARROLLO DE SOFTWARE.      Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia global. Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar. Diseño general: requisitos generales de la arquitectura de la aplicación. Diseño en detalle: definición precisa de cada subconjunto de la aplicación. Programación (programación e implementación): es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño.
  32. 32.    Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones. Integración: garantiza que los diferentes módulos se integren con la aplicación. Éste es el propósito de la prueba de integración que está cuidadosamente documentada. Prueba beta (o validación), garantiza que el software cumple con las especificaciones originales.
  33. 33.    Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros. Implementación: se instala el software en los equipos. Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo).
  34. 34. Arquitectura de Software. La Arquitectura del Software es el diseño de más alto nivel de la estructura de un sistema. Una Arquitectura de Software, también denominada Arquitectura lógica, consiste en un conjunto de patrones y abstracciones coherentes que proporcionan el marco
  35. 35.  Una arquitectura de software se selecciona y diseña con base en objetivos y restricciones. Los objetivos son aquellos prefijados para el sistema de información, pero no solamente los de tipo funcional, también otros objetivos como la mantenibilidad, auditabilidad, flexibilidad e interacción con otros sistemas de información.
  36. 36. CONCLUSIÓN. La ingeniería de software es muy importante ya que nos ayuda a desarrollar proyectos de software a tiempo y que cumpla con las expectativas de calidad. Todos los proyectos de software cumplen con un ciclo de vida, para todo proyecto de software que se tenga que desarrollar se debe elegir un modelo específico sobre el cual se trabajar, un punto importante en todo desarrollo de software es realizar prototipos del software para entender de mejor manera lo que el cliente quiere. Los estándares utilizados para el desarrollo de software son la principal herramienta donde nos debemos basar para seguir distintas normas que harán que el proyecto se entregue con buena calidad.
  37. 37. BIBLIOGRAFÍA.         http://datateca.unad.edu.co/contenidos/301404/301404_C ontenidoEnLinea/leccin_6__definicin_de_ingeniera_de_so ftware.html http://aprendeenlinea.udea.edu.co/lms/moodle/mod/resou rce/view.php?id=14273 http://ingenieriadesoftware3.blogspot.mx/p/importanciade-la-ingenieria-del.html http://es.answers.yahoo.com/question/index?qid=2009032 9001335AA94h95 https://www.facebook.com/groups/IngSw2.Jopadu/?fref=ts http://www.scribd.com/doc/19162245/Unidad-5-ModeloDesarrollo-Software http://es.kioskea.net/contents/223-ciclo-de-vida-delsoftware http://es.wikipedia.org/wiki/Arquitectura_de_software

×