Ingeniería de Software

Slides:



Advertisements
Presentaciones similares
ingeniería de software
Advertisements

LOS SISTEMAS de información para la administración han existido desde tiempos remotos en que se unieron por primera vez seres humanos para alcanzar un.
CERTIFICACION ISO 9000, ,12207 Y MODELO CMM
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
ANÁLISIS DE REQUERIMIENTOS
Tecnologías.
2. Diseño y Desarrollo del Producto
METRICAS DE PROCESO Y PROYECTO
Métricas en Proyectos de Software Prof. A/S: Diego Gutiérrez Gerenciamiento y Dirección de TI.
Definición, historia y quehacer de la Psicología Industrial
Docente: LIA. Suei Chong Sol, MCE. Nombre: Suei Chong Sol Área asignada: Ingeniería Estudios Profesionales.. Licenciatura en Informática Administrativa,
Versión 2004 Enrique Bañuelos Gómez
Universidad Autónoma San Francisco
M.S.C. Ivette Hernández Dávila
PRESENTACI0N 2 BLOQUE.
DESAGREGACION PRELIMINAR DE SUB COMPETENCIAS
 Docentes ◦ Jonathan Erlich  ◦ Ariel Glikman   Organización de la materia ◦ Idesmaimonides.wikidot.com.
Ingenieria de software
Ciclo de Vida del Software Paradigmas de Desarrollo
Modelo de Capacidad y Madurez
El Proceso de Software es la única manera de desarrollar sistemas de calidad. F. o V. Justifica tu respuesta. Que tiene que ver la globalización.
DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN UNIVERSIDAD NACIONAL DEL SUR Año 1º 2º 3º 4º 5º Programación Matemática Software Sistemas de Hardware.
Evolución del concepto de CALIDAD
COSTOS DE SISTEMAS DE CONTROL DE CALIDAD E. VARAS.
Introducción a la Ingeniería
Ingeniería de Software
Ingeniería del Software
Escuela Secundaria General No. 13 Armando Escobar Nava
EL APORTE DE LA INGENIERIA DE SOFTWARE A LAS ORGANIZACIONES
Tema 1: Introducción a la Ingeniería de Software
INTRODUCCIÓN A LA INTELIGENCIA ARTIFICIAL Y LOS SISTEMAS EXPERTOS
Motivación ELO329: Diseño y programación orientados a objetos Agustín J. González 1s07.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Juan Carlos Camacho Javier Martínez Correa Yaneth Villamizar.
PRESENTACIÓN Este trabajo se desarrolla sobre el tema de competencias, y basado en el Marco de Fundamentacion Conceptual Especificaciones de la Pruebas.
ASIGNACIÓN DE ROLES.
INGENIERIA DE SOFTWARE
Docente: Lic. M. Alina Vargas García Horario: Lunes 20:05 – 21:25 Miércoles 20:05 – 21:25 Gestión: 2011.
 Sara Isabel Osorio Alcaraz Ana Isabel Vallejo Grisales 10 Informática 1.
Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular.
Ingeniería de software
Laura Posada Agudelo Carlos Mario Zapata
Alumno: Israel Espinosa Jiménez Matricula: Licenciatura: TIC Asignatura: Análisis y Diseño de Sistemas Cuatrimestre: 3 Página 1 de 6.
Ingeniería del Software I
Organización y Administración de Proyectos de Software Docente: LIA. SUEI CHONG SOL, MCE.
problemas de la calidad del software
Implementando PSP / TSP
El producto de software y su ciclo de vida
TEMA: RESPONSABILIDAD DE ERRORES
Por: Jaime Enrique Melendez Monreal Código: INGENIERÍA DE SOFTWARE.
Ciclo de Vida del Software
Sistema de control de calidad de software
Ingeniería en Informática F UNDAMENTOS DE C OMPUTACIÓN B ACHILLERATO EN I NGENIERÍA I NFORMÁTICA L IC. C ARLOS H. G UTIÉRREZ L EÓN.
INGENIERIA DE SOFTWARE
DESARROLLO DE SOFTWARE Cuando se va desarrollar un software intervienen muchas personas como lo es el cliente quien es el que tiene el problema en su.
Consultoría de Análisis de Negocio para Osinergmin
Elementos Conceptuales de proyectos: ¿Qué es un proyecto
Ing del Software Libre1 Ingeniería del Software Libre y Modelos de Calidad Instructora: Ing. Erika Veliz Correo Electrónico:
¿Qué es la Ingeniería De Software? Ingeniería de Software.
Fundamentos de Computación
Las fases del ciclo de la vida de desarrollo de sistemas
EL CAMPO DE LA INGENIERÍA EN LA SOCIEDAD
Modelo de procesos de software
Planificación de Sistemas de Información
Experiencia de México Taller sobre TIC y Compras Públicas.
UNIDAD III. PSP Objetivo: El alumno identificará el Proceso Personal de Software, para medir su desempeño.
NOTA: Para cambiar la imagen de esta dispositiva, seleccione la imagen y elimínela. A continuación haga clic en el icono Imágenes en el marcador de posición.
Verificación y Validación del Software
Sistemas de calidad en el desarrollo de software.
GESTIÓN DE PROYECTOS.
Transcripción de la presentación:

Ingeniería de Software LIA. Suei Chong Sol UNITEC

Objetivo General. El estudiante analizará los distintos conceptos, técnicas y métodos que provee la ingeniería de software, tanto a nivel de actividades de construcción, así como de gestión de proyectos con el fin de producir software bajo restricciones de tiempo, costo y calidad.

Temario 1. Planeación de un proyecto de ingeniería de software. 2. Planificación, métricas y control de calidad de proyectos. 3. Ingeniería de software con enfoque SWEBOK. 4. Métodos de ingeniería de software.

Método de Evaluación Evaluación 100% 1er. Examen 30% Avance Proyecto 20% Tareas y Prácticas 20% Proyecto 30%

Sesiones. Miércoles 8 de Junio de 2011 Miércoles 15 de Junio de 2011 Miércoles 6 de Julio de 2011 Miércoles 13 de Julio de 2011 Miércoles 20 de Julio de 2011

Forma de trabajo. Tareas: Deberás realizar y entregar 6 tareas durante el cuatrimestre. El alumno que no entregue ninguna tarea queda automáticamente reprobado. Estas tareas se entregan en la página del curso el siguiente Lunes después de ser asignada, máximo a las 11:59 pm. No se reciben tareas extemporáneas No se reciben tareas enviadas a email del docente, ni por cualquier otro medio que no sea la página de la materia. Las tareas copy-paste o duplicadas serán anuladas.

Sitio Web del curso www.uvmsistemas.weebly.com Aquí encontrarás: Calendario de actividades Guías de Estudio Entrega de Tareas

Nos pondremos de acuerdo en las primeras sesiones Exámenes: Nos pondremos de acuerdo en las primeras sesiones

Prueba de diagnóstico Define: Ingeniería de Software. ¿Qué es el ciclo de vida del software? ¿Qué es la Administración de proyectos? Lista las fases principales de un proyecto. ¿Qué es la EDT (Estructura de División del Trabajo) ¿Cuales son los factores más importantes que determinan el éxito de un proyecto? ¿Cuáles son las fases del ciclo de vida clásico del software? Escribe tres nombres de modelos de ciclos de vida del software. Al participar en el desarrollo de un software nuevo, ¿qué tan importante crees que es la utilización de una metodología y la administración del proyecto en sí? ¿Qué lenguajes de programación dominas?

Planeación de un proyecto de ingeniería de software Unidad 1 Planeación de un proyecto de ingeniería de software

Software por todos lados Desde los años 40's las aplicaciones y usos de las computadoras han crecido de forma constante. Hoy en día el software juega un papel central en casi todos los aspectos de la vida cotidiana: gobierno, finanzas, educación, transporte, medicina, etc... De forma paralela, la complejidad de los sistemas ha crecido de forma dramática, y anualmente se gastan miles de millones de dolares en cuestiones de desarrollo de software.

Problemas con el software A pesar de que los sistemas de software nos han permitido ser más eficientes y productivos, existen serios problemas relacionados con el desarrollo de software. Estos problemas tienen que ver con el tiempo, costo y calidad de los sistemas que se crean. Los productos de software se ubican entre los sistemas más complejos realizados por el hombre y su naturaleza intangible complica más el problema. Las técnicas de desarrollo que funcionan de forma individual o para equipos pequeños no escalan adecuadamente para el desarrollo de sistemas complejos La velocidad de cambio tecnológico es muy elevada. Los clientes tienen nuevas expectativas y todo ello pone presión que limita la habilidad de crear software de calidad en tiempos aceptables. La ingeniería de software busca dar soluciones

Definiciones La primera discusión formal relativa a la ingeniería de software se llevó a cabo en 1968. Hoy en día, el término se utiliza ampliamente sin embargo es necesario definir más claramente su significado. Ingeniería Disciplina y profesión enfocada a la aplicación de conocimiento científico y técnico y que utiliza recursos físicos para diseñar e implementar diversos artefactos (estructuras, máquinas, dispositivos, sistemas y procesos) para realizar un objetivo deseado y alcanzar criterios especificados Ingeniero Un ingeniero es un profesional cuya educación lo prepara para usar matemáticas, ciencias y tecnología del momento para crear productos que son importantes para el bienestar del público 4

Ingeniería de Software Definición IEEE La aplicación de un enfoque sistemático (ordenado), disciplinado y cuantificable al desarrollo, operación y mantenimiento de software, esto es, la aplicación de la ingeniería en el área del software Profesionalización de la Ingeniería de Software Muchos de los estados en EUA tienen regulaciones con respecto a la práctica de la ingeniería y no permiten que la gente se llame “ingeniero” a menos que hayan demostrado ser competentes en su especialidad profesional. Hoy en día todavía no existe una profesión de “ingeniero de software” como tal aunque cada vez hay más esfuerzos encaminados hacia allá 5

Ingeniero de software vs programador Un programador no es equivalente a un ingeniero de software “Todo mundo” puede sentarse a programar Esto no garantiza que se pueda crear una solución compleja en tiempo, costo y calidad El desarrollar software sin conocer técnicas de ingeniería representa un enfoque “artesanal” de desarrollo que hoy en día sigue siendo común. Los esfuerzos de profesionalización mencionados atrás (certificaciones de individuos y de empresas) buscan reducir este enfoque “artesanal” en el desarrollo 6

Ingeniería de Software y computación Históricamente Los científicos en computación producían software y los ingenieros en electrónica producían hardware en el cual se ejecuta el software. Conforme aumentó el tamaño y complejidad del software, aumentó la necesidad de asegurarse que el software se desempeñara de la manera esperada. A principios de los 70's se volvió aparente que las prácticas adecuadas de desarrollo requerían aspectos adicionales al los principios subyacentes de las ciencias de la computación. El desarrollo de software necesita entonces tanto los fundamentos desarrollados dentro de las ciencias de la computación como el rigor que las disciplinas de ingeniería aportan a la confiabilidad 7 de los artefactos que se producen.

Ingeniería de software e ingeniería Diferencia con demás ingenierías La ingeniería de software es distinta de las demás disciplinas de ingeniería dada la naturaleza intangible del software. Busca integrar principios de matemáticas y ciencias de la computación con principios de ingeniería que fueron desarrollados para producir artefactos físicos. La disciplina de ingeniería de software puede ser vista como un campo de la ingeniería con una conexión más fuerte a la disciplina de las ciencias de la computación que en campos más tradicionales de la ingeniería. 8

Ingeniería de software e ingeniería Algunas otras diferencias... Las fundaciones están principalmente en las ciencias de la computación y no en las ciencias naturales El enfoque está en entidades abstractas/lógicas en vez de artefactos concretos/físicos No hay fase de “fabricación” en el sentido tradicional El mantenimiento se refiere al desarrollo continuo y a la evolución y no tanto al desgaste. 9

Características de la ingeniería Las siguientes características son bases de la ingeniería y son características deseables de los ingenieros de software: Los ingenieros proceden mediante la toma de series de decisiones, evaluando cuidadosamente opciones y escogiendo enfoques en cada punto de decisión que son apropiados para la tarea actual en el contexto actual. El qué tan apropiado es puede ser juzgado por un análisis de compromisos que balancea costos contra beneficios Los ingenieros miden cosas y cuando es apropiado trabajan de manera cuantitativa; realizan calibración y validación de sus mediciones y usan aproximaciones basadas en experiencia y datos empíricos Los ingenieros enfatizan el uso de un proceso disciplinado cuando crean un diseño y pueden operar de manera efectiva como parte de un equipo al realizarlo 10

Características de la ingeniería Los ingenieros pueden tener múltiples roles: investigación, desarrollo, diseño, producción, pruebas, construcción, administración, consultoría y capacitación Los ingenieros usan herramientas para aplicar procesos de manera sistemática. Por ello, la elección y uso de herramientas apropiadas es una clave para la ingeniería Los ingenieros reutilizan diseños y diseñan artefactos. 11

Cuerpo de conocimiento de la IS En 2004 apareció una guía al cuerpo de conocimiento de la ingeniería de software SWEBOK o Software Engineering Body of Knowledge (www.swebok.org). El cuerpo de conocimiento agrupa la suma de conocimiento dentro de la profesión de la ingeniería de software. Un ingeniero de software debe además tener conocimiento no sólo en ingeniería pero también en otras disciplinas relacionadas. Esta guía define diversas áreas que forman parte del cuerpo de conocimiento de la ingeniería de software que se muestran en las imágenes siguientes 12

¿ Qué se necesita para hacer I.S.? Para ser considerado un ingeniero de software profesional, es necesario tener conocimientos relativos a las áreas de conocimiento del SWEBOK Esto es requerido para pasar la acreditación Computer Society Certified Development Associate CSDA de IEEE). El mercado tiene actualmente una fuerte demanda de gente con competencias relacionadas con el desarrollo de software y que un problema que existe en México es que existe relativamente poca capacitación en el tema. Cada vez existen más empresas certificadas de acuerdo a modelos de calidad como CMM, CMMI y MoproSoft. 16

Administración de proyectos La administración de proyectos es la disciplina de gestionar proyectos exitosamente, la cual puede y debe aplicarse durante el ciclo de vida de cualquier proyecto. La administración de proyectos es la disciplina que se encarga de definir y alcanzar objetivos optimizando el uso de recursos: tiempo, dinero, la gente, espacio, etc.

Tarea 1 Investigar las siguientes metodologías de desarrollo de software: Cascada Espiral Incremental Prototipo Leer el primer capítulo del libro de Ingeniería de Software de Roger Pressman. (Puedes descargarlo en el link de la página) Realiza un cuadro sinóptico que integre la lectura anterior. Coloca las actividades anteriores en un documento de Word y envíalo en el área de Entrega de Tareas de la página de la materia a más tardar el Lunes 10 de Octubre a las 11:59 pm